node-av 3.0.4 → 3.0.6

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.
@@ -1,5 +1,6 @@
1
1
  import type { AVCodecID, AVMediaType, AVPixelFormat, AVSampleFormat } from '../constants/constants.js';
2
2
  import type { FormatContext } from './format-context.js';
3
+ import type { NativeCodecParameters, NativeWrapper } from './native-types.js';
3
4
  import type { ChannelLayout, IRational } from './types.js';
4
5
  /**
5
6
  * Get FFmpeg library information.
@@ -77,6 +78,29 @@ export declare function avGetBytesPerSample(sampleFmt: AVSampleFormat): number;
77
78
  * @see [av_get_sample_fmt_name](https://ffmpeg.org/doxygen/7.1/group__lavu__sampfmts.html#ga31b9d149b2de9821a65f4f5612970838) - FFmpeg Doxygen
78
79
  */
79
80
  export declare function avGetSampleFmtName(sampleFmt: AVSampleFormat): string | null;
81
+ /**
82
+ * Get sample format from name string.
83
+ *
84
+ * Converts a sample format name (like "s16", "fltp", etc.) to the
85
+ * corresponding AVSampleFormat enum value.
86
+ *
87
+ * Direct mapping to av_get_sample_fmt().
88
+ *
89
+ * @param name - Sample format name (e.g., "s16", "fltp", "s32p")
90
+ *
91
+ * @returns Sample format enum, or AV_SAMPLE_FMT_NONE if unknown
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * const fmt1 = avGetSampleFmtFromName("s16"); // Returns AV_SAMPLE_FMT_S16
96
+ * const fmt2 = avGetSampleFmtFromName("fltp"); // Returns AV_SAMPLE_FMT_FLTP
97
+ * const none = avGetSampleFmtFromName("invalid"); // Returns AV_SAMPLE_FMT_NONE
98
+ * ```
99
+ *
100
+ * @see [av_get_sample_fmt](https://ffmpeg.org/doxygen/7.1/group__lavu__sampfmts.html#ga5b95d0bf179912e8ff0d23ddfa99c9bc) - FFmpeg Doxygen
101
+ * @see {@link avGetSampleFmtName} For converting format to name string
102
+ */
103
+ export declare function avGetSampleFmtFromName(name: string): AVSampleFormat;
80
104
  /**
81
105
  * Get packed sample format.
82
106
  *
@@ -172,6 +196,107 @@ export declare function avSampleFmtIsPlanar(sampleFmt: AVSampleFormat): boolean;
172
196
  * @see [avcodec_get_name](https://ffmpeg.org/doxygen/7.1/group__lavc__core.html#ga2016a52e94f867ebe5113bdf448e182d) - FFmpeg Doxygen
173
197
  */
174
198
  export declare function avGetCodecName(codecId: AVCodecID): string | null;
199
+ /**
200
+ * Get DASH/RFC 6381 codec string from codec parameters.
201
+ *
202
+ * Generates codec strings for MPEG-DASH manifests following RFC 6381.
203
+ * Uses FFmpeg's dashenc.c implementation for accurate codec strings.
204
+ *
205
+ * Supported codecs:
206
+ * - **WebM codecs**: VP8, VP9 (detailed), Vorbis, Opus, FLAC
207
+ * - **H.264** (avc1): `avc1.PPCCLL` (profile, constraints, level)
208
+ * - **HEVC** (hvc1/hev1): Base tag only (`hvc1` or `hev1`) - no profile details
209
+ * - **AV1** (av01): `av01.P.LLT.BB...` (profile, level, tier, bitdepth, etc.)
210
+ * - **AAC** (mp4a): `mp4a.OT.AOT` (object type, audio object type)
211
+ *
212
+ * Note: For HLS with detailed HEVC codec strings, use {@link avGetCodecStringHls}.
213
+ *
214
+ * @param codecpar - Codec parameters
215
+ *
216
+ * @returns DASH codec string, or null if cannot be determined
217
+ *
218
+ * @example
219
+ * ```typescript
220
+ * import { avGetCodecStringDash } from 'node-av/lib';
221
+ *
222
+ * // Get codec string from DASH output stream
223
+ * const stream = dashOutput.video();
224
+ * const codecString = avGetCodecStringDash(stream.codecpar);
225
+ * console.log(codecString); // "hev1" for HEVC, "avc1.42c01e" for H.264
226
+ *
227
+ * // Use for DASH manifest
228
+ * const mimeType = `video/mp4; codecs="${codecString}"`;
229
+ * ```
230
+ *
231
+ * @see [RFC 6381](https://tools.ietf.org/html/rfc6381) - RFC 6381: Codecs Parameter Specification
232
+ * @see [dashenc](https://ffmpeg.org/doxygen/trunk/dashenc_8c_source.html#l00345) - FFmpeg dashenc.c implementation
233
+ */
234
+ export declare function avGetCodecStringDash(codecpar: NativeWrapper<NativeCodecParameters>): string | null;
235
+ /**
236
+ * Get HLS codec string from codec parameters.
237
+ *
238
+ * Generates codec strings for HLS playlists. Uses FFmpeg's hlsenc.c implementation.
239
+ * Provides detailed HEVC codec strings with profile, tier, level, and constraints.
240
+ *
241
+ * Supported codecs:
242
+ * - **H.264** (avc1): `avc1.PPCCLL` (profile, constraints, level)
243
+ * - **HEVC** (hvc1): `hvc1.P.PC.TL.C` (profile, profile_compatibility, tier+level, constraints)
244
+ * - **AAC**: `mp4a.40.AOT` (audio object type based on profile)
245
+ * - **MP2**: `mp4a.40.33`
246
+ * - **MP3**: `mp4a.40.34`
247
+ * - **AC-3**: `ac-3`
248
+ * - **E-AC-3**: `ec-3`
249
+ *
250
+ * Note: For DASH manifests, use {@link avGetCodecStringDash} instead.
251
+ *
252
+ * @param codecpar - Codec parameters
253
+ *
254
+ * @returns HLS codec string, or null if cannot be determined
255
+ *
256
+ * @example
257
+ * ```typescript
258
+ * import { avGetCodecStringHls } from 'node-av/lib';
259
+ *
260
+ * // Get detailed HEVC codec string for HLS
261
+ * const stream = hlsOutput.video();
262
+ * const codecString = avGetCodecStringHls(stream.codecpar);
263
+ * console.log(codecString); // "hvc1.1.6.L93.B0" - detailed HEVC profile info
264
+ *
265
+ * // Use for HLS playlist
266
+ * const codecsAttr = `CODECS="${codecString}"`;
267
+ * ```
268
+ *
269
+ * @see [hlsenc](https://ffmpeg.org/doxygen/trunk/hlsenc_8c_source.html#l00351) - FFmpeg hlsenc.c implementation
270
+ */
271
+ export declare function avGetCodecStringHls(codecpar: NativeWrapper<NativeCodecParameters>): string | null;
272
+ /**
273
+ * Get DASH MIME type for codec parameters.
274
+ *
275
+ * Determines the MIME type for MPEG-DASH segments based on codec.
276
+ * Uses FFmpeg's segment type selection logic:
277
+ * - WebM codecs (VP8, VP9, Vorbis, Opus) → `video/webm` or `audio/webm`
278
+ * - All other codecs → `video/mp4` or `audio/mp4`
279
+ *
280
+ * @param codecpar - Codec parameters
281
+ *
282
+ * @returns MIME type string, or null if invalid media type
283
+ *
284
+ * @example
285
+ * ```typescript
286
+ * import { avGetMimeTypeDash } from 'node-av/lib';
287
+ *
288
+ * const stream = input.video();
289
+ * const mimeType = avGetMimeTypeDash(stream.codecpar);
290
+ * console.log(mimeType); // "video/mp4" for H.264
291
+ *
292
+ * // VP9 codec
293
+ * const mimeTypeVP9 = avGetMimeTypeDash(vp9Stream.codecpar);
294
+ * console.log(mimeTypeVP9); // "video/webm"
295
+ * ```
296
+ *
297
+ * @see https://ffmpeg.org/doxygen/trunk/dashenc_8c_source.html#l00285 - FFmpeg dashenc.c segment type selection
298
+ */
299
+ export declare function avGetMimeTypeDash(codecpar: NativeWrapper<NativeCodecParameters>): string | null;
175
300
  /**
176
301
  * Get pixel format name.
177
302
  *
@@ -70,6 +70,31 @@ export function avGetBytesPerSample(sampleFmt) {
70
70
  export function avGetSampleFmtName(sampleFmt) {
71
71
  return bindings.avGetSampleFmtName(sampleFmt);
72
72
  }
73
+ /**
74
+ * Get sample format from name string.
75
+ *
76
+ * Converts a sample format name (like "s16", "fltp", etc.) to the
77
+ * corresponding AVSampleFormat enum value.
78
+ *
79
+ * Direct mapping to av_get_sample_fmt().
80
+ *
81
+ * @param name - Sample format name (e.g., "s16", "fltp", "s32p")
82
+ *
83
+ * @returns Sample format enum, or AV_SAMPLE_FMT_NONE if unknown
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * const fmt1 = avGetSampleFmtFromName("s16"); // Returns AV_SAMPLE_FMT_S16
88
+ * const fmt2 = avGetSampleFmtFromName("fltp"); // Returns AV_SAMPLE_FMT_FLTP
89
+ * const none = avGetSampleFmtFromName("invalid"); // Returns AV_SAMPLE_FMT_NONE
90
+ * ```
91
+ *
92
+ * @see [av_get_sample_fmt](https://ffmpeg.org/doxygen/7.1/group__lavu__sampfmts.html#ga5b95d0bf179912e8ff0d23ddfa99c9bc) - FFmpeg Doxygen
93
+ * @see {@link avGetSampleFmtName} For converting format to name string
94
+ */
95
+ export function avGetSampleFmtFromName(name) {
96
+ return bindings.avGetSampleFmtFromName(name);
97
+ }
73
98
  /**
74
99
  * Get packed sample format.
75
100
  *
@@ -173,6 +198,113 @@ export function avSampleFmtIsPlanar(sampleFmt) {
173
198
  export function avGetCodecName(codecId) {
174
199
  return bindings.avGetCodecName(codecId);
175
200
  }
201
+ /**
202
+ * Get DASH/RFC 6381 codec string from codec parameters.
203
+ *
204
+ * Generates codec strings for MPEG-DASH manifests following RFC 6381.
205
+ * Uses FFmpeg's dashenc.c implementation for accurate codec strings.
206
+ *
207
+ * Supported codecs:
208
+ * - **WebM codecs**: VP8, VP9 (detailed), Vorbis, Opus, FLAC
209
+ * - **H.264** (avc1): `avc1.PPCCLL` (profile, constraints, level)
210
+ * - **HEVC** (hvc1/hev1): Base tag only (`hvc1` or `hev1`) - no profile details
211
+ * - **AV1** (av01): `av01.P.LLT.BB...` (profile, level, tier, bitdepth, etc.)
212
+ * - **AAC** (mp4a): `mp4a.OT.AOT` (object type, audio object type)
213
+ *
214
+ * Note: For HLS with detailed HEVC codec strings, use {@link avGetCodecStringHls}.
215
+ *
216
+ * @param codecpar - Codec parameters
217
+ *
218
+ * @returns DASH codec string, or null if cannot be determined
219
+ *
220
+ * @example
221
+ * ```typescript
222
+ * import { avGetCodecStringDash } from 'node-av/lib';
223
+ *
224
+ * // Get codec string from DASH output stream
225
+ * const stream = dashOutput.video();
226
+ * const codecString = avGetCodecStringDash(stream.codecpar);
227
+ * console.log(codecString); // "hev1" for HEVC, "avc1.42c01e" for H.264
228
+ *
229
+ * // Use for DASH manifest
230
+ * const mimeType = `video/mp4; codecs="${codecString}"`;
231
+ * ```
232
+ *
233
+ * @see [RFC 6381](https://tools.ietf.org/html/rfc6381) - RFC 6381: Codecs Parameter Specification
234
+ * @see [dashenc](https://ffmpeg.org/doxygen/trunk/dashenc_8c_source.html#l00345) - FFmpeg dashenc.c implementation
235
+ */
236
+ export function avGetCodecStringDash(codecpar) {
237
+ return bindings.avGetCodecStringDash(codecpar.getNative());
238
+ }
239
+ /**
240
+ * Get HLS codec string from codec parameters.
241
+ *
242
+ * Generates codec strings for HLS playlists. Uses FFmpeg's hlsenc.c implementation.
243
+ * Provides detailed HEVC codec strings with profile, tier, level, and constraints.
244
+ *
245
+ * Supported codecs:
246
+ * - **H.264** (avc1): `avc1.PPCCLL` (profile, constraints, level)
247
+ * - **HEVC** (hvc1): `hvc1.P.PC.TL.C` (profile, profile_compatibility, tier+level, constraints)
248
+ * - **AAC**: `mp4a.40.AOT` (audio object type based on profile)
249
+ * - **MP2**: `mp4a.40.33`
250
+ * - **MP3**: `mp4a.40.34`
251
+ * - **AC-3**: `ac-3`
252
+ * - **E-AC-3**: `ec-3`
253
+ *
254
+ * Note: For DASH manifests, use {@link avGetCodecStringDash} instead.
255
+ *
256
+ * @param codecpar - Codec parameters
257
+ *
258
+ * @returns HLS codec string, or null if cannot be determined
259
+ *
260
+ * @example
261
+ * ```typescript
262
+ * import { avGetCodecStringHls } from 'node-av/lib';
263
+ *
264
+ * // Get detailed HEVC codec string for HLS
265
+ * const stream = hlsOutput.video();
266
+ * const codecString = avGetCodecStringHls(stream.codecpar);
267
+ * console.log(codecString); // "hvc1.1.6.L93.B0" - detailed HEVC profile info
268
+ *
269
+ * // Use for HLS playlist
270
+ * const codecsAttr = `CODECS="${codecString}"`;
271
+ * ```
272
+ *
273
+ * @see [hlsenc](https://ffmpeg.org/doxygen/trunk/hlsenc_8c_source.html#l00351) - FFmpeg hlsenc.c implementation
274
+ */
275
+ export function avGetCodecStringHls(codecpar) {
276
+ return bindings.avGetCodecStringHls(codecpar.getNative());
277
+ }
278
+ /**
279
+ * Get DASH MIME type for codec parameters.
280
+ *
281
+ * Determines the MIME type for MPEG-DASH segments based on codec.
282
+ * Uses FFmpeg's segment type selection logic:
283
+ * - WebM codecs (VP8, VP9, Vorbis, Opus) → `video/webm` or `audio/webm`
284
+ * - All other codecs → `video/mp4` or `audio/mp4`
285
+ *
286
+ * @param codecpar - Codec parameters
287
+ *
288
+ * @returns MIME type string, or null if invalid media type
289
+ *
290
+ * @example
291
+ * ```typescript
292
+ * import { avGetMimeTypeDash } from 'node-av/lib';
293
+ *
294
+ * const stream = input.video();
295
+ * const mimeType = avGetMimeTypeDash(stream.codecpar);
296
+ * console.log(mimeType); // "video/mp4" for H.264
297
+ *
298
+ * // VP9 codec
299
+ * const mimeTypeVP9 = avGetMimeTypeDash(vp9Stream.codecpar);
300
+ * console.log(mimeTypeVP9); // "video/webm"
301
+ * ```
302
+ *
303
+ * @see https://ffmpeg.org/doxygen/trunk/dashenc_8c_source.html#l00285 - FFmpeg dashenc.c segment type selection
304
+ */
305
+ export function avGetMimeTypeDash(codecpar) {
306
+ return bindings.avGetMimeTypeDash(codecpar.getNative());
307
+ }
176
308
  /**
177
309
  * Get pixel format name.
178
310
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/lib/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa;IAa3B,OAAO,QAAQ,CAAC,aAAa,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAyB;IAC3D,OAAO,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAyB;IAC1D,OAAO,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAyB;IAC5D,OAAO,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAyB;IAC5D,OAAO,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAyB;IAC3D,OAAO,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,cAAc,CAAC,OAAkB;IAC/C,OAAO,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,eAAe,CAAC,MAAqB;IACnD,OAAO,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAqB;IAC3D,OAAO,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAsB;IACzD,OAAO,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,MAAc,EACd,MAAqB,EACrB,KAAa;IAMb,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,wCAAwC;QACxC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAiB,EACjB,YAAsB,EACtB,OAAiB,EACjB,YAAsB,EACtB,MAAqB,EACrB,KAAa,EACb,MAAc;IAEd,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAqB,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa;IACtG,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAW,EACX,OAAe,EACf,OAAwB,EACxB,WAA4B,EAC5B,MAAqB,EACrB,KAAa,EACb,MAAc,EACd,KAAa;IAEb,OAAO,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACxG,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,QAAQ,CAAC,EAA0B;IACjD,OAAO,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,YAAY,CAAC,EAA0B,EAAE,QAA0B;IACjF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,MAAc,EACd,MAAqB,EACrB,KAAa;IAMb,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAE1D,qDAAqD;IACrD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAEnC,6CAA6C;IAC7C,qFAAqF;IACrF,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IAExB,OAAO;QACL,IAAI;QACJ,SAAS;QACT,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,WAAW,CAAC,GAA2B,EAAE,GAAc,EAAE,GAA2B,EAAE,GAAc;IAClH,OAAO,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,UAAU,CAAC,CAAyB,EAAE,EAAa,EAAE,EAAa;IAChF,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,YAAY,CAAC,CAAkB,EAAE,CAAkB,EAAE,CAAkB,EAAE,GAAW;IAClG,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAkB,EAClB,SAAiB,EACjB,SAAyB,EACzB,KAAa;IAMb,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAChF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAkB,EAClB,SAAiB,EACjB,SAAyB,EACzB,KAAa;IAKb,MAAM,MAAM,GAAG,QAAQ,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACxF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,UAAU,WAAW,CACzB,SAAiB,EACjB,SAAiB,EACjB,MAAqB,EACrB,QAAgB,EAChB,SAAiB,EACjB,KAAa,EACb,KAAa,EACb,SAAiB,EACjB,UAAkB;IAElB,OAAO,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACtH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB,CAAC,aAAqC;IAC3E,OAAO,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,WAAW,CAAC,QAAyB;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAG,QAAQ;SAC5B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IAEtC,oDAAoD;IACpD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/lib/utilities.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-av",
3
- "version": "3.0.4",
3
+ "version": "3.0.6",
4
4
  "description": "FFmpeg bindings for Node.js",
5
5
  "author": "seydx (https://github.com/seydx/av)",
6
6
  "type": "module",
@@ -62,35 +62,35 @@
62
62
  "test:all": "npm run build:tests && npm run build:tsc && tsx --test test/*.test.ts",
63
63
  "update": "updates --update ./"
64
64
  },
65
+ "dependencies": {
66
+ "unzipper": "^0.12.3"
67
+ },
65
68
  "optionalDependencies": {
66
- "@seydx/node-av-darwin-arm64": "^3.0.4",
67
- "@seydx/node-av-darwin-x64": "^3.0.4",
68
- "@seydx/node-av-linux-arm64": "^3.0.4",
69
- "@seydx/node-av-linux-x64": "^3.0.4",
70
- "@seydx/node-av-win32-arm64-mingw": "^3.0.4",
71
- "@seydx/node-av-win32-arm64-msvc": "^3.0.4",
72
- "@seydx/node-av-win32-x64-mingw": "^3.0.4",
73
- "@seydx/node-av-win32-x64-msvc": "^3.0.4"
69
+ "@seydx/node-av-darwin-arm64": "^3.0.6",
70
+ "@seydx/node-av-darwin-x64": "^3.0.6",
71
+ "@seydx/node-av-linux-arm64": "^3.0.6",
72
+ "@seydx/node-av-linux-x64": "^3.0.6",
73
+ "@seydx/node-av-win32-arm64-mingw": "^3.0.6",
74
+ "@seydx/node-av-win32-arm64-msvc": "^3.0.6",
75
+ "@seydx/node-av-win32-x64-mingw": "^3.0.6",
76
+ "@seydx/node-av-win32-x64-msvc": "^3.0.6"
74
77
  },
75
78
  "devDependencies": {
76
- "@camera.ui/ffmpeg": "^0.0.14",
77
79
  "@stylistic/eslint-plugin": "^5.5.0",
78
- "@types/debug": "^4.1.12",
79
- "@types/node": "^24.8.1",
80
+ "@types/node": "^24.9.1",
80
81
  "@types/node-abi": "^3.0.3",
81
- "@types/pngjs": "^6.0.5",
82
82
  "@types/semver": "^7.7.1",
83
83
  "@types/unzipper": "^0.10.11",
84
- "@typescript-eslint/parser": "^8.46.1",
84
+ "@types/ws": "^8.18.1",
85
+ "@typescript-eslint/parser": "^8.46.2",
85
86
  "concurrently": "^9.2.1",
86
87
  "cpy-cli": "^6.0.0",
87
88
  "cross-env": "^10.1.0",
88
89
  "eslint": "^9.38.0",
89
- "eslint-plugin-jsdoc": "^61.1.4",
90
+ "eslint-plugin-jsdoc": "^61.1.5",
90
91
  "globals": "^16.4.0",
91
92
  "node-addon-api": "^8.5.0",
92
93
  "node-gyp": "^11.5.0",
93
- "pngjs": "^7.0.0",
94
94
  "prettier": "^3.6.2",
95
95
  "rimraf": "^6.0.1",
96
96
  "sharp": "^0.34.4",
@@ -99,10 +99,11 @@
99
99
  "typedoc-plugin-markdown": "^4.9.0",
100
100
  "typedoc-vitepress-theme": "^1.1.2",
101
101
  "typescript": "^5.9.3",
102
- "typescript-eslint": "^8.46.1",
102
+ "typescript-eslint": "^8.46.2",
103
103
  "updates": "^16.8.1",
104
104
  "vitepress": "^2.0.0-alpha.12",
105
- "why-is-node-running": "^3.2.2"
105
+ "werift": "^0.22.2",
106
+ "ws": "^8.18.3"
106
107
  },
107
108
  "bugs": {
108
109
  "url": "https://github.com/seydx/av/issues"
@@ -119,8 +120,5 @@
119
120
  "repository": {
120
121
  "type": "git",
121
122
  "url": "git+https://github.com/seydx/av.git"
122
- },
123
- "dependencies": {
124
- "unzipper": "^0.12.3"
125
123
  }
126
124
  }