node-av 6.0.0-beta.2 → 6.0.0-beta.4

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 (51) hide show
  1. package/dist/api/bitstream-filter.d.ts +110 -87
  2. package/dist/api/bitstream-filter.js +157 -100
  3. package/dist/api/bitstream-filter.js.map +1 -1
  4. package/dist/api/decoder.d.ts +9 -7
  5. package/dist/api/decoder.js.map +1 -1
  6. package/dist/api/demuxer.d.ts +27 -22
  7. package/dist/api/demuxer.js.map +1 -1
  8. package/dist/api/encoder.d.ts +9 -7
  9. package/dist/api/encoder.js +10 -4
  10. package/dist/api/encoder.js.map +1 -1
  11. package/dist/api/filter-presets.d.ts +27 -658
  12. package/dist/api/filter-presets.js +45 -838
  13. package/dist/api/filter-presets.js.map +1 -1
  14. package/dist/api/fmp4-stream.js +1 -1
  15. package/dist/api/fmp4-stream.js.map +1 -1
  16. package/dist/api/muxer.d.ts +24 -15
  17. package/dist/api/muxer.js +27 -0
  18. package/dist/api/muxer.js.map +1 -1
  19. package/dist/api/pipeline.js +6 -6
  20. package/dist/api/pipeline.js.map +1 -1
  21. package/dist/api/rtp-stream.js +1 -1
  22. package/dist/api/rtp-stream.js.map +1 -1
  23. package/dist/constants/bsf-options.d.ts +333 -0
  24. package/dist/constants/bsf-options.js +7 -0
  25. package/dist/constants/bsf-options.js.map +1 -0
  26. package/dist/constants/decoders.d.ts +636 -618
  27. package/dist/constants/decoders.js +0 -2
  28. package/dist/constants/decoders.js.map +1 -1
  29. package/dist/constants/encoders.d.ts +300 -282
  30. package/dist/constants/encoders.js +0 -2
  31. package/dist/constants/encoders.js.map +1 -1
  32. package/dist/constants/filter-options.d.ts +10915 -0
  33. package/dist/constants/filter-options.js +7 -0
  34. package/dist/constants/filter-options.js.map +1 -0
  35. package/dist/constants/format-options.d.ts +3056 -0
  36. package/dist/constants/format-options.js +7 -0
  37. package/dist/constants/format-options.js.map +1 -0
  38. package/dist/constants/formats.d.ts +18 -0
  39. package/dist/constants/formats.js +7 -0
  40. package/dist/constants/formats.js.map +1 -0
  41. package/dist/constants/index.d.ts +5 -0
  42. package/dist/constants/options.d.ts +4073 -0
  43. package/dist/constants/options.js +7 -0
  44. package/dist/constants/options.js.map +1 -0
  45. package/dist/lib/codec.d.ts +26 -1
  46. package/dist/lib/codec.js +27 -0
  47. package/dist/lib/codec.js.map +1 -1
  48. package/dist/lib/dictionary.d.ts +1 -1
  49. package/dist/lib/dictionary.js.map +1 -1
  50. package/dist/lib/native-types.d.ts +18 -0
  51. package/package.json +17 -12
@@ -0,0 +1,333 @@
1
+ /**
2
+ * Auto-generated bitstream-filter option types.
3
+ * Generated from FFmpeg libavcodec AVOption sources (see scripts/generate-bsf-options.js).
4
+ * DO NOT EDIT MANUALLY.
5
+ */
6
+ /**
7
+ * All bitstream filter names known to this FFmpeg build.
8
+ *
9
+ * Use with `BitStreamFilterAPI.create()` for name autocomplete. Unknown names
10
+ * still pass through via the `(string & {})` fallback in the API signature.
11
+ */
12
+ export type BsfName = 'aac_adtstoasc' | 'ahx_to_mp2' | 'apv_metadata' | 'av1_frame_merge' | 'av1_frame_split' | 'av1_metadata' | 'chomp' | 'dca_core' | 'dovi_rpu' | 'dts2pts' | 'dump_extra' | 'dv_error_marker' | 'eac3_core' | 'eia608_to_smpte436m' | 'evc_frame_merge' | 'extract_extradata' | 'filter_units' | 'h264_metadata' | 'h264_mp4toannexb' | 'h264_redundant_pps' | 'hapqa_extract' | 'hevc_metadata' | 'hevc_mp4toannexb' | 'imxdump' | 'lcevc_metadata' | 'media100_to_mjpegb' | 'mjpeg2jpeg' | 'mjpegadump' | 'mov2textsub' | 'mpeg2_metadata' | 'mpeg4_unpack_bframes' | 'noise' | 'null' | 'opus_metadata' | 'pcm_rechunk' | 'pgs_frame_merge' | 'prores_metadata' | 'remove_extra' | 'setts' | 'showinfo' | 'smpte436m_to_eia608' | 'text2movsub' | 'trace_headers' | 'truehd_core' | 'vp9_metadata' | 'vp9_raw_reorder' | 'vp9_superframe' | 'vp9_superframe_split' | 'vvc_metadata' | 'vvc_mp4toannexb';
13
+ export interface BsfOptionsMap {
14
+ /**
15
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#apv_005fmetadata
16
+ */
17
+ apv_metadata: {
18
+ /** Set color primaries (section 5.3.5) */
19
+ color_primaries?: number;
20
+ /** Set transfer characteristics (section 5.3.5) */
21
+ transfer_characteristics?: number;
22
+ /** Set matrix coefficients (section 5.3.5) */
23
+ matrix_coefficients?: number;
24
+ /** Set full range flag flag (section 5.3.5) */
25
+ full_range_flag?: 'tv' | 'pc';
26
+ };
27
+ /**
28
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#av1_005fmetadata
29
+ */
30
+ av1_metadata: {
31
+ /** Temporal Delimiter OBU */
32
+ td?: 'pass' | 'insert' | 'remove';
33
+ /** Set color primaries (section 6.4.2) */
34
+ color_primaries?: number;
35
+ /** Set transfer characteristics (section 6.4.2) */
36
+ transfer_characteristics?: number;
37
+ /** Set matrix coefficients (section 6.4.2) */
38
+ matrix_coefficients?: number;
39
+ /** Set color range flag (section 6.4.2) */
40
+ color_range?: 'tv' | 'pc';
41
+ /** Set chroma sample position (section 6.4.2) */
42
+ chroma_sample_position?: 'unknown' | 'vertical' | 'colocated';
43
+ /** Set display tick rate (time_scale / num_units_in_display_tick) */
44
+ tick_rate?: string | number;
45
+ /** Set display ticks per picture for CFR streams */
46
+ num_ticks_per_picture?: number;
47
+ /** Delete all Padding OBUs */
48
+ delete_padding?: boolean;
49
+ };
50
+ /**
51
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#dovi_005frpu
52
+ */
53
+ dovi_rpu: {
54
+ /** Strip Dolby Vision metadata */
55
+ strip?: boolean;
56
+ /** DV metadata compression mode */
57
+ compression?: 'none' | 'limited' | 'extended';
58
+ };
59
+ /**
60
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#dump_005fextra
61
+ */
62
+ dump_extra: {
63
+ /** When to dump extradata */
64
+ freq?: 'k' | 'keyframe' | 'e' | 'all';
65
+ };
66
+ /**
67
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#dv_005ferror_005fmarker
68
+ */
69
+ dv_error_marker: {
70
+ /** set color */
71
+ color?: string;
72
+ /** specify which error status value to match */
73
+ sta?: 'ok' | 'Aa' | 'Ba' | 'Ca' | 'erri' | 'erru' | 'err' | 'Ab' | 'Bb' | 'Cb' | 'A' | 'B' | 'C' | 'a' | 'b' | 'res' | 'notok' | 'notres' | (string & {});
74
+ };
75
+ /**
76
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#eia608_005fto_005fsmpte436m
77
+ */
78
+ eia608_to_smpte436m: {
79
+ /** line number -- you probably want 9 or 11 */
80
+ line_number?: number;
81
+ /** wrapping type */
82
+ wrapping_type?: 'vanc_frame' | 'vanc_field_1' | 'vanc_field_2' | 'vanc_progressive_frame';
83
+ /** payload sample coding */
84
+ sample_coding?: '8bit_luma' | '8bit_color_diff' | '8bit_luma_and_color_diff' | '10bit_luma' | '10bit_color_diff' | '10bit_luma_and_color_diff' | '8bit_luma_parity_error' | '8bit_color_diff_parity_error' | '8bit_luma_and_color_diff_parity_error';
85
+ /** initial cdp_*_sequence_cntr value */
86
+ initial_cdp_sequence_cntr?: number;
87
+ /** set the `cdp_frame_rate` fields */
88
+ cdp_frame_rate?: string | number;
89
+ };
90
+ /**
91
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#extract_005fextradata
92
+ */
93
+ extract_extradata: {
94
+ /** remove the extradata from the bitstream */
95
+ remove?: number;
96
+ };
97
+ /**
98
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#filter_005funits
99
+ */
100
+ filter_units: {
101
+ /** List of unit types to pass through the filter. */
102
+ pass_types?: string;
103
+ /** List of unit types to remove in the filter. */
104
+ remove_types?: string;
105
+ /** Remove the selected frames */
106
+ discard?: 'none' | 'default' | 'nonref' | 'bidir' | 'nonintra' | 'nonkey' | 'all';
107
+ /** flags to control the discard frame behavior */
108
+ discard_flags?: 'keep_non_vcl' | (string & {});
109
+ };
110
+ /**
111
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#h264_005fmetadata
112
+ */
113
+ h264_metadata: {
114
+ /** Access Unit Delimiter NAL units */
115
+ aud?: 'pass' | 'insert' | 'remove';
116
+ /** Set sample aspect ratio (table E-1) */
117
+ sample_aspect_ratio?: string | number;
118
+ /** Set VUI overscan appropriate flag */
119
+ overscan_appropriate_flag?: number;
120
+ /** Set video format (table E-2) */
121
+ video_format?: number;
122
+ /** Set video full range flag */
123
+ video_full_range_flag?: number;
124
+ /** Set colour primaries (table E-3) */
125
+ colour_primaries?: number;
126
+ /** Set transfer characteristics (table E-4) */
127
+ transfer_characteristics?: number;
128
+ /** Set matrix coefficients (table E-5) */
129
+ matrix_coefficients?: number;
130
+ /** Set chroma sample location type (figure E-1) */
131
+ chroma_sample_loc_type?: number;
132
+ /** Set VUI tick rate (time_scale / num_units_in_tick) */
133
+ tick_rate?: string | number;
134
+ /** Set VUI fixed frame rate flag */
135
+ fixed_frame_rate_flag?: number;
136
+ /** Set constraint_set4_flag / constraint_set5_flag to zero */
137
+ zero_new_constraint_set_flags?: boolean;
138
+ /** Set left border crop offset */
139
+ crop_left?: number;
140
+ /** Set right border crop offset */
141
+ crop_right?: number;
142
+ /** Set top border crop offset */
143
+ crop_top?: number;
144
+ /** Set bottom border crop offset */
145
+ crop_bottom?: number;
146
+ /** Insert SEI user data (UUID+string) */
147
+ sei_user_data?: string;
148
+ /** Delete all filler (both NAL and SEI) */
149
+ delete_filler?: number;
150
+ /** Display orientation SEI */
151
+ display_orientation?: 'pass' | 'insert' | 'remove' | 'extract';
152
+ /** Set rotation in display orientation SEI (anticlockwise angle in degrees) */
153
+ rotate?: number;
154
+ /** Set flip in display orientation SEI */
155
+ flip?: 'horizontal' | 'vertical' | (string & {});
156
+ /** Set level (table A-1) */
157
+ level?: 'auto' | '1' | '1b' | '1.1' | '1.2' | '1.3' | '2' | '2.1' | '2.2' | '3' | '3.1' | '3.2' | '4' | '4.1' | '4.2' | '5' | '5.1' | '5.2' | '6' | '6.1' | '6.2';
158
+ };
159
+ /**
160
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#hapqa_005fextract
161
+ */
162
+ hapqa_extract: {
163
+ /** texture to keep */
164
+ texture?: 'color' | 'alpha';
165
+ };
166
+ /**
167
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#hevc_005fmetadata
168
+ */
169
+ hevc_metadata: {
170
+ /** Access Unit Delimiter NAL units */
171
+ aud?: 'pass' | 'insert' | 'remove';
172
+ /** Set sample aspect ratio (table E-1) */
173
+ sample_aspect_ratio?: string | number;
174
+ /** Set video format (table E-2) */
175
+ video_format?: number;
176
+ /** Set video full range flag */
177
+ video_full_range_flag?: number;
178
+ /** Set colour primaries (table E-3) */
179
+ colour_primaries?: number;
180
+ /** Set transfer characteristics (table E-4) */
181
+ transfer_characteristics?: number;
182
+ /** Set matrix coefficients (table E-5) */
183
+ matrix_coefficients?: number;
184
+ /** Set chroma sample location type (figure E-1) */
185
+ chroma_sample_loc_type?: number;
186
+ /** Set VPS and VUI tick rate (time_scale / num_units_in_tick) */
187
+ tick_rate?: string | number;
188
+ /** Set VPS and VUI number of ticks per POC increment */
189
+ num_ticks_poc_diff_one?: number;
190
+ /** Set left border crop offset */
191
+ crop_left?: number;
192
+ /** Set right border crop offset */
193
+ crop_right?: number;
194
+ /** Set top border crop offset */
195
+ crop_top?: number;
196
+ /** Set bottom border crop offset */
197
+ crop_bottom?: number;
198
+ /** Set width after crop */
199
+ width?: number;
200
+ /** Set height after crop */
201
+ height?: number;
202
+ /** Set level (tables A.6 and A.7) */
203
+ level?: 'auto' | '1' | '2' | '2.1' | '3' | '3.1' | '4' | '4.1' | '5' | '5.1' | '5.2' | '6' | '6.1' | '6.2' | '8.5';
204
+ };
205
+ /**
206
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#lcevc_005fmetadata
207
+ */
208
+ lcevc_metadata: {
209
+ /** Set VUI overscan appropriate flag */
210
+ overscan_appropriate_flag?: boolean;
211
+ /** Set video format (table E-2) */
212
+ video_format?: number;
213
+ /** Set video full range flag */
214
+ video_full_range_flag?: boolean;
215
+ /** Set colour primaries (table E-3) */
216
+ colour_primaries?: number;
217
+ /** Set transfer characteristics (table E-4) */
218
+ transfer_characteristics?: number;
219
+ /** Set matrix coefficients (table E-5) */
220
+ matrix_coefficients?: number;
221
+ /** Set chroma sample location type (figure E-1) */
222
+ chroma_sample_loc_type?: number;
223
+ /** Delete all filler */
224
+ delete_filler?: boolean;
225
+ };
226
+ /**
227
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#mpeg2_005fmetadata
228
+ */
229
+ mpeg2_metadata: {
230
+ /** Set display aspect ratio (table 6-3) */
231
+ display_aspect_ratio?: string | number;
232
+ /** Set frame rate */
233
+ frame_rate?: string | number;
234
+ /** Set video format (table 6-6) */
235
+ video_format?: number;
236
+ /** Set colour primaries (table 6-7) */
237
+ colour_primaries?: number;
238
+ /** Set transfer characteristics (table 6-8) */
239
+ transfer_characteristics?: number;
240
+ /** Set matrix coefficients (table 6-9) */
241
+ matrix_coefficients?: number;
242
+ };
243
+ /**
244
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#noise
245
+ */
246
+ noise: {
247
+ amount?: string;
248
+ drop?: string;
249
+ dropamount?: number;
250
+ };
251
+ /**
252
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#opus_005fmetadata
253
+ */
254
+ opus_metadata: {
255
+ /** Gain, actual amplification is pow(10, gain/(20.0*256)) */
256
+ gain?: number;
257
+ };
258
+ /**
259
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#pcm_005frechunk
260
+ */
261
+ pcm_rechunk: {
262
+ /** set the number of per-packet output samples */
263
+ nb_out_samples?: number;
264
+ /** set the number of per-packet output samples */
265
+ n?: number;
266
+ /** pad last packet with zeros */
267
+ pad?: boolean;
268
+ /** pad last packet with zeros */
269
+ p?: boolean;
270
+ /** set number of packets per second */
271
+ frame_rate?: string | number;
272
+ /** set number of packets per second */
273
+ r?: string | number;
274
+ };
275
+ /**
276
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#prores_005fmetadata
277
+ */
278
+ prores_metadata: {
279
+ /** select color primaries */
280
+ color_primaries?: 'auto' | 'unknown' | 'bt709' | 'bt470bg' | 'smpte170m' | 'bt2020' | 'smpte431' | 'smpte432';
281
+ /** select color transfer */
282
+ color_trc?: 'auto' | 'unknown' | 'bt709' | 'smpte2084' | 'arib-std-b67';
283
+ /** select colorspace */
284
+ colorspace?: 'auto' | 'unknown' | 'bt709' | 'smpte170m' | 'bt2020nc';
285
+ };
286
+ /**
287
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#remove_005fextra
288
+ */
289
+ remove_extra: {
290
+ freq?: 'k' | 'keyframe' | 'e' | 'all';
291
+ };
292
+ /**
293
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#setts
294
+ */
295
+ setts: {
296
+ /** set expression for packet PTS and DTS */
297
+ ts?: string;
298
+ /** set expression for packet PTS */
299
+ pts?: string;
300
+ /** set expression for packet DTS */
301
+ dts?: string;
302
+ /** set expression for packet duration */
303
+ duration?: string;
304
+ /** set output timebase */
305
+ time_base?: string | number;
306
+ /** convert to output timebase before evaluation */
307
+ prescale?: boolean;
308
+ };
309
+ /**
310
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#vp9_005fmetadata
311
+ */
312
+ vp9_metadata: {
313
+ /** Set colour space (section 7.2.2) */
314
+ color_space?: 'unknown' | 'bt601' | 'bt709' | 'smpte170' | 'smpte240' | 'bt2020' | 'rgb';
315
+ /** Set colour range (section 7.2.2) */
316
+ color_range?: 'tv' | 'pc';
317
+ };
318
+ /**
319
+ * @see https://ffmpeg.org/ffmpeg-bitstream-filters.html#vvc_005fmetadata
320
+ */
321
+ vvc_metadata: {
322
+ /** Access Unit Delimiter NAL units */
323
+ aud?: 'pass' | 'insert' | 'remove';
324
+ };
325
+ }
326
+ /** Loose option bag for bitstream filters without generated typings. */
327
+ export type UnknownBsfOptions = Record<string, string | number | boolean | bigint | undefined | null>;
328
+ /**
329
+ * Resolve the options for a bitstream filter. Returns the strongly-typed option
330
+ * set when the filter name is known (autocomplete + validation), otherwise a
331
+ * loose bag.
332
+ */
333
+ export type BsfOptionsFor<N> = N extends keyof BsfOptionsMap ? BsfOptionsMap[N] : UnknownBsfOptions;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Auto-generated bitstream-filter option types.
3
+ * Generated from FFmpeg libavcodec AVOption sources (see scripts/generate-bsf-options.js).
4
+ * DO NOT EDIT MANUALLY.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=bsf-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bsf-options.js","sourceRoot":"","sources":["../../src/constants/bsf-options.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}