node-av 3.1.3 → 5.0.0
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/README.md +88 -52
- package/binding.gyp +23 -11
- package/dist/api/audio-frame-buffer.d.ts +201 -0
- package/dist/api/audio-frame-buffer.js +275 -0
- package/dist/api/audio-frame-buffer.js.map +1 -0
- package/dist/api/bitstream-filter.d.ts +320 -78
- package/dist/api/bitstream-filter.js +684 -151
- package/dist/api/bitstream-filter.js.map +1 -1
- 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_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 +454 -77
- package/dist/api/decoder.js +1081 -271
- package/dist/api/decoder.js.map +1 -1
- package/dist/api/{media-input.d.ts → demuxer.d.ts} +295 -45
- package/dist/api/demuxer.js +1965 -0
- package/dist/api/demuxer.js.map +1 -0
- package/dist/api/encoder.d.ts +423 -132
- package/dist/api/encoder.js +1089 -240
- package/dist/api/encoder.js.map +1 -1
- package/dist/api/filter-complex.d.ts +769 -0
- package/dist/api/filter-complex.js +1596 -0
- package/dist/api/filter-complex.js.map +1 -0
- package/dist/api/filter-presets.d.ts +80 -5
- package/dist/api/filter-presets.js +117 -7
- package/dist/api/filter-presets.js.map +1 -1
- package/dist/api/filter.d.ts +561 -125
- package/dist/api/filter.js +1083 -274
- package/dist/api/filter.js.map +1 -1
- package/dist/api/{fmp4.d.ts → fmp4-stream.d.ts} +141 -140
- package/dist/api/fmp4-stream.js +539 -0
- package/dist/api/fmp4-stream.js.map +1 -0
- package/dist/api/hardware.d.ts +58 -6
- package/dist/api/hardware.js +127 -11
- package/dist/api/hardware.js.map +1 -1
- package/dist/api/index.d.ts +8 -4
- package/dist/api/index.js +17 -8
- package/dist/api/index.js.map +1 -1
- package/dist/api/io-stream.d.ts +6 -6
- package/dist/api/io-stream.js +5 -4
- package/dist/api/io-stream.js.map +1 -1
- package/dist/api/{media-output.d.ts → muxer.d.ts} +280 -66
- package/dist/api/muxer.js +1934 -0
- package/dist/api/muxer.js.map +1 -0
- package/dist/api/pipeline.d.ts +77 -29
- package/dist/api/pipeline.js +449 -439
- package/dist/api/pipeline.js.map +1 -1
- package/dist/api/rtp-stream.d.ts +312 -0
- package/dist/api/rtp-stream.js +630 -0
- package/dist/api/rtp-stream.js.map +1 -0
- package/dist/api/types.d.ts +533 -56
- package/dist/api/utilities/async-queue.d.ts +91 -0
- package/dist/api/utilities/async-queue.js +162 -0
- package/dist/api/utilities/async-queue.js.map +1 -0
- package/dist/api/utilities/audio-sample.d.ts +11 -1
- package/dist/api/utilities/audio-sample.js +10 -0
- package/dist/api/utilities/audio-sample.js.map +1 -1
- package/dist/api/utilities/channel-layout.d.ts +1 -0
- package/dist/api/utilities/channel-layout.js +1 -0
- package/dist/api/utilities/channel-layout.js.map +1 -1
- package/dist/api/utilities/image.d.ts +39 -1
- package/dist/api/utilities/image.js +38 -0
- package/dist/api/utilities/image.js.map +1 -1
- package/dist/api/utilities/index.d.ts +3 -0
- package/dist/api/utilities/index.js +6 -0
- package/dist/api/utilities/index.js.map +1 -1
- package/dist/api/utilities/media-type.d.ts +2 -1
- package/dist/api/utilities/media-type.js +1 -0
- package/dist/api/utilities/media-type.js.map +1 -1
- package/dist/api/utilities/pixel-format.d.ts +4 -1
- package/dist/api/utilities/pixel-format.js +3 -0
- package/dist/api/utilities/pixel-format.js.map +1 -1
- package/dist/api/utilities/sample-format.d.ts +6 -1
- package/dist/api/utilities/sample-format.js +5 -0
- package/dist/api/utilities/sample-format.js.map +1 -1
- 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 +105 -15
- package/dist/api/utilities/streaming.js +201 -12
- package/dist/api/utilities/streaming.js.map +1 -1
- package/dist/api/utilities/timestamp.d.ts +15 -1
- package/dist/api/utilities/timestamp.js +14 -0
- package/dist/api/utilities/timestamp.js.map +1 -1
- 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/webrtc-stream.d.ts +288 -0
- package/dist/api/webrtc-stream.js +440 -0
- package/dist/api/webrtc-stream.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/constants.d.ts +54 -2
- package/dist/constants/constants.js +48 -1
- package/dist/constants/constants.js.map +1 -1
- package/dist/constants/encoders.d.ts +2 -1
- package/dist/constants/encoders.js +4 -3
- package/dist/constants/encoders.js.map +1 -1
- 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 +1 -0
- package/dist/constants/index.js +1 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/ffmpeg/index.d.ts +3 -3
- package/dist/ffmpeg/index.js +3 -3
- package/dist/ffmpeg/utils.d.ts +27 -0
- package/dist/ffmpeg/utils.js +28 -16
- package/dist/ffmpeg/utils.js.map +1 -1
- package/dist/lib/binding.d.ts +22 -11
- package/dist/lib/binding.js.map +1 -1
- package/dist/lib/codec-context.d.ts +87 -0
- package/dist/lib/codec-context.js +125 -4
- package/dist/lib/codec-context.js.map +1 -1
- package/dist/lib/codec-parameters.d.ts +229 -1
- package/dist/lib/codec-parameters.js +264 -0
- package/dist/lib/codec-parameters.js.map +1 -1
- package/dist/lib/codec-parser.d.ts +23 -0
- package/dist/lib/codec-parser.js +25 -0
- package/dist/lib/codec-parser.js.map +1 -1
- package/dist/lib/codec.d.ts +26 -4
- package/dist/lib/codec.js +35 -0
- package/dist/lib/codec.js.map +1 -1
- package/dist/lib/dictionary.js +1 -0
- package/dist/lib/dictionary.js.map +1 -1
- package/dist/lib/error.js +1 -1
- package/dist/lib/error.js.map +1 -1
- 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 +52 -11
- package/dist/lib/filter-context.js +56 -12
- package/dist/lib/filter-context.js.map +1 -1
- package/dist/lib/filter-graph.d.ts +9 -0
- package/dist/lib/filter-graph.js +13 -0
- package/dist/lib/filter-graph.js.map +1 -1
- package/dist/lib/filter.d.ts +21 -0
- package/dist/lib/filter.js +28 -0
- package/dist/lib/filter.js.map +1 -1
- package/dist/lib/format-context.d.ts +48 -14
- package/dist/lib/format-context.js +76 -7
- package/dist/lib/format-context.js.map +1 -1
- package/dist/lib/frame.d.ts +264 -1
- package/dist/lib/frame.js +351 -1
- package/dist/lib/frame.js.map +1 -1
- package/dist/lib/hardware-device-context.d.ts +3 -2
- package/dist/lib/hardware-device-context.js.map +1 -1
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.js +4 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/input-format.d.ts +21 -0
- package/dist/lib/input-format.js +42 -2
- package/dist/lib/input-format.js.map +1 -1
- package/dist/lib/native-types.d.ts +76 -27
- package/dist/lib/option.d.ts +25 -13
- package/dist/lib/option.js +28 -0
- package/dist/lib/option.js.map +1 -1
- package/dist/lib/output-format.d.ts +22 -1
- package/dist/lib/output-format.js +28 -0
- package/dist/lib/output-format.js.map +1 -1
- package/dist/lib/packet.d.ts +35 -0
- package/dist/lib/packet.js +52 -2
- package/dist/lib/packet.js.map +1 -1
- package/dist/lib/rational.d.ts +18 -0
- package/dist/lib/rational.js +19 -0
- package/dist/lib/rational.js.map +1 -1
- package/dist/lib/stream.d.ts +126 -0
- package/dist/lib/stream.js +188 -5
- package/dist/lib/stream.js.map +1 -1
- 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 +49 -1
- package/dist/lib/utilities.d.ts +281 -53
- package/dist/lib/utilities.js +298 -55
- package/dist/lib/utilities.js.map +1 -1
- package/install/check.js +2 -2
- package/package.json +37 -26
- package/dist/api/fmp4.js +0 -710
- package/dist/api/fmp4.js.map +0 -1
- package/dist/api/media-input.js +0 -1075
- package/dist/api/media-input.js.map +0 -1
- package/dist/api/media-output.js +0 -1040
- package/dist/api/media-output.js.map +0 -1
- package/dist/api/webrtc.d.ts +0 -664
- package/dist/api/webrtc.js +0 -1132
- package/dist/api/webrtc.js.map +0 -1
package/dist/api/decoder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/api/decoder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/api/decoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { FormatContext
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import type {
|
|
1
|
+
import { FormatContext } from '../lib/format-context.js';
|
|
2
|
+
import { InputFormat } from '../lib/input-format.js';
|
|
3
|
+
import { Packet } from '../lib/packet.js';
|
|
4
|
+
import type { AVMediaType, AVSeekFlag } from '../constants/index.js';
|
|
5
|
+
import type { Stream } from '../lib/stream.js';
|
|
6
|
+
import type { DemuxerOptions, IOInputCallbacks, RawData, RTPDemuxer } from './types.js';
|
|
5
7
|
/**
|
|
6
|
-
* High-level
|
|
8
|
+
* High-level demuxer for reading and demuxing media files.
|
|
7
9
|
*
|
|
8
10
|
* Provides simplified access to media streams, packets, and metadata.
|
|
9
11
|
* Handles file opening, format detection, and stream information extraction.
|
|
@@ -12,10 +14,10 @@ import type { IOInputCallbacks, MediaInputOptions, RawData } from './types.js';
|
|
|
12
14
|
*
|
|
13
15
|
* @example
|
|
14
16
|
* ```typescript
|
|
15
|
-
* import {
|
|
17
|
+
* import { Demuxer } from 'node-av/api';
|
|
16
18
|
*
|
|
17
19
|
* // Open media file
|
|
18
|
-
* await using input = await
|
|
20
|
+
* await using input = await Demuxer.open('video.mp4');
|
|
19
21
|
* console.log(`Format: ${input.formatName}`);
|
|
20
22
|
* console.log(`Duration: ${input.duration}s`);
|
|
21
23
|
*
|
|
@@ -30,25 +32,37 @@ import type { IOInputCallbacks, MediaInputOptions, RawData } from './types.js';
|
|
|
30
32
|
* ```typescript
|
|
31
33
|
* // From buffer
|
|
32
34
|
* const buffer = await fs.readFile('video.mp4');
|
|
33
|
-
* await using input = await
|
|
35
|
+
* await using input = await Demuxer.open(buffer);
|
|
34
36
|
*
|
|
35
37
|
* // Access streams
|
|
36
38
|
* const videoStream = input.video();
|
|
37
39
|
* const audioStream = input.audio();
|
|
38
40
|
* ```
|
|
39
41
|
*
|
|
40
|
-
* @see {@link
|
|
42
|
+
* @see {@link Muxer} For writing media files
|
|
41
43
|
* @see {@link Decoder} For decoding packets to frames
|
|
42
44
|
* @see {@link FormatContext} For low-level API
|
|
43
45
|
*/
|
|
44
|
-
export declare class
|
|
46
|
+
export declare class Demuxer implements AsyncDisposable, Disposable {
|
|
45
47
|
private formatContext;
|
|
46
48
|
private _streams;
|
|
47
49
|
private ioContext?;
|
|
48
50
|
private isClosed;
|
|
51
|
+
private options;
|
|
52
|
+
private streamStates;
|
|
53
|
+
private tsOffsetDiscont;
|
|
54
|
+
private lastTs;
|
|
55
|
+
private activeGenerators;
|
|
56
|
+
private demuxThread;
|
|
57
|
+
private packetQueues;
|
|
58
|
+
private queueResolvers;
|
|
59
|
+
private demuxThreadActive;
|
|
60
|
+
private demuxEof;
|
|
49
61
|
/**
|
|
50
62
|
* @param formatContext - Opened format context
|
|
51
63
|
*
|
|
64
|
+
* @param options - Media input options
|
|
65
|
+
*
|
|
52
66
|
* @param ioContext - Optional IO context for custom I/O (e.g., from Buffer)
|
|
53
67
|
*
|
|
54
68
|
* @internal
|
|
@@ -68,7 +82,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
68
82
|
*
|
|
69
83
|
* @example
|
|
70
84
|
* ```typescript
|
|
71
|
-
* const info = await
|
|
85
|
+
* const info = await Demuxer.probeFormat('video.mp4');
|
|
72
86
|
* if (info) {
|
|
73
87
|
* console.log(`Format: ${info.format}`);
|
|
74
88
|
* console.log(`Confidence: ${info.confidence}%`);
|
|
@@ -79,7 +93,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
79
93
|
* ```typescript
|
|
80
94
|
* // Probe from buffer
|
|
81
95
|
* const buffer = await fs.readFile('video.webm');
|
|
82
|
-
* const info = await
|
|
96
|
+
* const info = await Demuxer.probeFormat(buffer);
|
|
83
97
|
* console.log(`MIME type: ${info?.mimeType}`);
|
|
84
98
|
* ```
|
|
85
99
|
*
|
|
@@ -107,7 +121,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
107
121
|
*
|
|
108
122
|
* @example
|
|
109
123
|
* ```typescript
|
|
110
|
-
* const info =
|
|
124
|
+
* const info = Demuxer.probeFormatSync('video.mp4');
|
|
111
125
|
* if (info) {
|
|
112
126
|
* console.log(`Format: ${info.format}`);
|
|
113
127
|
* console.log(`Confidence: ${info.confidence}%`);
|
|
@@ -118,7 +132,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
118
132
|
* ```typescript
|
|
119
133
|
* // Probe from buffer
|
|
120
134
|
* const buffer = fs.readFileSync('video.webm');
|
|
121
|
-
* const info =
|
|
135
|
+
* const info = Demuxer.probeFormatSync(buffer);
|
|
122
136
|
* console.log(`MIME type: ${info?.mimeType}`);
|
|
123
137
|
* ```
|
|
124
138
|
*
|
|
@@ -144,7 +158,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
144
158
|
*
|
|
145
159
|
* @param options - Input configuration options
|
|
146
160
|
*
|
|
147
|
-
* @returns Opened
|
|
161
|
+
* @returns Opened demuxer instance
|
|
148
162
|
*
|
|
149
163
|
* @throws {Error} If format not found or open fails, or format required for custom I/O
|
|
150
164
|
*
|
|
@@ -153,19 +167,19 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
153
167
|
* @example
|
|
154
168
|
* ```typescript
|
|
155
169
|
* // Open file
|
|
156
|
-
* await using input = await
|
|
170
|
+
* await using input = await Demuxer.open('video.mp4');
|
|
157
171
|
* ```
|
|
158
172
|
*
|
|
159
173
|
* @example
|
|
160
174
|
* ```typescript
|
|
161
175
|
* // Open URL
|
|
162
|
-
* await using input = await
|
|
176
|
+
* await using input = await Demuxer.open('http://example.com/stream.m3u8');
|
|
163
177
|
* ```
|
|
164
178
|
*
|
|
165
179
|
* @example
|
|
166
180
|
* ```typescript
|
|
167
181
|
* // Open with options
|
|
168
|
-
* await using input = await
|
|
182
|
+
* await using input = await Demuxer.open('rtsp://camera.local', {
|
|
169
183
|
* format: 'rtsp',
|
|
170
184
|
* options: {
|
|
171
185
|
* rtsp_transport: 'tcp',
|
|
@@ -177,7 +191,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
177
191
|
* @example
|
|
178
192
|
* ```typescript
|
|
179
193
|
* // Open raw video data
|
|
180
|
-
* await using input = await
|
|
194
|
+
* await using input = await Demuxer.open({
|
|
181
195
|
* type: 'video',
|
|
182
196
|
* input: rawBuffer,
|
|
183
197
|
* width: 1920,
|
|
@@ -201,21 +215,21 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
201
215
|
* }
|
|
202
216
|
* };
|
|
203
217
|
*
|
|
204
|
-
* await using input = await
|
|
218
|
+
* await using input = await Demuxer.open(callbacks, {
|
|
205
219
|
* format: 'mp4',
|
|
206
220
|
* bufferSize: 8192
|
|
207
221
|
* });
|
|
208
222
|
* ```
|
|
209
223
|
*
|
|
210
|
-
* @see {@link
|
|
224
|
+
* @see {@link DemuxerOptions} For configuration options
|
|
211
225
|
* @see {@link RawData} For raw data input
|
|
212
226
|
* @see {@link IOInputCallbacks} For custom I/O interface
|
|
213
227
|
*/
|
|
214
|
-
static open(input: string | Buffer, options?:
|
|
215
|
-
static open(input: IOInputCallbacks, options:
|
|
228
|
+
static open(input: string | Buffer, options?: DemuxerOptions): Promise<Demuxer>;
|
|
229
|
+
static open(input: IOInputCallbacks, options: (DemuxerOptions | undefined) & {
|
|
216
230
|
format: string;
|
|
217
|
-
}): Promise<
|
|
218
|
-
static open(rawData: RawData, options?:
|
|
231
|
+
}): Promise<Demuxer>;
|
|
232
|
+
static open(rawData: RawData, options?: DemuxerOptions): Promise<Demuxer>;
|
|
219
233
|
/**
|
|
220
234
|
* Open media from file, URL, Buffer, raw data, or custom I/O callbacks synchronously.
|
|
221
235
|
* Synchronous version of open.
|
|
@@ -230,7 +244,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
230
244
|
*
|
|
231
245
|
* @param options - Input configuration options
|
|
232
246
|
*
|
|
233
|
-
* @returns Opened
|
|
247
|
+
* @returns Opened muxer instance
|
|
234
248
|
*
|
|
235
249
|
* @throws {Error} If format not found or open fails, or format required for custom I/O
|
|
236
250
|
*
|
|
@@ -239,20 +253,20 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
239
253
|
* @example
|
|
240
254
|
* ```typescript
|
|
241
255
|
* // Open file
|
|
242
|
-
* using input =
|
|
256
|
+
* using input = Demuxer.openSync('video.mp4');
|
|
243
257
|
* ```
|
|
244
258
|
*
|
|
245
259
|
* @example
|
|
246
260
|
* ```typescript
|
|
247
261
|
* // Open from buffer
|
|
248
262
|
* const buffer = await fs.readFile('video.mp4');
|
|
249
|
-
* using input =
|
|
263
|
+
* using input = Demuxer.openSync(buffer);
|
|
250
264
|
* ```
|
|
251
265
|
*
|
|
252
266
|
* @example
|
|
253
267
|
* ```typescript
|
|
254
268
|
* // Open with options
|
|
255
|
-
* using input =
|
|
269
|
+
* using input = Demuxer.openSync('rtsp://camera.local', {
|
|
256
270
|
* format: 'rtsp',
|
|
257
271
|
* options: {
|
|
258
272
|
* rtsp_transport: 'tcp',
|
|
@@ -275,7 +289,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
275
289
|
* }
|
|
276
290
|
* };
|
|
277
291
|
*
|
|
278
|
-
* using input =
|
|
292
|
+
* using input = Demuxer.openSync(callbacks, {
|
|
279
293
|
* format: 'mp4',
|
|
280
294
|
* bufferSize: 8192
|
|
281
295
|
* });
|
|
@@ -284,11 +298,111 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
284
298
|
* @see {@link open} For async version
|
|
285
299
|
* @see {@link IOInputCallbacks} For custom I/O interface
|
|
286
300
|
*/
|
|
287
|
-
static openSync(input: string | Buffer, options?:
|
|
288
|
-
static openSync(input: IOInputCallbacks, options:
|
|
301
|
+
static openSync(input: string | Buffer, options?: DemuxerOptions): Demuxer;
|
|
302
|
+
static openSync(input: IOInputCallbacks, options: (DemuxerOptions | undefined) & {
|
|
289
303
|
format: string;
|
|
290
|
-
}):
|
|
291
|
-
static openSync(rawData: RawData, options?:
|
|
304
|
+
}): Demuxer;
|
|
305
|
+
static openSync(rawData: RawData, options?: DemuxerOptions): Demuxer;
|
|
306
|
+
/**
|
|
307
|
+
* Open RTP/SRTP input stream via localhost UDP.
|
|
308
|
+
*
|
|
309
|
+
* Creates a Demuxer from SDP string received via UDP socket.
|
|
310
|
+
* Opens UDP socket and configures FFmpeg to receive and parse RTP packets.
|
|
311
|
+
*
|
|
312
|
+
* @param sdpContent - SDP content string describing the RTP stream
|
|
313
|
+
*
|
|
314
|
+
* @throws {Error} If SDP parsing or socket setup fails
|
|
315
|
+
*
|
|
316
|
+
* @throws {FFmpegError} If FFmpeg operations fail
|
|
317
|
+
*
|
|
318
|
+
* @returns Promise with Demuxer, sendPacket function and cleanup
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* ```typescript
|
|
322
|
+
* import { Demuxer, StreamingUtils } from 'node-av/api';
|
|
323
|
+
* import { AV_CODEC_ID_OPUS } from 'node-av/constants';
|
|
324
|
+
*
|
|
325
|
+
* // Generate SDP for SRTP encrypted Opus
|
|
326
|
+
* const sdp = StreamingUtils.createRTPInputSDP([{
|
|
327
|
+
* port: 5004,
|
|
328
|
+
* codecId: AV_CODEC_ID_OPUS,
|
|
329
|
+
* payloadType: 111,
|
|
330
|
+
* clockRate: 16000,
|
|
331
|
+
* channels: 1,
|
|
332
|
+
* srtp: { key: srtpKey, salt: srtpSalt }
|
|
333
|
+
* }]);
|
|
334
|
+
*
|
|
335
|
+
* // Open RTP input
|
|
336
|
+
* const { input, sendPacket, close } = await Demuxer.openSDP(sdp);
|
|
337
|
+
*
|
|
338
|
+
* // Route encrypted RTP packets from network
|
|
339
|
+
* socket.on('message', (msg) => sendPacket(msg));
|
|
340
|
+
*
|
|
341
|
+
* // Decode audio
|
|
342
|
+
* const decoder = await Decoder.create(input.audio()!);
|
|
343
|
+
* for await (const packet of input.packets()) {
|
|
344
|
+
* const frame = await decoder.decode(packet);
|
|
345
|
+
* // Process frame...
|
|
346
|
+
* }
|
|
347
|
+
*
|
|
348
|
+
* // Cleanup
|
|
349
|
+
* await close();
|
|
350
|
+
* ```
|
|
351
|
+
*
|
|
352
|
+
* @see {@link StreamingUtils.createInputSDP} to generate SDP content.
|
|
353
|
+
*/
|
|
354
|
+
static openSDP(sdpContent: string): Promise<RTPDemuxer>;
|
|
355
|
+
/**
|
|
356
|
+
* Open RTP/SRTP input stream via localhost UDP synchronously.
|
|
357
|
+
* Synchronous version of openSDP.
|
|
358
|
+
*
|
|
359
|
+
* Creates a Demuxer from SDP string received via UDP socket.
|
|
360
|
+
* Opens UDP socket and configures FFmpeg to receive and parse RTP packets.
|
|
361
|
+
*
|
|
362
|
+
* @param sdpContent - SDP content string describing the RTP stream
|
|
363
|
+
*
|
|
364
|
+
* @throws {Error} If SDP parsing or socket setup fails
|
|
365
|
+
*
|
|
366
|
+
* @throws {FFmpegError} If FFmpeg operations fail
|
|
367
|
+
*
|
|
368
|
+
* @returns Object with Demuxer, sendPacket function and cleanup
|
|
369
|
+
*
|
|
370
|
+
* @example
|
|
371
|
+
* ```typescript
|
|
372
|
+
* import { Demuxer, StreamingUtils } from 'node-av/api';
|
|
373
|
+
* import { AV_CODEC_ID_OPUS } from 'node-av/constants';
|
|
374
|
+
*
|
|
375
|
+
* // Generate SDP for SRTP encrypted Opus
|
|
376
|
+
* const sdp = StreamingUtils.createRTPInputSDP([{
|
|
377
|
+
* port: 5004,
|
|
378
|
+
* codecId: AV_CODEC_ID_OPUS,
|
|
379
|
+
* payloadType: 111,
|
|
380
|
+
* clockRate: 16000,
|
|
381
|
+
* channels: 1,
|
|
382
|
+
* srtp: { key: srtpKey, salt: srtpSalt }
|
|
383
|
+
* }]);
|
|
384
|
+
*
|
|
385
|
+
* // Open RTP input
|
|
386
|
+
* const { input, sendPacket, closeSync } = Demuxer.openSDPSync(sdp);
|
|
387
|
+
*
|
|
388
|
+
* // Route encrypted RTP packets from network
|
|
389
|
+
* socket.on('message', (msg) => sendPacket(msg));
|
|
390
|
+
*
|
|
391
|
+
* // Decode audio
|
|
392
|
+
* const decoder = await Decoder.create(input.audio()!);
|
|
393
|
+
* for await (const packet of input.packets()) {
|
|
394
|
+
* const frame = await decoder.decode(packet);
|
|
395
|
+
* // Process frame...
|
|
396
|
+
* }
|
|
397
|
+
*
|
|
398
|
+
* // Cleanup synchronously
|
|
399
|
+
* closeSync();
|
|
400
|
+
* ```
|
|
401
|
+
*
|
|
402
|
+
* @see {@link StreamingUtils.createInputSDP} to generate SDP content.
|
|
403
|
+
* @see {@link openSDP} For async version
|
|
404
|
+
*/
|
|
405
|
+
static openSDPSync(sdpContent: string): RTPDemuxer;
|
|
292
406
|
/**
|
|
293
407
|
* Check if input is open.
|
|
294
408
|
*
|
|
@@ -390,7 +504,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
390
504
|
*
|
|
391
505
|
* @example
|
|
392
506
|
* ```typescript
|
|
393
|
-
* const input = await
|
|
507
|
+
* const input = await Demuxer.open('input.mp4');
|
|
394
508
|
*
|
|
395
509
|
* // Get the input stream to inspect codec parameters
|
|
396
510
|
* const stream = input.getStream(1); // Get stream at index 1
|
|
@@ -508,6 +622,10 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
508
622
|
* Automatically handles packet memory management.
|
|
509
623
|
* Optionally filters packets by stream index.
|
|
510
624
|
*
|
|
625
|
+
* **Supports parallel generators**: Multiple `packets()` iterators can run concurrently.
|
|
626
|
+
* When multiple generators are active, an internal demux thread automatically handles
|
|
627
|
+
* packet distribution to avoid race conditions.
|
|
628
|
+
*
|
|
511
629
|
* Direct mapping to av_read_frame().
|
|
512
630
|
*
|
|
513
631
|
* @param index - Optional stream index to filter
|
|
@@ -535,9 +653,31 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
535
653
|
* }
|
|
536
654
|
* ```
|
|
537
655
|
*
|
|
656
|
+
* @example
|
|
657
|
+
* ```typescript
|
|
658
|
+
* // Parallel processing of video and audio streams
|
|
659
|
+
* const videoGen = input.packets(videoStream.index);
|
|
660
|
+
* const audioGen = input.packets(audioStream.index);
|
|
661
|
+
*
|
|
662
|
+
* await Promise.all([
|
|
663
|
+
* (async () => {
|
|
664
|
+
* for await (const packet of videoGen) {
|
|
665
|
+
* // Process video
|
|
666
|
+
* packet.free();
|
|
667
|
+
* }
|
|
668
|
+
* })(),
|
|
669
|
+
* (async () => {
|
|
670
|
+
* for await (const packet of audioGen) {
|
|
671
|
+
* // Process audio
|
|
672
|
+
* packet.free();
|
|
673
|
+
* }
|
|
674
|
+
* })()
|
|
675
|
+
* ]);
|
|
676
|
+
* ```
|
|
677
|
+
*
|
|
538
678
|
* @see {@link Decoder.frames} For decoding packets
|
|
539
679
|
*/
|
|
540
|
-
packets(index?: number): AsyncGenerator<Packet>;
|
|
680
|
+
packets(index?: number): AsyncGenerator<Packet | null>;
|
|
541
681
|
/**
|
|
542
682
|
* Read packets from media as generator synchronously.
|
|
543
683
|
* Synchronous version of packets.
|
|
@@ -575,7 +715,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
575
715
|
*
|
|
576
716
|
* @see {@link packets} For async version
|
|
577
717
|
*/
|
|
578
|
-
packetsSync(index?: number): Generator<Packet>;
|
|
718
|
+
packetsSync(index?: number): Generator<Packet | null>;
|
|
579
719
|
/**
|
|
580
720
|
* Seek to timestamp in media.
|
|
581
721
|
*
|
|
@@ -650,7 +790,117 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
650
790
|
*/
|
|
651
791
|
seekSync(timestamp: number, streamIndex?: number, flags?: AVSeekFlag): number;
|
|
652
792
|
/**
|
|
653
|
-
*
|
|
793
|
+
* Start the internal demux thread for handling multiple parallel packet generators.
|
|
794
|
+
* This thread reads packets from the format context and distributes them to queues.
|
|
795
|
+
*
|
|
796
|
+
* @internal
|
|
797
|
+
*/
|
|
798
|
+
private startDemuxThread;
|
|
799
|
+
/**
|
|
800
|
+
* Stop the internal demux thread.
|
|
801
|
+
*
|
|
802
|
+
* @internal
|
|
803
|
+
*/
|
|
804
|
+
private stopDemuxThread;
|
|
805
|
+
/**
|
|
806
|
+
* Get or create stream state for timestamp processing.
|
|
807
|
+
*
|
|
808
|
+
* @param streamIndex - Stream index
|
|
809
|
+
*
|
|
810
|
+
* @returns Stream state
|
|
811
|
+
*
|
|
812
|
+
* @internal
|
|
813
|
+
*/
|
|
814
|
+
private getStreamState;
|
|
815
|
+
/**
|
|
816
|
+
* PTS Wrap-Around Correction.
|
|
817
|
+
*
|
|
818
|
+
* Based on FFmpeg's ts_fixup().
|
|
819
|
+
*
|
|
820
|
+
* Corrects timestamp wrap-around for streams with limited timestamp bits.
|
|
821
|
+
* DVB streams typically use 31-bit timestamps that wrap around.
|
|
822
|
+
* Without correction, timestamps become negative causing playback errors.
|
|
823
|
+
*
|
|
824
|
+
* Handles:
|
|
825
|
+
* - Detects wrap-around based on pts_wrap_bits from stream
|
|
826
|
+
* - Applies correction once per stream
|
|
827
|
+
* - Corrects both PTS and DTS
|
|
828
|
+
*
|
|
829
|
+
* @param packet - Packet to correct
|
|
830
|
+
*
|
|
831
|
+
* @param stream - Stream metadata
|
|
832
|
+
*
|
|
833
|
+
* @internal
|
|
834
|
+
*/
|
|
835
|
+
private ptsWrapAroundCorrection;
|
|
836
|
+
/**
|
|
837
|
+
* DTS Prediction and Update.
|
|
838
|
+
*
|
|
839
|
+
* Based on FFmpeg's ist_dts_update().
|
|
840
|
+
*
|
|
841
|
+
* Predicts next expected DTS for frame ordering validation and discontinuity detection.
|
|
842
|
+
* Uses codec-specific logic:
|
|
843
|
+
* - Audio: Based on sample_rate and frame_size
|
|
844
|
+
* - Video: Based on framerate or duration
|
|
845
|
+
*
|
|
846
|
+
* Handles:
|
|
847
|
+
* - First timestamp initialization
|
|
848
|
+
* - Codec-specific duration calculation
|
|
849
|
+
* - DTS sequence tracking
|
|
850
|
+
*
|
|
851
|
+
* @param packet - Packet to process
|
|
852
|
+
*
|
|
853
|
+
* @param stream - Stream metadata
|
|
854
|
+
*
|
|
855
|
+
* @internal
|
|
856
|
+
*/
|
|
857
|
+
private dtsPredict;
|
|
858
|
+
/**
|
|
859
|
+
* Timestamp Discontinuity Detection.
|
|
860
|
+
*
|
|
861
|
+
* Based on FFmpeg's ts_discontinuity_detect().
|
|
862
|
+
*
|
|
863
|
+
* Detects and corrects timestamp discontinuities in streams.
|
|
864
|
+
* Handles two cases:
|
|
865
|
+
* - Discontinuous formats (MPEG-TS): Apply offset correction
|
|
866
|
+
* - Continuous formats (MP4): Mark timestamps as invalid
|
|
867
|
+
*
|
|
868
|
+
* Handles:
|
|
869
|
+
* - Format-specific discontinuity handling (AVFMT_TS_DISCONT flag)
|
|
870
|
+
* - PTS wrap-around detection for streams with limited timestamp bits
|
|
871
|
+
* - Intra-stream discontinuity detection
|
|
872
|
+
* - Inter-stream discontinuity detection
|
|
873
|
+
* - Offset accumulation and application
|
|
874
|
+
* - copyTs mode with selective correction
|
|
875
|
+
*
|
|
876
|
+
* @param packet - Packet to check for discontinuities
|
|
877
|
+
*
|
|
878
|
+
* @param stream - Stream metadata
|
|
879
|
+
*
|
|
880
|
+
* @internal
|
|
881
|
+
*/
|
|
882
|
+
private timestampDiscontinuityDetect;
|
|
883
|
+
/**
|
|
884
|
+
* Timestamp Discontinuity Processing - main entry point.
|
|
885
|
+
*
|
|
886
|
+
* Based on FFmpeg's ts_discontinuity_process().
|
|
887
|
+
*
|
|
888
|
+
* Applies accumulated discontinuity offset and detects new discontinuities.
|
|
889
|
+
* Must be called for every packet before other timestamp processing.
|
|
890
|
+
*
|
|
891
|
+
* Handles:
|
|
892
|
+
* - Applying previously-detected offset to all streams
|
|
893
|
+
* - Detecting new discontinuities for audio/video streams
|
|
894
|
+
*
|
|
895
|
+
* @param packet - Packet to process
|
|
896
|
+
*
|
|
897
|
+
* @param stream - Stream metadata
|
|
898
|
+
*
|
|
899
|
+
* @internal
|
|
900
|
+
*/
|
|
901
|
+
private timestampDiscontinuityProcess;
|
|
902
|
+
/**
|
|
903
|
+
* Close demuxer and free resources.
|
|
654
904
|
*
|
|
655
905
|
* Releases format context and I/O context.
|
|
656
906
|
* Safe to call multiple times.
|
|
@@ -660,7 +910,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
660
910
|
*
|
|
661
911
|
* @example
|
|
662
912
|
* ```typescript
|
|
663
|
-
* const input = await
|
|
913
|
+
* const input = await Demuxer.open('video.mp4');
|
|
664
914
|
* try {
|
|
665
915
|
* // Use input
|
|
666
916
|
* } finally {
|
|
@@ -672,7 +922,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
672
922
|
*/
|
|
673
923
|
close(): Promise<void>;
|
|
674
924
|
/**
|
|
675
|
-
* Close
|
|
925
|
+
* Close demuxer and free resources synchronously.
|
|
676
926
|
* Synchronous version of close.
|
|
677
927
|
*
|
|
678
928
|
* Releases format context and I/O context.
|
|
@@ -683,7 +933,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
683
933
|
*
|
|
684
934
|
* @example
|
|
685
935
|
* ```typescript
|
|
686
|
-
* const input =
|
|
936
|
+
* const input = Demuxer.openSync('video.mp4');
|
|
687
937
|
* try {
|
|
688
938
|
* // Use input
|
|
689
939
|
* } finally {
|
|
@@ -705,7 +955,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
705
955
|
*/
|
|
706
956
|
getFormatContext(): FormatContext;
|
|
707
957
|
/**
|
|
708
|
-
* Dispose of
|
|
958
|
+
* Dispose of demuxer.
|
|
709
959
|
*
|
|
710
960
|
* Implements AsyncDisposable interface for automatic cleanup.
|
|
711
961
|
* Equivalent to calling close().
|
|
@@ -713,7 +963,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
713
963
|
* @example
|
|
714
964
|
* ```typescript
|
|
715
965
|
* {
|
|
716
|
-
* await using input = await
|
|
966
|
+
* await using input = await Demuxer.open('video.mp4');
|
|
717
967
|
* // Process media...
|
|
718
968
|
* } // Automatically closed
|
|
719
969
|
* ```
|
|
@@ -722,7 +972,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
722
972
|
*/
|
|
723
973
|
[Symbol.asyncDispose](): Promise<void>;
|
|
724
974
|
/**
|
|
725
|
-
* Dispose of
|
|
975
|
+
* Dispose of demuxer synchronously.
|
|
726
976
|
*
|
|
727
977
|
* Implements Disposable interface for automatic cleanup.
|
|
728
978
|
* Equivalent to calling closeSync().
|
|
@@ -730,7 +980,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
730
980
|
* @example
|
|
731
981
|
* ```typescript
|
|
732
982
|
* {
|
|
733
|
-
* using input =
|
|
983
|
+
* using input = Demuxer.openSync('video.mp4');
|
|
734
984
|
* // Process media...
|
|
735
985
|
* } // Automatically closed
|
|
736
986
|
* ```
|