node-av 6.2.0-beta.30 → 6.2.0-beta.32

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.
Files changed (49) hide show
  1. package/README.md +0 -10
  2. package/dist/api/decoder.d.ts +41 -2
  3. package/dist/api/decoder.js +66 -21
  4. package/dist/api/decoder.js.map +1 -1
  5. package/dist/api/encoder.d.ts +16 -3
  6. package/dist/api/encoder.js +80 -24
  7. package/dist/api/encoder.js.map +1 -1
  8. package/dist/api/filter-presets.d.ts +25 -1
  9. package/dist/api/filter-presets.js +27 -1
  10. package/dist/api/filter-presets.js.map +1 -1
  11. package/dist/api/fmp4-stream.d.ts +1 -0
  12. package/dist/api/fmp4-stream.js +35 -21
  13. package/dist/api/fmp4-stream.js.map +1 -1
  14. package/dist/api/io-stream.js +10 -9
  15. package/dist/api/io-stream.js.map +1 -1
  16. package/dist/api/muxer.js +33 -24
  17. package/dist/api/muxer.js.map +1 -1
  18. package/dist/api/rtp-stream.js +33 -24
  19. package/dist/api/rtp-stream.js.map +1 -1
  20. package/dist/api/utilities/live-decoding.d.ts +15 -0
  21. package/dist/api/utilities/live-decoding.js +32 -0
  22. package/dist/api/utilities/live-decoding.js.map +1 -0
  23. package/dist/api/utilities/scale-size.d.ts +22 -0
  24. package/dist/api/utilities/scale-size.js +31 -0
  25. package/dist/api/utilities/scale-size.js.map +1 -0
  26. package/dist/lib/binding.d.ts +1 -0
  27. package/dist/lib/binding.js.map +1 -1
  28. package/dist/lib/filter-context.d.ts +3 -0
  29. package/dist/lib/filter-context.js +3 -0
  30. package/dist/lib/filter-context.js.map +1 -1
  31. package/dist/lib/filter-graph-segment.d.ts +3 -2
  32. package/dist/lib/filter-graph-segment.js +3 -2
  33. package/dist/lib/filter-graph-segment.js.map +1 -1
  34. package/dist/lib/filter-graph.d.ts +4 -4
  35. package/dist/lib/filter-graph.js +4 -4
  36. package/dist/lib/filter-inout.d.ts +4 -0
  37. package/dist/lib/filter-inout.js +4 -0
  38. package/dist/lib/filter-inout.js.map +1 -1
  39. package/dist/lib/format-context.d.ts +3 -1
  40. package/dist/lib/format-context.js +4 -2
  41. package/dist/lib/format-context.js.map +1 -1
  42. package/dist/lib/native-types.d.ts +2 -0
  43. package/dist/lib/output-format.d.ts +42 -0
  44. package/dist/lib/output-format.js +46 -0
  45. package/dist/lib/output-format.js.map +1 -1
  46. package/dist/lib/utilities.d.ts +26 -0
  47. package/dist/lib/utilities.js +28 -0
  48. package/dist/lib/utilities.js.map +1 -1
  49. package/package.json +9 -20
@@ -51,7 +51,7 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
51
51
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
52
  });
53
53
  /* eslint-disable @stylistic/indent-binary-ops */
54
- import { AV_CHANNEL_ORDER_UNSPEC, AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, AV_CODEC_CAP_PARAM_CHANGE, AV_CODEC_FLAG_COPY_OPAQUE, AV_CODEC_FLAG_FRAME_DURATION, AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX, AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX, AV_NOPTS_VALUE, AV_PICTURE_TYPE_NONE, AV_PIX_FMT_NONE, AV_PKT_FLAG_TRUSTED, AV_ROUND_NEAR_INF, AVCHROMA_LOC_UNSPECIFIED, AVERROR_EAGAIN, AVERROR_ENCODER_NOT_FOUND, AVERROR_EOF, AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_VIDEO, EOF, SWS_BILINEAR, } from '../constants/constants.js';
54
+ import { AV_CHANNEL_ORDER_UNSPEC, AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, AV_CODEC_CAP_PARAM_CHANGE, AV_CODEC_FLAG_COPY_OPAQUE, AV_CODEC_FLAG_FRAME_DURATION, AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX, AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX, AV_NOPTS_VALUE, AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_NONE, AV_PIX_FMT_NONE, AV_PKT_FLAG_TRUSTED, AV_ROUND_NEAR_INF, AVCHROMA_LOC_UNSPECIFIED, AVERROR_EAGAIN, AVERROR_ENCODER_NOT_FOUND, AVERROR_EOF, AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_VIDEO, EOF, SWS_BILINEAR, } from '../constants/constants.js';
55
55
  import { CodecContext } from '../lib/codec-context.js';
56
56
  import { Codec } from '../lib/codec.js';
57
57
  import { Dictionary } from '../lib/dictionary.js';
@@ -167,6 +167,8 @@ export class Encoder {
167
167
  videoTargetFormat;
168
168
  supportsParamChange;
169
169
  encoderChannels;
170
+ nextVideoPts;
171
+ droppedKeyframe = false;
170
172
  // Worker pattern for push-based processing
171
173
  inputQueue;
172
174
  outputQueue;
@@ -253,6 +255,8 @@ export class Encoder {
253
255
  * @see {@link createSync} For synchronous version
254
256
  */
255
257
  static async create(encoderCodec, options = {}) {
258
+ // Copied: defaults (e.g. bitrate) are filled in below
259
+ options = { ...options };
256
260
  let codec = null;
257
261
  if (encoderCodec instanceof Codec) {
258
262
  codec = encoderCodec;
@@ -279,14 +283,15 @@ export class Encoder {
279
283
  if (options.maxBFrames !== undefined) {
280
284
  codecContext.maxBFrames = options.maxBFrames;
281
285
  }
282
- // Apply common options with codec-type-specific defaults
283
- if (options.bitrate === undefined) {
284
- // Set codec-type-specific default bitrate
285
- const isAudio = codec.type === AVMEDIA_TYPE_AUDIO;
286
- options.bitrate = isAudio ? 128_000 : 1_000_000;
286
+ // Audio bitrate is left to the codec's default like FFmpeg CLI does: it
287
+ // depends on codec, channels and rate (AAC 69k per mono channel, G.726 32k),
288
+ // and some codecs only open at specific rates (G.723.1: 6.3k/5.3k)
289
+ if (options.bitrate === undefined && codec.type !== AVMEDIA_TYPE_AUDIO) {
290
+ options.bitrate = 1_000_000;
291
+ }
292
+ if (options.bitrate !== undefined) {
293
+ codecContext.bitRate = typeof options.bitrate === 'string' ? parseBitrate(options.bitrate) : BigInt(options.bitrate);
287
294
  }
288
- const bitrate = typeof options.bitrate === 'string' ? parseBitrate(options.bitrate) : BigInt(options.bitrate);
289
- codecContext.bitRate = bitrate;
290
295
  if (options.minRate !== undefined) {
291
296
  const minRate = typeof options.minRate === 'string' ? parseBitrate(options.minRate) : BigInt(options.minRate);
292
297
  codecContext.rcMinRate = minRate;
@@ -375,6 +380,8 @@ export class Encoder {
375
380
  * @see {@link create} For async version
376
381
  */
377
382
  static createSync(encoderCodec, options = {}) {
383
+ // Copied: defaults (e.g. bitrate) are filled in below
384
+ options = { ...options };
378
385
  let codec = null;
379
386
  if (encoderCodec instanceof Codec) {
380
387
  codec = encoderCodec;
@@ -394,14 +401,12 @@ export class Encoder {
394
401
  // Allocate codec context
395
402
  const codecContext = new CodecContext();
396
403
  codecContext.allocContext3(codec);
397
- // Apply common options with codec-type-specific defaults
398
- if (options.bitrate === undefined) {
399
- // Set codec-type-specific default bitrate
400
- const isAudio = codec.type === AVMEDIA_TYPE_AUDIO;
401
- options.bitrate = isAudio ? 128_000 : 1_000_000;
402
- }
403
- const bitrate = typeof options.bitrate === 'string' ? parseBitrate(options.bitrate) : BigInt(options.bitrate);
404
- codecContext.bitRate = bitrate;
404
+ if (options.bitrate === undefined && codec.type !== AVMEDIA_TYPE_AUDIO) {
405
+ options.bitrate = 1_000_000;
406
+ }
407
+ if (options.bitrate !== undefined) {
408
+ codecContext.bitRate = typeof options.bitrate === 'string' ? parseBitrate(options.bitrate) : BigInt(options.bitrate);
409
+ }
405
410
  if (options.gopSize !== undefined) {
406
411
  codecContext.gopSize = options.gopSize;
407
412
  }
@@ -727,6 +732,10 @@ export class Encoder {
727
732
  * **Important**: This method only SENDS the frame to the encoder.
728
733
  * You must call {@link receive} separately (potentially multiple times) to get encoded packets.
729
734
  *
735
+ * Like FFmpeg CLI, a video frame whose timestamp lands on the previous frame's
736
+ * in the encoder time base moves to the next tick, and one that lies entirely
737
+ * before it is dropped, since encoders need strictly increasing timestamps.
738
+ *
730
739
  * Direct mapping to avcodec_send_frame().
731
740
  *
732
741
  * @param frame - Raw frame to send to encoder, or null to flush
@@ -790,8 +799,11 @@ export class Encoder {
790
799
  }
791
800
  // Convert to the codec's format first (audio resample / video pixfmt).
792
801
  const input = this.audioResampler ? this.resampleAudio(frame) : this.videoScaler ? this.scaleVideo(frame) : frame;
793
- // Prepare frame for encoding (set quality, validate channel count)
794
- this.prepareFrameForEncoding(input);
802
+ // Prepare frame for encoding (timestamps, quality, channel count); a video
803
+ // frame that falls behind the previous one is dropped
804
+ if (!this.prepareFrameForEncoding(input)) {
805
+ return;
806
+ }
795
807
  const encode = async (newFrame) => {
796
808
  const sendRet = await this.codecContext.sendFrame(newFrame);
797
809
  if (sendRet < 0 && sendRet !== AVERROR_EOF) {
@@ -819,6 +831,10 @@ export class Encoder {
819
831
  * **Important**: This method only SENDS the frame to the encoder.
820
832
  * You must call {@link receiveSync} separately (potentially multiple times) to get encoded packets.
821
833
  *
834
+ * Like FFmpeg CLI, a video frame whose timestamp lands on the previous frame's
835
+ * in the encoder time base moves to the next tick, and one that lies entirely
836
+ * before it is dropped, since encoders need strictly increasing timestamps.
837
+ *
822
838
  * Direct mapping to avcodec_send_frame().
823
839
  *
824
840
  * @param frame - Raw frame to send to encoder, or null to flush
@@ -865,8 +881,9 @@ export class Encoder {
865
881
  }
866
882
  // Convert to the codec's format first (audio resample / video pixfmt).
867
883
  const input = this.audioResampler ? this.resampleAudio(frame) : this.videoScaler ? this.scaleVideo(frame) : frame;
868
- // Prepare frame for encoding (set quality, validate channel count)
869
- this.prepareFrameForEncoding(input);
884
+ if (!this.prepareFrameForEncoding(input)) {
885
+ return;
886
+ }
870
887
  const encode = (newFrame) => {
871
888
  const sendRet = this.codecContext.sendFrameSync(newFrame);
872
889
  if (sendRet < 0 && sendRet !== AVERROR_EOF) {
@@ -1799,8 +1816,6 @@ export class Encoder {
1799
1816
  this.initializePromise ??= this.initialize(frame);
1800
1817
  }
1801
1818
  await this.initializePromise;
1802
- // Prepare frame for encoding (set quality, validate channel count)
1803
- this.prepareFrameForEncoding(frame);
1804
1819
  await this.encode(frame);
1805
1820
  // Receive packets
1806
1821
  while (!this.outputQueue.isClosed) {
@@ -1947,6 +1962,17 @@ export class Encoder {
1947
1962
  if (decoderCtx?.framerate && decoderCtx.framerate.num > 0) {
1948
1963
  this.codecContext.framerate = decoderCtx.framerate;
1949
1964
  }
1965
+ else {
1966
+ // The bitstream carries no rate (e.g. an H.264 camera without VUI
1967
+ // timing): guess it from the stream like FFmpeg CLI does. Without a
1968
+ // framerate the time base falls back to the frames' (e.g. 1/90000) and
1969
+ // encoders read its inverse as fps (x264 picks level 6.2, hardware rate
1970
+ // control misbehaves).
1971
+ const guessed = this.options.decoder.getGuessedFrameRate();
1972
+ if (guessed.num > 0 && guessed.den > 0) {
1973
+ this.codecContext.framerate = new Rational(guessed.num, guessed.den);
1974
+ }
1975
+ }
1950
1976
  }
1951
1977
  if (frame.isVideo()) {
1952
1978
  // FFmpeg CLI sets encoder time_base to 1/framerate (inverse of framerate)
@@ -2039,6 +2065,12 @@ export class Encoder {
2039
2065
  if (decoderCtx?.framerate && decoderCtx.framerate.num > 0) {
2040
2066
  this.codecContext.framerate = decoderCtx.framerate;
2041
2067
  }
2068
+ else {
2069
+ const guessed = this.options.decoder.getGuessedFrameRate();
2070
+ if (guessed.num > 0 && guessed.den > 0) {
2071
+ this.codecContext.framerate = new Rational(guessed.num, guessed.den);
2072
+ }
2073
+ }
2042
2074
  }
2043
2075
  if (frame.isVideo()) {
2044
2076
  // FFmpeg CLI sets encoder time_base to 1/framerate (inverse of framerate)
@@ -2423,13 +2455,16 @@ export class Encoder {
2423
2455
  * Prepare frame for encoding.
2424
2456
  *
2425
2457
  * Implements FFmpeg's frame_encode() pre-encoding logic:
2426
- * 1. Video: Sets frame.quality from encoder's globalQuality (like -qscale)
2427
- * 2. Audio: Validates channel count consistency for encoders without PARAM_CHANGE capability
2458
+ * 1. Video: Keeps timestamps strictly increasing like the CLI's VFR sync
2459
+ * 2. Video: Sets frame.quality from encoder's globalQuality (like -qscale)
2460
+ * 3. Audio: Validates channel count consistency for encoders without PARAM_CHANGE capability
2428
2461
  *
2429
2462
  * This matches FFmpeg CLI behavior where these properties are automatically managed.
2430
2463
  *
2431
2464
  * @param frame - Frame to prepare for encoding
2432
2465
  *
2466
+ * @returns False if the frame must be dropped
2467
+ *
2433
2468
  * @throws {Error} If audio channel count changed and encoder doesn't support parameter changes
2434
2469
  *
2435
2470
  * @internal
@@ -2485,6 +2520,26 @@ export class Encoder {
2485
2520
  frame.duration = frameDuration;
2486
2521
  const codecType = this.codecContext.codecType;
2487
2522
  if (codecType === AVMEDIA_TYPE_VIDEO) {
2523
+ // Encoders need strictly increasing pts, but frames arriving in a burst can
2524
+ // round onto the same tick of the encoder time base (e.g. 1/25). Like FFmpeg
2525
+ // CLI's VFR sync (video_sync_process): a frame that still reaches the next
2526
+ // free tick moves there, one that ends before it is dropped.
2527
+ if (frame.pts !== AV_NOPTS_VALUE) {
2528
+ const nextPts = this.nextVideoPts;
2529
+ if (nextPts !== undefined && frame.pts < nextPts) {
2530
+ if (frame.pts + frameDuration < nextPts) {
2531
+ // A requested keyframe goes to the next frame instead, as in the CLI
2532
+ this.droppedKeyframe ||= frame.pictType === AV_PICTURE_TYPE_I;
2533
+ return false;
2534
+ }
2535
+ frame.pts = nextPts;
2536
+ }
2537
+ this.nextVideoPts = frame.pts + 1n;
2538
+ }
2539
+ if (this.droppedKeyframe) {
2540
+ frame.pictType = AV_PICTURE_TYPE_I;
2541
+ this.droppedKeyframe = false;
2542
+ }
2488
2543
  // Video: Set frame quality from encoder's global quality
2489
2544
  // Only set if encoder has globalQuality configured and frame doesn't already have quality set
2490
2545
  const globalQuality = this.codecContext.globalQuality;
@@ -2506,6 +2561,7 @@ export class Encoder {
2506
2561
  }
2507
2562
  }
2508
2563
  }
2564
+ return true;
2509
2565
  }
2510
2566
  /**
2511
2567
  * Dispose of encoder.
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/api/encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/api/encoder.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,28 @@ export declare class FilterPreset {
100
100
  * ```
101
101
  */
102
102
  static chain(hardware?: HardwareContext | null): FilterPreset;
103
+ /**
104
+ * Checks if an operation is available for this chain's hardware.
105
+ *
106
+ * Operations the hardware has no filter for (e.g. scaling on D3D11VA or
107
+ * MediaCodec) are skipped when added, so check first where skipping would be
108
+ * wrong and fall back to software, e.g. by scaling in the decoder.
109
+ *
110
+ * @param operation - Operation to check
111
+ *
112
+ * @returns True if the operation is applied; always true without hardware
113
+ *
114
+ * @example
115
+ * ```typescript
116
+ * const chain = FilterPreset.chain(hw);
117
+ * if (chain.supports('scale')) {
118
+ * chain.scale(1280, 720);
119
+ * } else {
120
+ * // e.g. Decoder.create(stream, { hardware: hw, rescale: { width: 1280, height: 720 } })
121
+ * }
122
+ * ```
123
+ */
124
+ supports(operation: keyof FilterSupport): boolean;
103
125
  /**
104
126
  * Adds a custom filter string to the chain.
105
127
  *
@@ -170,7 +192,7 @@ export declare class FilterPreset {
170
192
  *
171
193
  * @param options - Additional scaling options (e.g., flags for algorithm)
172
194
  *
173
- * @returns This instance for chaining
195
+ * @returns This instance for chaining (unchanged if the hardware has no scaler, see {@link supports})
174
196
  *
175
197
  * @example
176
198
  * ```typescript
@@ -191,6 +213,8 @@ export declare class FilterPreset {
191
213
  /**
192
214
  * Adds a GPU format conversion filter without scaling.
193
215
  * Only available for hardware contexts. Uses hardware-specific scale filter with format parameter.
216
+ * Skipped without hardware; on hardware without a scaler (see {@link supports}) the
217
+ * graph fails to build.
194
218
  *
195
219
  * @param format - Target pixel format (e.g., 'nv12', 'p010')
196
220
  *
@@ -92,6 +92,30 @@ export class FilterPreset {
92
92
  const preset = new FilterPreset(hardware);
93
93
  return preset;
94
94
  }
95
+ /**
96
+ * Checks if an operation is available for this chain's hardware.
97
+ *
98
+ * Operations the hardware has no filter for (e.g. scaling on D3D11VA or
99
+ * MediaCodec) are skipped when added, so check first where skipping would be
100
+ * wrong and fall back to software, e.g. by scaling in the decoder.
101
+ *
102
+ * @param operation - Operation to check
103
+ *
104
+ * @returns True if the operation is applied; always true without hardware
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * const chain = FilterPreset.chain(hw);
109
+ * if (chain.supports('scale')) {
110
+ * chain.scale(1280, 720);
111
+ * } else {
112
+ * // e.g. Decoder.create(stream, { hardware: hw, rescale: { width: 1280, height: 720 } })
113
+ * }
114
+ * ```
115
+ */
116
+ supports(operation) {
117
+ return this.support[operation];
118
+ }
95
119
  /**
96
120
  * Adds a custom filter string to the chain.
97
121
  *
@@ -181,7 +205,7 @@ export class FilterPreset {
181
205
  *
182
206
  * @param options - Additional scaling options (e.g., flags for algorithm)
183
207
  *
184
- * @returns This instance for chaining
208
+ * @returns This instance for chaining (unchanged if the hardware has no scaler, see {@link supports})
185
209
  *
186
210
  * @example
187
211
  * ```typescript
@@ -240,6 +264,8 @@ export class FilterPreset {
240
264
  /**
241
265
  * Adds a GPU format conversion filter without scaling.
242
266
  * Only available for hardware contexts. Uses hardware-specific scale filter with format parameter.
267
+ * Skipped without hardware; on hardware without a scaler (see {@link supports}) the
268
+ * graph fails to build.
243
269
  *
244
270
  * @param format - Target pixel format (e.g., 'nv12', 'p010')
245
271
  *