@revizly/node-av 5.2.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BUILD_LINUX.md +61 -0
- package/LICENSE.md +22 -0
- package/README.md +662 -0
- package/build_mac_local.sh +69 -0
- package/dist/api/audio-frame-buffer.d.ts +205 -0
- package/dist/api/audio-frame-buffer.js +287 -0
- package/dist/api/audio-frame-buffer.js.map +1 -0
- package/dist/api/bitstream-filter.d.ts +820 -0
- package/dist/api/bitstream-filter.js +1242 -0
- package/dist/api/bitstream-filter.js.map +1 -0
- package/dist/api/constants.d.ts +44 -0
- package/dist/api/constants.js +45 -0
- package/dist/api/constants.js.map +1 -0
- package/dist/api/data/test_av1.ivf +0 -0
- package/dist/api/data/test_h264.h264 +0 -0
- package/dist/api/data/test_hevc.h265 +0 -0
- package/dist/api/data/test_mjpeg.mjpeg +0 -0
- package/dist/api/data/test_vp8.ivf +0 -0
- package/dist/api/data/test_vp9.ivf +0 -0
- package/dist/api/decoder.d.ts +1088 -0
- package/dist/api/decoder.js +1775 -0
- package/dist/api/decoder.js.map +1 -0
- package/dist/api/demuxer.d.ts +1219 -0
- package/dist/api/demuxer.js +2081 -0
- package/dist/api/demuxer.js.map +1 -0
- package/dist/api/device.d.ts +586 -0
- package/dist/api/device.js +961 -0
- package/dist/api/device.js.map +1 -0
- package/dist/api/encoder.d.ts +1132 -0
- package/dist/api/encoder.js +1988 -0
- package/dist/api/encoder.js.map +1 -0
- package/dist/api/filter-complex.d.ts +821 -0
- package/dist/api/filter-complex.js +1604 -0
- package/dist/api/filter-complex.js.map +1 -0
- package/dist/api/filter-presets.d.ts +1286 -0
- package/dist/api/filter-presets.js +2152 -0
- package/dist/api/filter-presets.js.map +1 -0
- package/dist/api/filter.d.ts +1234 -0
- package/dist/api/filter.js +1976 -0
- package/dist/api/filter.js.map +1 -0
- package/dist/api/fmp4-stream.d.ts +426 -0
- package/dist/api/fmp4-stream.js +739 -0
- package/dist/api/fmp4-stream.js.map +1 -0
- package/dist/api/hardware.d.ts +651 -0
- package/dist/api/hardware.js +1260 -0
- package/dist/api/hardware.js.map +1 -0
- package/dist/api/index.d.ts +17 -0
- package/dist/api/index.js +32 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/io-stream.d.ts +307 -0
- package/dist/api/io-stream.js +282 -0
- package/dist/api/io-stream.js.map +1 -0
- package/dist/api/muxer.d.ts +957 -0
- package/dist/api/muxer.js +2002 -0
- package/dist/api/muxer.js.map +1 -0
- package/dist/api/pipeline.d.ts +607 -0
- package/dist/api/pipeline.js +1145 -0
- package/dist/api/pipeline.js.map +1 -0
- package/dist/api/utilities/async-queue.d.ts +120 -0
- package/dist/api/utilities/async-queue.js +211 -0
- package/dist/api/utilities/async-queue.js.map +1 -0
- package/dist/api/utilities/audio-sample.d.ts +117 -0
- package/dist/api/utilities/audio-sample.js +112 -0
- package/dist/api/utilities/audio-sample.js.map +1 -0
- package/dist/api/utilities/channel-layout.d.ts +76 -0
- package/dist/api/utilities/channel-layout.js +80 -0
- package/dist/api/utilities/channel-layout.js.map +1 -0
- package/dist/api/utilities/electron-shared-texture.d.ts +328 -0
- package/dist/api/utilities/electron-shared-texture.js +503 -0
- package/dist/api/utilities/electron-shared-texture.js.map +1 -0
- package/dist/api/utilities/image.d.ts +207 -0
- package/dist/api/utilities/image.js +213 -0
- package/dist/api/utilities/image.js.map +1 -0
- package/dist/api/utilities/index.d.ts +12 -0
- package/dist/api/utilities/index.js +25 -0
- package/dist/api/utilities/index.js.map +1 -0
- package/dist/api/utilities/media-type.d.ts +49 -0
- package/dist/api/utilities/media-type.js +53 -0
- package/dist/api/utilities/media-type.js.map +1 -0
- package/dist/api/utilities/pixel-format.d.ts +89 -0
- package/dist/api/utilities/pixel-format.js +97 -0
- package/dist/api/utilities/pixel-format.js.map +1 -0
- package/dist/api/utilities/sample-format.d.ts +129 -0
- package/dist/api/utilities/sample-format.js +141 -0
- package/dist/api/utilities/sample-format.js.map +1 -0
- package/dist/api/utilities/scheduler.d.ts +138 -0
- package/dist/api/utilities/scheduler.js +98 -0
- package/dist/api/utilities/scheduler.js.map +1 -0
- package/dist/api/utilities/streaming.d.ts +186 -0
- package/dist/api/utilities/streaming.js +309 -0
- package/dist/api/utilities/streaming.js.map +1 -0
- package/dist/api/utilities/timestamp.d.ts +193 -0
- package/dist/api/utilities/timestamp.js +206 -0
- package/dist/api/utilities/timestamp.js.map +1 -0
- package/dist/api/utilities/whisper-model.d.ts +310 -0
- package/dist/api/utilities/whisper-model.js +528 -0
- package/dist/api/utilities/whisper-model.js.map +1 -0
- package/dist/api/utils.d.ts +19 -0
- package/dist/api/utils.js +39 -0
- package/dist/api/utils.js.map +1 -0
- package/dist/api/whisper.d.ts +324 -0
- package/dist/api/whisper.js +362 -0
- package/dist/api/whisper.js.map +1 -0
- package/dist/constants/channel-layouts.d.ts +53 -0
- package/dist/constants/channel-layouts.js +57 -0
- package/dist/constants/channel-layouts.js.map +1 -0
- package/dist/constants/constants.d.ts +2325 -0
- package/dist/constants/constants.js +1887 -0
- package/dist/constants/constants.js.map +1 -0
- package/dist/constants/decoders.d.ts +633 -0
- package/dist/constants/decoders.js +641 -0
- package/dist/constants/decoders.js.map +1 -0
- package/dist/constants/encoders.d.ts +295 -0
- package/dist/constants/encoders.js +308 -0
- package/dist/constants/encoders.js.map +1 -0
- package/dist/constants/hardware.d.ts +26 -0
- package/dist/constants/hardware.js +27 -0
- package/dist/constants/hardware.js.map +1 -0
- package/dist/constants/index.d.ts +5 -0
- package/dist/constants/index.js +6 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/ffmpeg/index.d.ts +99 -0
- package/dist/ffmpeg/index.js +115 -0
- package/dist/ffmpeg/index.js.map +1 -0
- package/dist/ffmpeg/utils.d.ts +31 -0
- package/dist/ffmpeg/utils.js +68 -0
- package/dist/ffmpeg/utils.js.map +1 -0
- package/dist/ffmpeg/version.d.ts +6 -0
- package/dist/ffmpeg/version.js +7 -0
- package/dist/ffmpeg/version.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/audio-fifo.d.ts +399 -0
- package/dist/lib/audio-fifo.js +431 -0
- package/dist/lib/audio-fifo.js.map +1 -0
- package/dist/lib/binding.d.ts +228 -0
- package/dist/lib/binding.js +60 -0
- package/dist/lib/binding.js.map +1 -0
- package/dist/lib/bitstream-filter-context.d.ts +379 -0
- package/dist/lib/bitstream-filter-context.js +441 -0
- package/dist/lib/bitstream-filter-context.js.map +1 -0
- package/dist/lib/bitstream-filter.d.ts +140 -0
- package/dist/lib/bitstream-filter.js +154 -0
- package/dist/lib/bitstream-filter.js.map +1 -0
- package/dist/lib/codec-context.d.ts +1071 -0
- package/dist/lib/codec-context.js +1354 -0
- package/dist/lib/codec-context.js.map +1 -0
- package/dist/lib/codec-parameters.d.ts +616 -0
- package/dist/lib/codec-parameters.js +761 -0
- package/dist/lib/codec-parameters.js.map +1 -0
- package/dist/lib/codec-parser.d.ts +201 -0
- package/dist/lib/codec-parser.js +213 -0
- package/dist/lib/codec-parser.js.map +1 -0
- package/dist/lib/codec.d.ts +586 -0
- package/dist/lib/codec.js +713 -0
- package/dist/lib/codec.js.map +1 -0
- package/dist/lib/device.d.ts +291 -0
- package/dist/lib/device.js +324 -0
- package/dist/lib/device.js.map +1 -0
- package/dist/lib/dictionary.d.ts +333 -0
- package/dist/lib/dictionary.js +372 -0
- package/dist/lib/dictionary.js.map +1 -0
- package/dist/lib/error.d.ts +242 -0
- package/dist/lib/error.js +303 -0
- package/dist/lib/error.js.map +1 -0
- package/dist/lib/fifo.d.ts +416 -0
- package/dist/lib/fifo.js +453 -0
- package/dist/lib/fifo.js.map +1 -0
- package/dist/lib/filter-context.d.ts +712 -0
- package/dist/lib/filter-context.js +789 -0
- package/dist/lib/filter-context.js.map +1 -0
- package/dist/lib/filter-graph-segment.d.ts +160 -0
- package/dist/lib/filter-graph-segment.js +171 -0
- package/dist/lib/filter-graph-segment.js.map +1 -0
- package/dist/lib/filter-graph.d.ts +641 -0
- package/dist/lib/filter-graph.js +704 -0
- package/dist/lib/filter-graph.js.map +1 -0
- package/dist/lib/filter-inout.d.ts +198 -0
- package/dist/lib/filter-inout.js +257 -0
- package/dist/lib/filter-inout.js.map +1 -0
- package/dist/lib/filter.d.ts +243 -0
- package/dist/lib/filter.js +272 -0
- package/dist/lib/filter.js.map +1 -0
- package/dist/lib/format-context.d.ts +1254 -0
- package/dist/lib/format-context.js +1379 -0
- package/dist/lib/format-context.js.map +1 -0
- package/dist/lib/frame-utils.d.ts +116 -0
- package/dist/lib/frame-utils.js +98 -0
- package/dist/lib/frame-utils.js.map +1 -0
- package/dist/lib/frame.d.ts +1222 -0
- package/dist/lib/frame.js +1435 -0
- package/dist/lib/frame.js.map +1 -0
- package/dist/lib/hardware-device-context.d.ts +362 -0
- package/dist/lib/hardware-device-context.js +383 -0
- package/dist/lib/hardware-device-context.js.map +1 -0
- package/dist/lib/hardware-frames-context.d.ts +419 -0
- package/dist/lib/hardware-frames-context.js +477 -0
- package/dist/lib/hardware-frames-context.js.map +1 -0
- package/dist/lib/index.d.ts +35 -0
- package/dist/lib/index.js +60 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/input-format.d.ts +249 -0
- package/dist/lib/input-format.js +306 -0
- package/dist/lib/input-format.js.map +1 -0
- package/dist/lib/io-context.d.ts +696 -0
- package/dist/lib/io-context.js +769 -0
- package/dist/lib/io-context.js.map +1 -0
- package/dist/lib/log.d.ts +174 -0
- package/dist/lib/log.js +184 -0
- package/dist/lib/log.js.map +1 -0
- package/dist/lib/native-types.d.ts +946 -0
- package/dist/lib/native-types.js +2 -0
- package/dist/lib/native-types.js.map +1 -0
- package/dist/lib/option.d.ts +927 -0
- package/dist/lib/option.js +1583 -0
- package/dist/lib/option.js.map +1 -0
- package/dist/lib/output-format.d.ts +180 -0
- package/dist/lib/output-format.js +213 -0
- package/dist/lib/output-format.js.map +1 -0
- package/dist/lib/packet.d.ts +501 -0
- package/dist/lib/packet.js +590 -0
- package/dist/lib/packet.js.map +1 -0
- package/dist/lib/rational.d.ts +251 -0
- package/dist/lib/rational.js +278 -0
- package/dist/lib/rational.js.map +1 -0
- package/dist/lib/software-resample-context.d.ts +552 -0
- package/dist/lib/software-resample-context.js +592 -0
- package/dist/lib/software-resample-context.js.map +1 -0
- package/dist/lib/software-scale-context.d.ts +344 -0
- package/dist/lib/software-scale-context.js +366 -0
- package/dist/lib/software-scale-context.js.map +1 -0
- package/dist/lib/stream.d.ts +379 -0
- package/dist/lib/stream.js +526 -0
- package/dist/lib/stream.js.map +1 -0
- package/dist/lib/sync-queue.d.ts +179 -0
- package/dist/lib/sync-queue.js +197 -0
- package/dist/lib/sync-queue.js.map +1 -0
- package/dist/lib/types.d.ts +34 -0
- package/dist/lib/types.js +2 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/utilities.d.ts +1127 -0
- package/dist/lib/utilities.js +1225 -0
- package/dist/lib/utilities.js.map +1 -0
- package/dist/utils/electron.d.ts +49 -0
- package/dist/utils/electron.js +63 -0
- package/dist/utils/electron.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/install/check.js +121 -0
- package/install/ffmpeg.js +66 -0
- package/jellyfin-ffmpeg.patch +181 -0
- package/package.json +129 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec-context.js","sourceRoot":"","sources":["../../src/lib/codec-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,616 @@
|
|
|
1
|
+
import { Rational } from './rational.js';
|
|
2
|
+
import type { AVChromaLocation, AVCodecID, AVCodecProp, AVColorPrimaries, AVColorRange, AVColorSpace, AVColorTransferCharacteristic, AVMediaType, AVPacketSideDataType, AVPixelFormat, AVProfile, AVSampleFormat } from '../constants/constants.js';
|
|
3
|
+
import type { CodecContext } from './codec-context.js';
|
|
4
|
+
import type { NativeCodecParameters, NativeWrapper } from './native-types.js';
|
|
5
|
+
import type { ChannelLayout } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Codec parameters for stream configuration.
|
|
8
|
+
*
|
|
9
|
+
* Stores essential codec parameters without requiring a full codec context.
|
|
10
|
+
* Used to describe stream properties in containers, transfer codec configuration
|
|
11
|
+
* between contexts, and initialize decoders/encoders. Contains format, dimensions,
|
|
12
|
+
* sample rates, and other codec-specific parameters.
|
|
13
|
+
*
|
|
14
|
+
* Direct mapping to FFmpeg's AVCodecParameters.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { CodecParameters, CodecContext, FFmpegError } from 'node-av';
|
|
19
|
+
*
|
|
20
|
+
* // Create and allocate parameters
|
|
21
|
+
* const params = new CodecParameters();
|
|
22
|
+
* params.alloc();
|
|
23
|
+
*
|
|
24
|
+
* // Copy from stream
|
|
25
|
+
* const stream = formatContext.streams[0];
|
|
26
|
+
* const ret = stream.codecpar.copy(params);
|
|
27
|
+
* FFmpegError.throwIfError(ret, 'copy');
|
|
28
|
+
*
|
|
29
|
+
* // Transfer to codec context
|
|
30
|
+
* const ret2 = params.toContext(codecContext);
|
|
31
|
+
* FFmpegError.throwIfError(ret2, 'toContext');
|
|
32
|
+
*
|
|
33
|
+
* // Get parameters info
|
|
34
|
+
* console.log(`Codec: ${params.codecId}`);
|
|
35
|
+
* console.log(`Dimensions: ${params.width}x${params.height}`);
|
|
36
|
+
* console.log(`Bitrate: ${params.bitRate}`);
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @see [AVCodecParameters](https://ffmpeg.org/doxygen/trunk/structAVCodecParameters.html) - FFmpeg Doxygen
|
|
40
|
+
* @see {@link CodecContext} For full codec operations
|
|
41
|
+
* @see {@link Stream} For stream parameters
|
|
42
|
+
*/
|
|
43
|
+
export declare class CodecParameters implements NativeWrapper<NativeCodecParameters> {
|
|
44
|
+
private native;
|
|
45
|
+
constructor();
|
|
46
|
+
/**
|
|
47
|
+
* Codec type.
|
|
48
|
+
*
|
|
49
|
+
* Media type (video, audio, subtitle, etc.).
|
|
50
|
+
*
|
|
51
|
+
* Direct mapping to AVCodecParameters->codec_type.
|
|
52
|
+
*/
|
|
53
|
+
get codecType(): AVMediaType;
|
|
54
|
+
set codecType(value: AVMediaType);
|
|
55
|
+
/**
|
|
56
|
+
* Codec ID.
|
|
57
|
+
*
|
|
58
|
+
* Specific codec identifier (e.g., AV_CODEC_ID_H264).
|
|
59
|
+
*
|
|
60
|
+
* Direct mapping to AVCodecParameters->codec_id.
|
|
61
|
+
*/
|
|
62
|
+
get codecId(): AVCodecID;
|
|
63
|
+
set codecId(value: AVCodecID);
|
|
64
|
+
/**
|
|
65
|
+
* Codec tag.
|
|
66
|
+
*
|
|
67
|
+
* Additional codec tag used by some formats.
|
|
68
|
+
*
|
|
69
|
+
* Direct mapping to AVCodecParameters->codec_tag.
|
|
70
|
+
*/
|
|
71
|
+
get codecTag(): number;
|
|
72
|
+
set codecTag(value: number | string);
|
|
73
|
+
/**
|
|
74
|
+
* Codec tag as string (FourCC).
|
|
75
|
+
*
|
|
76
|
+
* Human-readable string representation of the codec tag.
|
|
77
|
+
* Returns the FourCC (Four Character Code) format.
|
|
78
|
+
*/
|
|
79
|
+
get codecTagString(): string | null;
|
|
80
|
+
/**
|
|
81
|
+
* Extra codec data.
|
|
82
|
+
*
|
|
83
|
+
* Codec-specific initialization data (e.g., H.264 SPS/PPS).
|
|
84
|
+
*
|
|
85
|
+
* Direct mapping to AVCodecParameters->extradata.
|
|
86
|
+
*/
|
|
87
|
+
get extradata(): Buffer | null;
|
|
88
|
+
set extradata(value: Buffer | null);
|
|
89
|
+
/**
|
|
90
|
+
* Extra data size.
|
|
91
|
+
*
|
|
92
|
+
* Size of extradata buffer in bytes.
|
|
93
|
+
*
|
|
94
|
+
* Direct mapping to AVCodecParameters->extradata_size.
|
|
95
|
+
*/
|
|
96
|
+
get extradataSize(): number;
|
|
97
|
+
/**
|
|
98
|
+
* Pixel or sample format.
|
|
99
|
+
*
|
|
100
|
+
* Format of video pixels or audio samples.
|
|
101
|
+
*
|
|
102
|
+
* Direct mapping to AVCodecParameters->format.
|
|
103
|
+
*/
|
|
104
|
+
get format(): AVPixelFormat | AVSampleFormat;
|
|
105
|
+
set format(value: AVPixelFormat | AVSampleFormat);
|
|
106
|
+
/**
|
|
107
|
+
* Bit rate.
|
|
108
|
+
*
|
|
109
|
+
* Average bitrate in bits per second.
|
|
110
|
+
*
|
|
111
|
+
* Direct mapping to AVCodecParameters->bit_rate.
|
|
112
|
+
*/
|
|
113
|
+
get bitRate(): bigint;
|
|
114
|
+
set bitRate(value: bigint);
|
|
115
|
+
/**
|
|
116
|
+
* Number of bits per coded sample.
|
|
117
|
+
*
|
|
118
|
+
* Bits per sample/pixel from the demuxer (needed by some codecs).
|
|
119
|
+
* For uncompressed formats, this is the bits per sample.
|
|
120
|
+
*
|
|
121
|
+
* Direct mapping to AVCodecParameters->bits_per_coded_sample.
|
|
122
|
+
*/
|
|
123
|
+
get bitsPerCodedSample(): number;
|
|
124
|
+
set bitsPerCodedSample(value: number);
|
|
125
|
+
/**
|
|
126
|
+
* Number of bits per raw sample.
|
|
127
|
+
*
|
|
128
|
+
* Bits per sample before compression/encoding.
|
|
129
|
+
* Only set when different from bitsPerCodedSample.
|
|
130
|
+
*
|
|
131
|
+
* Direct mapping to AVCodecParameters->bits_per_raw_sample.
|
|
132
|
+
*/
|
|
133
|
+
get bitsPerRawSample(): number;
|
|
134
|
+
set bitsPerRawSample(value: number);
|
|
135
|
+
/**
|
|
136
|
+
* Codec profile.
|
|
137
|
+
*
|
|
138
|
+
* Profile level (e.g., baseline, main, high for H.264).
|
|
139
|
+
*
|
|
140
|
+
* Direct mapping to AVCodecParameters->profile.
|
|
141
|
+
*/
|
|
142
|
+
get profile(): AVProfile;
|
|
143
|
+
set profile(value: AVProfile);
|
|
144
|
+
/**
|
|
145
|
+
* Codec level.
|
|
146
|
+
*
|
|
147
|
+
* Level within the profile.
|
|
148
|
+
*
|
|
149
|
+
* Direct mapping to AVCodecParameters->level.
|
|
150
|
+
*/
|
|
151
|
+
get level(): number;
|
|
152
|
+
set level(value: number);
|
|
153
|
+
/**
|
|
154
|
+
* Video width.
|
|
155
|
+
*
|
|
156
|
+
* Width of video frames in pixels.
|
|
157
|
+
*
|
|
158
|
+
* Direct mapping to AVCodecParameters->width.
|
|
159
|
+
*/
|
|
160
|
+
get width(): number;
|
|
161
|
+
set width(value: number);
|
|
162
|
+
/**
|
|
163
|
+
* Video height.
|
|
164
|
+
*
|
|
165
|
+
* Height of video frames in pixels.
|
|
166
|
+
*
|
|
167
|
+
* Direct mapping to AVCodecParameters->height.
|
|
168
|
+
*/
|
|
169
|
+
get height(): number;
|
|
170
|
+
set height(value: number);
|
|
171
|
+
/**
|
|
172
|
+
* Sample aspect ratio.
|
|
173
|
+
*
|
|
174
|
+
* Pixel aspect ratio for video.
|
|
175
|
+
*
|
|
176
|
+
* Direct mapping to AVCodecParameters->sample_aspect_ratio.
|
|
177
|
+
*/
|
|
178
|
+
get sampleAspectRatio(): Rational;
|
|
179
|
+
set sampleAspectRatio(value: Rational);
|
|
180
|
+
/**
|
|
181
|
+
* Frame rate.
|
|
182
|
+
*
|
|
183
|
+
* Video frame rate in frames per second.
|
|
184
|
+
*
|
|
185
|
+
* Direct mapping to AVCodecParameters->framerate.
|
|
186
|
+
*/
|
|
187
|
+
get frameRate(): Rational;
|
|
188
|
+
set frameRate(value: Rational);
|
|
189
|
+
/**
|
|
190
|
+
* Color range.
|
|
191
|
+
*
|
|
192
|
+
* MPEG (limited) or JPEG (full) range.
|
|
193
|
+
*
|
|
194
|
+
* Direct mapping to AVCodecParameters->color_range.
|
|
195
|
+
*/
|
|
196
|
+
get colorRange(): AVColorRange;
|
|
197
|
+
set colorRange(value: AVColorRange);
|
|
198
|
+
/**
|
|
199
|
+
* Color primaries.
|
|
200
|
+
*
|
|
201
|
+
* Chromaticity coordinates of source primaries.
|
|
202
|
+
*
|
|
203
|
+
* Direct mapping to AVCodecParameters->color_primaries.
|
|
204
|
+
*/
|
|
205
|
+
get colorPrimaries(): AVColorPrimaries;
|
|
206
|
+
set colorPrimaries(value: AVColorPrimaries);
|
|
207
|
+
/**
|
|
208
|
+
* Color transfer characteristic.
|
|
209
|
+
*
|
|
210
|
+
* Color transfer function (gamma).
|
|
211
|
+
*
|
|
212
|
+
* Direct mapping to AVCodecParameters->color_trc.
|
|
213
|
+
*/
|
|
214
|
+
get colorTrc(): AVColorTransferCharacteristic;
|
|
215
|
+
set colorTrc(value: AVColorTransferCharacteristic);
|
|
216
|
+
/**
|
|
217
|
+
* Color space.
|
|
218
|
+
*
|
|
219
|
+
* YUV colorspace type.
|
|
220
|
+
*
|
|
221
|
+
* Direct mapping to AVCodecParameters->color_space.
|
|
222
|
+
*/
|
|
223
|
+
get colorSpace(): AVColorSpace;
|
|
224
|
+
set colorSpace(value: AVColorSpace);
|
|
225
|
+
/**
|
|
226
|
+
* Chroma sample location.
|
|
227
|
+
*
|
|
228
|
+
* Location of chroma samples.
|
|
229
|
+
*
|
|
230
|
+
* Direct mapping to AVCodecParameters->chroma_location.
|
|
231
|
+
*/
|
|
232
|
+
get chromaLocation(): AVChromaLocation;
|
|
233
|
+
set chromaLocation(value: AVChromaLocation);
|
|
234
|
+
/**
|
|
235
|
+
* Audio channel layout.
|
|
236
|
+
*
|
|
237
|
+
* Configuration of audio channels.
|
|
238
|
+
*
|
|
239
|
+
* Direct mapping to AVCodecParameters->ch_layout.
|
|
240
|
+
*/
|
|
241
|
+
get channelLayout(): ChannelLayout;
|
|
242
|
+
set channelLayout(value: ChannelLayout);
|
|
243
|
+
/**
|
|
244
|
+
* Number of audio channels.
|
|
245
|
+
*
|
|
246
|
+
* @deprecated Use channelLayout.nbChannels instead
|
|
247
|
+
*
|
|
248
|
+
* Direct mapping to AVCodecParameters->channels.
|
|
249
|
+
*/
|
|
250
|
+
get channels(): number;
|
|
251
|
+
set channels(value: number);
|
|
252
|
+
/**
|
|
253
|
+
* Audio sample rate.
|
|
254
|
+
*
|
|
255
|
+
* Sample rate in Hz.
|
|
256
|
+
*
|
|
257
|
+
* Direct mapping to AVCodecParameters->sample_rate.
|
|
258
|
+
*/
|
|
259
|
+
get sampleRate(): number;
|
|
260
|
+
set sampleRate(value: number);
|
|
261
|
+
/**
|
|
262
|
+
* Audio frame size in samples.
|
|
263
|
+
*
|
|
264
|
+
* Number of samples per audio frame for codecs with constant frame size.
|
|
265
|
+
* For AAC this is typically 1024, for MP3 it's 1152.
|
|
266
|
+
* For codecs with variable frame size, this may be 0.
|
|
267
|
+
*
|
|
268
|
+
* Direct mapping to AVCodecParameters->frame_size.
|
|
269
|
+
*/
|
|
270
|
+
get frameSize(): number;
|
|
271
|
+
set frameSize(value: number);
|
|
272
|
+
/**
|
|
273
|
+
* Initial audio padding.
|
|
274
|
+
*
|
|
275
|
+
* Amount of padding (priming) samples at the beginning of the audio stream.
|
|
276
|
+
* For AAC encoding, this is typically 1024 samples.
|
|
277
|
+
* The muxer uses this value to correctly calculate packet timestamps.
|
|
278
|
+
*
|
|
279
|
+
* Direct mapping to AVCodecParameters->initial_padding.
|
|
280
|
+
*/
|
|
281
|
+
get initialPadding(): number;
|
|
282
|
+
set initialPadding(value: number);
|
|
283
|
+
/**
|
|
284
|
+
* Video delay in frames.
|
|
285
|
+
*
|
|
286
|
+
* Number of frames the decoded output will be delayed relative to the encoded input.
|
|
287
|
+
* Used for timestamp correction in video streams.
|
|
288
|
+
*
|
|
289
|
+
* Direct mapping to AVCodecParameters->video_delay.
|
|
290
|
+
*/
|
|
291
|
+
get videoDelay(): number;
|
|
292
|
+
set videoDelay(value: number);
|
|
293
|
+
/**
|
|
294
|
+
* Number of coded side data entries.
|
|
295
|
+
*
|
|
296
|
+
* Returns the count of coded side data attached to codec parameters.
|
|
297
|
+
*
|
|
298
|
+
* @returns Number of side data entries
|
|
299
|
+
*
|
|
300
|
+
* @example
|
|
301
|
+
* ```typescript
|
|
302
|
+
* console.log(`Codec has ${params.nbCodedSideData} side data entries`);
|
|
303
|
+
* ```
|
|
304
|
+
*/
|
|
305
|
+
get nbCodedSideData(): number;
|
|
306
|
+
/**
|
|
307
|
+
* Codec properties.
|
|
308
|
+
*
|
|
309
|
+
* Bitfield of AV_CODEC_PROP_* flags indicating codec features.
|
|
310
|
+
*
|
|
311
|
+
* Direct mapping to AVCodecDescriptor->props.
|
|
312
|
+
*
|
|
313
|
+
* @example
|
|
314
|
+
* ```typescript
|
|
315
|
+
* import { AV_CODEC_PROP_FIELDS } from 'node-av/constants';
|
|
316
|
+
*
|
|
317
|
+
* const props = params.codecProperties;
|
|
318
|
+
* if (props & AV_CODEC_PROP_FIELDS) {
|
|
319
|
+
* console.log('Codec supports interlaced video (fields)');
|
|
320
|
+
* }
|
|
321
|
+
* ```
|
|
322
|
+
*
|
|
323
|
+
* @see {@link hasProperties} For checking specific properties
|
|
324
|
+
*/
|
|
325
|
+
get codecProperties(): AVCodecProp;
|
|
326
|
+
/**
|
|
327
|
+
* Check if codec has specific properties.
|
|
328
|
+
*
|
|
329
|
+
* Tests whether all specified properties are present using bitwise AND.
|
|
330
|
+
*
|
|
331
|
+
* @param props - One or more property values to check
|
|
332
|
+
*
|
|
333
|
+
* @returns true if all specified properties are present, false otherwise
|
|
334
|
+
*
|
|
335
|
+
* @example
|
|
336
|
+
* ```typescript
|
|
337
|
+
* import { AV_CODEC_PROP_FIELDS, AV_CODEC_PROP_REORDER } from 'node-av/constants';
|
|
338
|
+
*
|
|
339
|
+
* if (params.hasProperties(AV_CODEC_PROP_FIELDS)) {
|
|
340
|
+
* console.log('Codec supports interlaced video (fields)');
|
|
341
|
+
* }
|
|
342
|
+
*
|
|
343
|
+
* // Check multiple properties
|
|
344
|
+
* if (params.hasProperties(AV_CODEC_PROP_LOSSY, AV_CODEC_PROP_REORDER)) {
|
|
345
|
+
* console.log('Codec is lossy and supports frame reordering');
|
|
346
|
+
* }
|
|
347
|
+
* ```
|
|
348
|
+
*
|
|
349
|
+
* @see {@link codecProperties} For direct properties access
|
|
350
|
+
*/
|
|
351
|
+
hasProperties(...props: AVCodecProp[]): boolean;
|
|
352
|
+
/**
|
|
353
|
+
* Allocate codec parameters.
|
|
354
|
+
*
|
|
355
|
+
* Allocates memory for the parameters structure.
|
|
356
|
+
*
|
|
357
|
+
* Direct mapping to avcodec_parameters_alloc().
|
|
358
|
+
*
|
|
359
|
+
* @throws {Error} If allocation fails (ENOMEM)
|
|
360
|
+
*
|
|
361
|
+
* @example
|
|
362
|
+
* ```typescript
|
|
363
|
+
* const params = new CodecParameters();
|
|
364
|
+
* params.alloc();
|
|
365
|
+
* // Parameters ready for use
|
|
366
|
+
* ```
|
|
367
|
+
*
|
|
368
|
+
* @see {@link free} To deallocate
|
|
369
|
+
*/
|
|
370
|
+
alloc(): void;
|
|
371
|
+
/**
|
|
372
|
+
* Free codec parameters.
|
|
373
|
+
*
|
|
374
|
+
* Releases all memory associated with the parameters.
|
|
375
|
+
*
|
|
376
|
+
* Direct mapping to avcodec_parameters_free().
|
|
377
|
+
*
|
|
378
|
+
* @example
|
|
379
|
+
* ```typescript
|
|
380
|
+
* params.free();
|
|
381
|
+
* // Parameters now invalid
|
|
382
|
+
* ```
|
|
383
|
+
*
|
|
384
|
+
* @see {@link alloc} To allocate
|
|
385
|
+
* @see {@link Symbol.dispose} For automatic cleanup
|
|
386
|
+
*/
|
|
387
|
+
free(): void;
|
|
388
|
+
/**
|
|
389
|
+
* Copy parameters to destination.
|
|
390
|
+
*
|
|
391
|
+
* Copies all codec parameters to another instance.
|
|
392
|
+
*
|
|
393
|
+
* Direct mapping to avcodec_parameters_copy().
|
|
394
|
+
*
|
|
395
|
+
* @param dst - Destination parameters
|
|
396
|
+
*
|
|
397
|
+
* @returns 0 on success, negative AVERROR on error:
|
|
398
|
+
* - AVERROR_ENOMEM: Memory allocation failure
|
|
399
|
+
*
|
|
400
|
+
* @example
|
|
401
|
+
* ```typescript
|
|
402
|
+
* import { FFmpegError } from 'node-av';
|
|
403
|
+
*
|
|
404
|
+
* const dst = new CodecParameters();
|
|
405
|
+
* dst.alloc();
|
|
406
|
+
* const ret = src.copy(dst);
|
|
407
|
+
* FFmpegError.throwIfError(ret, 'copy');
|
|
408
|
+
* ```
|
|
409
|
+
*/
|
|
410
|
+
copy(dst: CodecParameters): number;
|
|
411
|
+
/**
|
|
412
|
+
* Fill parameters from codec context.
|
|
413
|
+
*
|
|
414
|
+
* Extracts codec parameters from a configured codec context.
|
|
415
|
+
*
|
|
416
|
+
* Direct mapping to avcodec_parameters_from_context().
|
|
417
|
+
*
|
|
418
|
+
* @param codecContext - Source codec context
|
|
419
|
+
*
|
|
420
|
+
* @returns 0 on success, negative AVERROR on error:
|
|
421
|
+
* - AVERROR_ENOMEM: Memory allocation failure
|
|
422
|
+
*
|
|
423
|
+
* @example
|
|
424
|
+
* ```typescript
|
|
425
|
+
* import { FFmpegError } from 'node-av';
|
|
426
|
+
*
|
|
427
|
+
* // Extract parameters from encoder
|
|
428
|
+
* const ret = params.fromContext(encoderContext);
|
|
429
|
+
* FFmpegError.throwIfError(ret, 'fromContext');
|
|
430
|
+
* ```
|
|
431
|
+
*
|
|
432
|
+
* @see {@link toContext} To apply to context
|
|
433
|
+
*/
|
|
434
|
+
fromContext(codecContext: CodecContext): number;
|
|
435
|
+
/**
|
|
436
|
+
* Apply parameters to codec context.
|
|
437
|
+
*
|
|
438
|
+
* Configures a codec context with these parameters.
|
|
439
|
+
* Essential for initializing decoders with stream parameters.
|
|
440
|
+
*
|
|
441
|
+
* Direct mapping to avcodec_parameters_to_context().
|
|
442
|
+
*
|
|
443
|
+
* @param codecContext - Destination codec context
|
|
444
|
+
*
|
|
445
|
+
* @returns 0 on success, negative AVERROR on error:
|
|
446
|
+
* - AVERROR_ENOMEM: Memory allocation failure
|
|
447
|
+
*
|
|
448
|
+
* @example
|
|
449
|
+
* ```typescript
|
|
450
|
+
* import { FFmpegError } from 'node-av';
|
|
451
|
+
*
|
|
452
|
+
* // Configure decoder with stream parameters
|
|
453
|
+
* const stream = formatContext.streams[0];
|
|
454
|
+
* const ret = stream.codecpar.toContext(decoderContext);
|
|
455
|
+
* FFmpegError.throwIfError(ret, 'toContext');
|
|
456
|
+
* ```
|
|
457
|
+
*
|
|
458
|
+
* @see {@link fromContext} To extract from context
|
|
459
|
+
*/
|
|
460
|
+
toContext(codecContext: CodecContext): number;
|
|
461
|
+
/**
|
|
462
|
+
* Parse extradata to extract codec parameters.
|
|
463
|
+
*
|
|
464
|
+
* Opens a decoder to parse extradata (SPS/PPS for H.264, etc.) and extract
|
|
465
|
+
* codec parameters like width/height for video or sample_rate for audio.
|
|
466
|
+
* This is used when extradata exists (e.g., from SDP sprop-parameter-sets)
|
|
467
|
+
* but dimensions are missing due to insufficient probesize.
|
|
468
|
+
*
|
|
469
|
+
* Uses FFmpeg's decoder to parse extradata, same as avformat_find_stream_info()
|
|
470
|
+
* does internally. Works for all codecs (H.264, H.265, VP9, AV1, etc.).
|
|
471
|
+
*
|
|
472
|
+
* @returns 0 on success, negative error code on failure
|
|
473
|
+
*
|
|
474
|
+
* @example
|
|
475
|
+
* ```typescript
|
|
476
|
+
* import { FFmpegError } from 'node-av';
|
|
477
|
+
*
|
|
478
|
+
* // After opening RTSP with low probesize
|
|
479
|
+
* const input = await Demuxer.open('rtsp://...', {
|
|
480
|
+
* options: { probesize: 32 }
|
|
481
|
+
* });
|
|
482
|
+
*
|
|
483
|
+
* const stream = input.video();
|
|
484
|
+
* if (stream.codecpar.width === 0 && stream.codecpar.extradata) {
|
|
485
|
+
* // Parse extradata to get dimensions
|
|
486
|
+
* const ret = stream.codecpar.parseExtradata();
|
|
487
|
+
* FFmpegError.throwIfError(ret, 'parseExtradata');
|
|
488
|
+
* console.log(`Dimensions: ${stream.codecpar.width}x${stream.codecpar.height}`);
|
|
489
|
+
* }
|
|
490
|
+
* ```
|
|
491
|
+
*/
|
|
492
|
+
parseExtradata(): number;
|
|
493
|
+
/**
|
|
494
|
+
* Convert to JSON representation.
|
|
495
|
+
*
|
|
496
|
+
* Returns all codec parameters as a plain object.
|
|
497
|
+
* Useful for debugging and serialization.
|
|
498
|
+
*
|
|
499
|
+
* @returns Object with all parameter values
|
|
500
|
+
*
|
|
501
|
+
* @example
|
|
502
|
+
* ```typescript
|
|
503
|
+
* const json = params.toJSON();
|
|
504
|
+
* console.log(JSON.stringify(json, null, 2));
|
|
505
|
+
* ```
|
|
506
|
+
*/
|
|
507
|
+
toJSON(): Record<string, any>;
|
|
508
|
+
/**
|
|
509
|
+
* Get coded side data.
|
|
510
|
+
*
|
|
511
|
+
* Retrieves additional data associated with the codec parameters
|
|
512
|
+
* (e.g., HDR metadata, Dolby Vision configuration, mastering display).
|
|
513
|
+
*
|
|
514
|
+
* Direct mapping to accessing AVCodecParameters.coded_side_data.
|
|
515
|
+
*
|
|
516
|
+
* @param type - Type of side data to retrieve
|
|
517
|
+
*
|
|
518
|
+
* @returns Side data buffer, or null if not present
|
|
519
|
+
*
|
|
520
|
+
* @example
|
|
521
|
+
* ```typescript
|
|
522
|
+
* import { AV_PKT_DATA_MASTERING_DISPLAY_METADATA } from 'node-av/constants';
|
|
523
|
+
*
|
|
524
|
+
* // Get HDR mastering display metadata
|
|
525
|
+
* const hdrData = params.getCodedSideData(AV_PKT_DATA_MASTERING_DISPLAY_METADATA);
|
|
526
|
+
* if (hdrData) {
|
|
527
|
+
* console.log(`HDR metadata: ${hdrData.length} bytes`);
|
|
528
|
+
* }
|
|
529
|
+
* ```
|
|
530
|
+
*
|
|
531
|
+
* @see {@link addCodedSideData} To add side data
|
|
532
|
+
* @see {@link nbCodedSideData} For count of side data entries
|
|
533
|
+
*/
|
|
534
|
+
getCodedSideData(type: AVPacketSideDataType): Buffer | null;
|
|
535
|
+
/**
|
|
536
|
+
* Get all coded side data entries.
|
|
537
|
+
*
|
|
538
|
+
* Returns all side data attached to the codec parameters.
|
|
539
|
+
* Each entry contains the type and data buffer.
|
|
540
|
+
* This allows iteration over all side data like FFmpeg CLI does.
|
|
541
|
+
*
|
|
542
|
+
* Direct mapping to accessing AVCodecParameters.coded_side_data array.
|
|
543
|
+
*
|
|
544
|
+
* @returns Array of side data entries with type and data
|
|
545
|
+
*
|
|
546
|
+
* @example
|
|
547
|
+
* ```typescript
|
|
548
|
+
* // Iterate all side data like FFmpeg does (ffmpeg_mux_init.c)
|
|
549
|
+
* const allSideData = params.getAllCodedSideData();
|
|
550
|
+
* for (const sd of allSideData) {
|
|
551
|
+
* console.log(`Type: ${sd.type}, Size: ${sd.data.length}`);
|
|
552
|
+
* // Copy to output stream
|
|
553
|
+
* outParams.addCodedSideData(sd.type, sd.data);
|
|
554
|
+
* }
|
|
555
|
+
* ```
|
|
556
|
+
*
|
|
557
|
+
* @see {@link getCodedSideData} To get specific side data by type
|
|
558
|
+
* @see {@link addCodedSideData} To add side data
|
|
559
|
+
* @see {@link nbCodedSideData} For count of side data entries
|
|
560
|
+
*/
|
|
561
|
+
getAllCodedSideData(): {
|
|
562
|
+
type: AVPacketSideDataType;
|
|
563
|
+
data: Buffer;
|
|
564
|
+
}[];
|
|
565
|
+
/**
|
|
566
|
+
* Add coded side data to codec parameters.
|
|
567
|
+
*
|
|
568
|
+
* Attaches additional data to the codec parameters. The data is copied.
|
|
569
|
+
* Commonly used for HDR metadata, Dolby Vision configuration, etc.
|
|
570
|
+
*
|
|
571
|
+
* Direct mapping to av_packet_side_data_add() for coded_side_data.
|
|
572
|
+
*
|
|
573
|
+
* @param type - Type of side data
|
|
574
|
+
*
|
|
575
|
+
* @param data - Side data buffer
|
|
576
|
+
*
|
|
577
|
+
* @returns 0 on success, negative AVERROR on error
|
|
578
|
+
*
|
|
579
|
+
* @example
|
|
580
|
+
* ```typescript
|
|
581
|
+
* import { FFmpegError } from 'node-av';
|
|
582
|
+
* import { AV_PKT_DATA_DOVI_CONF } from 'node-av/constants';
|
|
583
|
+
*
|
|
584
|
+
* // Add Dolby Vision configuration
|
|
585
|
+
* const doviConf = Buffer.from([...]); // Dolby Vision config data
|
|
586
|
+
* const ret = params.addCodedSideData(AV_PKT_DATA_DOVI_CONF, doviConf);
|
|
587
|
+
* FFmpegError.throwIfError(ret, 'addCodedSideData');
|
|
588
|
+
* ```
|
|
589
|
+
*
|
|
590
|
+
* @see {@link getCodedSideData} To retrieve side data
|
|
591
|
+
*/
|
|
592
|
+
addCodedSideData(type: AVPacketSideDataType, data: Buffer): number;
|
|
593
|
+
/**
|
|
594
|
+
* Get the underlying native CodecParameters object.
|
|
595
|
+
*
|
|
596
|
+
* @returns The native CodecParameters binding object
|
|
597
|
+
*
|
|
598
|
+
* @internal
|
|
599
|
+
*/
|
|
600
|
+
getNative(): NativeCodecParameters;
|
|
601
|
+
/**
|
|
602
|
+
* Dispose of the codec parameters.
|
|
603
|
+
*
|
|
604
|
+
* Implements the Disposable interface for automatic cleanup.
|
|
605
|
+
*
|
|
606
|
+
* @example
|
|
607
|
+
* ```typescript
|
|
608
|
+
* {
|
|
609
|
+
* using params = new CodecParameters();
|
|
610
|
+
* params.alloc();
|
|
611
|
+
* // Use params...
|
|
612
|
+
* } // Automatically disposed when leaving scope
|
|
613
|
+
* ```
|
|
614
|
+
*/
|
|
615
|
+
[Symbol.dispose](): void;
|
|
616
|
+
}
|