node-av 5.2.4 → 6.0.0-beta.11

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 (111) hide show
  1. package/README.md +15 -1
  2. package/dist/api/bitstream-filter.d.ts +110 -87
  3. package/dist/api/bitstream-filter.js +161 -103
  4. package/dist/api/bitstream-filter.js.map +1 -1
  5. package/dist/api/decoder.d.ts +177 -15
  6. package/dist/api/decoder.js +335 -28
  7. package/dist/api/decoder.js.map +1 -1
  8. package/dist/api/demuxer.d.ts +30 -24
  9. package/dist/api/demuxer.js +4 -5
  10. package/dist/api/demuxer.js.map +1 -1
  11. package/dist/api/device.js.map +1 -1
  12. package/dist/api/encoder-pool.d.ts +220 -0
  13. package/dist/api/encoder-pool.js +285 -0
  14. package/dist/api/encoder-pool.js.map +1 -0
  15. package/dist/api/encoder.d.ts +194 -7
  16. package/dist/api/encoder.js +431 -71
  17. package/dist/api/encoder.js.map +1 -1
  18. package/dist/api/filter-complex.d.ts +2 -1
  19. package/dist/api/filter-complex.js +11 -7
  20. package/dist/api/filter-complex.js.map +1 -1
  21. package/dist/api/filter-presets.d.ts +130 -654
  22. package/dist/api/filter-presets.js +180 -858
  23. package/dist/api/filter-presets.js.map +1 -1
  24. package/dist/api/filter.js +12 -9
  25. package/dist/api/filter.js.map +1 -1
  26. package/dist/api/fmp4-stream.js +1 -1
  27. package/dist/api/fmp4-stream.js.map +1 -1
  28. package/dist/api/index.d.ts +6 -6
  29. package/dist/api/index.js +8 -8
  30. package/dist/api/index.js.map +1 -1
  31. package/dist/api/muxer.d.ts +43 -15
  32. package/dist/api/muxer.js +79 -27
  33. package/dist/api/muxer.js.map +1 -1
  34. package/dist/api/pipeline.d.ts +50 -0
  35. package/dist/api/pipeline.js +138 -22
  36. package/dist/api/pipeline.js.map +1 -1
  37. package/dist/api/probe.d.ts +128 -0
  38. package/dist/api/probe.js +227 -0
  39. package/dist/api/probe.js.map +1 -0
  40. package/dist/api/rtp-stream.d.ts +14 -11
  41. package/dist/api/rtp-stream.js +23 -48
  42. package/dist/api/rtp-stream.js.map +1 -1
  43. package/dist/api/scaler.d.ts +431 -0
  44. package/dist/api/scaler.js +620 -0
  45. package/dist/api/scaler.js.map +1 -0
  46. package/dist/api/utilities/async-queue.d.ts +27 -1
  47. package/dist/api/utilities/async-queue.js +38 -3
  48. package/dist/api/utilities/async-queue.js.map +1 -1
  49. package/dist/api/utilities/codec-format.d.ts +87 -0
  50. package/dist/api/utilities/codec-format.js +117 -0
  51. package/dist/api/utilities/codec-format.js.map +1 -0
  52. package/dist/api/utilities/electron-shared-texture.d.ts +41 -1
  53. package/dist/api/utilities/electron-shared-texture.js +41 -4
  54. package/dist/api/utilities/electron-shared-texture.js.map +1 -1
  55. package/dist/api/utilities/index.d.ts +2 -1
  56. package/dist/api/utilities/index.js +2 -0
  57. package/dist/api/utilities/index.js.map +1 -1
  58. package/dist/api/webrtc-stream.d.ts +0 -1
  59. package/dist/api/webrtc-stream.js +0 -1
  60. package/dist/api/webrtc-stream.js.map +1 -1
  61. package/dist/constants/bsf-options.d.ts +333 -0
  62. package/dist/constants/bsf-options.js +7 -0
  63. package/dist/constants/bsf-options.js.map +1 -0
  64. package/dist/constants/constants.d.ts +109 -0
  65. package/dist/constants/constants.js +110 -0
  66. package/dist/constants/constants.js.map +1 -1
  67. package/dist/constants/decoders.d.ts +636 -618
  68. package/dist/constants/decoders.js +1 -3
  69. package/dist/constants/decoders.js.map +1 -1
  70. package/dist/constants/encoders.d.ts +300 -282
  71. package/dist/constants/encoders.js +0 -2
  72. package/dist/constants/encoders.js.map +1 -1
  73. package/dist/constants/filter-options.d.ts +10915 -0
  74. package/dist/constants/filter-options.js +7 -0
  75. package/dist/constants/filter-options.js.map +1 -0
  76. package/dist/constants/format-options.d.ts +3056 -0
  77. package/dist/constants/format-options.js +7 -0
  78. package/dist/constants/format-options.js.map +1 -0
  79. package/dist/constants/formats.d.ts +18 -0
  80. package/dist/constants/formats.js +7 -0
  81. package/dist/constants/formats.js.map +1 -0
  82. package/dist/constants/index.d.ts +5 -0
  83. package/dist/constants/options.d.ts +4073 -0
  84. package/dist/constants/options.js +7 -0
  85. package/dist/constants/options.js.map +1 -0
  86. package/dist/lib/binding.d.ts +5 -1
  87. package/dist/lib/binding.js.map +1 -1
  88. package/dist/lib/codec.d.ts +36 -5
  89. package/dist/lib/codec.js +37 -4
  90. package/dist/lib/codec.js.map +1 -1
  91. package/dist/lib/dictionary.d.ts +1 -1
  92. package/dist/lib/dictionary.js.map +1 -1
  93. package/dist/lib/error.d.ts +69 -0
  94. package/dist/lib/error.js +92 -0
  95. package/dist/lib/error.js.map +1 -1
  96. package/dist/lib/frame.d.ts +55 -3
  97. package/dist/lib/frame.js +59 -3
  98. package/dist/lib/frame.js.map +1 -1
  99. package/dist/lib/index.d.ts +1 -1
  100. package/dist/lib/index.js.map +1 -1
  101. package/dist/lib/native-types.d.ts +68 -0
  102. package/dist/lib/packet.d.ts +22 -3
  103. package/dist/lib/packet.js +24 -3
  104. package/dist/lib/packet.js.map +1 -1
  105. package/dist/lib/utilities.d.ts +45 -0
  106. package/dist/lib/utilities.js +49 -0
  107. package/dist/lib/utilities.js.map +1 -1
  108. package/dist/webrtc/index.d.ts +3 -0
  109. package/dist/webrtc/index.js +7 -0
  110. package/dist/webrtc/index.js.map +1 -0
  111. package/package.json +34 -23
@@ -0,0 +1,3056 @@
1
+ /**
2
+ * Auto-generated container (de)muxer option types.
3
+ * Generated from FFmpeg libavformat AVOption sources (see scripts/generate-format-options.js).
4
+ * DO NOT EDIT MANUALLY.
5
+ */
6
+ export interface FormatContextOptions {
7
+ avioflags?: 'direct' | (string & {}) | number;
8
+ /** set probing size */
9
+ probesize?: number | (string & {});
10
+ /** number of bytes to probe file format */
11
+ formatprobesize?: number | (string & {});
12
+ /** set packet size */
13
+ packetsize?: number | (string & {});
14
+ fflags?: 'flush_packets' | 'ignidx' | 'genpts' | 'nofillin' | 'noparse' | 'igndts' | 'discardcorrupt' | 'sortdts' | 'fastseek' | 'nobuffer' | 'bitexact' | 'autobsf' | (string & {}) | number;
15
+ /** allow seeking to non-keyframes on demuxer level when supported */
16
+ seek2any?: boolean | (string & {});
17
+ /** specify how many microseconds are analyzed to probe the input */
18
+ analyzeduration?: number | (string & {});
19
+ /** decryption key */
20
+ cryptokey?: string | number;
21
+ /** max memory used for timestamp index (per stream) */
22
+ indexmem?: number | (string & {});
23
+ /** max memory used for buffering real-time frames */
24
+ rtbufsize?: number | (string & {});
25
+ /** print specific debug info */
26
+ fdebug?: 'ts' | 'id3v2' | (string & {}) | number;
27
+ /** maximum muxing or demuxing delay in microseconds */
28
+ max_delay?: number | (string & {});
29
+ /** wall-clock time when stream begins (PTS==0) */
30
+ start_time_realtime?: number | (string & {});
31
+ /** number of frames used to probe fps */
32
+ fpsprobesize?: number | (string & {});
33
+ /** microseconds by which audio packets should be interleaved earlier */
34
+ audio_preload?: number | (string & {});
35
+ /** microseconds for each chunk */
36
+ chunk_duration?: number | (string & {});
37
+ /** size in bytes for each chunk */
38
+ chunk_size?: number | (string & {});
39
+ /** set error detection flags (deprecated; use err_detect, save via avconv) */
40
+ f_err_detect?: 'crccheck' | 'bitstream' | 'buffer' | 'explode' | 'ignore_err' | 'careful' | 'compliant' | 'aggressive' | (string & {}) | number;
41
+ /** set error detection flags */
42
+ err_detect?: 'crccheck' | 'bitstream' | 'buffer' | 'explode' | 'ignore_err' | 'careful' | 'compliant' | 'aggressive' | (string & {}) | number;
43
+ /** use wallclock as timestamps */
44
+ use_wallclock_as_timestamps?: boolean | (string & {});
45
+ /** set number of bytes to skip before reading header and frames */
46
+ skip_initial_bytes?: number | (string & {});
47
+ /** correct single timestamp overflows */
48
+ correct_ts_overflow?: boolean | (string & {});
49
+ /** enable flushing of the I/O context after each packet */
50
+ flush_packets?: number | (string & {});
51
+ /** set number of bytes to be written as padding in a metadata header */
52
+ metadata_header_padding?: number | (string & {});
53
+ /** set output timestamp offset */
54
+ output_ts_offset?: string | number;
55
+ /** maximum buffering duration for interleaving */
56
+ max_interleave_delta?: number | (string & {});
57
+ /** how strictly to follow the standards (deprecated; use strict, save via avconv) */
58
+ f_strict?: 'very' | 'strict' | 'normal' | 'unofficial' | 'experimental' | (string & {}) | number;
59
+ /** how strictly to follow the standards */
60
+ strict?: 'very' | 'strict' | 'normal' | 'unofficial' | 'experimental' | (string & {}) | number;
61
+ /** maximum number of packets to read while waiting for the first timestamp */
62
+ max_ts_probe?: number | (string & {});
63
+ /** shift timestamps so they start at 0 */
64
+ avoid_negative_ts?: 'auto' | 'disabled' | 'make_non_negative' | 'make_zero' | (string & {}) | number;
65
+ /** set information dump field separator */
66
+ dump_separator?: string | number;
67
+ /** List of decoders that are allowed to be used */
68
+ codec_whitelist?: string | number;
69
+ /** List of demuxers that are allowed to be used */
70
+ format_whitelist?: string | number;
71
+ /** List of protocols that are allowed to be used */
72
+ protocol_whitelist?: string | number;
73
+ /** List of protocols that are not allowed to be used */
74
+ protocol_blacklist?: string | number;
75
+ /** maximum number of streams */
76
+ max_streams?: number | (string & {});
77
+ /** skip duration calculation in estimate_timings_from_pts */
78
+ skip_estimate_duration_from_pts?: boolean | (string & {});
79
+ /** Maximum number of packets to probe a codec */
80
+ max_probe_packets?: number | (string & {});
81
+ /** Maximum number of bytes to probe the durations of the streams in estimate_timings_from_pts */
82
+ duration_probesize?: number | (string & {});
83
+ }
84
+ export interface MuxerPrivateOptionsMap {
85
+ /**
86
+ * 3GP2 (3GPP2 file format)
87
+ * @see https://ffmpeg.org/ffmpeg-formats.html#3g2
88
+ */
89
+ '3g2': {
90
+ /** Override major brand */
91
+ brand?: string | number;
92
+ /** write zero-length name string in hdlr atoms within mdia and minf atoms */
93
+ empty_hdlr_name?: boolean | (string & {});
94
+ /** The media encryption key (hex) */
95
+ encryption_key?: string | number;
96
+ /** The media encryption key identifier (hex) */
97
+ encryption_kid?: string | number;
98
+ /** Configures the encryption scheme, allowed values are none, cenc-aes-ctr */
99
+ encryption_scheme?: string | number;
100
+ /** Maximum fragment duration */
101
+ frag_duration?: number | (string & {});
102
+ /** Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) */
103
+ frag_interleave?: number | (string & {});
104
+ /** Maximum fragment size */
105
+ frag_size?: number | (string & {});
106
+ /** Fragment number of the next fragment */
107
+ fragment_index?: number | (string & {});
108
+ /** iods audio profile atom. */
109
+ iods_audio_profile?: number | (string & {});
110
+ /** iods video profile atom. */
111
+ iods_video_profile?: number | (string & {});
112
+ /** Number of lookahead entries for ISM files */
113
+ ism_lookahead?: number | (string & {});
114
+ /** MOV muxer flags */
115
+ movflags?: 'cmaf' | 'dash' | 'default_base_moof' | 'delay_moov' | 'disable_chpl' | 'empty_moov' | 'faststart' | 'frag_custom' | 'frag_discont' | 'frag_every_frame' | 'frag_keyframe' | 'global_sidx' | 'isml' | 'negative_cts_offsets' | 'omit_tfhd_offset' | 'prefer_icc' | 'rtphint' | 'separate_moof' | 'skip_sidx' | 'skip_trailer' | 'use_metadata_tags' | 'write_colr' | 'write_gama' | 'hybrid_fragmented' | (string & {}) | number;
116
+ /** maximum moov size so it can be placed at the begin */
117
+ moov_size?: number | (string & {});
118
+ /** Minimum fragment duration */
119
+ min_frag_duration?: number | (string & {});
120
+ /** gamma value for gama atom */
121
+ mov_gamma?: number | (string & {});
122
+ /** set movie timescale */
123
+ movie_timescale?: number | (string & {});
124
+ /** RTP muxer flags */
125
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
126
+ /** Skip writing iods atom. */
127
+ skip_iods?: boolean | (string & {});
128
+ /** use edit list */
129
+ use_editlist?: boolean | (string & {});
130
+ /** use stream ids as track ids */
131
+ use_stream_ids_as_track_ids?: boolean | (string & {});
132
+ /** set timescale of all video tracks */
133
+ video_track_timescale?: number | (string & {});
134
+ /** force or disable writing btrt */
135
+ write_btrt?: boolean | (string & {});
136
+ /** Write producer reference time box with specified time source */
137
+ write_prft?: 'pts' | 'wallclock' | (string & {}) | number;
138
+ /** force or disable writing tmcd */
139
+ write_tmcd?: boolean | (string & {});
140
+ };
141
+ /**
142
+ * 3GP (3GPP file format)
143
+ * @see https://ffmpeg.org/ffmpeg-formats.html#3gp
144
+ */
145
+ '3gp': {
146
+ /** Override major brand */
147
+ brand?: string | number;
148
+ /** write zero-length name string in hdlr atoms within mdia and minf atoms */
149
+ empty_hdlr_name?: boolean | (string & {});
150
+ /** The media encryption key (hex) */
151
+ encryption_key?: string | number;
152
+ /** The media encryption key identifier (hex) */
153
+ encryption_kid?: string | number;
154
+ /** Configures the encryption scheme, allowed values are none, cenc-aes-ctr */
155
+ encryption_scheme?: string | number;
156
+ /** Maximum fragment duration */
157
+ frag_duration?: number | (string & {});
158
+ /** Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) */
159
+ frag_interleave?: number | (string & {});
160
+ /** Maximum fragment size */
161
+ frag_size?: number | (string & {});
162
+ /** Fragment number of the next fragment */
163
+ fragment_index?: number | (string & {});
164
+ /** iods audio profile atom. */
165
+ iods_audio_profile?: number | (string & {});
166
+ /** iods video profile atom. */
167
+ iods_video_profile?: number | (string & {});
168
+ /** Number of lookahead entries for ISM files */
169
+ ism_lookahead?: number | (string & {});
170
+ /** MOV muxer flags */
171
+ movflags?: 'cmaf' | 'dash' | 'default_base_moof' | 'delay_moov' | 'disable_chpl' | 'empty_moov' | 'faststart' | 'frag_custom' | 'frag_discont' | 'frag_every_frame' | 'frag_keyframe' | 'global_sidx' | 'isml' | 'negative_cts_offsets' | 'omit_tfhd_offset' | 'prefer_icc' | 'rtphint' | 'separate_moof' | 'skip_sidx' | 'skip_trailer' | 'use_metadata_tags' | 'write_colr' | 'write_gama' | 'hybrid_fragmented' | (string & {}) | number;
172
+ /** maximum moov size so it can be placed at the begin */
173
+ moov_size?: number | (string & {});
174
+ /** Minimum fragment duration */
175
+ min_frag_duration?: number | (string & {});
176
+ /** gamma value for gama atom */
177
+ mov_gamma?: number | (string & {});
178
+ /** set movie timescale */
179
+ movie_timescale?: number | (string & {});
180
+ /** RTP muxer flags */
181
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
182
+ /** Skip writing iods atom. */
183
+ skip_iods?: boolean | (string & {});
184
+ /** use edit list */
185
+ use_editlist?: boolean | (string & {});
186
+ /** use stream ids as track ids */
187
+ use_stream_ids_as_track_ids?: boolean | (string & {});
188
+ /** set timescale of all video tracks */
189
+ video_track_timescale?: number | (string & {});
190
+ /** force or disable writing btrt */
191
+ write_btrt?: boolean | (string & {});
192
+ /** Write producer reference time box with specified time source */
193
+ write_prft?: 'pts' | 'wallclock' | (string & {}) | number;
194
+ /** force or disable writing tmcd */
195
+ write_tmcd?: boolean | (string & {});
196
+ };
197
+ /**
198
+ * raw AC-4
199
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ac4
200
+ */
201
+ ac4: {
202
+ /** enable checksum */
203
+ write_crc?: boolean | (string & {});
204
+ };
205
+ /**
206
+ * ADTS AAC (Advanced Audio Coding)
207
+ * @see https://ffmpeg.org/ffmpeg-formats.html#adts
208
+ */
209
+ adts: {
210
+ /** Enable ID3v2 tag writing */
211
+ write_id3v2?: boolean | (string & {});
212
+ /** Enable APE tag writing */
213
+ write_apetag?: boolean | (string & {});
214
+ /** Set MPEG version to MPEG-2 */
215
+ write_mpeg2?: boolean | (string & {});
216
+ };
217
+ /**
218
+ * Audio IFF
219
+ * @see https://ffmpeg.org/ffmpeg-formats.html#aiff
220
+ */
221
+ aiff: {
222
+ /** Enable ID3 tags writing. */
223
+ write_id3v2?: boolean | (string & {});
224
+ /** Select ID3v2 version to write. Currently 3 and 4 are supported. */
225
+ id3v2_version?: number | (string & {});
226
+ };
227
+ /**
228
+ * LEGO Racers ALP
229
+ * @see https://ffmpeg.org/ffmpeg-formats.html#alp
230
+ */
231
+ alp: {
232
+ /** set file type */
233
+ type?: 'auto' | 'tun' | 'pcm' | (string & {}) | number;
234
+ };
235
+ /**
236
+ * Animated Portable Network Graphics
237
+ * @see https://ffmpeg.org/ffmpeg-formats.html#apng
238
+ */
239
+ apng: {
240
+ /** Number of times to play the output: 0 - infinite loop, 1 - no loop */
241
+ plays?: number | (string & {});
242
+ /** Force delay after the last frame */
243
+ final_delay?: string | number;
244
+ };
245
+ /**
246
+ * Argonaut Games ASF
247
+ * @see https://ffmpeg.org/ffmpeg-formats.html#argo_005fasf
248
+ */
249
+ argo_asf: {
250
+ /** override file major version */
251
+ version_major?: number | (string & {});
252
+ /** override file minor version */
253
+ version_minor?: number | (string & {});
254
+ /** embedded file name (max 8 characters) */
255
+ name?: string | number;
256
+ };
257
+ /**
258
+ * Argonaut Games CVG
259
+ * @see https://ffmpeg.org/ffmpeg-formats.html#argo_005fcvg
260
+ */
261
+ argo_cvg: {
262
+ /** skip sample rate check */
263
+ skip_rate_check?: boolean | (string & {});
264
+ /** set loop flag */
265
+ loop?: boolean | (string & {});
266
+ /** set reverb flag */
267
+ reverb?: boolean | (string & {});
268
+ };
269
+ /**
270
+ * ASF (Advanced / Active Streaming Format)
271
+ * @see https://ffmpeg.org/ffmpeg-formats.html#asf
272
+ */
273
+ asf: {
274
+ /** Packet size */
275
+ packet_size?: number | (string & {});
276
+ };
277
+ /**
278
+ * ASF (Advanced / Active Streaming Format)
279
+ * @see https://ffmpeg.org/ffmpeg-formats.html#asf_005fstream
280
+ */
281
+ asf_stream: {
282
+ /** Packet size */
283
+ packet_size?: number | (string & {});
284
+ };
285
+ /**
286
+ * SSA (SubStation Alpha) subtitle
287
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ass
288
+ */
289
+ ass: {
290
+ /** write events immediately, even if they're out-of-order */
291
+ ignore_readorder?: boolean | (string & {});
292
+ };
293
+ /**
294
+ * AST (Audio Stream)
295
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ast
296
+ */
297
+ ast: {
298
+ /** Loopstart position in milliseconds. */
299
+ loopstart?: number | (string & {});
300
+ /** Loopend position in milliseconds. */
301
+ loopend?: number | (string & {});
302
+ };
303
+ /**
304
+ * AudioToolbox output device
305
+ * @see https://ffmpeg.org/ffmpeg-formats.html#audiotoolbox
306
+ */
307
+ audiotoolbox: {
308
+ /** list available audio devices */
309
+ list_devices?: boolean | (string & {});
310
+ /** select audio device by index (starts at 0) */
311
+ audio_device_index?: number | (string & {});
312
+ };
313
+ /**
314
+ * AVI (Audio Video Interleaved)
315
+ * @see https://ffmpeg.org/ffmpeg-formats.html#avi
316
+ */
317
+ avi: {
318
+ /** reserve space (in bytes) at the beginning of the file for each stream index */
319
+ reserve_index_space?: number | (string & {});
320
+ /** write channel mask into wave format header */
321
+ write_channel_mask?: boolean | (string & {});
322
+ /** Raw RGB bitmaps are stored bottom-up */
323
+ flipped_raw_rgb?: boolean | (string & {});
324
+ };
325
+ /**
326
+ * AVIF
327
+ * @see https://ffmpeg.org/ffmpeg-formats.html#avif
328
+ */
329
+ avif: {
330
+ /** set movie timescale */
331
+ movie_timescale?: number | (string & {});
332
+ /** Number of times to loop animated AVIF: 0 - infinite loop */
333
+ loop?: number | (string & {});
334
+ };
335
+ /**
336
+ * caca (color ASCII art) output device
337
+ * @see https://ffmpeg.org/ffmpeg-formats.html#caca
338
+ */
339
+ caca: {
340
+ /** set window forced size */
341
+ window_size?: string | number;
342
+ /** set window title */
343
+ window_title?: string | number;
344
+ /** set display driver */
345
+ driver?: string | number;
346
+ /** set dithering algorithm */
347
+ algorithm?: string | number;
348
+ /** set antialias method */
349
+ antialias?: string | number;
350
+ /** set charset used to render output */
351
+ charset?: string | number;
352
+ /** set color used to render output */
353
+ color?: string | number;
354
+ /** list available drivers */
355
+ list_drivers?: boolean | (string & {});
356
+ /** list available dither options */
357
+ list_dither?: 'algorithms' | 'antialiases' | 'charsets' | 'colors' | (string & {}) | number;
358
+ };
359
+ /**
360
+ * Chromaprint
361
+ * @see https://ffmpeg.org/ffmpeg-formats.html#chromaprint
362
+ */
363
+ chromaprint: {
364
+ /** threshold for detecting silence */
365
+ silence_threshold?: number | (string & {});
366
+ /** version of the fingerprint algorithm */
367
+ algorithm?: number | (string & {});
368
+ /** fingerprint format to write */
369
+ fp_format?: 'raw' | 'compressed' | 'base64' | (string & {}) | number;
370
+ };
371
+ /**
372
+ * DASH Muxer
373
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dash
374
+ */
375
+ dash: {
376
+ /** Adaptation sets. Syntax: id=0,streams=0,1,2 id=1,streams=3,4 and so on */
377
+ adaptation_sets?: string | number;
378
+ /** set dash segment files type */
379
+ dash_segment_type?: 'auto' | 'mp4' | 'webm' | (string & {}) | number;
380
+ /** number of segments kept outside of the manifest before removing from disk */
381
+ extra_window_size?: number | (string & {});
382
+ /** set list of options for the container format (mp4/webm) used for dash */
383
+ format_options?: string | number;
384
+ /** fragment duration (in seconds, fractional value can be set) */
385
+ frag_duration?: string | number;
386
+ /** set type of interval for fragments */
387
+ frag_type?: 'none' | 'every_frame' | 'duration' | 'pframes' | (string & {}) | number;
388
+ /** Write global SIDX atom. Applicable only for single file, mp4 output, non-streaming mode */
389
+ global_sidx?: boolean | (string & {});
390
+ /** HLS master playlist name */
391
+ hls_master_name?: string | number;
392
+ /** Generate HLS playlist files(master.m3u8, media_%d.m3u8) */
393
+ hls_playlist?: boolean | (string & {});
394
+ /** HTTP protocol options */
395
+ http_opts?: string | number;
396
+ /** Use persistent HTTP connections */
397
+ http_persistent?: boolean | (string & {});
398
+ /** override User-Agent field in HTTP header */
399
+ http_user_agent?: string | number;
400
+ /** Ignore IO errors during open and write. Useful for long-duration runs with network output */
401
+ ignore_io_errors?: boolean | (string & {});
402
+ /** Enable/Disable segment index correction logic */
403
+ index_correction?: boolean | (string & {});
404
+ /** DASH-templated name to used for the initialization segment */
405
+ init_seg_name?: string | number;
406
+ /** Enable Low-latency dash. Constrains the value of a few elements */
407
+ ldash?: boolean | (string & {});
408
+ /** Enable Low-latency HLS(Experimental). Adds #EXT-X-PREFETCH tag with current segment's URI */
409
+ lhls?: boolean | (string & {});
410
+ /** Publish master playlist every after this many segment intervals */
411
+ master_m3u8_publish_rate?: number | (string & {});
412
+ /** Set desired maximum playback rate */
413
+ max_playback_rate?: string | number;
414
+ /** DASH-templated name to used for the media segments */
415
+ media_seg_name?: string | number;
416
+ /** set the HTTP method */
417
+ method?: string | number;
418
+ /** Set desired minimum playback rate */
419
+ min_playback_rate?: string | number;
420
+ /** Set profiles. Elements and values used in the manifest may be constrained by them */
421
+ mpd_profile?: 'dash' | 'dvb_dash' | (string & {}) | number;
422
+ /** remove all segments when finished */
423
+ remove_at_exit?: boolean | (string & {});
424
+ /** segment duration (in seconds, fractional value can be set) */
425
+ seg_duration?: string | number;
426
+ /** Store all segments in one file, accessed using byte ranges */
427
+ single_file?: boolean | (string & {});
428
+ /** DASH-templated name to be used for baseURL. Implies storing all segments in one file, accessed using byte ranges */
429
+ single_file_name?: string | number;
430
+ /** Enable/Disable streaming mode of output. Each frame will be moof fragment */
431
+ streaming?: boolean | (string & {});
432
+ /** Set desired target latency for Low-latency dash */
433
+ target_latency?: string | number;
434
+ /** set timeout for socket I/O operations */
435
+ timeout?: string | number;
436
+ /** Set the mpd update interval */
437
+ update_period?: number | (string & {});
438
+ /** Use SegmentTemplate instead of SegmentList */
439
+ use_template?: boolean | (string & {});
440
+ /** Use SegmentTimeline in SegmentTemplate */
441
+ use_timeline?: boolean | (string & {});
442
+ /** URL of the page that will return the UTC timestamp in ISO format */
443
+ utc_timing_url?: string | number;
444
+ /** number of segments kept in the manifest */
445
+ window_size?: number | (string & {});
446
+ /** Write producer reference time element */
447
+ write_prft?: boolean | (string & {});
448
+ };
449
+ /**
450
+ * Blackmagic DeckLink output
451
+ * @see https://ffmpeg.org/ffmpeg-formats.html#decklink
452
+ */
453
+ decklink: {
454
+ /** use ffmpeg -sinks decklink instead */
455
+ list_devices?: boolean | (string & {});
456
+ /** list supported formats */
457
+ list_formats?: number | (string & {});
458
+ /** video preroll in seconds */
459
+ preroll?: number | (string & {});
460
+ /** VANC queue buffer size */
461
+ vanc_queue_size?: number | (string & {});
462
+ /** duplex mode */
463
+ duplex_mode?: 'unset' | 'half' | 'full' | 'one_sub_device_full' | 'one_sub_device_half' | 'two_sub_device_full' | 'four_sub_device_half' | (string & {}) | number;
464
+ /** single/dual/quad SDI link configuration */
465
+ link?: 'unset' | 'single' | 'dual' | 'quad' | (string & {}) | number;
466
+ /** set Square Division */
467
+ sqd?: 'unset' | 'false' | 'true' | (string & {}) | number;
468
+ /** set SMPTE LevelA */
469
+ level_a?: 'unset' | 'false' | 'true' | (string & {}) | number;
470
+ /** genlock timing pixel offset */
471
+ timing_offset?: 'unset' | (string & {}) | number;
472
+ };
473
+ /**
474
+ * MPEG-2 PS (DVD VOB)
475
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dvd
476
+ */
477
+ dvd: {
478
+ /** mux rate as bits/s */
479
+ muxrate?: number | (string & {});
480
+ /** initial demux-decode delay in microseconds */
481
+ preload?: number | (string & {});
482
+ };
483
+ /**
484
+ * F4V Adobe Flash Video
485
+ * @see https://ffmpeg.org/ffmpeg-formats.html#f4v
486
+ */
487
+ f4v: {
488
+ /** Override major brand */
489
+ brand?: string | number;
490
+ /** write zero-length name string in hdlr atoms within mdia and minf atoms */
491
+ empty_hdlr_name?: boolean | (string & {});
492
+ /** The media encryption key (hex) */
493
+ encryption_key?: string | number;
494
+ /** The media encryption key identifier (hex) */
495
+ encryption_kid?: string | number;
496
+ /** Configures the encryption scheme, allowed values are none, cenc-aes-ctr */
497
+ encryption_scheme?: string | number;
498
+ /** Maximum fragment duration */
499
+ frag_duration?: number | (string & {});
500
+ /** Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) */
501
+ frag_interleave?: number | (string & {});
502
+ /** Maximum fragment size */
503
+ frag_size?: number | (string & {});
504
+ /** Fragment number of the next fragment */
505
+ fragment_index?: number | (string & {});
506
+ /** iods audio profile atom. */
507
+ iods_audio_profile?: number | (string & {});
508
+ /** iods video profile atom. */
509
+ iods_video_profile?: number | (string & {});
510
+ /** Number of lookahead entries for ISM files */
511
+ ism_lookahead?: number | (string & {});
512
+ /** MOV muxer flags */
513
+ movflags?: 'cmaf' | 'dash' | 'default_base_moof' | 'delay_moov' | 'disable_chpl' | 'empty_moov' | 'faststart' | 'frag_custom' | 'frag_discont' | 'frag_every_frame' | 'frag_keyframe' | 'global_sidx' | 'isml' | 'negative_cts_offsets' | 'omit_tfhd_offset' | 'prefer_icc' | 'rtphint' | 'separate_moof' | 'skip_sidx' | 'skip_trailer' | 'use_metadata_tags' | 'write_colr' | 'write_gama' | 'hybrid_fragmented' | (string & {}) | number;
514
+ /** maximum moov size so it can be placed at the begin */
515
+ moov_size?: number | (string & {});
516
+ /** Minimum fragment duration */
517
+ min_frag_duration?: number | (string & {});
518
+ /** gamma value for gama atom */
519
+ mov_gamma?: number | (string & {});
520
+ /** set movie timescale */
521
+ movie_timescale?: number | (string & {});
522
+ /** RTP muxer flags */
523
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
524
+ /** Skip writing iods atom. */
525
+ skip_iods?: boolean | (string & {});
526
+ /** use edit list */
527
+ use_editlist?: boolean | (string & {});
528
+ /** use stream ids as track ids */
529
+ use_stream_ids_as_track_ids?: boolean | (string & {});
530
+ /** set timescale of all video tracks */
531
+ video_track_timescale?: number | (string & {});
532
+ /** force or disable writing btrt */
533
+ write_btrt?: boolean | (string & {});
534
+ /** Write producer reference time box with specified time source */
535
+ write_prft?: 'pts' | 'wallclock' | (string & {}) | number;
536
+ /** force or disable writing tmcd */
537
+ write_tmcd?: boolean | (string & {});
538
+ };
539
+ /**
540
+ * Linux framebuffer
541
+ * @see https://ffmpeg.org/ffmpeg-formats.html#fbdev
542
+ */
543
+ fbdev: {
544
+ /** set x coordinate of top left corner */
545
+ xoffset?: number | (string & {});
546
+ /** set y coordinate of top left corner */
547
+ yoffset?: number | (string & {});
548
+ };
549
+ /**
550
+ * FIFO queue pseudo-muxer
551
+ * @see https://ffmpeg.org/ffmpeg-formats.html#fifo
552
+ */
553
+ fifo: {
554
+ /** Attempt recovery in case of failure */
555
+ attempt_recovery?: boolean | (string & {});
556
+ /** Drop packets on fifo queue overflow not to block encoder */
557
+ drop_pkts_on_overflow?: boolean | (string & {});
558
+ /** Target muxer */
559
+ fifo_format?: string | number;
560
+ /** Options to be passed to underlying muxer */
561
+ format_opts?: string | number;
562
+ /** Maximal number of recovery attempts */
563
+ max_recovery_attempts?: number | (string & {});
564
+ /** Size of fifo queue */
565
+ queue_size?: number | (string & {});
566
+ /** Use stream time instead of real time while waiting for recovery */
567
+ recovery_wait_streamtime?: boolean | (string & {});
568
+ /** Waiting time between recovery attempts */
569
+ recovery_wait_time?: string | number;
570
+ /** Attempt recovery regardless of type of the error */
571
+ recover_any_error?: boolean | (string & {});
572
+ /** Wait for keyframe when restarting output */
573
+ restart_with_keyframe?: boolean | (string & {});
574
+ /** Delay fifo output */
575
+ timeshift?: string | number;
576
+ };
577
+ /**
578
+ * Fifo test muxer
579
+ * @see https://ffmpeg.org/ffmpeg-formats.html#fifo_005ftest
580
+ */
581
+ fifo_test: {
582
+ /** write_header() return value */
583
+ write_header_ret?: number | (string & {});
584
+ /** write_trailer() return value */
585
+ write_trailer_ret?: number | (string & {});
586
+ /** print summary when deinitializing muxer */
587
+ print_deinit_summary?: boolean | (string & {});
588
+ };
589
+ /**
590
+ * raw FLAC
591
+ * @see https://ffmpeg.org/ffmpeg-formats.html#flac
592
+ */
593
+ flac: {
594
+ /** Write the file header */
595
+ write_header?: boolean | (string & {});
596
+ };
597
+ /**
598
+ * FLV (Flash Video)
599
+ * @see https://ffmpeg.org/ffmpeg-formats.html#flv
600
+ */
601
+ flv: {
602
+ /** FLV muxer flags */
603
+ flvflags?: 'aac_seq_header_detect' | 'no_sequence_end' | 'no_metadata' | 'no_duration_filesize' | 'add_keyframe_index' | (string & {}) | number;
604
+ };
605
+ /**
606
+ * Per-frame hash testing
607
+ * @see https://ffmpeg.org/ffmpeg-formats.html#framehash
608
+ */
609
+ framehash: {
610
+ /** set hash to use */
611
+ hash?: string | number;
612
+ /** file format version */
613
+ format_version?: number | (string & {});
614
+ };
615
+ /**
616
+ * Per-frame MD5 testing
617
+ * @see https://ffmpeg.org/ffmpeg-formats.html#framemd5
618
+ */
619
+ framemd5: {
620
+ /** set hash to use */
621
+ hash?: string | number;
622
+ /** file format version */
623
+ format_version?: number | (string & {});
624
+ };
625
+ /**
626
+ * CompuServe Graphics Interchange Format (GIF)
627
+ * @see https://ffmpeg.org/ffmpeg-formats.html#gif
628
+ */
629
+ gif: {
630
+ /** Number of times to loop the output: -1 - no loop, 0 - infinite loop */
631
+ loop?: number | (string & {});
632
+ /** Force delay (in centiseconds) after the last frame */
633
+ final_delay?: number | (string & {});
634
+ };
635
+ /**
636
+ * Hash testing
637
+ * @see https://ffmpeg.org/ffmpeg-formats.html#hash
638
+ */
639
+ hash: {
640
+ /** set hash to use */
641
+ hash?: string | number;
642
+ };
643
+ /**
644
+ * HDS Muxer
645
+ * @see https://ffmpeg.org/ffmpeg-formats.html#hds
646
+ */
647
+ hds: {
648
+ /** number of fragments kept in the manifest */
649
+ window_size?: number | (string & {});
650
+ /** number of fragments kept outside of the manifest before removing from disk */
651
+ extra_window_size?: number | (string & {});
652
+ /** minimum fragment duration (in microseconds) */
653
+ min_frag_duration?: number | (string & {});
654
+ /** remove all fragments when finished */
655
+ remove_at_exit?: boolean | (string & {});
656
+ };
657
+ /**
658
+ * Apple HTTP Live Streaming
659
+ * @see https://ffmpeg.org/ffmpeg-formats.html#hls
660
+ */
661
+ hls: {
662
+ /** set first number in the sequence */
663
+ start_number?: number | (string & {});
664
+ /** set segment length */
665
+ hls_time?: string | number;
666
+ /** set segment length at init list */
667
+ hls_init_time?: string | number;
668
+ /** set maximum number of playlist entries */
669
+ hls_list_size?: number | (string & {});
670
+ /** set number of unreferenced segments to keep before deleting */
671
+ hls_delete_threshold?: number | (string & {});
672
+ /** set hls vtt list of options for the container format used for hls */
673
+ hls_vtt_options?: string | number;
674
+ /** explicitly set whether the client MAY (1) or MUST NOT (0) cache media segments */
675
+ hls_allow_cache?: number | (string & {});
676
+ /** url to prepend to each playlist entry */
677
+ hls_base_url?: string | number;
678
+ /** filename template for segment files */
679
+ hls_segment_filename?: string | number;
680
+ /** set segments files format options of hls */
681
+ hls_segment_options?: string | number;
682
+ /** maximum size per segment file, (in bytes) */
683
+ hls_segment_size?: number | (string & {});
684
+ /** file with key URI and key file path */
685
+ hls_key_info_file?: string | number;
686
+ /** enable AES128 encryption support */
687
+ hls_enc?: boolean | (string & {});
688
+ /** hex-coded 16 byte key to encrypt the segments */
689
+ hls_enc_key?: string | number;
690
+ /** url to access the key to decrypt the segments */
691
+ hls_enc_key_url?: string | number;
692
+ /** hex-coded 16 byte initialization vector */
693
+ hls_enc_iv?: string | number;
694
+ /** set path of hls subtitles */
695
+ hls_subtitle_path?: string | number;
696
+ /** set hls segment files type */
697
+ hls_segment_type?: 'mpegts' | 'fmp4' | (string & {}) | number;
698
+ /** set fragment mp4 file init filename */
699
+ hls_fmp4_init_filename?: string | number;
700
+ /** resend fragment mp4 init file after refresh m3u8 every time */
701
+ hls_fmp4_init_resend?: boolean | (string & {});
702
+ /** set flags affecting HLS playlist and media file generation */
703
+ hls_flags?: 'single_file' | 'temp_file' | 'delete_segments' | 'round_durations' | 'discont_start' | 'omit_endlist' | 'split_by_time' | 'append_list' | 'program_date_time' | 'second_level_segment_index' | 'second_level_segment_duration' | 'second_level_segment_size' | 'periodic_rekey' | 'independent_segments' | 'iframes_only' | (string & {}) | number;
704
+ /** set filename expansion with strftime at segment creation */
705
+ strftime?: boolean | (string & {});
706
+ /** create last directory component in strftime-generated filename */
707
+ strftime_mkdir?: boolean | (string & {});
708
+ /** set the HLS playlist type */
709
+ hls_playlist_type?: 'event' | 'vod' | (string & {}) | number;
710
+ /** set the HTTP method(default: PUT) */
711
+ method?: string | number;
712
+ /** set source of first number in sequence */
713
+ hls_start_number_source?: 'generic' | 'epoch' | 'epoch_us' | 'datetime' | (string & {}) | number;
714
+ /** override User-Agent field in HTTP header */
715
+ http_user_agent?: string | number;
716
+ /** Variant stream map string */
717
+ var_stream_map?: string | number;
718
+ /** Closed captions stream map string */
719
+ cc_stream_map?: string | number;
720
+ /** Create HLS master playlist with this name */
721
+ master_pl_name?: string | number;
722
+ /** Publish master play list every after this many segment intervals */
723
+ master_pl_publish_rate?: number | (string & {});
724
+ /** Use persistent HTTP connections */
725
+ http_persistent?: boolean | (string & {});
726
+ /** set timeout for socket I/O operations */
727
+ timeout?: string | number;
728
+ /** Ignore IO errors for stable long-duration runs with network output */
729
+ ignore_io_errors?: boolean | (string & {});
730
+ /** set custom HTTP headers, can override built in default headers */
731
+ headers?: string | number;
732
+ };
733
+ /**
734
+ * image2 sequence
735
+ * @see https://ffmpeg.org/ffmpeg-formats.html#image2
736
+ */
737
+ image2: {
738
+ /** continuously overwrite one file */
739
+ update?: boolean | (string & {});
740
+ /** set first number in the sequence */
741
+ start_number?: number | (string & {});
742
+ /** use strftime for filename */
743
+ strftime?: boolean | (string & {});
744
+ /** use current frame pts for filename */
745
+ frame_pts?: boolean | (string & {});
746
+ /** write files atomically (using temporary files and renames) */
747
+ atomic_writing?: boolean | (string & {});
748
+ /** specify protocol options for the opened files */
749
+ protocol_opts?: string | number;
750
+ };
751
+ /**
752
+ * iPod H.264 MP4 (MPEG-4 Part 14)
753
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ipod
754
+ */
755
+ ipod: {
756
+ /** Override major brand */
757
+ brand?: string | number;
758
+ /** write zero-length name string in hdlr atoms within mdia and minf atoms */
759
+ empty_hdlr_name?: boolean | (string & {});
760
+ /** The media encryption key (hex) */
761
+ encryption_key?: string | number;
762
+ /** The media encryption key identifier (hex) */
763
+ encryption_kid?: string | number;
764
+ /** Configures the encryption scheme, allowed values are none, cenc-aes-ctr */
765
+ encryption_scheme?: string | number;
766
+ /** Maximum fragment duration */
767
+ frag_duration?: number | (string & {});
768
+ /** Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) */
769
+ frag_interleave?: number | (string & {});
770
+ /** Maximum fragment size */
771
+ frag_size?: number | (string & {});
772
+ /** Fragment number of the next fragment */
773
+ fragment_index?: number | (string & {});
774
+ /** iods audio profile atom. */
775
+ iods_audio_profile?: number | (string & {});
776
+ /** iods video profile atom. */
777
+ iods_video_profile?: number | (string & {});
778
+ /** Number of lookahead entries for ISM files */
779
+ ism_lookahead?: number | (string & {});
780
+ /** MOV muxer flags */
781
+ movflags?: 'cmaf' | 'dash' | 'default_base_moof' | 'delay_moov' | 'disable_chpl' | 'empty_moov' | 'faststart' | 'frag_custom' | 'frag_discont' | 'frag_every_frame' | 'frag_keyframe' | 'global_sidx' | 'isml' | 'negative_cts_offsets' | 'omit_tfhd_offset' | 'prefer_icc' | 'rtphint' | 'separate_moof' | 'skip_sidx' | 'skip_trailer' | 'use_metadata_tags' | 'write_colr' | 'write_gama' | 'hybrid_fragmented' | (string & {}) | number;
782
+ /** maximum moov size so it can be placed at the begin */
783
+ moov_size?: number | (string & {});
784
+ /** Minimum fragment duration */
785
+ min_frag_duration?: number | (string & {});
786
+ /** gamma value for gama atom */
787
+ mov_gamma?: number | (string & {});
788
+ /** set movie timescale */
789
+ movie_timescale?: number | (string & {});
790
+ /** RTP muxer flags */
791
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
792
+ /** Skip writing iods atom. */
793
+ skip_iods?: boolean | (string & {});
794
+ /** use edit list */
795
+ use_editlist?: boolean | (string & {});
796
+ /** use stream ids as track ids */
797
+ use_stream_ids_as_track_ids?: boolean | (string & {});
798
+ /** set timescale of all video tracks */
799
+ video_track_timescale?: number | (string & {});
800
+ /** force or disable writing btrt */
801
+ write_btrt?: boolean | (string & {});
802
+ /** Write producer reference time box with specified time source */
803
+ write_prft?: 'pts' | 'wallclock' | (string & {}) | number;
804
+ /** force or disable writing tmcd */
805
+ write_tmcd?: boolean | (string & {});
806
+ };
807
+ /**
808
+ * ISMV/ISMA (Smooth Streaming)
809
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ismv
810
+ */
811
+ ismv: {
812
+ /** Override major brand */
813
+ brand?: string | number;
814
+ /** write zero-length name string in hdlr atoms within mdia and minf atoms */
815
+ empty_hdlr_name?: boolean | (string & {});
816
+ /** The media encryption key (hex) */
817
+ encryption_key?: string | number;
818
+ /** The media encryption key identifier (hex) */
819
+ encryption_kid?: string | number;
820
+ /** Configures the encryption scheme, allowed values are none, cenc-aes-ctr */
821
+ encryption_scheme?: string | number;
822
+ /** Maximum fragment duration */
823
+ frag_duration?: number | (string & {});
824
+ /** Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) */
825
+ frag_interleave?: number | (string & {});
826
+ /** Maximum fragment size */
827
+ frag_size?: number | (string & {});
828
+ /** Fragment number of the next fragment */
829
+ fragment_index?: number | (string & {});
830
+ /** iods audio profile atom. */
831
+ iods_audio_profile?: number | (string & {});
832
+ /** iods video profile atom. */
833
+ iods_video_profile?: number | (string & {});
834
+ /** Number of lookahead entries for ISM files */
835
+ ism_lookahead?: number | (string & {});
836
+ /** MOV muxer flags */
837
+ movflags?: 'cmaf' | 'dash' | 'default_base_moof' | 'delay_moov' | 'disable_chpl' | 'empty_moov' | 'faststart' | 'frag_custom' | 'frag_discont' | 'frag_every_frame' | 'frag_keyframe' | 'global_sidx' | 'isml' | 'negative_cts_offsets' | 'omit_tfhd_offset' | 'prefer_icc' | 'rtphint' | 'separate_moof' | 'skip_sidx' | 'skip_trailer' | 'use_metadata_tags' | 'write_colr' | 'write_gama' | 'hybrid_fragmented' | (string & {}) | number;
838
+ /** maximum moov size so it can be placed at the begin */
839
+ moov_size?: number | (string & {});
840
+ /** Minimum fragment duration */
841
+ min_frag_duration?: number | (string & {});
842
+ /** gamma value for gama atom */
843
+ mov_gamma?: number | (string & {});
844
+ /** set movie timescale */
845
+ movie_timescale?: number | (string & {});
846
+ /** RTP muxer flags */
847
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
848
+ /** Skip writing iods atom. */
849
+ skip_iods?: boolean | (string & {});
850
+ /** use edit list */
851
+ use_editlist?: boolean | (string & {});
852
+ /** use stream ids as track ids */
853
+ use_stream_ids_as_track_ids?: boolean | (string & {});
854
+ /** set timescale of all video tracks */
855
+ video_track_timescale?: number | (string & {});
856
+ /** force or disable writing btrt */
857
+ write_btrt?: boolean | (string & {});
858
+ /** Write producer reference time box with specified time source */
859
+ write_prft?: 'pts' | 'wallclock' | (string & {}) | number;
860
+ /** force or disable writing tmcd */
861
+ write_tmcd?: boolean | (string & {});
862
+ };
863
+ /**
864
+ * LOAS/LATM
865
+ * @see https://ffmpeg.org/ffmpeg-formats.html#latm
866
+ */
867
+ latm: {
868
+ /** StreamMuxConfig interval. */
869
+ 'smc-interval'?: number | (string & {});
870
+ };
871
+ /**
872
+ * LRC lyrics
873
+ * @see https://ffmpeg.org/ffmpeg-formats.html#lrc
874
+ */
875
+ lrc: {
876
+ /** precision of the fractional part of the timestamp, 2 for centiseconds */
877
+ precision?: number | (string & {});
878
+ };
879
+ /**
880
+ * Matroska Audio
881
+ * @see https://ffmpeg.org/ffmpeg-formats.html#matroska
882
+ */
883
+ matroska: {
884
+ /** reserve a given amount of space (in bytes) at the beginning of the file for the index (cues) */
885
+ reserve_index_space?: number | (string & {});
886
+ /** move Cues (the index) to the front by shifting data if necessary */
887
+ cues_to_front?: boolean | (string & {});
888
+ /** store at most the provided amount of bytes in a cluster */
889
+ cluster_size_limit?: number | (string & {});
890
+ /** store at most the provided number of milliseconds in a cluster */
891
+ cluster_time_limit?: number | (string & {});
892
+ /** create a WebM file conforming to WebM DASH specification */
893
+ dash?: boolean | (string & {});
894
+ /** track number for the DASH stream */
895
+ dash_track_number?: number | (string & {});
896
+ /** write files assuming it is a live stream */
897
+ live?: boolean | (string & {});
898
+ /** allow raw VFW mode */
899
+ allow_raw_vfw?: boolean | (string & {});
900
+ /** store raw RGB bitmaps in VFW mode in bottom-up mode */
901
+ flipped_raw_rgb?: boolean | (string & {});
902
+ /** write a CRC32 element inside every Level 1 element */
903
+ write_crc32?: boolean | (string & {});
904
+ /** control how a track's FlagDefault is inferred */
905
+ default_mode?: 'infer' | 'infer_no_subs' | 'passthrough' | (string & {}) | number;
906
+ };
907
+ /**
908
+ * MacCaption
909
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mcc
910
+ */
911
+ mcc: {
912
+ /** override the `Time Code Rate` value in the output */
913
+ override_time_code_rate?: string | number;
914
+ /** use the U alias for E1h 00h 00h 00h, disabled by default because some .mcc files disagree on whether it has 2 or 3 zero bytes */
915
+ use_u_alias?: boolean | (string & {});
916
+ /** the mcc file format version */
917
+ mcc_version?: number | (string & {});
918
+ /** the creation program */
919
+ creation_program?: string | number;
920
+ /** the creation time */
921
+ creation_time?: string | number;
922
+ };
923
+ /**
924
+ * MD5 testing
925
+ * @see https://ffmpeg.org/ffmpeg-formats.html#md5
926
+ */
927
+ md5: {
928
+ /** set hash to use */
929
+ hash?: string | number;
930
+ };
931
+ /**
932
+ * QuickTime / MOV
933
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mov
934
+ */
935
+ mov: {
936
+ /** Override major brand */
937
+ brand?: string | number;
938
+ /** write zero-length name string in hdlr atoms within mdia and minf atoms */
939
+ empty_hdlr_name?: boolean | (string & {});
940
+ /** The media encryption key (hex) */
941
+ encryption_key?: string | number;
942
+ /** The media encryption key identifier (hex) */
943
+ encryption_kid?: string | number;
944
+ /** Configures the encryption scheme, allowed values are none, cenc-aes-ctr */
945
+ encryption_scheme?: string | number;
946
+ /** Maximum fragment duration */
947
+ frag_duration?: number | (string & {});
948
+ /** Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) */
949
+ frag_interleave?: number | (string & {});
950
+ /** Maximum fragment size */
951
+ frag_size?: number | (string & {});
952
+ /** Fragment number of the next fragment */
953
+ fragment_index?: number | (string & {});
954
+ /** iods audio profile atom. */
955
+ iods_audio_profile?: number | (string & {});
956
+ /** iods video profile atom. */
957
+ iods_video_profile?: number | (string & {});
958
+ /** Number of lookahead entries for ISM files */
959
+ ism_lookahead?: number | (string & {});
960
+ /** MOV muxer flags */
961
+ movflags?: 'cmaf' | 'dash' | 'default_base_moof' | 'delay_moov' | 'disable_chpl' | 'empty_moov' | 'faststart' | 'frag_custom' | 'frag_discont' | 'frag_every_frame' | 'frag_keyframe' | 'global_sidx' | 'isml' | 'negative_cts_offsets' | 'omit_tfhd_offset' | 'prefer_icc' | 'rtphint' | 'separate_moof' | 'skip_sidx' | 'skip_trailer' | 'use_metadata_tags' | 'write_colr' | 'write_gama' | 'hybrid_fragmented' | (string & {}) | number;
962
+ /** maximum moov size so it can be placed at the begin */
963
+ moov_size?: number | (string & {});
964
+ /** Minimum fragment duration */
965
+ min_frag_duration?: number | (string & {});
966
+ /** gamma value for gama atom */
967
+ mov_gamma?: number | (string & {});
968
+ /** set movie timescale */
969
+ movie_timescale?: number | (string & {});
970
+ /** RTP muxer flags */
971
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
972
+ /** Skip writing iods atom. */
973
+ skip_iods?: boolean | (string & {});
974
+ /** use edit list */
975
+ use_editlist?: boolean | (string & {});
976
+ /** use stream ids as track ids */
977
+ use_stream_ids_as_track_ids?: boolean | (string & {});
978
+ /** set timescale of all video tracks */
979
+ video_track_timescale?: number | (string & {});
980
+ /** force or disable writing btrt */
981
+ write_btrt?: boolean | (string & {});
982
+ /** Write producer reference time box with specified time source */
983
+ write_prft?: 'pts' | 'wallclock' | (string & {}) | number;
984
+ /** force or disable writing tmcd */
985
+ write_tmcd?: boolean | (string & {});
986
+ };
987
+ /**
988
+ * MP3 (MPEG audio layer 3)
989
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mp3
990
+ */
991
+ mp3: {
992
+ /** Select ID3v2 version to write. Currently 3 and 4 are supported. */
993
+ id3v2_version?: number | (string & {});
994
+ /** Enable ID3v1 writing. ID3v1 tags are written in UTF-8 which may not be supported by most software. */
995
+ write_id3v1?: boolean | (string & {});
996
+ /** Write the Xing header containing file duration. */
997
+ write_xing?: boolean | (string & {});
998
+ };
999
+ /**
1000
+ * MP4 (MPEG-4 Part 14)
1001
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mp4
1002
+ */
1003
+ mp4: {
1004
+ /** Override major brand */
1005
+ brand?: string | number;
1006
+ /** write zero-length name string in hdlr atoms within mdia and minf atoms */
1007
+ empty_hdlr_name?: boolean | (string & {});
1008
+ /** The media encryption key (hex) */
1009
+ encryption_key?: string | number;
1010
+ /** The media encryption key identifier (hex) */
1011
+ encryption_kid?: string | number;
1012
+ /** Configures the encryption scheme, allowed values are none, cenc-aes-ctr */
1013
+ encryption_scheme?: string | number;
1014
+ /** Maximum fragment duration */
1015
+ frag_duration?: number | (string & {});
1016
+ /** Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) */
1017
+ frag_interleave?: number | (string & {});
1018
+ /** Maximum fragment size */
1019
+ frag_size?: number | (string & {});
1020
+ /** Fragment number of the next fragment */
1021
+ fragment_index?: number | (string & {});
1022
+ /** iods audio profile atom. */
1023
+ iods_audio_profile?: number | (string & {});
1024
+ /** iods video profile atom. */
1025
+ iods_video_profile?: number | (string & {});
1026
+ /** Number of lookahead entries for ISM files */
1027
+ ism_lookahead?: number | (string & {});
1028
+ /** MOV muxer flags */
1029
+ movflags?: 'cmaf' | 'dash' | 'default_base_moof' | 'delay_moov' | 'disable_chpl' | 'empty_moov' | 'faststart' | 'frag_custom' | 'frag_discont' | 'frag_every_frame' | 'frag_keyframe' | 'global_sidx' | 'isml' | 'negative_cts_offsets' | 'omit_tfhd_offset' | 'prefer_icc' | 'rtphint' | 'separate_moof' | 'skip_sidx' | 'skip_trailer' | 'use_metadata_tags' | 'write_colr' | 'write_gama' | 'hybrid_fragmented' | (string & {}) | number;
1030
+ /** maximum moov size so it can be placed at the begin */
1031
+ moov_size?: number | (string & {});
1032
+ /** Minimum fragment duration */
1033
+ min_frag_duration?: number | (string & {});
1034
+ /** gamma value for gama atom */
1035
+ mov_gamma?: number | (string & {});
1036
+ /** set movie timescale */
1037
+ movie_timescale?: number | (string & {});
1038
+ /** RTP muxer flags */
1039
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
1040
+ /** Skip writing iods atom. */
1041
+ skip_iods?: boolean | (string & {});
1042
+ /** use edit list */
1043
+ use_editlist?: boolean | (string & {});
1044
+ /** use stream ids as track ids */
1045
+ use_stream_ids_as_track_ids?: boolean | (string & {});
1046
+ /** set timescale of all video tracks */
1047
+ video_track_timescale?: number | (string & {});
1048
+ /** force or disable writing btrt */
1049
+ write_btrt?: boolean | (string & {});
1050
+ /** Write producer reference time box with specified time source */
1051
+ write_prft?: 'pts' | 'wallclock' | (string & {}) | number;
1052
+ /** force or disable writing tmcd */
1053
+ write_tmcd?: boolean | (string & {});
1054
+ };
1055
+ /**
1056
+ * MPEG-1 Systems / MPEG program stream
1057
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mpeg
1058
+ */
1059
+ mpeg: {
1060
+ /** mux rate as bits/s */
1061
+ muxrate?: number | (string & {});
1062
+ /** initial demux-decode delay in microseconds */
1063
+ preload?: number | (string & {});
1064
+ };
1065
+ /**
1066
+ * MPEG-TS (MPEG-2 Transport Stream)
1067
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mpegts
1068
+ */
1069
+ mpegts: {
1070
+ /** Set transport_stream_id field. */
1071
+ mpegts_transport_stream_id?: number | (string & {});
1072
+ /** Set original_network_id field. */
1073
+ mpegts_original_network_id?: number | (string & {});
1074
+ /** Set service_id field. */
1075
+ mpegts_service_id?: number | (string & {});
1076
+ /** Set service_type field. */
1077
+ mpegts_service_type?: 'digital_tv' | 'digital_radio' | 'teletext' | 'advanced_codec_digital_radio' | 'mpeg2_digital_hdtv' | 'advanced_codec_digital_sdtv' | 'advanced_codec_digital_hdtv' | 'hevc_digital_hdtv' | (string & {}) | number;
1078
+ /** Set the first pid of the PMT. */
1079
+ mpegts_pmt_start_pid?: number | (string & {});
1080
+ /** Set the first pid. */
1081
+ mpegts_start_pid?: number | (string & {});
1082
+ /** Enable m2ts mode. */
1083
+ mpegts_m2ts_mode?: boolean | (string & {});
1084
+ muxrate?: number | (string & {});
1085
+ /** Minimum PES packet payload in bytes */
1086
+ pes_payload_size?: number | (string & {});
1087
+ /** MPEG-TS muxing flags */
1088
+ mpegts_flags?: 'resend_headers' | 'latm' | 'pat_pmt_at_frames' | 'system_b' | 'initial_discontinuity' | 'nit' | 'omit_rai' | (string & {}) | number;
1089
+ /** don't offset dts/pts */
1090
+ mpegts_copyts?: boolean | (string & {});
1091
+ /** set PAT, PMT, SDT and NIT version */
1092
+ tables_version?: number | (string & {});
1093
+ /** Omit the PES packet length for video packets */
1094
+ omit_video_pes_length?: boolean | (string & {});
1095
+ /** PCR retransmission time in milliseconds */
1096
+ pcr_period?: number | (string & {});
1097
+ /** PAT/PMT retransmission time limit in seconds */
1098
+ pat_period?: string | number;
1099
+ /** SDT retransmission time limit in seconds */
1100
+ sdt_period?: string | number;
1101
+ /** NIT retransmission time limit in seconds */
1102
+ nit_period?: string | number;
1103
+ };
1104
+ /**
1105
+ * MIME multipart JPEG
1106
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mpjpeg
1107
+ */
1108
+ mpjpeg: {
1109
+ /** Boundary tag */
1110
+ boundary_tag?: string | number;
1111
+ };
1112
+ /**
1113
+ * MXF (Material eXchange Format)
1114
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mxf
1115
+ */
1116
+ mxf: {
1117
+ /** Force/set Signal Standard */
1118
+ signal_standard?: 'bt601' | 'bt1358' | 'smpte347m' | 'smpte274m' | 'smpte296m' | 'smpte349m' | 'smpte428' | (string & {}) | number;
1119
+ store_user_comments?: boolean | (string & {});
1120
+ };
1121
+ /**
1122
+ * MXF (Material eXchange Format) D-10 Mapping
1123
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mxf_005fd10
1124
+ */
1125
+ mxf_d10: {
1126
+ /** Force/set channelcount in generic sound essence descriptor */
1127
+ d10_channelcount?: number | (string & {});
1128
+ /** Force/set Signal Standard */
1129
+ signal_standard?: 'bt601' | 'bt1358' | 'smpte347m' | 'smpte274m' | 'smpte296m' | 'smpte349m' | 'smpte428' | (string & {}) | number;
1130
+ store_user_comments?: boolean | (string & {});
1131
+ };
1132
+ /**
1133
+ * MXF (Material eXchange Format) Operational Pattern Atom
1134
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mxf_005fopatom
1135
+ */
1136
+ mxf_opatom: {
1137
+ /** Audio edit rate for timecode */
1138
+ mxf_audio_edit_rate?: string | number;
1139
+ /** Force/set Signal Standard */
1140
+ signal_standard?: 'bt601' | 'bt1358' | 'smpte347m' | 'smpte274m' | 'smpte296m' | 'smpte349m' | 'smpte428' | (string & {}) | number;
1141
+ store_user_comments?: boolean | (string & {});
1142
+ };
1143
+ /**
1144
+ * NUT
1145
+ * @see https://ffmpeg.org/ffmpeg-formats.html#nut
1146
+ */
1147
+ nut: {
1148
+ /** NUT syncpoint behaviour */
1149
+ syncpoints?: 'default' | 'none' | 'timestamped' | (string & {}) | number;
1150
+ /** Write index */
1151
+ write_index?: boolean | (string & {});
1152
+ };
1153
+ /**
1154
+ * Ogg Audio
1155
+ * @see https://ffmpeg.org/ffmpeg-formats.html#oga
1156
+ */
1157
+ oga: {
1158
+ /** serial number offset */
1159
+ serial_offset?: number | (string & {});
1160
+ /** Set preferred Ogg page size. */
1161
+ oggpagesize?: number | (string & {});
1162
+ /** preferred page size in bytes */
1163
+ pagesize?: number | (string & {});
1164
+ /** preferred page duration, in microseconds */
1165
+ page_duration?: number | (string & {});
1166
+ };
1167
+ /**
1168
+ * Ogg
1169
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ogg
1170
+ */
1171
+ ogg: {
1172
+ /** serial number offset */
1173
+ serial_offset?: number | (string & {});
1174
+ /** Set preferred Ogg page size. */
1175
+ oggpagesize?: number | (string & {});
1176
+ /** preferred page size in bytes */
1177
+ pagesize?: number | (string & {});
1178
+ /** preferred page duration, in microseconds */
1179
+ page_duration?: number | (string & {});
1180
+ };
1181
+ /**
1182
+ * Ogg Video
1183
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ogv
1184
+ */
1185
+ ogv: {
1186
+ /** serial number offset */
1187
+ serial_offset?: number | (string & {});
1188
+ /** Set preferred Ogg page size. */
1189
+ oggpagesize?: number | (string & {});
1190
+ /** preferred page size in bytes */
1191
+ pagesize?: number | (string & {});
1192
+ /** preferred page duration, in microseconds */
1193
+ page_duration?: number | (string & {});
1194
+ };
1195
+ /**
1196
+ * Ogg Opus
1197
+ * @see https://ffmpeg.org/ffmpeg-formats.html#opus
1198
+ */
1199
+ opus: {
1200
+ /** serial number offset */
1201
+ serial_offset?: number | (string & {});
1202
+ /** Set preferred Ogg page size. */
1203
+ oggpagesize?: number | (string & {});
1204
+ /** preferred page size in bytes */
1205
+ pagesize?: number | (string & {});
1206
+ /** preferred page duration, in microseconds */
1207
+ page_duration?: number | (string & {});
1208
+ };
1209
+ /**
1210
+ * PlayDate Video
1211
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pdv
1212
+ */
1213
+ pdv: {
1214
+ /** maximum number of frames reserved in table (mandatory) */
1215
+ max_frames?: number | (string & {});
1216
+ };
1217
+ /**
1218
+ * PSP MP4 (MPEG-4 Part 14)
1219
+ * @see https://ffmpeg.org/ffmpeg-formats.html#psp
1220
+ */
1221
+ psp: {
1222
+ /** Override major brand */
1223
+ brand?: string | number;
1224
+ /** write zero-length name string in hdlr atoms within mdia and minf atoms */
1225
+ empty_hdlr_name?: boolean | (string & {});
1226
+ /** The media encryption key (hex) */
1227
+ encryption_key?: string | number;
1228
+ /** The media encryption key identifier (hex) */
1229
+ encryption_kid?: string | number;
1230
+ /** Configures the encryption scheme, allowed values are none, cenc-aes-ctr */
1231
+ encryption_scheme?: string | number;
1232
+ /** Maximum fragment duration */
1233
+ frag_duration?: number | (string & {});
1234
+ /** Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) */
1235
+ frag_interleave?: number | (string & {});
1236
+ /** Maximum fragment size */
1237
+ frag_size?: number | (string & {});
1238
+ /** Fragment number of the next fragment */
1239
+ fragment_index?: number | (string & {});
1240
+ /** iods audio profile atom. */
1241
+ iods_audio_profile?: number | (string & {});
1242
+ /** iods video profile atom. */
1243
+ iods_video_profile?: number | (string & {});
1244
+ /** Number of lookahead entries for ISM files */
1245
+ ism_lookahead?: number | (string & {});
1246
+ /** MOV muxer flags */
1247
+ movflags?: 'cmaf' | 'dash' | 'default_base_moof' | 'delay_moov' | 'disable_chpl' | 'empty_moov' | 'faststart' | 'frag_custom' | 'frag_discont' | 'frag_every_frame' | 'frag_keyframe' | 'global_sidx' | 'isml' | 'negative_cts_offsets' | 'omit_tfhd_offset' | 'prefer_icc' | 'rtphint' | 'separate_moof' | 'skip_sidx' | 'skip_trailer' | 'use_metadata_tags' | 'write_colr' | 'write_gama' | 'hybrid_fragmented' | (string & {}) | number;
1248
+ /** maximum moov size so it can be placed at the begin */
1249
+ moov_size?: number | (string & {});
1250
+ /** Minimum fragment duration */
1251
+ min_frag_duration?: number | (string & {});
1252
+ /** gamma value for gama atom */
1253
+ mov_gamma?: number | (string & {});
1254
+ /** set movie timescale */
1255
+ movie_timescale?: number | (string & {});
1256
+ /** RTP muxer flags */
1257
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
1258
+ /** Skip writing iods atom. */
1259
+ skip_iods?: boolean | (string & {});
1260
+ /** use edit list */
1261
+ use_editlist?: boolean | (string & {});
1262
+ /** use stream ids as track ids */
1263
+ use_stream_ids_as_track_ids?: boolean | (string & {});
1264
+ /** set timescale of all video tracks */
1265
+ video_track_timescale?: number | (string & {});
1266
+ /** force or disable writing btrt */
1267
+ write_btrt?: boolean | (string & {});
1268
+ /** Write producer reference time box with specified time source */
1269
+ write_prft?: 'pts' | 'wallclock' | (string & {}) | number;
1270
+ /** force or disable writing tmcd */
1271
+ write_tmcd?: boolean | (string & {});
1272
+ };
1273
+ /**
1274
+ * Pulse audio output
1275
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pulse
1276
+ */
1277
+ pulse: {
1278
+ /** set PulseAudio server */
1279
+ server?: string | number;
1280
+ /** set application name */
1281
+ name?: string | number;
1282
+ /** set stream description */
1283
+ stream_name?: string | number;
1284
+ /** set device name */
1285
+ device?: string | number;
1286
+ /** set buffer size in bytes */
1287
+ buffer_size?: number | (string & {});
1288
+ /** set buffer duration in millisecs */
1289
+ buffer_duration?: number | (string & {});
1290
+ /** set pre-buffering size */
1291
+ prebuf?: number | (string & {});
1292
+ /** set minimum request size */
1293
+ minreq?: number | (string & {});
1294
+ };
1295
+ /**
1296
+ * RTP output
1297
+ * @see https://ffmpeg.org/ffmpeg-formats.html#rtp
1298
+ */
1299
+ rtp: {
1300
+ /** RTP muxer flags */
1301
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
1302
+ /** Specify RTP payload type */
1303
+ payload_type?: number | (string & {});
1304
+ /** Stream identifier */
1305
+ ssrc?: number | (string & {});
1306
+ /** CNAME to include in RTCP SR packets */
1307
+ cname?: string | number;
1308
+ /** Starting sequence number */
1309
+ seq?: number | (string & {});
1310
+ };
1311
+ /**
1312
+ * RTP/mpegts output format
1313
+ * @see https://ffmpeg.org/ffmpeg-formats.html#rtp_005fmpegts
1314
+ */
1315
+ rtp_mpegts: {
1316
+ /** set list of options for the MPEG-TS muxer */
1317
+ mpegts_muxer_options?: string | number;
1318
+ /** set list of options for the RTP muxer */
1319
+ rtp_muxer_options?: string | number;
1320
+ };
1321
+ /**
1322
+ * segment
1323
+ * @see https://ffmpeg.org/ffmpeg-formats.html#segment
1324
+ */
1325
+ segment: {
1326
+ /** set reference stream */
1327
+ reference_stream?: string | number;
1328
+ /** set container format used for the segments */
1329
+ segment_format?: string | number;
1330
+ /** set list of options for the container format used for the segments */
1331
+ segment_format_options?: string | number;
1332
+ /** set the segment list filename */
1333
+ segment_list?: string | number;
1334
+ /** write a single file containing the header */
1335
+ segment_header_filename?: string | number;
1336
+ /** set flags affecting segment list generation */
1337
+ segment_list_flags?: 'cache' | 'live' | (string & {}) | number;
1338
+ /** set the maximum number of playlist entries */
1339
+ segment_list_size?: number | (string & {});
1340
+ /** set the segment list type */
1341
+ segment_list_type?: 'flat' | 'csv' | 'ext' | 'ffconcat' | 'm3u8' | 'hls' | (string & {}) | number;
1342
+ /** set segment to be cut at clocktime */
1343
+ segment_atclocktime?: boolean | (string & {});
1344
+ /** set segment clocktime offset */
1345
+ segment_clocktime_offset?: string | number;
1346
+ /** set segment clocktime wrapping duration */
1347
+ segment_clocktime_wrap_duration?: string | number;
1348
+ /** set segment duration */
1349
+ segment_time?: string | number;
1350
+ /** set approximation value used for the segment times */
1351
+ segment_time_delta?: string | number;
1352
+ /** set minimum segment duration */
1353
+ min_seg_duration?: string | number;
1354
+ /** set segment split time points */
1355
+ segment_times?: string | number;
1356
+ /** set segment split frame numbers */
1357
+ segment_frames?: string | number;
1358
+ /** set number after which the index wraps */
1359
+ segment_wrap?: number | (string & {});
1360
+ /** set base url prefix for segments */
1361
+ segment_list_entry_prefix?: string | number;
1362
+ /** set the sequence number of the first segment */
1363
+ segment_start_number?: number | (string & {});
1364
+ /** set the number of wrap before the first segment */
1365
+ segment_wrap_number?: number | (string & {});
1366
+ /** set filename expansion with strftime at segment creation */
1367
+ strftime?: boolean | (string & {});
1368
+ /** increment timecode between each segment */
1369
+ increment_tc?: boolean | (string & {});
1370
+ /** allow breaking segments on non-keyframes */
1371
+ break_non_keyframes?: boolean | (string & {});
1372
+ /** write header/trailer to each segment */
1373
+ individual_header_trailer?: boolean | (string & {});
1374
+ /** write a header to the first segment and a trailer to the last one */
1375
+ write_header_trailer?: boolean | (string & {});
1376
+ /** reset timestamps at the beginning of each segment */
1377
+ reset_timestamps?: boolean | (string & {});
1378
+ /** set initial timestamp offset */
1379
+ initial_offset?: string | number;
1380
+ /** allow writing empty 'filler' segments */
1381
+ write_empty_segments?: boolean | (string & {});
1382
+ };
1383
+ /**
1384
+ * Smooth Streaming Muxer
1385
+ * @see https://ffmpeg.org/ffmpeg-formats.html#smoothstreaming
1386
+ */
1387
+ smoothstreaming: {
1388
+ /** number of fragments kept in the manifest */
1389
+ window_size?: number | (string & {});
1390
+ /** number of fragments kept outside of the manifest before removing from disk */
1391
+ extra_window_size?: number | (string & {});
1392
+ /** number of lookahead fragments */
1393
+ lookahead_count?: number | (string & {});
1394
+ /** minimum fragment duration (in microseconds) */
1395
+ min_frag_duration?: number | (string & {});
1396
+ /** remove all fragments when finished */
1397
+ remove_at_exit?: boolean | (string & {});
1398
+ };
1399
+ /**
1400
+ * IEC 61937 (used on S/PDIF - IEC958)
1401
+ * @see https://ffmpeg.org/ffmpeg-formats.html#spdif
1402
+ */
1403
+ spdif: {
1404
+ /** IEC 61937 encapsulation flags */
1405
+ spdif_flags?: 'be' | (string & {}) | number;
1406
+ /** mux complete DTS frames in HD mode at the specified IEC958 rate (in Hz, default 0=disabled) */
1407
+ dtshd_rate?: number | (string & {});
1408
+ /** min secs to strip HD for after an overflow (-1: till the end, default 60) */
1409
+ dtshd_fallback_time?: number | (string & {});
1410
+ };
1411
+ /**
1412
+ * Ogg Speex
1413
+ * @see https://ffmpeg.org/ffmpeg-formats.html#spx
1414
+ */
1415
+ spx: {
1416
+ /** serial number offset */
1417
+ serial_offset?: number | (string & {});
1418
+ /** Set preferred Ogg page size. */
1419
+ oggpagesize?: number | (string & {});
1420
+ /** preferred page size in bytes */
1421
+ pagesize?: number | (string & {});
1422
+ /** preferred page duration, in microseconds */
1423
+ page_duration?: number | (string & {});
1424
+ };
1425
+ /**
1426
+ * streaming segment muxer
1427
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ssegment
1428
+ */
1429
+ ssegment: {
1430
+ /** set reference stream */
1431
+ reference_stream?: string | number;
1432
+ /** set container format used for the segments */
1433
+ segment_format?: string | number;
1434
+ /** set list of options for the container format used for the segments */
1435
+ segment_format_options?: string | number;
1436
+ /** set the segment list filename */
1437
+ segment_list?: string | number;
1438
+ /** write a single file containing the header */
1439
+ segment_header_filename?: string | number;
1440
+ /** set flags affecting segment list generation */
1441
+ segment_list_flags?: 'cache' | 'live' | (string & {}) | number;
1442
+ /** set the maximum number of playlist entries */
1443
+ segment_list_size?: number | (string & {});
1444
+ /** set the segment list type */
1445
+ segment_list_type?: 'flat' | 'csv' | 'ext' | 'ffconcat' | 'm3u8' | 'hls' | (string & {}) | number;
1446
+ /** set segment to be cut at clocktime */
1447
+ segment_atclocktime?: boolean | (string & {});
1448
+ /** set segment clocktime offset */
1449
+ segment_clocktime_offset?: string | number;
1450
+ /** set segment clocktime wrapping duration */
1451
+ segment_clocktime_wrap_duration?: string | number;
1452
+ /** set segment duration */
1453
+ segment_time?: string | number;
1454
+ /** set approximation value used for the segment times */
1455
+ segment_time_delta?: string | number;
1456
+ /** set minimum segment duration */
1457
+ min_seg_duration?: string | number;
1458
+ /** set segment split time points */
1459
+ segment_times?: string | number;
1460
+ /** set segment split frame numbers */
1461
+ segment_frames?: string | number;
1462
+ /** set number after which the index wraps */
1463
+ segment_wrap?: number | (string & {});
1464
+ /** set base url prefix for segments */
1465
+ segment_list_entry_prefix?: string | number;
1466
+ /** set the sequence number of the first segment */
1467
+ segment_start_number?: number | (string & {});
1468
+ /** set the number of wrap before the first segment */
1469
+ segment_wrap_number?: number | (string & {});
1470
+ /** set filename expansion with strftime at segment creation */
1471
+ strftime?: boolean | (string & {});
1472
+ /** increment timecode between each segment */
1473
+ increment_tc?: boolean | (string & {});
1474
+ /** allow breaking segments on non-keyframes */
1475
+ break_non_keyframes?: boolean | (string & {});
1476
+ /** write header/trailer to each segment */
1477
+ individual_header_trailer?: boolean | (string & {});
1478
+ /** write a header to the first segment and a trailer to the last one */
1479
+ write_header_trailer?: boolean | (string & {});
1480
+ /** reset timestamps at the beginning of each segment */
1481
+ reset_timestamps?: boolean | (string & {});
1482
+ /** set initial timestamp offset */
1483
+ initial_offset?: string | number;
1484
+ /** allow writing empty 'filler' segments */
1485
+ write_empty_segments?: boolean | (string & {});
1486
+ };
1487
+ /**
1488
+ * streaming segment muxer
1489
+ * @see https://ffmpeg.org/ffmpeg-formats.html#stream_005fsegment
1490
+ */
1491
+ stream_segment: {
1492
+ /** set reference stream */
1493
+ reference_stream?: string | number;
1494
+ /** set container format used for the segments */
1495
+ segment_format?: string | number;
1496
+ /** set list of options for the container format used for the segments */
1497
+ segment_format_options?: string | number;
1498
+ /** set the segment list filename */
1499
+ segment_list?: string | number;
1500
+ /** write a single file containing the header */
1501
+ segment_header_filename?: string | number;
1502
+ /** set flags affecting segment list generation */
1503
+ segment_list_flags?: 'cache' | 'live' | (string & {}) | number;
1504
+ /** set the maximum number of playlist entries */
1505
+ segment_list_size?: number | (string & {});
1506
+ /** set the segment list type */
1507
+ segment_list_type?: 'flat' | 'csv' | 'ext' | 'ffconcat' | 'm3u8' | 'hls' | (string & {}) | number;
1508
+ /** set segment to be cut at clocktime */
1509
+ segment_atclocktime?: boolean | (string & {});
1510
+ /** set segment clocktime offset */
1511
+ segment_clocktime_offset?: string | number;
1512
+ /** set segment clocktime wrapping duration */
1513
+ segment_clocktime_wrap_duration?: string | number;
1514
+ /** set segment duration */
1515
+ segment_time?: string | number;
1516
+ /** set approximation value used for the segment times */
1517
+ segment_time_delta?: string | number;
1518
+ /** set minimum segment duration */
1519
+ min_seg_duration?: string | number;
1520
+ /** set segment split time points */
1521
+ segment_times?: string | number;
1522
+ /** set segment split frame numbers */
1523
+ segment_frames?: string | number;
1524
+ /** set number after which the index wraps */
1525
+ segment_wrap?: number | (string & {});
1526
+ /** set base url prefix for segments */
1527
+ segment_list_entry_prefix?: string | number;
1528
+ /** set the sequence number of the first segment */
1529
+ segment_start_number?: number | (string & {});
1530
+ /** set the number of wrap before the first segment */
1531
+ segment_wrap_number?: number | (string & {});
1532
+ /** set filename expansion with strftime at segment creation */
1533
+ strftime?: boolean | (string & {});
1534
+ /** increment timecode between each segment */
1535
+ increment_tc?: boolean | (string & {});
1536
+ /** allow breaking segments on non-keyframes */
1537
+ break_non_keyframes?: boolean | (string & {});
1538
+ /** write header/trailer to each segment */
1539
+ individual_header_trailer?: boolean | (string & {});
1540
+ /** write a header to the first segment and a trailer to the last one */
1541
+ write_header_trailer?: boolean | (string & {});
1542
+ /** reset timestamps at the beginning of each segment */
1543
+ reset_timestamps?: boolean | (string & {});
1544
+ /** set initial timestamp offset */
1545
+ initial_offset?: string | number;
1546
+ /** allow writing empty 'filler' segments */
1547
+ write_empty_segments?: boolean | (string & {});
1548
+ };
1549
+ /**
1550
+ * Per-stream hash testing
1551
+ * @see https://ffmpeg.org/ffmpeg-formats.html#streamhash
1552
+ */
1553
+ streamhash: {
1554
+ /** set hash to use */
1555
+ hash?: string | number;
1556
+ };
1557
+ /**
1558
+ * MPEG-2 PS (SVCD)
1559
+ * @see https://ffmpeg.org/ffmpeg-formats.html#svcd
1560
+ */
1561
+ svcd: {
1562
+ /** mux rate as bits/s */
1563
+ muxrate?: number | (string & {});
1564
+ /** initial demux-decode delay in microseconds */
1565
+ preload?: number | (string & {});
1566
+ };
1567
+ /**
1568
+ * Multiple muxer tee
1569
+ * @see https://ffmpeg.org/ffmpeg-formats.html#tee
1570
+ */
1571
+ tee: {
1572
+ /** Use fifo pseudo-muxer to separate actual muxers from encoder */
1573
+ use_fifo?: boolean | (string & {});
1574
+ /** fifo pseudo-muxer options */
1575
+ fifo_options?: string | number;
1576
+ };
1577
+ /**
1578
+ * MPEG-1 Systems / MPEG program stream (VCD)
1579
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vcd
1580
+ */
1581
+ vcd: {
1582
+ /** mux rate as bits/s */
1583
+ muxrate?: number | (string & {});
1584
+ /** initial demux-decode delay in microseconds */
1585
+ preload?: number | (string & {});
1586
+ };
1587
+ /**
1588
+ * MPEG-2 PS (VOB)
1589
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vob
1590
+ */
1591
+ vob: {
1592
+ /** mux rate as bits/s */
1593
+ muxrate?: number | (string & {});
1594
+ /** initial demux-decode delay in microseconds */
1595
+ preload?: number | (string & {});
1596
+ };
1597
+ /**
1598
+ * WAV / WAVE (Waveform Audio)
1599
+ * @see https://ffmpeg.org/ffmpeg-formats.html#wav
1600
+ */
1601
+ wav: {
1602
+ /** Write BEXT chunk. */
1603
+ write_bext?: boolean | (string & {});
1604
+ /** Write Peak Envelope chunk. */
1605
+ write_peak?: 'off' | 'on' | 'only' | (string & {}) | number;
1606
+ /** Use RF64 header rather than RIFF for large files. */
1607
+ rf64?: 'auto' | 'always' | 'never' | (string & {}) | number;
1608
+ /** Number of audio samples used to generate each peak frame. */
1609
+ peak_block_size?: number | (string & {});
1610
+ /** The format of the peak envelope data (1: uint8, 2: uint16). */
1611
+ peak_format?: number | (string & {});
1612
+ /** Number of peak points per peak value (1 or 2). */
1613
+ peak_ppv?: number | (string & {});
1614
+ };
1615
+ /**
1616
+ * WebM
1617
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webm
1618
+ */
1619
+ webm: {
1620
+ /** reserve a given amount of space (in bytes) at the beginning of the file for the index (cues) */
1621
+ reserve_index_space?: number | (string & {});
1622
+ /** move Cues (the index) to the front by shifting data if necessary */
1623
+ cues_to_front?: boolean | (string & {});
1624
+ /** store at most the provided amount of bytes in a cluster */
1625
+ cluster_size_limit?: number | (string & {});
1626
+ /** store at most the provided number of milliseconds in a cluster */
1627
+ cluster_time_limit?: number | (string & {});
1628
+ /** create a WebM file conforming to WebM DASH specification */
1629
+ dash?: boolean | (string & {});
1630
+ /** track number for the DASH stream */
1631
+ dash_track_number?: number | (string & {});
1632
+ /** write files assuming it is a live stream */
1633
+ live?: boolean | (string & {});
1634
+ /** allow raw VFW mode */
1635
+ allow_raw_vfw?: boolean | (string & {});
1636
+ /** store raw RGB bitmaps in VFW mode in bottom-up mode */
1637
+ flipped_raw_rgb?: boolean | (string & {});
1638
+ /** write a CRC32 element inside every Level 1 element */
1639
+ write_crc32?: boolean | (string & {});
1640
+ /** control how a track's FlagDefault is inferred */
1641
+ default_mode?: 'infer' | 'infer_no_subs' | 'passthrough' | (string & {}) | number;
1642
+ };
1643
+ /**
1644
+ * WebM Chunk Muxer
1645
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webm_005fchunk
1646
+ */
1647
+ webm_chunk: {
1648
+ /** start index of the chunk */
1649
+ chunk_start_index?: number | (string & {});
1650
+ /** filename of the header where the initialization data will be written */
1651
+ header?: string | number;
1652
+ /** duration of each chunk in milliseconds */
1653
+ audio_chunk_duration?: number | (string & {});
1654
+ /** set the HTTP method */
1655
+ method?: string | number;
1656
+ };
1657
+ /**
1658
+ * WebM DASH Manifest
1659
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webm_005fdash_005fmanifest
1660
+ */
1661
+ webm_dash_manifest: {
1662
+ /** Adaptation sets. Syntax: id=0,streams=0,1,2 id=1,streams=3,4 and so on */
1663
+ adaptation_sets?: string | number;
1664
+ /** create a live stream manifest */
1665
+ live?: boolean | (string & {});
1666
+ /** start index of the chunk */
1667
+ chunk_start_index?: number | (string & {});
1668
+ /** duration of each chunk (in milliseconds) */
1669
+ chunk_duration_ms?: number | (string & {});
1670
+ /** URL of the page that will return the UTC timestamp in ISO format */
1671
+ utc_timing_url?: string | number;
1672
+ /** Smallest time (in seconds) shifting buffer for which any Representation is guaranteed to be available. */
1673
+ time_shift_buffer_depth?: number | (string & {});
1674
+ /** Minimum Update Period (in seconds) of the manifest. */
1675
+ minimum_update_period?: number | (string & {});
1676
+ };
1677
+ /**
1678
+ * WebP
1679
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webp
1680
+ */
1681
+ webp: {
1682
+ /** Number of times to loop the output: 0 - infinite loop */
1683
+ loop?: number | (string & {});
1684
+ };
1685
+ /**
1686
+ * WHIP(WebRTC-HTTP ingestion protocol) muxer
1687
+ * @see https://ffmpeg.org/ffmpeg-formats.html#whip
1688
+ */
1689
+ whip: {
1690
+ /** Timeout in milliseconds for ICE and DTLS handshake. */
1691
+ handshake_timeout?: number | (string & {});
1692
+ /** Set timeout for socket I/O operations */
1693
+ timeout?: string | number;
1694
+ /** The maximum size, in bytes, of RTP packets that send out */
1695
+ pkt_size?: number | (string & {});
1696
+ /** The buffer size, in bytes, of underlying protocol */
1697
+ ts_buffer_size?: number | (string & {});
1698
+ /** Set flags affecting WHIP connection behavior */
1699
+ whip_flags?: 'dtls_active' | (string & {}) | number;
1700
+ /** The number of RTP history items to store */
1701
+ rtp_history?: number | (string & {});
1702
+ /** The optional Bearer token for WHIP Authorization */
1703
+ authorization?: string | number;
1704
+ /** The optional certificate file path for DTLS */
1705
+ cert_file?: string | number;
1706
+ /** The optional private key file path for DTLS */
1707
+ key_file?: string | number;
1708
+ };
1709
+ /**
1710
+ * XV (XVideo) output device
1711
+ * @see https://ffmpeg.org/ffmpeg-formats.html#xv
1712
+ */
1713
+ xv: {
1714
+ /** set display name */
1715
+ display_name?: string | number;
1716
+ /** set existing window id */
1717
+ window_id?: number | (string & {});
1718
+ /** set window forced size */
1719
+ window_size?: string | number;
1720
+ /** set window title */
1721
+ window_title?: string | number;
1722
+ /** set window x offset */
1723
+ window_x?: number | (string & {});
1724
+ /** set window y offset */
1725
+ window_y?: number | (string & {});
1726
+ };
1727
+ }
1728
+ export interface DemuxerPrivateOptionsMap {
1729
+ /**
1730
+ * QuickTime / MOV
1731
+ * @see https://ffmpeg.org/ffmpeg-formats.html#3g2
1732
+ */
1733
+ '3g2': {
1734
+ /** allow using absolute path when opening alias, this is a possible security issue */
1735
+ use_absolute_path?: boolean | (string & {});
1736
+ /** Seek each stream individually to the closest point */
1737
+ seek_streams_individually?: boolean | (string & {});
1738
+ /** Ignore the edit list atom. */
1739
+ ignore_editlist?: boolean | (string & {});
1740
+ /** Modify the AVIndex according to the editlists. Use this option to decode in the order specified by the edits. */
1741
+ advanced_editlist?: boolean | (string & {});
1742
+ ignore_chapters?: boolean | (string & {});
1743
+ /** use mfra for fragment timestamps */
1744
+ use_mfra_for?: 'auto' | 'dts' | 'pts' | (string & {}) | number;
1745
+ /** use tfdt for fragment timestamps */
1746
+ use_tfdt?: boolean | (string & {});
1747
+ /** Export unrecognized metadata entries */
1748
+ export_all?: boolean | (string & {});
1749
+ /** Export full XMP metadata */
1750
+ export_xmp?: boolean | (string & {});
1751
+ /** Secret bytes for Audible AAX files */
1752
+ activation_bytes?: string | number;
1753
+ /** AES-128 Key for Audible AAXC files */
1754
+ audible_key?: string | number;
1755
+ /** AES-128 IV for Audible AAXC files */
1756
+ audible_iv?: string | number;
1757
+ /** Fixed key used for handling Audible AAX files */
1758
+ audible_fixed_key?: string | number;
1759
+ /** The default media decryption key (hex) */
1760
+ decryption_key?: string | number;
1761
+ /** The media decryption keys by KID (hex) */
1762
+ decryption_keys?: string | number;
1763
+ /** Enable external track support. */
1764
+ enable_drefs?: boolean | (string & {});
1765
+ /** treat offsets above this value as invalid */
1766
+ max_stts_delta?: number | (string & {});
1767
+ /** Interleave packets from multiple tracks at demuxer level */
1768
+ interleaved_read?: boolean | (string & {});
1769
+ };
1770
+ /**
1771
+ * QuickTime / MOV
1772
+ * @see https://ffmpeg.org/ffmpeg-formats.html#3gp
1773
+ */
1774
+ '3gp': {
1775
+ /** allow using absolute path when opening alias, this is a possible security issue */
1776
+ use_absolute_path?: boolean | (string & {});
1777
+ /** Seek each stream individually to the closest point */
1778
+ seek_streams_individually?: boolean | (string & {});
1779
+ /** Ignore the edit list atom. */
1780
+ ignore_editlist?: boolean | (string & {});
1781
+ /** Modify the AVIndex according to the editlists. Use this option to decode in the order specified by the edits. */
1782
+ advanced_editlist?: boolean | (string & {});
1783
+ ignore_chapters?: boolean | (string & {});
1784
+ /** use mfra for fragment timestamps */
1785
+ use_mfra_for?: 'auto' | 'dts' | 'pts' | (string & {}) | number;
1786
+ /** use tfdt for fragment timestamps */
1787
+ use_tfdt?: boolean | (string & {});
1788
+ /** Export unrecognized metadata entries */
1789
+ export_all?: boolean | (string & {});
1790
+ /** Export full XMP metadata */
1791
+ export_xmp?: boolean | (string & {});
1792
+ /** Secret bytes for Audible AAX files */
1793
+ activation_bytes?: string | number;
1794
+ /** AES-128 Key for Audible AAXC files */
1795
+ audible_key?: string | number;
1796
+ /** AES-128 IV for Audible AAXC files */
1797
+ audible_iv?: string | number;
1798
+ /** Fixed key used for handling Audible AAX files */
1799
+ audible_fixed_key?: string | number;
1800
+ /** The default media decryption key (hex) */
1801
+ decryption_key?: string | number;
1802
+ /** The media decryption keys by KID (hex) */
1803
+ decryption_keys?: string | number;
1804
+ /** Enable external track support. */
1805
+ enable_drefs?: boolean | (string & {});
1806
+ /** treat offsets above this value as invalid */
1807
+ max_stts_delta?: number | (string & {});
1808
+ /** Interleave packets from multiple tracks at demuxer level */
1809
+ interleaved_read?: boolean | (string & {});
1810
+ };
1811
+ /**
1812
+ * Audible AA format files
1813
+ * @see https://ffmpeg.org/ffmpeg-formats.html#aa
1814
+ */
1815
+ aa: {
1816
+ /** Fixed key used for handling Audible AA files */
1817
+ aa_fixed_key?: string | number;
1818
+ };
1819
+ /**
1820
+ * ALSA audio input
1821
+ * @see https://ffmpeg.org/ffmpeg-formats.html#alsa
1822
+ */
1823
+ alsa: {
1824
+ sample_rate?: number | (string & {});
1825
+ channels?: number | (string & {});
1826
+ ch_layout?: string | number;
1827
+ };
1828
+ /**
1829
+ * Android camera input device
1830
+ * @see https://ffmpeg.org/ffmpeg-formats.html#android_005fcamera
1831
+ */
1832
+ android_camera: {
1833
+ /** set video size given as a string such as 640x480 or hd720 */
1834
+ video_size?: string | number;
1835
+ /** set video frame rate */
1836
+ framerate?: string | number;
1837
+ /** set index of camera to use */
1838
+ camera_index?: number | (string & {});
1839
+ /** set maximum number of frames to buffer */
1840
+ input_queue_size?: number | (string & {});
1841
+ };
1842
+ /**
1843
+ * Animated Portable Network Graphics
1844
+ * @see https://ffmpeg.org/ffmpeg-formats.html#apng
1845
+ */
1846
+ apng: {
1847
+ /** ignore loop setting */
1848
+ ignore_loop?: boolean | (string & {});
1849
+ /** maximum framerate (0 is no limit) */
1850
+ max_fps?: number | (string & {});
1851
+ /** default framerate (0 is as fast as possible) */
1852
+ default_fps?: number | (string & {});
1853
+ };
1854
+ /**
1855
+ * raw aptX
1856
+ * @see https://ffmpeg.org/ffmpeg-formats.html#aptx
1857
+ */
1858
+ aptx: {
1859
+ sample_rate?: number | (string & {});
1860
+ };
1861
+ /**
1862
+ * raw aptX HD
1863
+ * @see https://ffmpeg.org/ffmpeg-formats.html#aptx_005fhd
1864
+ */
1865
+ aptx_hd: {
1866
+ sample_rate?: number | (string & {});
1867
+ };
1868
+ /**
1869
+ * APV raw bitstream
1870
+ * @see https://ffmpeg.org/ffmpeg-formats.html#apv
1871
+ */
1872
+ apv: {
1873
+ /** set frame rate */
1874
+ framerate?: string | number;
1875
+ };
1876
+ /**
1877
+ * AQTitle subtitles
1878
+ * @see https://ffmpeg.org/ffmpeg-formats.html#aqtitle
1879
+ */
1880
+ aqtitle: {
1881
+ /** set the movie frame rate */
1882
+ subfps?: string | number;
1883
+ };
1884
+ /**
1885
+ * ASF (Advanced / Active Streaming Format)
1886
+ * @see https://ffmpeg.org/ffmpeg-formats.html#asf
1887
+ */
1888
+ asf: {
1889
+ /** Don't try to resynchronize by looking for a certain optional start code */
1890
+ no_resync_search?: boolean | (string & {});
1891
+ /** Export full XMP metadata */
1892
+ export_xmp?: boolean | (string & {});
1893
+ };
1894
+ /**
1895
+ * AV1 Annex B
1896
+ * @see https://ffmpeg.org/ffmpeg-formats.html#av1
1897
+ */
1898
+ av1: {
1899
+ framerate?: string | number;
1900
+ };
1901
+ /**
1902
+ * AVFoundation input device
1903
+ * @see https://ffmpeg.org/ffmpeg-formats.html#avfoundation
1904
+ */
1905
+ avfoundation: {
1906
+ /** list available devices */
1907
+ list_devices?: boolean | (string & {});
1908
+ /** select video device by index for devices with same name (starts at 0) */
1909
+ video_device_index?: number | (string & {});
1910
+ /** select audio device by index for devices with same name (starts at 0) */
1911
+ audio_device_index?: number | (string & {});
1912
+ /** set pixel format */
1913
+ pixel_format?: string | number;
1914
+ /** set frame rate */
1915
+ framerate?: string | number;
1916
+ /** set video size */
1917
+ video_size?: string | number;
1918
+ /** capture the screen cursor */
1919
+ capture_cursor?: boolean | (string & {});
1920
+ /** capture the screen mouse clicks */
1921
+ capture_mouse_clicks?: boolean | (string & {});
1922
+ /** capture the raw data from device connection */
1923
+ capture_raw_data?: boolean | (string & {});
1924
+ /** drop frames that are available later than expected */
1925
+ drop_late_frames?: boolean | (string & {});
1926
+ /** capture system audio via ScreenCaptureKit (macOS 13.0+) */
1927
+ capture_system_audio?: boolean | (string & {});
1928
+ /** exclude current process audio from system audio capture */
1929
+ exclude_process_audio?: boolean | (string & {});
1930
+ /** set system audio sample rate (8000/16000/24000/48000) */
1931
+ sck_audio_sample_rate?: number | (string & {});
1932
+ /** set system audio channel count (1=mono, 2=stereo) */
1933
+ sck_audio_channels?: number | (string & {});
1934
+ /** capture a specific window by ID via ScreenCaptureKit (0=disabled) */
1935
+ capture_window_id?: number | (string & {});
1936
+ };
1937
+ /**
1938
+ * AVI (Audio Video Interleaved)
1939
+ * @see https://ffmpeg.org/ffmpeg-formats.html#avi
1940
+ */
1941
+ avi: {
1942
+ /** use odml index */
1943
+ use_odml?: boolean | (string & {});
1944
+ };
1945
+ /**
1946
+ * AviSynth script
1947
+ * @see https://ffmpeg.org/ffmpeg-formats.html#avisynth
1948
+ */
1949
+ avisynth: {
1950
+ /** set flags related to reading frame properties from script (AviSynth+ v3.7.1 or higher) */
1951
+ avisynth_flags?: 'field_order' | 'range' | 'primaries' | 'transfer' | 'matrix' | 'chroma_location' | 'sar' | (string & {}) | number;
1952
+ };
1953
+ /**
1954
+ * Commodore CDXL video
1955
+ * @see https://ffmpeg.org/ffmpeg-formats.html#cdxl
1956
+ */
1957
+ cdxl: {
1958
+ sample_rate?: number | (string & {});
1959
+ frame_rate?: string | number;
1960
+ };
1961
+ /**
1962
+ * codec2 .c2 demuxer
1963
+ * @see https://ffmpeg.org/ffmpeg-formats.html#codec2
1964
+ */
1965
+ codec2: {
1966
+ /** Number of frames to read at a time. Higher = faster decoding, lower granularity */
1967
+ frames_per_packet?: number | (string & {});
1968
+ };
1969
+ /**
1970
+ * raw codec2 demuxer
1971
+ * @see https://ffmpeg.org/ffmpeg-formats.html#codec2raw
1972
+ */
1973
+ codec2raw: {
1974
+ /** Number of frames to read at a time. Higher = faster decoding, lower granularity */
1975
+ frames_per_packet?: number | (string & {});
1976
+ };
1977
+ /**
1978
+ * Virtual concatenation script
1979
+ * @see https://ffmpeg.org/ffmpeg-formats.html#concat
1980
+ */
1981
+ concat: {
1982
+ /** enable safe mode */
1983
+ safe?: boolean | (string & {});
1984
+ /** automatically convert bitstream format */
1985
+ auto_convert?: boolean | (string & {});
1986
+ /** output file segment start time and duration as packet metadata */
1987
+ segment_time_metadata?: boolean | (string & {});
1988
+ };
1989
+ /**
1990
+ * Dynamic Adaptive Streaming over HTTP
1991
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dash
1992
+ */
1993
+ dash: {
1994
+ /** List of file extensions that dash is allowed to access */
1995
+ allowed_extensions?: string | number;
1996
+ /** Media default decryption key (hex) */
1997
+ cenc_decryption_key?: string | number;
1998
+ /** Media decryption keys by KID (hex) */
1999
+ cenc_decryption_keys?: string | number;
2000
+ /** Maximum number of manifest reloads in get_current_fragment() before giving up */
2001
+ max_reload?: number | (string & {});
2002
+ };
2003
+ /**
2004
+ * raw data
2005
+ * @see https://ffmpeg.org/ffmpeg-formats.html#data
2006
+ */
2007
+ data: {
2008
+ raw_packet_size?: number | (string & {});
2009
+ };
2010
+ /**
2011
+ * Blackmagic DeckLink input
2012
+ * @see https://ffmpeg.org/ffmpeg-formats.html#decklink
2013
+ */
2014
+ decklink: {
2015
+ /** use ffmpeg -sources decklink instead */
2016
+ list_devices?: boolean | (string & {});
2017
+ /** list supported formats */
2018
+ list_formats?: number | (string & {});
2019
+ /** set format by fourcc */
2020
+ format_code?: string | number;
2021
+ /** pixel format to be returned by the card when capturing */
2022
+ raw_format?: 'auto' | 'uyvy422' | 'yuv422p10' | 'argb' | 'bgra' | 'rgb10' | (string & {}) | number;
2023
+ /** output klv if present in vanc */
2024
+ enable_klv?: boolean | (string & {});
2025
+ /** teletext lines bitmask */
2026
+ teletext_lines?: 'standard' | 'all' | (string & {}) | number;
2027
+ /** number of audio channels */
2028
+ channels?: number | (string & {});
2029
+ /** duplex mode */
2030
+ duplex_mode?: 'unset' | 'half' | 'full' | 'one_sub_device_full' | 'one_sub_device_half' | 'two_sub_device_full' | 'four_sub_device_half' | (string & {}) | number;
2031
+ /** timecode format */
2032
+ timecode_format?: 'none' | 'rp188vitc' | 'rp188vitc2' | 'rp188ltc' | 'rp188any' | 'vitc' | 'vitc2' | 'serial' | 'rp188hfr' | (string & {}) | number;
2033
+ /** video input */
2034
+ video_input?: 'unset' | 'sdi' | 'hdmi' | 'optical_sdi' | 'component' | 'composite' | 's_video' | (string & {}) | number;
2035
+ /** audio input */
2036
+ audio_input?: 'unset' | 'embedded' | 'aes_ebu' | 'analog' | 'analog_xlr' | 'analog_rca' | 'microphone' | (string & {}) | number;
2037
+ /** audio pts source */
2038
+ audio_pts?: 'audio' | 'video' | 'reference' | 'wallclock' | 'abs_wallclock' | (string & {}) | number;
2039
+ /** video pts source */
2040
+ video_pts?: 'audio' | 'video' | 'reference' | 'wallclock' | 'abs_wallclock' | (string & {}) | number;
2041
+ /** use option signal_loss_action instead */
2042
+ draw_bars?: boolean | (string & {});
2043
+ /** input queue buffer size */
2044
+ queue_size?: number | (string & {});
2045
+ /** audio bitdepth (16 or 32) */
2046
+ audio_depth?: number | (string & {});
2047
+ /** copy timestamps, do not remove the initial offset */
2048
+ decklink_copyts?: boolean | (string & {});
2049
+ /** capture start time alignment (in seconds) */
2050
+ timestamp_align?: string | number;
2051
+ /** drop frames till a frame with timecode is received. TC format must be set */
2052
+ wait_for_tc?: boolean | (string & {});
2053
+ /** action on signal loss */
2054
+ signal_loss_action?: 'none' | 'bars' | 'repeat' | (string & {}) | number;
2055
+ };
2056
+ /**
2057
+ * raw DFPWM1a
2058
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dfpwm
2059
+ */
2060
+ dfpwm: {
2061
+ sample_rate?: number | (string & {});
2062
+ ch_layout?: string | number;
2063
+ };
2064
+ /**
2065
+ * DirectShow capture
2066
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dshow
2067
+ */
2068
+ dshow: {
2069
+ /** set video size given a string such as 640x480 or hd720. */
2070
+ video_size?: string | number;
2071
+ /** set video pixel format */
2072
+ pixel_format?: string | number;
2073
+ /** set video frame rate */
2074
+ framerate?: string | number;
2075
+ /** set audio sample rate */
2076
+ sample_rate?: number | (string & {});
2077
+ /** set audio sample size */
2078
+ sample_size?: number | (string & {});
2079
+ /** set number of audio channels, such as 1 or 2 */
2080
+ channels?: number | (string & {});
2081
+ /** set audio device buffer latency size in milliseconds (default is the device's default) */
2082
+ audio_buffer_size?: number | (string & {});
2083
+ /** list available devices */
2084
+ list_devices?: boolean | (string & {});
2085
+ /** list available options for specified device */
2086
+ list_options?: boolean | (string & {});
2087
+ /** set video device number for devices with same name (starts at 0) */
2088
+ video_device_number?: number | (string & {});
2089
+ /** set audio device number for devices with same name (starts at 0) */
2090
+ audio_device_number?: number | (string & {});
2091
+ /** select video capture pin by name */
2092
+ video_pin_name?: string | number;
2093
+ /** select audio capture pin by name */
2094
+ audio_pin_name?: string | number;
2095
+ /** set video input pin number for crossbar device */
2096
+ crossbar_video_input_pin_number?: number | (string & {});
2097
+ /** set audio input pin number for crossbar device */
2098
+ crossbar_audio_input_pin_number?: number | (string & {});
2099
+ /** display property dialog for video capture device */
2100
+ show_video_device_dialog?: boolean | (string & {});
2101
+ /** display property dialog for audio capture device */
2102
+ show_audio_device_dialog?: boolean | (string & {});
2103
+ /** display property dialog for crossbar connecting pins filter on video device */
2104
+ show_video_crossbar_connection_dialog?: boolean | (string & {});
2105
+ /** display property dialog for crossbar connecting pins filter on audio device */
2106
+ show_audio_crossbar_connection_dialog?: boolean | (string & {});
2107
+ /** display property dialog for analog tuner filter */
2108
+ show_analog_tv_tuner_dialog?: boolean | (string & {});
2109
+ /** display property dialog for analog tuner audio filter */
2110
+ show_analog_tv_tuner_audio_dialog?: boolean | (string & {});
2111
+ /** load audio capture filter device (and properties) from file */
2112
+ audio_device_load?: string | number;
2113
+ /** save audio capture filter device (and properties) to file */
2114
+ audio_device_save?: string | number;
2115
+ /** load video capture filter device (and properties) from file */
2116
+ video_device_load?: string | number;
2117
+ /** save video capture filter device (and properties) to file */
2118
+ video_device_save?: string | number;
2119
+ /** use device instead of wallclock timestamps for video frames */
2120
+ use_video_device_timestamps?: boolean | (string & {});
2121
+ };
2122
+ /**
2123
+ * DVD-Video
2124
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dvdvideo
2125
+ */
2126
+ dvdvideo: {
2127
+ /** playback angle number */
2128
+ angle?: number | (string & {});
2129
+ /** exit chapter (PTT) number (0=end) */
2130
+ chapter_end?: number | (string & {});
2131
+ /** entry chapter (PTT) number */
2132
+ chapter_start?: number | (string & {});
2133
+ /** demux menu domain */
2134
+ menu?: boolean | (string & {});
2135
+ /** menu language unit */
2136
+ menu_lu?: number | (string & {});
2137
+ /** menu VTS (0=VMG root menu) */
2138
+ menu_vts?: number | (string & {});
2139
+ /** entry PG number (when paired with PGC number) */
2140
+ pg?: number | (string & {});
2141
+ /** entry PGC number (0=auto) */
2142
+ pgc?: number | (string & {});
2143
+ /** enable for accurate chapter markers, slow (2-pass read) */
2144
+ preindex?: boolean | (string & {});
2145
+ /** playback region number (0=free) */
2146
+ region?: number | (string & {});
2147
+ /** title number (0=auto) */
2148
+ title?: number | (string & {});
2149
+ /** trim padding cells from start */
2150
+ trim?: boolean | (string & {});
2151
+ };
2152
+ /**
2153
+ * Electronic Arts Multimedia
2154
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ea
2155
+ */
2156
+ ea: {
2157
+ /** return VP6 alpha in the main video stream */
2158
+ merge_alpha?: boolean | (string & {});
2159
+ };
2160
+ /**
2161
+ * EVC Annex B
2162
+ * @see https://ffmpeg.org/ffmpeg-formats.html#evc
2163
+ */
2164
+ evc: {
2165
+ framerate?: string | number;
2166
+ };
2167
+ /**
2168
+ * Linux framebuffer
2169
+ * @see https://ffmpeg.org/ffmpeg-formats.html#fbdev
2170
+ */
2171
+ fbdev: {
2172
+ framerate?: string | number;
2173
+ };
2174
+ /**
2175
+ * Flexible Image Transport System
2176
+ * @see https://ffmpeg.org/ffmpeg-formats.html#fits
2177
+ */
2178
+ fits: {
2179
+ /** set the framerate */
2180
+ framerate?: string | number;
2181
+ };
2182
+ /**
2183
+ * FLV (Flash Video)
2184
+ * @see https://ffmpeg.org/ffmpeg-formats.html#flv
2185
+ */
2186
+ flv: {
2187
+ /** Allocate streams according to the onMetaData array */
2188
+ flv_metadata?: boolean | (string & {});
2189
+ /** Dump full metadata of the onMetadata */
2190
+ flv_full_metadata?: boolean | (string & {});
2191
+ /** Ignore the Size of previous tag */
2192
+ flv_ignore_prevtag?: boolean | (string & {});
2193
+ };
2194
+ /**
2195
+ * raw big-endian G.726 (\"left aligned\")
2196
+ * @see https://ffmpeg.org/ffmpeg-formats.html#g726
2197
+ */
2198
+ g726: {
2199
+ /** Bits per G.726 code */
2200
+ code_size?: number | (string & {});
2201
+ sample_rate?: number | (string & {});
2202
+ };
2203
+ /**
2204
+ * raw little-endian G.726 (\"right aligned\")
2205
+ * @see https://ffmpeg.org/ffmpeg-formats.html#g726le
2206
+ */
2207
+ g726le: {
2208
+ /** Bits per G.726 code */
2209
+ code_size?: number | (string & {});
2210
+ sample_rate?: number | (string & {});
2211
+ };
2212
+ /**
2213
+ * G.729 raw format demuxer
2214
+ * @see https://ffmpeg.org/ffmpeg-formats.html#g729
2215
+ */
2216
+ g729: {
2217
+ bit_rate?: number | (string & {});
2218
+ };
2219
+ /**
2220
+ * GDI API Windows frame grabber
2221
+ * @see https://ffmpeg.org/ffmpeg-formats.html#gdigrab
2222
+ */
2223
+ gdigrab: {
2224
+ /** draw the mouse pointer */
2225
+ draw_mouse?: number | (string & {});
2226
+ /** draw border around capture area */
2227
+ show_region?: number | (string & {});
2228
+ /** set video frame rate */
2229
+ framerate?: string | number;
2230
+ /** set video frame size */
2231
+ video_size?: string | number;
2232
+ /** capture area x offset */
2233
+ offset_x?: number | (string & {});
2234
+ /** capture area y offset */
2235
+ offset_y?: number | (string & {});
2236
+ };
2237
+ /**
2238
+ * CompuServe Graphics Interchange Format (GIF)
2239
+ * @see https://ffmpeg.org/ffmpeg-formats.html#gif
2240
+ */
2241
+ gif: {
2242
+ /** minimum valid delay between frames (in hundredths of second) */
2243
+ min_delay?: number | (string & {});
2244
+ /** maximum valid delay between frames (in hundredths of seconds) */
2245
+ max_gif_delay?: number | (string & {});
2246
+ /** default delay between frames (in hundredths of second) */
2247
+ default_delay?: number | (string & {});
2248
+ /** ignore loop setting (netscape extension) */
2249
+ ignore_loop?: boolean | (string & {});
2250
+ };
2251
+ /**
2252
+ * raw GSM
2253
+ * @see https://ffmpeg.org/ffmpeg-formats.html#gsm
2254
+ */
2255
+ gsm: {
2256
+ sample_rate?: number | (string & {});
2257
+ };
2258
+ /**
2259
+ * CRI HCA
2260
+ * @see https://ffmpeg.org/ffmpeg-formats.html#hca
2261
+ */
2262
+ hca: {
2263
+ /** Low key used for handling CRI HCA files */
2264
+ hca_lowkey?: number | (string & {});
2265
+ /** High key used for handling CRI HCA files */
2266
+ hca_highkey?: number | (string & {});
2267
+ /** Subkey used for handling CRI HCA files */
2268
+ hca_subkey?: number | (string & {});
2269
+ };
2270
+ /**
2271
+ * Apple HTTP Live Streaming
2272
+ * @see https://ffmpeg.org/ffmpeg-formats.html#hls
2273
+ */
2274
+ hls: {
2275
+ /** segment index to start live streams at (negative values are from the end) */
2276
+ live_start_index?: number | (string & {});
2277
+ /** prefer to use #EXT-X-START if it's in playlist instead of live_start_index */
2278
+ prefer_x_start?: boolean | (string & {});
2279
+ /** List of file extensions that hls is allowed to access */
2280
+ allowed_extensions?: string | number;
2281
+ /** List of file extensions that hls is allowed to access */
2282
+ allowed_segment_extensions?: string | number;
2283
+ /** Be picky with all extensions matching */
2284
+ extension_picky?: boolean | (string & {});
2285
+ /** Maximum number of times a insufficient list is attempted to be reloaded */
2286
+ max_reload?: number | (string & {});
2287
+ /** The maximum number of times to load m3u8 when it refreshes without new segments */
2288
+ m3u8_hold_counters?: number | (string & {});
2289
+ /** Use persistent HTTP connections */
2290
+ http_persistent?: boolean | (string & {});
2291
+ /** Use multiple HTTP connections for fetching segments */
2292
+ http_multiple?: boolean | (string & {});
2293
+ /** Use HTTP partial requests, 0 = disable, 1 = enable, -1 = auto */
2294
+ http_seekable?: boolean | (string & {});
2295
+ /** Set options for segment demuxer */
2296
+ seg_format_options?: string | number;
2297
+ /** Maximum number of times to reload a segment on error. */
2298
+ seg_max_retry?: number | (string & {});
2299
+ };
2300
+ /**
2301
+ * libiec61883 (new DV1394) A/V input device
2302
+ * @see https://ffmpeg.org/ffmpeg-formats.html#iec61883
2303
+ */
2304
+ iec61883: {
2305
+ /** override autodetection of DV/HDV */
2306
+ dvtype?: 'auto' | 'dv' | 'hdv' | (string & {}) | number;
2307
+ /** set queue buffer size (in packets) */
2308
+ dvbuffer?: number | (string & {});
2309
+ /** select one of multiple DV devices by its GUID */
2310
+ dvguid?: string | number;
2311
+ };
2312
+ /**
2313
+ * image2 sequence
2314
+ * @see https://ffmpeg.org/ffmpeg-formats.html#image2
2315
+ */
2316
+ image2: {
2317
+ /** set pattern type */
2318
+ pattern_type?: 'glob' | 'sequence' | 'none' | (string & {}) | number;
2319
+ /** set first number in the sequence */
2320
+ start_number?: number | (string & {});
2321
+ /** set range for looking at the first sequence number */
2322
+ start_number_range?: number | (string & {});
2323
+ /** set frame timestamp from file's one */
2324
+ ts_from_file?: 'none' | 'sec' | 'ns' | (string & {}) | number;
2325
+ /** enable metadata containing input path information */
2326
+ export_path_metadata?: boolean | (string & {});
2327
+ /** set the video framerate */
2328
+ framerate?: string | number;
2329
+ /** set video pixel format */
2330
+ pixel_format?: string | number;
2331
+ /** set video size */
2332
+ video_size?: string | number;
2333
+ /** force loop over input file sequence */
2334
+ loop?: boolean | (string & {});
2335
+ };
2336
+ /**
2337
+ * piped image2 sequence
2338
+ * @see https://ffmpeg.org/ffmpeg-formats.html#image2pipe
2339
+ */
2340
+ image2pipe: {
2341
+ /** force frame size in bytes */
2342
+ frame_size?: number | (string & {});
2343
+ /** set the video framerate */
2344
+ framerate?: string | number;
2345
+ /** set video pixel format */
2346
+ pixel_format?: string | number;
2347
+ /** set video size */
2348
+ video_size?: string | number;
2349
+ /** force loop over input file sequence */
2350
+ loop?: boolean | (string & {});
2351
+ };
2352
+ /**
2353
+ * IMF (Interoperable Master Format)
2354
+ * @see https://ffmpeg.org/ffmpeg-formats.html#imf
2355
+ */
2356
+ imf: {
2357
+ /** Comma-separated paths to ASSETMAP files. */
2358
+ assetmaps?: string | number;
2359
+ };
2360
+ /**
2361
+ * JACK Audio Connection Kit
2362
+ * @see https://ffmpeg.org/ffmpeg-formats.html#jack
2363
+ */
2364
+ jack: {
2365
+ /** Number of audio channels. */
2366
+ channels?: number | (string & {});
2367
+ };
2368
+ /**
2369
+ * KMS screen capture
2370
+ * @see https://ffmpeg.org/ffmpeg-formats.html#kmsgrab
2371
+ */
2372
+ kmsgrab: {
2373
+ /** DRM device path */
2374
+ device?: string | number;
2375
+ /** Pixel format for framebuffer */
2376
+ format?: string | number;
2377
+ /** DRM format modifier for framebuffer */
2378
+ format_modifier?: number | (string & {});
2379
+ /** CRTC ID to define capture source */
2380
+ crtc_id?: number | (string & {});
2381
+ /** Plane ID to define capture source */
2382
+ plane_id?: number | (string & {});
2383
+ /** Framerate to capture at */
2384
+ framerate?: string | number;
2385
+ };
2386
+ /**
2387
+ * KUX (YouKu)
2388
+ * @see https://ffmpeg.org/ffmpeg-formats.html#kux
2389
+ */
2390
+ kux: {
2391
+ /** Allocate streams according to the onMetaData array */
2392
+ flv_metadata?: boolean | (string & {});
2393
+ /** Dump full metadata of the onMetadata */
2394
+ flv_full_metadata?: boolean | (string & {});
2395
+ /** Ignore the Size of previous tag */
2396
+ flv_ignore_prevtag?: boolean | (string & {});
2397
+ };
2398
+ /**
2399
+ * Libavfilter virtual input device
2400
+ * @see https://ffmpeg.org/ffmpeg-formats.html#lavfi
2401
+ */
2402
+ lavfi: {
2403
+ /** set libavfilter graph */
2404
+ graph?: string | number;
2405
+ /** set libavfilter graph filename */
2406
+ graph_file?: string | number;
2407
+ /** dump graph to stderr */
2408
+ dumpgraph?: string | number;
2409
+ };
2410
+ /**
2411
+ * @see https://ffmpeg.org/ffmpeg-formats.html#libcdio
2412
+ */
2413
+ libcdio: {
2414
+ /** set drive reading speed */
2415
+ speed?: number | (string & {});
2416
+ /** set error recovery mode */
2417
+ paranoia_mode?: 'disable' | 'verify' | 'overlap' | 'neverskip' | 'full' | (string & {}) | number;
2418
+ };
2419
+ /**
2420
+ * dc1394 v.2 A/V grab
2421
+ * @see https://ffmpeg.org/ffmpeg-formats.html#libdc1394
2422
+ */
2423
+ libdc1394: {
2424
+ /** A string describing frame size, such as 640x480 or hd720. */
2425
+ video_size?: string | number;
2426
+ pixel_format?: string | number;
2427
+ framerate?: string | number;
2428
+ };
2429
+ /**
2430
+ * Game Music Emu demuxer
2431
+ * @see https://ffmpeg.org/ffmpeg-formats.html#libgme
2432
+ */
2433
+ libgme: {
2434
+ /** set track that should be played */
2435
+ track_index?: number | (string & {});
2436
+ /** set sample rate */
2437
+ sample_rate?: number | (string & {});
2438
+ /** set max file size supported (in bytes) */
2439
+ max_size?: number | (string & {});
2440
+ };
2441
+ /**
2442
+ * ModPlug demuxer
2443
+ * @see https://ffmpeg.org/ffmpeg-formats.html#libmodplug
2444
+ */
2445
+ libmodplug: {
2446
+ /** Enable noise reduction 0(off)-1(on) */
2447
+ noise_reduction?: number | (string & {});
2448
+ /** Reverb level 0(quiet)-100(loud) */
2449
+ reverb_depth?: number | (string & {});
2450
+ /** Reverb delay in ms, usually 40-200ms */
2451
+ reverb_delay?: number | (string & {});
2452
+ /** XBass level 0(quiet)-100(loud) */
2453
+ bass_amount?: number | (string & {});
2454
+ /** XBass cutoff in Hz 10-100 */
2455
+ bass_range?: number | (string & {});
2456
+ /** Surround level 0(quiet)-100(heavy) */
2457
+ surround_depth?: number | (string & {});
2458
+ /** Surround delay in ms, usually 5-40ms */
2459
+ surround_delay?: number | (string & {});
2460
+ /** Max file size supported (in bytes). Default is 5MB. Set to 0 for no limit (not recommended) */
2461
+ max_size?: number | (string & {});
2462
+ /** Color formula */
2463
+ video_stream_expr?: string | number;
2464
+ /** Make demuxer output a video stream */
2465
+ video_stream?: number | (string & {});
2466
+ /** Video stream width in char (one char = 8x8px) */
2467
+ video_stream_w?: number | (string & {});
2468
+ /** Video stream height in char (one char = 8x8px) */
2469
+ video_stream_h?: number | (string & {});
2470
+ /** Print speed, tempo, order, ... in video stream */
2471
+ video_stream_ptxt?: number | (string & {});
2472
+ };
2473
+ /**
2474
+ * Tracker formats (libopenmpt)
2475
+ * @see https://ffmpeg.org/ffmpeg-formats.html#libopenmpt
2476
+ */
2477
+ libopenmpt: {
2478
+ /** set sample rate */
2479
+ sample_rate?: number | (string & {});
2480
+ /** set channel layout */
2481
+ layout?: string | number;
2482
+ /** set subsong */
2483
+ subsong?: 'all' | 'auto' | (string & {}) | number;
2484
+ };
2485
+ /**
2486
+ * live RTMP FLV (Flash Video)
2487
+ * @see https://ffmpeg.org/ffmpeg-formats.html#live_005fflv
2488
+ */
2489
+ live_flv: {
2490
+ /** Allocate streams according to the onMetaData array */
2491
+ flv_metadata?: boolean | (string & {});
2492
+ /** Dump full metadata of the onMetadata */
2493
+ flv_full_metadata?: boolean | (string & {});
2494
+ /** Ignore the Size of previous tag */
2495
+ flv_ignore_prevtag?: boolean | (string & {});
2496
+ };
2497
+ /**
2498
+ * QuickTime / MOV
2499
+ * @see https://ffmpeg.org/ffmpeg-formats.html#m4a
2500
+ */
2501
+ m4a: {
2502
+ /** allow using absolute path when opening alias, this is a possible security issue */
2503
+ use_absolute_path?: boolean | (string & {});
2504
+ /** Seek each stream individually to the closest point */
2505
+ seek_streams_individually?: boolean | (string & {});
2506
+ /** Ignore the edit list atom. */
2507
+ ignore_editlist?: boolean | (string & {});
2508
+ /** Modify the AVIndex according to the editlists. Use this option to decode in the order specified by the edits. */
2509
+ advanced_editlist?: boolean | (string & {});
2510
+ ignore_chapters?: boolean | (string & {});
2511
+ /** use mfra for fragment timestamps */
2512
+ use_mfra_for?: 'auto' | 'dts' | 'pts' | (string & {}) | number;
2513
+ /** use tfdt for fragment timestamps */
2514
+ use_tfdt?: boolean | (string & {});
2515
+ /** Export unrecognized metadata entries */
2516
+ export_all?: boolean | (string & {});
2517
+ /** Export full XMP metadata */
2518
+ export_xmp?: boolean | (string & {});
2519
+ /** Secret bytes for Audible AAX files */
2520
+ activation_bytes?: string | number;
2521
+ /** AES-128 Key for Audible AAXC files */
2522
+ audible_key?: string | number;
2523
+ /** AES-128 IV for Audible AAXC files */
2524
+ audible_iv?: string | number;
2525
+ /** Fixed key used for handling Audible AAX files */
2526
+ audible_fixed_key?: string | number;
2527
+ /** The default media decryption key (hex) */
2528
+ decryption_key?: string | number;
2529
+ /** The media decryption keys by KID (hex) */
2530
+ decryption_keys?: string | number;
2531
+ /** Enable external track support. */
2532
+ enable_drefs?: boolean | (string & {});
2533
+ /** treat offsets above this value as invalid */
2534
+ max_stts_delta?: number | (string & {});
2535
+ /** Interleave packets from multiple tracks at demuxer level */
2536
+ interleaved_read?: boolean | (string & {});
2537
+ };
2538
+ /**
2539
+ * MacCaption
2540
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mcc
2541
+ */
2542
+ mcc: {
2543
+ /** extract EIA-608/708 captions from VANC packets */
2544
+ eia608_extract?: boolean | (string & {});
2545
+ };
2546
+ /**
2547
+ * MicroDVD subtitle format
2548
+ * @see https://ffmpeg.org/ffmpeg-formats.html#microdvd
2549
+ */
2550
+ microdvd: {
2551
+ /** set the movie frame rate fallback */
2552
+ subfps?: string | number;
2553
+ };
2554
+ /**
2555
+ * QuickTime / MOV
2556
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mj2
2557
+ */
2558
+ mj2: {
2559
+ /** allow using absolute path when opening alias, this is a possible security issue */
2560
+ use_absolute_path?: boolean | (string & {});
2561
+ /** Seek each stream individually to the closest point */
2562
+ seek_streams_individually?: boolean | (string & {});
2563
+ /** Ignore the edit list atom. */
2564
+ ignore_editlist?: boolean | (string & {});
2565
+ /** Modify the AVIndex according to the editlists. Use this option to decode in the order specified by the edits. */
2566
+ advanced_editlist?: boolean | (string & {});
2567
+ ignore_chapters?: boolean | (string & {});
2568
+ /** use mfra for fragment timestamps */
2569
+ use_mfra_for?: 'auto' | 'dts' | 'pts' | (string & {}) | number;
2570
+ /** use tfdt for fragment timestamps */
2571
+ use_tfdt?: boolean | (string & {});
2572
+ /** Export unrecognized metadata entries */
2573
+ export_all?: boolean | (string & {});
2574
+ /** Export full XMP metadata */
2575
+ export_xmp?: boolean | (string & {});
2576
+ /** Secret bytes for Audible AAX files */
2577
+ activation_bytes?: string | number;
2578
+ /** AES-128 Key for Audible AAXC files */
2579
+ audible_key?: string | number;
2580
+ /** AES-128 IV for Audible AAXC files */
2581
+ audible_iv?: string | number;
2582
+ /** Fixed key used for handling Audible AAX files */
2583
+ audible_fixed_key?: string | number;
2584
+ /** The default media decryption key (hex) */
2585
+ decryption_key?: string | number;
2586
+ /** The media decryption keys by KID (hex) */
2587
+ decryption_keys?: string | number;
2588
+ /** Enable external track support. */
2589
+ enable_drefs?: boolean | (string & {});
2590
+ /** treat offsets above this value as invalid */
2591
+ max_stts_delta?: number | (string & {});
2592
+ /** Interleave packets from multiple tracks at demuxer level */
2593
+ interleaved_read?: boolean | (string & {});
2594
+ };
2595
+ /**
2596
+ * QuickTime / MOV
2597
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mov
2598
+ */
2599
+ mov: {
2600
+ /** allow using absolute path when opening alias, this is a possible security issue */
2601
+ use_absolute_path?: boolean | (string & {});
2602
+ /** Seek each stream individually to the closest point */
2603
+ seek_streams_individually?: boolean | (string & {});
2604
+ /** Ignore the edit list atom. */
2605
+ ignore_editlist?: boolean | (string & {});
2606
+ /** Modify the AVIndex according to the editlists. Use this option to decode in the order specified by the edits. */
2607
+ advanced_editlist?: boolean | (string & {});
2608
+ ignore_chapters?: boolean | (string & {});
2609
+ /** use mfra for fragment timestamps */
2610
+ use_mfra_for?: 'auto' | 'dts' | 'pts' | (string & {}) | number;
2611
+ /** use tfdt for fragment timestamps */
2612
+ use_tfdt?: boolean | (string & {});
2613
+ /** Export unrecognized metadata entries */
2614
+ export_all?: boolean | (string & {});
2615
+ /** Export full XMP metadata */
2616
+ export_xmp?: boolean | (string & {});
2617
+ /** Secret bytes for Audible AAX files */
2618
+ activation_bytes?: string | number;
2619
+ /** AES-128 Key for Audible AAXC files */
2620
+ audible_key?: string | number;
2621
+ /** AES-128 IV for Audible AAXC files */
2622
+ audible_iv?: string | number;
2623
+ /** Fixed key used for handling Audible AAX files */
2624
+ audible_fixed_key?: string | number;
2625
+ /** The default media decryption key (hex) */
2626
+ decryption_key?: string | number;
2627
+ /** The media decryption keys by KID (hex) */
2628
+ decryption_keys?: string | number;
2629
+ /** Enable external track support. */
2630
+ enable_drefs?: boolean | (string & {});
2631
+ /** treat offsets above this value as invalid */
2632
+ max_stts_delta?: number | (string & {});
2633
+ /** Interleave packets from multiple tracks at demuxer level */
2634
+ interleaved_read?: boolean | (string & {});
2635
+ };
2636
+ /**
2637
+ * MP2/3 (MPEG audio layer 2/3)
2638
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mp3
2639
+ */
2640
+ mp3: {
2641
+ /** use table of contents */
2642
+ usetoc?: boolean | (string & {});
2643
+ };
2644
+ /**
2645
+ * QuickTime / MOV
2646
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mp4
2647
+ */
2648
+ mp4: {
2649
+ /** allow using absolute path when opening alias, this is a possible security issue */
2650
+ use_absolute_path?: boolean | (string & {});
2651
+ /** Seek each stream individually to the closest point */
2652
+ seek_streams_individually?: boolean | (string & {});
2653
+ /** Ignore the edit list atom. */
2654
+ ignore_editlist?: boolean | (string & {});
2655
+ /** Modify the AVIndex according to the editlists. Use this option to decode in the order specified by the edits. */
2656
+ advanced_editlist?: boolean | (string & {});
2657
+ ignore_chapters?: boolean | (string & {});
2658
+ /** use mfra for fragment timestamps */
2659
+ use_mfra_for?: 'auto' | 'dts' | 'pts' | (string & {}) | number;
2660
+ /** use tfdt for fragment timestamps */
2661
+ use_tfdt?: boolean | (string & {});
2662
+ /** Export unrecognized metadata entries */
2663
+ export_all?: boolean | (string & {});
2664
+ /** Export full XMP metadata */
2665
+ export_xmp?: boolean | (string & {});
2666
+ /** Secret bytes for Audible AAX files */
2667
+ activation_bytes?: string | number;
2668
+ /** AES-128 Key for Audible AAXC files */
2669
+ audible_key?: string | number;
2670
+ /** AES-128 IV for Audible AAXC files */
2671
+ audible_iv?: string | number;
2672
+ /** Fixed key used for handling Audible AAX files */
2673
+ audible_fixed_key?: string | number;
2674
+ /** The default media decryption key (hex) */
2675
+ decryption_key?: string | number;
2676
+ /** The media decryption keys by KID (hex) */
2677
+ decryption_keys?: string | number;
2678
+ /** Enable external track support. */
2679
+ enable_drefs?: boolean | (string & {});
2680
+ /** treat offsets above this value as invalid */
2681
+ max_stts_delta?: number | (string & {});
2682
+ /** Interleave packets from multiple tracks at demuxer level */
2683
+ interleaved_read?: boolean | (string & {});
2684
+ };
2685
+ /**
2686
+ * MPEG-TS (MPEG-2 Transport Stream)
2687
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mpegts
2688
+ */
2689
+ mpegts: {
2690
+ /** set size limit for looking up a new synchronization */
2691
+ resync_size?: number | (string & {});
2692
+ /** transport stream id */
2693
+ ts_id?: number | (string & {});
2694
+ /** output option carrying the raw packet size */
2695
+ ts_packetsize?: number | (string & {});
2696
+ /** try to fix pts values of dvb teletext streams */
2697
+ fix_teletext_pts?: boolean | (string & {});
2698
+ /** scan and combine all PMTs */
2699
+ scan_all_pmts?: boolean | (string & {});
2700
+ /** skip PMTs for programs not advertised in the PAT */
2701
+ skip_unknown_pmt?: boolean | (string & {});
2702
+ /** reuse streams when PMT's version/pids change */
2703
+ merge_pmt_versions?: boolean | (string & {});
2704
+ /** skip changing / adding streams / programs */
2705
+ skip_changes?: boolean | (string & {});
2706
+ /** skip clearing programs */
2707
+ skip_clear?: boolean | (string & {});
2708
+ /** maximum size of emitted packet */
2709
+ max_packet_size?: number | (string & {});
2710
+ };
2711
+ /**
2712
+ * raw MPEG-TS (MPEG-2 Transport Stream)
2713
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mpegtsraw
2714
+ */
2715
+ mpegtsraw: {
2716
+ /** set size limit for looking up a new synchronization */
2717
+ resync_size?: number | (string & {});
2718
+ /** transport stream id */
2719
+ ts_id?: number | (string & {});
2720
+ /** output option carrying the raw packet size */
2721
+ ts_packetsize?: number | (string & {});
2722
+ /** compute exact PCR for each transport stream packet */
2723
+ compute_pcr?: boolean | (string & {});
2724
+ };
2725
+ /**
2726
+ * MIME multipart JPEG
2727
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mpjpeg
2728
+ */
2729
+ mpjpeg: {
2730
+ /** require MIME boundaries match */
2731
+ strict_mime_boundary?: boolean | (string & {});
2732
+ };
2733
+ /**
2734
+ * MXF (Material eXchange Format)
2735
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mxf
2736
+ */
2737
+ mxf: {
2738
+ /** extract eia 608 captions from s436m track */
2739
+ eia608_extract?: boolean | (string & {});
2740
+ };
2741
+ /**
2742
+ * AV1 low overhead OBU
2743
+ * @see https://ffmpeg.org/ffmpeg-formats.html#obu
2744
+ */
2745
+ obu: {
2746
+ framerate?: string | number;
2747
+ };
2748
+ /**
2749
+ * OpenAL audio capture device
2750
+ * @see https://ffmpeg.org/ffmpeg-formats.html#openal
2751
+ */
2752
+ openal: {
2753
+ /** set number of channels */
2754
+ channels?: number | (string & {});
2755
+ /** set sample rate */
2756
+ sample_rate?: number | (string & {});
2757
+ /** set sample size */
2758
+ sample_size?: number | (string & {});
2759
+ /** list available devices */
2760
+ list_devices?: 'true' | 'false' | (string & {}) | number;
2761
+ };
2762
+ /**
2763
+ * OSS (Open Sound System) capture
2764
+ * @see https://ffmpeg.org/ffmpeg-formats.html#oss
2765
+ */
2766
+ oss: {
2767
+ sample_rate?: number | (string & {});
2768
+ channels?: number | (string & {});
2769
+ };
2770
+ /**
2771
+ * Pulse audio input
2772
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pulse
2773
+ */
2774
+ pulse: {
2775
+ /** set PulseAudio server */
2776
+ server?: string | number;
2777
+ /** set application name */
2778
+ name?: string | number;
2779
+ /** set stream description */
2780
+ stream_name?: string | number;
2781
+ /** set sample rate in Hz */
2782
+ sample_rate?: number | (string & {});
2783
+ /** set number of audio channels */
2784
+ channels?: number | (string & {});
2785
+ /** set number of bytes per frame */
2786
+ frame_size?: number | (string & {});
2787
+ /** set buffering size, affects latency and cpu usage */
2788
+ fragment_size?: number | (string & {});
2789
+ /** set the initial pts using the current time */
2790
+ wallclock?: number | (string & {});
2791
+ };
2792
+ /**
2793
+ * raw video
2794
+ * @see https://ffmpeg.org/ffmpeg-formats.html#rawvideo
2795
+ */
2796
+ rawvideo: {
2797
+ /** frame line size in bytes */
2798
+ stride?: string | number;
2799
+ /** set pixel format */
2800
+ pixel_format?: string | number;
2801
+ /** set frame size */
2802
+ video_size?: string | number;
2803
+ /** set frame rate */
2804
+ framerate?: string | number;
2805
+ };
2806
+ /**
2807
+ * RTP input
2808
+ * @see https://ffmpeg.org/ffmpeg-formats.html#rtp
2809
+ */
2810
+ rtp: {
2811
+ /** set RTP flags */
2812
+ rtp_flags?: 'filter_src' | (string & {}) | number;
2813
+ /** set maximum timeout (in seconds) to wait for incoming connections */
2814
+ listen_timeout?: string | number;
2815
+ /** local address */
2816
+ localaddr?: string | number;
2817
+ /** set media types to accept from the server */
2818
+ allowed_media_types?: 'video' | 'audio' | 'data' | 'subtitle' | (string & {}) | number;
2819
+ /** set number of packets to buffer for handling of reordered packets */
2820
+ reorder_queue_size?: number | (string & {});
2821
+ /** Underlying protocol send/receive buffer size */
2822
+ buffer_size?: number | (string & {});
2823
+ /** Underlying protocol send packet size */
2824
+ pkt_size?: number | (string & {});
2825
+ };
2826
+ /**
2827
+ * SBaGen binaural beats script
2828
+ * @see https://ffmpeg.org/ffmpeg-formats.html#sbg
2829
+ */
2830
+ sbg: {
2831
+ sample_rate?: number | (string & {});
2832
+ frame_size?: number | (string & {});
2833
+ max_file_size?: number | (string & {});
2834
+ };
2835
+ /**
2836
+ * SDP
2837
+ * @see https://ffmpeg.org/ffmpeg-formats.html#sdp
2838
+ */
2839
+ sdp: {
2840
+ /** SDP flags */
2841
+ sdp_flags?: 'filter_src' | 'custom_io' | 'rtcp_to_source' | (string & {}) | number;
2842
+ /** set maximum timeout (in seconds) to wait for incoming connections */
2843
+ listen_timeout?: string | number;
2844
+ /** local address */
2845
+ localaddr?: string | number;
2846
+ /** set media types to accept from the server */
2847
+ allowed_media_types?: 'video' | 'audio' | 'data' | 'subtitle' | (string & {}) | number;
2848
+ /** set number of packets to buffer for handling of reordered packets */
2849
+ reorder_queue_size?: number | (string & {});
2850
+ /** Underlying protocol send/receive buffer size */
2851
+ buffer_size?: number | (string & {});
2852
+ /** Underlying protocol send packet size */
2853
+ pkt_size?: number | (string & {});
2854
+ };
2855
+ /**
2856
+ * SER (Simple uncompressed video format for astronomical capturing)
2857
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ser
2858
+ */
2859
+ ser: {
2860
+ /** set frame rate */
2861
+ framerate?: string | number;
2862
+ };
2863
+ /**
2864
+ * Asterisk raw pcm
2865
+ * @see https://ffmpeg.org/ffmpeg-formats.html#sln
2866
+ */
2867
+ sln: {
2868
+ sample_rate?: number | (string & {});
2869
+ ch_layout?: string | number;
2870
+ };
2871
+ /**
2872
+ * sndio audio capture
2873
+ * @see https://ffmpeg.org/ffmpeg-formats.html#sndio
2874
+ */
2875
+ sndio: {
2876
+ sample_rate?: number | (string & {});
2877
+ channels?: number | (string & {});
2878
+ };
2879
+ /**
2880
+ * TED Talks captions
2881
+ * @see https://ffmpeg.org/ffmpeg-formats.html#tedcaptions
2882
+ */
2883
+ tedcaptions: {
2884
+ /** set the start time (offset) of the subtitles, in ms */
2885
+ start_time?: number | (string & {});
2886
+ };
2887
+ /**
2888
+ * Tele-typewriter
2889
+ * @see https://ffmpeg.org/ffmpeg-formats.html#tty
2890
+ */
2891
+ tty: {
2892
+ chars_per_frame?: number | (string & {});
2893
+ /** A string describing frame size, such as 640x480 or hd720. */
2894
+ video_size?: string | number;
2895
+ framerate?: string | number;
2896
+ };
2897
+ /**
2898
+ * Video4Linux2 device grab
2899
+ * @see https://ffmpeg.org/ffmpeg-formats.html#v4l2
2900
+ */
2901
+ v4l2: {
2902
+ /** set TV standard, used only by analog frame grabber */
2903
+ standard?: string | number;
2904
+ /** set TV channel, used only by frame grabber */
2905
+ channel?: number | (string & {});
2906
+ /** set frame size */
2907
+ video_size?: string | number;
2908
+ /** set preferred pixel format */
2909
+ pixel_format?: string | number;
2910
+ /** set preferred pixel format (for raw video) or codec name */
2911
+ input_format?: string | number;
2912
+ /** set frame rate */
2913
+ framerate?: string | number;
2914
+ /** list available formats and exit */
2915
+ list_formats?: 'all' | 'raw' | 'compressed' | (string & {}) | number;
2916
+ /** list supported standards and exit */
2917
+ list_standards?: 'all' | (string & {}) | number;
2918
+ /** set type of timestamps for grabbed frames */
2919
+ timestamps?: 'default' | 'abs' | 'mono2abs' | (string & {}) | number;
2920
+ /** set type of timestamps for grabbed frames */
2921
+ ts?: 'default' | 'abs' | 'mono2abs' | (string & {}) | number;
2922
+ /** use libv4l2 (v4l-utils) conversion functions */
2923
+ use_libv4l2?: boolean | (string & {});
2924
+ };
2925
+ /**
2926
+ * VapourSynth demuxer
2927
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vapoursynth
2928
+ */
2929
+ vapoursynth: {
2930
+ /** set max file size supported (in bytes) */
2931
+ max_script_size?: number | (string & {});
2932
+ };
2933
+ /**
2934
+ * VfW video capture
2935
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vfwcap
2936
+ */
2937
+ vfwcap: {
2938
+ /** A string describing frame size, such as 640x480 or hd720. */
2939
+ video_size?: string | number;
2940
+ framerate?: string | number;
2941
+ };
2942
+ /**
2943
+ * Video4Linux2 device grab
2944
+ * @see https://ffmpeg.org/ffmpeg-formats.html#video4linux2
2945
+ */
2946
+ video4linux2: {
2947
+ /** set TV standard, used only by analog frame grabber */
2948
+ standard?: string | number;
2949
+ /** set TV channel, used only by frame grabber */
2950
+ channel?: number | (string & {});
2951
+ /** set frame size */
2952
+ video_size?: string | number;
2953
+ /** set preferred pixel format */
2954
+ pixel_format?: string | number;
2955
+ /** set preferred pixel format (for raw video) or codec name */
2956
+ input_format?: string | number;
2957
+ /** set frame rate */
2958
+ framerate?: string | number;
2959
+ /** list available formats and exit */
2960
+ list_formats?: 'all' | 'raw' | 'compressed' | (string & {}) | number;
2961
+ /** list supported standards and exit */
2962
+ list_standards?: 'all' | (string & {}) | number;
2963
+ /** set type of timestamps for grabbed frames */
2964
+ timestamps?: 'default' | 'abs' | 'mono2abs' | (string & {}) | number;
2965
+ /** set type of timestamps for grabbed frames */
2966
+ ts?: 'default' | 'abs' | 'mono2abs' | (string & {}) | number;
2967
+ /** use libv4l2 (v4l-utils) conversion functions */
2968
+ use_libv4l2?: boolean | (string & {});
2969
+ };
2970
+ /**
2971
+ * VobSub subtitle format
2972
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vobsub
2973
+ */
2974
+ vobsub: {
2975
+ /** URI for .sub file */
2976
+ sub_name?: string | number;
2977
+ };
2978
+ /**
2979
+ * WAV / WAVE (Waveform Audio)
2980
+ * @see https://ffmpeg.org/ffmpeg-formats.html#wav
2981
+ */
2982
+ wav: {
2983
+ /** Ignore length */
2984
+ ignore_length?: boolean | (string & {});
2985
+ /** max size of single packet */
2986
+ max_size?: number | (string & {});
2987
+ };
2988
+ /**
2989
+ * WebM DASH Manifest
2990
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webm_005fdash_005fmanifest
2991
+ */
2992
+ webm_dash_manifest: {
2993
+ /** flag indicating that the input is a live file that only has the headers. */
2994
+ live?: boolean | (string & {});
2995
+ /** bandwidth of this stream to be specified in the DASH manifest. */
2996
+ bandwidth?: number | (string & {});
2997
+ };
2998
+ /**
2999
+ * Animated WebP
3000
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webp_005fanim
3001
+ */
3002
+ webp_anim: {
3003
+ /** minimum valid delay between frames (in milliseconds) */
3004
+ min_delay?: number | (string & {});
3005
+ /** maximum valid delay between frames (in milliseconds) */
3006
+ max_webp_delay?: number | (string & {});
3007
+ /** default delay between frames (in milliseconds) */
3008
+ default_delay?: number | (string & {});
3009
+ /** ignore loop setting */
3010
+ ignore_loop?: boolean | (string & {});
3011
+ /** use background color from ANIM chunk */
3012
+ usebgcolor?: boolean | (string & {});
3013
+ };
3014
+ /**
3015
+ * WebVTT subtitle
3016
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webvtt
3017
+ */
3018
+ webvtt: {
3019
+ /** Set kind of WebVTT track */
3020
+ kind?: 'subtitles' | 'captions' | 'descriptions' | 'metadata' | (string & {}) | number;
3021
+ };
3022
+ /**
3023
+ * X11 screen capture, using XCB
3024
+ * @see https://ffmpeg.org/ffmpeg-formats.html#x11grab
3025
+ */
3026
+ x11grab: {
3027
+ /** Window to capture. */
3028
+ window_id?: number | (string & {});
3029
+ /** Initial x coordinate. */
3030
+ x?: number | (string & {});
3031
+ /** Initial y coordinate. */
3032
+ y?: number | (string & {});
3033
+ /** Initial x coordinate. */
3034
+ grab_x?: number | (string & {});
3035
+ /** Initial y coordinate. */
3036
+ grab_y?: number | (string & {});
3037
+ /** A string describing frame size, such as 640x480 or hd720. */
3038
+ video_size?: string | number;
3039
+ framerate?: string | number;
3040
+ /** Draw the mouse pointer. */
3041
+ draw_mouse?: number | (string & {});
3042
+ /** Move the grabbing region when the mouse pointer reaches within specified amount of pixels to the edge of region. */
3043
+ follow_mouse?: 'centered' | (string & {}) | number;
3044
+ /** Show the grabbing region. */
3045
+ show_region?: number | (string & {});
3046
+ /** Set the region border thickness. */
3047
+ region_border?: number | (string & {});
3048
+ /** Select the grabbing region graphically using the pointer. */
3049
+ select_region?: boolean | (string & {});
3050
+ };
3051
+ }
3052
+ /**
3053
+ * Loose option bag for formats without generated typings, or for protocol/codec
3054
+ * options that flow through the same dictionary (e.g. `rtsp_transport`).
3055
+ */
3056
+ export type UnknownFormatOptions = Record<string, string | number | boolean | bigint | undefined | null>;