node-av-light 0.0.0-stage → 7.1.0-beta.1

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 (311) hide show
  1. package/LICENSE.md +22 -0
  2. package/README.md +710 -2
  3. package/dist/api/audio-frame-buffer.d.ts +636 -0
  4. package/dist/api/audio-frame-buffer.js +1027 -0
  5. package/dist/api/audio-frame-buffer.js.map +1 -0
  6. package/dist/api/bitstream-filter.d.ts +938 -0
  7. package/dist/api/bitstream-filter.js +1427 -0
  8. package/dist/api/bitstream-filter.js.map +1 -0
  9. package/dist/api/constants.d.ts +44 -0
  10. package/dist/api/constants.js +45 -0
  11. package/dist/api/constants.js.map +1 -0
  12. package/dist/api/data/test_av1.ivf +0 -0
  13. package/dist/api/data/test_h264.h264 +0 -0
  14. package/dist/api/data/test_hevc.h265 +0 -0
  15. package/dist/api/data/test_mjpeg.mjpeg +0 -0
  16. package/dist/api/data/test_vp8.ivf +0 -0
  17. package/dist/api/data/test_vp9.ivf +0 -0
  18. package/dist/api/decoder.d.ts +1413 -0
  19. package/dist/api/decoder.js +2367 -0
  20. package/dist/api/decoder.js.map +1 -0
  21. package/dist/api/demuxer.d.ts +1295 -0
  22. package/dist/api/demuxer.js +2344 -0
  23. package/dist/api/demuxer.js.map +1 -0
  24. package/dist/api/device.d.ts +589 -0
  25. package/dist/api/device.js +964 -0
  26. package/dist/api/device.js.map +1 -0
  27. package/dist/api/encoder-pool.d.ts +262 -0
  28. package/dist/api/encoder-pool.js +397 -0
  29. package/dist/api/encoder-pool.js.map +1 -0
  30. package/dist/api/encoder.d.ts +1509 -0
  31. package/dist/api/encoder.js +2619 -0
  32. package/dist/api/encoder.js.map +1 -0
  33. package/dist/api/filter-complex.d.ts +828 -0
  34. package/dist/api/filter-complex.js +1661 -0
  35. package/dist/api/filter-complex.js.map +1 -0
  36. package/dist/api/filter-presets.d.ts +800 -0
  37. package/dist/api/filter-presets.js +1554 -0
  38. package/dist/api/filter-presets.js.map +1 -0
  39. package/dist/api/filter.d.ts +1339 -0
  40. package/dist/api/filter.js +2075 -0
  41. package/dist/api/filter.js.map +1 -0
  42. package/dist/api/fmp4-stream.d.ts +797 -0
  43. package/dist/api/fmp4-stream.js +1428 -0
  44. package/dist/api/fmp4-stream.js.map +1 -0
  45. package/dist/api/hardware.d.ts +677 -0
  46. package/dist/api/hardware.js +1300 -0
  47. package/dist/api/hardware.js.map +1 -0
  48. package/dist/api/index.d.ts +21 -0
  49. package/dist/api/index.js +38 -0
  50. package/dist/api/index.js.map +1 -0
  51. package/dist/api/io-stream.d.ts +308 -0
  52. package/dist/api/io-stream.js +358 -0
  53. package/dist/api/io-stream.js.map +1 -0
  54. package/dist/api/muxer.d.ts +1311 -0
  55. package/dist/api/muxer.js +2672 -0
  56. package/dist/api/muxer.js.map +1 -0
  57. package/dist/api/pipeline.d.ts +801 -0
  58. package/dist/api/pipeline.js +1344 -0
  59. package/dist/api/pipeline.js.map +1 -0
  60. package/dist/api/probe.d.ts +128 -0
  61. package/dist/api/probe.js +227 -0
  62. package/dist/api/probe.js.map +1 -0
  63. package/dist/api/rtp-stream.d.ts +497 -0
  64. package/dist/api/rtp-stream.js +1131 -0
  65. package/dist/api/rtp-stream.js.map +1 -0
  66. package/dist/api/scaler.d.ts +561 -0
  67. package/dist/api/scaler.js +918 -0
  68. package/dist/api/scaler.js.map +1 -0
  69. package/dist/api/types.d.ts +17 -0
  70. package/dist/api/types.js +2 -0
  71. package/dist/api/types.js.map +1 -0
  72. package/dist/api/utilities/async-queue.d.ts +149 -0
  73. package/dist/api/utilities/async-queue.js +254 -0
  74. package/dist/api/utilities/async-queue.js.map +1 -0
  75. package/dist/api/utilities/audio-sample.d.ts +117 -0
  76. package/dist/api/utilities/audio-sample.js +112 -0
  77. package/dist/api/utilities/audio-sample.js.map +1 -0
  78. package/dist/api/utilities/audio-transcode.d.ts +20 -0
  79. package/dist/api/utilities/audio-transcode.js +27 -0
  80. package/dist/api/utilities/audio-transcode.js.map +1 -0
  81. package/dist/api/utilities/channel-layout.d.ts +76 -0
  82. package/dist/api/utilities/channel-layout.js +80 -0
  83. package/dist/api/utilities/channel-layout.js.map +1 -0
  84. package/dist/api/utilities/codec-format.d.ts +87 -0
  85. package/dist/api/utilities/codec-format.js +117 -0
  86. package/dist/api/utilities/codec-format.js.map +1 -0
  87. package/dist/api/utilities/context-options.d.ts +25 -0
  88. package/dist/api/utilities/context-options.js +23 -0
  89. package/dist/api/utilities/context-options.js.map +1 -0
  90. package/dist/api/utilities/electron-shared-texture.d.ts +368 -0
  91. package/dist/api/utilities/electron-shared-texture.js +540 -0
  92. package/dist/api/utilities/electron-shared-texture.js.map +1 -0
  93. package/dist/api/utilities/image.d.ts +207 -0
  94. package/dist/api/utilities/image.js +213 -0
  95. package/dist/api/utilities/image.js.map +1 -0
  96. package/dist/api/utilities/index.d.ts +14 -0
  97. package/dist/api/utilities/index.js +27 -0
  98. package/dist/api/utilities/index.js.map +1 -0
  99. package/dist/api/utilities/live-decoding.d.ts +15 -0
  100. package/dist/api/utilities/live-decoding.js +32 -0
  101. package/dist/api/utilities/live-decoding.js.map +1 -0
  102. package/dist/api/utilities/media-type.d.ts +49 -0
  103. package/dist/api/utilities/media-type.js +53 -0
  104. package/dist/api/utilities/media-type.js.map +1 -0
  105. package/dist/api/utilities/packet-age-watchdog.d.ts +198 -0
  106. package/dist/api/utilities/packet-age-watchdog.js +594 -0
  107. package/dist/api/utilities/packet-age-watchdog.js.map +1 -0
  108. package/dist/api/utilities/pixel-format.d.ts +89 -0
  109. package/dist/api/utilities/pixel-format.js +97 -0
  110. package/dist/api/utilities/pixel-format.js.map +1 -0
  111. package/dist/api/utilities/sample-format.d.ts +129 -0
  112. package/dist/api/utilities/sample-format.js +141 -0
  113. package/dist/api/utilities/sample-format.js.map +1 -0
  114. package/dist/api/utilities/scale-size.d.ts +51 -0
  115. package/dist/api/utilities/scale-size.js +55 -0
  116. package/dist/api/utilities/scale-size.js.map +1 -0
  117. package/dist/api/utilities/scheduler.d.ts +138 -0
  118. package/dist/api/utilities/scheduler.js +98 -0
  119. package/dist/api/utilities/scheduler.js.map +1 -0
  120. package/dist/api/utilities/streaming.d.ts +186 -0
  121. package/dist/api/utilities/streaming.js +309 -0
  122. package/dist/api/utilities/streaming.js.map +1 -0
  123. package/dist/api/utilities/timestamp.d.ts +193 -0
  124. package/dist/api/utilities/timestamp.js +206 -0
  125. package/dist/api/utilities/timestamp.js.map +1 -0
  126. package/dist/api/utilities/video-transcode.d.ts +218 -0
  127. package/dist/api/utilities/video-transcode.js +624 -0
  128. package/dist/api/utilities/video-transcode.js.map +1 -0
  129. package/dist/api/utilities/whisper-model.d.ts +330 -0
  130. package/dist/api/utilities/whisper-model.js +587 -0
  131. package/dist/api/utilities/whisper-model.js.map +1 -0
  132. package/dist/api/utils.d.ts +19 -0
  133. package/dist/api/utils.js +39 -0
  134. package/dist/api/utils.js.map +1 -0
  135. package/dist/api/webrtc-stream.d.ts +294 -0
  136. package/dist/api/webrtc-stream.js +546 -0
  137. package/dist/api/webrtc-stream.js.map +1 -0
  138. package/dist/api/whisper.d.ts +326 -0
  139. package/dist/api/whisper.js +402 -0
  140. package/dist/api/whisper.js.map +1 -0
  141. package/dist/constants/bsf-options.d.ts +364 -0
  142. package/dist/constants/bsf-options.js +7 -0
  143. package/dist/constants/bsf-options.js.map +1 -0
  144. package/dist/constants/channel-layouts.d.ts +53 -0
  145. package/dist/constants/channel-layouts.js +57 -0
  146. package/dist/constants/channel-layouts.js.map +1 -0
  147. package/dist/constants/constants.d.ts +2435 -0
  148. package/dist/constants/constants.js +1989 -0
  149. package/dist/constants/constants.js.map +1 -0
  150. package/dist/constants/decoders.d.ts +651 -0
  151. package/dist/constants/decoders.js +641 -0
  152. package/dist/constants/decoders.js.map +1 -0
  153. package/dist/constants/encoders.d.ts +314 -0
  154. package/dist/constants/encoders.js +309 -0
  155. package/dist/constants/encoders.js.map +1 -0
  156. package/dist/constants/filter-options.d.ts +12099 -0
  157. package/dist/constants/filter-options.js +7 -0
  158. package/dist/constants/filter-options.js.map +1 -0
  159. package/dist/constants/format-options.d.ts +4319 -0
  160. package/dist/constants/format-options.js +7 -0
  161. package/dist/constants/format-options.js.map +1 -0
  162. package/dist/constants/formats.d.ts +18 -0
  163. package/dist/constants/formats.js +7 -0
  164. package/dist/constants/formats.js.map +1 -0
  165. package/dist/constants/hardware.d.ts +26 -0
  166. package/dist/constants/hardware.js +27 -0
  167. package/dist/constants/hardware.js.map +1 -0
  168. package/dist/constants/index.d.ts +10 -0
  169. package/dist/constants/index.js +6 -0
  170. package/dist/constants/index.js.map +1 -0
  171. package/dist/constants/options.d.ts +6217 -0
  172. package/dist/constants/options.js +7 -0
  173. package/dist/constants/options.js.map +1 -0
  174. package/dist/ffmpeg/index.d.ts +101 -0
  175. package/dist/ffmpeg/index.js +161 -0
  176. package/dist/ffmpeg/index.js.map +1 -0
  177. package/dist/ffmpeg/version.d.ts +6 -0
  178. package/dist/ffmpeg/version.js +7 -0
  179. package/dist/ffmpeg/version.js.map +1 -0
  180. package/dist/index.d.ts +4 -0
  181. package/dist/index.js +9 -0
  182. package/dist/index.js.map +1 -0
  183. package/dist/lib/audio-fifo.d.ts +399 -0
  184. package/dist/lib/audio-fifo.js +431 -0
  185. package/dist/lib/audio-fifo.js.map +1 -0
  186. package/dist/lib/binding.d.ts +242 -0
  187. package/dist/lib/binding.js +102 -0
  188. package/dist/lib/binding.js.map +1 -0
  189. package/dist/lib/bitstream-filter-context.d.ts +381 -0
  190. package/dist/lib/bitstream-filter-context.js +443 -0
  191. package/dist/lib/bitstream-filter-context.js.map +1 -0
  192. package/dist/lib/bitstream-filter.d.ts +140 -0
  193. package/dist/lib/bitstream-filter.js +154 -0
  194. package/dist/lib/bitstream-filter.js.map +1 -0
  195. package/dist/lib/codec-context.d.ts +1069 -0
  196. package/dist/lib/codec-context.js +1336 -0
  197. package/dist/lib/codec-context.js.map +1 -0
  198. package/dist/lib/codec-parameters.d.ts +664 -0
  199. package/dist/lib/codec-parameters.js +813 -0
  200. package/dist/lib/codec-parameters.js.map +1 -0
  201. package/dist/lib/codec-parser.d.ts +201 -0
  202. package/dist/lib/codec-parser.js +213 -0
  203. package/dist/lib/codec-parser.js.map +1 -0
  204. package/dist/lib/codec.d.ts +617 -0
  205. package/dist/lib/codec.js +746 -0
  206. package/dist/lib/codec.js.map +1 -0
  207. package/dist/lib/device.d.ts +294 -0
  208. package/dist/lib/device.js +326 -0
  209. package/dist/lib/device.js.map +1 -0
  210. package/dist/lib/dictionary.d.ts +333 -0
  211. package/dist/lib/dictionary.js +372 -0
  212. package/dist/lib/dictionary.js.map +1 -0
  213. package/dist/lib/error.d.ts +311 -0
  214. package/dist/lib/error.js +395 -0
  215. package/dist/lib/error.js.map +1 -0
  216. package/dist/lib/fifo.d.ts +416 -0
  217. package/dist/lib/fifo.js +453 -0
  218. package/dist/lib/fifo.js.map +1 -0
  219. package/dist/lib/filter-context.d.ts +714 -0
  220. package/dist/lib/filter-context.js +783 -0
  221. package/dist/lib/filter-context.js.map +1 -0
  222. package/dist/lib/filter-graph-segment.d.ts +161 -0
  223. package/dist/lib/filter-graph-segment.js +172 -0
  224. package/dist/lib/filter-graph-segment.js.map +1 -0
  225. package/dist/lib/filter-graph.d.ts +641 -0
  226. package/dist/lib/filter-graph.js +704 -0
  227. package/dist/lib/filter-graph.js.map +1 -0
  228. package/dist/lib/filter-inout.d.ts +202 -0
  229. package/dist/lib/filter-inout.js +261 -0
  230. package/dist/lib/filter-inout.js.map +1 -0
  231. package/dist/lib/filter.d.ts +243 -0
  232. package/dist/lib/filter.js +272 -0
  233. package/dist/lib/filter.js.map +1 -0
  234. package/dist/lib/format-context.d.ts +1335 -0
  235. package/dist/lib/format-context.js +1455 -0
  236. package/dist/lib/format-context.js.map +1 -0
  237. package/dist/lib/frame-utils.d.ts +116 -0
  238. package/dist/lib/frame-utils.js +98 -0
  239. package/dist/lib/frame-utils.js.map +1 -0
  240. package/dist/lib/frame.d.ts +1315 -0
  241. package/dist/lib/frame.js +1535 -0
  242. package/dist/lib/frame.js.map +1 -0
  243. package/dist/lib/hardware-device-context.d.ts +362 -0
  244. package/dist/lib/hardware-device-context.js +383 -0
  245. package/dist/lib/hardware-device-context.js.map +1 -0
  246. package/dist/lib/hardware-frames-context.d.ts +418 -0
  247. package/dist/lib/hardware-frames-context.js +471 -0
  248. package/dist/lib/hardware-frames-context.js.map +1 -0
  249. package/dist/lib/index.d.ts +35 -0
  250. package/dist/lib/index.js +60 -0
  251. package/dist/lib/index.js.map +1 -0
  252. package/dist/lib/input-format.d.ts +249 -0
  253. package/dist/lib/input-format.js +306 -0
  254. package/dist/lib/input-format.js.map +1 -0
  255. package/dist/lib/io-context.d.ts +698 -0
  256. package/dist/lib/io-context.js +771 -0
  257. package/dist/lib/io-context.js.map +1 -0
  258. package/dist/lib/log.d.ts +174 -0
  259. package/dist/lib/log.js +184 -0
  260. package/dist/lib/log.js.map +1 -0
  261. package/dist/lib/native-types.d.ts +1024 -0
  262. package/dist/lib/native-types.js +2 -0
  263. package/dist/lib/native-types.js.map +1 -0
  264. package/dist/lib/option.d.ts +953 -0
  265. package/dist/lib/option.js +1607 -0
  266. package/dist/lib/option.js.map +1 -0
  267. package/dist/lib/output-format.d.ts +222 -0
  268. package/dist/lib/output-format.js +259 -0
  269. package/dist/lib/output-format.js.map +1 -0
  270. package/dist/lib/packet.d.ts +521 -0
  271. package/dist/lib/packet.js +613 -0
  272. package/dist/lib/packet.js.map +1 -0
  273. package/dist/lib/rational.d.ts +251 -0
  274. package/dist/lib/rational.js +278 -0
  275. package/dist/lib/rational.js.map +1 -0
  276. package/dist/lib/software-resample-context.d.ts +552 -0
  277. package/dist/lib/software-resample-context.js +592 -0
  278. package/dist/lib/software-resample-context.js.map +1 -0
  279. package/dist/lib/software-scale-context.d.ts +344 -0
  280. package/dist/lib/software-scale-context.js +366 -0
  281. package/dist/lib/software-scale-context.js.map +1 -0
  282. package/dist/lib/stream.d.ts +383 -0
  283. package/dist/lib/stream.js +524 -0
  284. package/dist/lib/stream.js.map +1 -0
  285. package/dist/lib/sync-queue.d.ts +179 -0
  286. package/dist/lib/sync-queue.js +197 -0
  287. package/dist/lib/sync-queue.js.map +1 -0
  288. package/dist/lib/types.d.ts +34 -0
  289. package/dist/lib/types.js +2 -0
  290. package/dist/lib/types.js.map +1 -0
  291. package/dist/lib/utilities.d.ts +1198 -0
  292. package/dist/lib/utilities.js +1302 -0
  293. package/dist/lib/utilities.js.map +1 -0
  294. package/dist/utils/electron.d.ts +49 -0
  295. package/dist/utils/electron.js +63 -0
  296. package/dist/utils/electron.js.map +1 -0
  297. package/dist/utils/index.d.ts +6 -0
  298. package/dist/utils/index.js +7 -0
  299. package/dist/utils/index.js.map +1 -0
  300. package/dist/utils/libc.d.ts +11 -0
  301. package/dist/utils/libc.js +35 -0
  302. package/dist/utils/libc.js.map +1 -0
  303. package/dist/utils/variant.d.ts +26 -0
  304. package/dist/utils/variant.js +31 -0
  305. package/dist/utils/variant.js.map +1 -0
  306. package/dist/webrtc/index.d.ts +4 -0
  307. package/dist/webrtc/index.js +7 -0
  308. package/dist/webrtc/index.js.map +1 -0
  309. package/install/check.js +124 -0
  310. package/install/ffmpeg.js +66 -0
  311. package/package.json +167 -4
@@ -0,0 +1,4319 @@
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' | (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
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
+ * PSP MP4 (MPEG-4 Part 14)
1211
+ * @see https://ffmpeg.org/ffmpeg-formats.html#psp
1212
+ */
1213
+ psp: {
1214
+ /** Override major brand */
1215
+ brand?: string | number;
1216
+ /** write zero-length name string in hdlr atoms within mdia and minf atoms */
1217
+ empty_hdlr_name?: boolean | (string & {});
1218
+ /** The media encryption key (hex) */
1219
+ encryption_key?: string | number;
1220
+ /** The media encryption key identifier (hex) */
1221
+ encryption_kid?: string | number;
1222
+ /** Configures the encryption scheme, allowed values are none, cenc-aes-ctr */
1223
+ encryption_scheme?: string | number;
1224
+ /** Maximum fragment duration */
1225
+ frag_duration?: number | (string & {});
1226
+ /** Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) */
1227
+ frag_interleave?: number | (string & {});
1228
+ /** Maximum fragment size */
1229
+ frag_size?: number | (string & {});
1230
+ /** Fragment number of the next fragment */
1231
+ fragment_index?: number | (string & {});
1232
+ /** iods audio profile atom. */
1233
+ iods_audio_profile?: number | (string & {});
1234
+ /** iods video profile atom. */
1235
+ iods_video_profile?: number | (string & {});
1236
+ /** Number of lookahead entries for ISM files */
1237
+ ism_lookahead?: number | (string & {});
1238
+ /** MOV muxer flags */
1239
+ 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;
1240
+ /** maximum moov size so it can be placed at the begin */
1241
+ moov_size?: number | (string & {});
1242
+ /** Minimum fragment duration */
1243
+ min_frag_duration?: number | (string & {});
1244
+ /** gamma value for gama atom */
1245
+ mov_gamma?: number | (string & {});
1246
+ /** set movie timescale */
1247
+ movie_timescale?: number | (string & {});
1248
+ /** RTP muxer flags */
1249
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
1250
+ /** Skip writing iods atom. */
1251
+ skip_iods?: boolean | (string & {});
1252
+ /** use edit list */
1253
+ use_editlist?: boolean | (string & {});
1254
+ /** use stream ids as track ids */
1255
+ use_stream_ids_as_track_ids?: boolean | (string & {});
1256
+ /** set timescale of all video tracks */
1257
+ video_track_timescale?: number | (string & {});
1258
+ /** force or disable writing btrt */
1259
+ write_btrt?: boolean | (string & {});
1260
+ /** Write producer reference time box with specified time source */
1261
+ write_prft?: 'pts' | 'wallclock' | (string & {}) | number;
1262
+ /** force or disable writing tmcd */
1263
+ write_tmcd?: boolean | (string & {});
1264
+ };
1265
+ /**
1266
+ * Pulse audio output
1267
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pulse
1268
+ */
1269
+ pulse: {
1270
+ /** set PulseAudio server */
1271
+ server?: string | number;
1272
+ /** set application name */
1273
+ name?: string | number;
1274
+ /** set stream description */
1275
+ stream_name?: string | number;
1276
+ /** set device name */
1277
+ device?: string | number;
1278
+ /** set buffer size in bytes */
1279
+ buffer_size?: number | (string & {});
1280
+ /** set buffer duration in millisecs */
1281
+ buffer_duration?: number | (string & {});
1282
+ /** set pre-buffering size */
1283
+ prebuf?: number | (string & {});
1284
+ /** set minimum request size */
1285
+ minreq?: number | (string & {});
1286
+ };
1287
+ /**
1288
+ * RTP output
1289
+ * @see https://ffmpeg.org/ffmpeg-formats.html#rtp
1290
+ */
1291
+ rtp: {
1292
+ /** RTP muxer flags */
1293
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
1294
+ /** Specify RTP payload type */
1295
+ payload_type?: number | (string & {});
1296
+ /** Stream identifier */
1297
+ ssrc?: number | (string & {});
1298
+ /** CNAME to include in RTCP SR packets */
1299
+ cname?: string | number;
1300
+ /** Starting sequence number */
1301
+ seq?: number | (string & {});
1302
+ };
1303
+ /**
1304
+ * RTP/mpegts output format
1305
+ * @see https://ffmpeg.org/ffmpeg-formats.html#rtp_005fmpegts
1306
+ */
1307
+ rtp_mpegts: {
1308
+ /** set list of options for the MPEG-TS muxer */
1309
+ mpegts_muxer_options?: string | number;
1310
+ /** set list of options for the RTP muxer */
1311
+ rtp_muxer_options?: string | number;
1312
+ };
1313
+ /**
1314
+ * RTSP output
1315
+ * @see https://ffmpeg.org/ffmpeg-formats.html#rtsp
1316
+ */
1317
+ rtsp: {
1318
+ /** do not start playing the stream immediately */
1319
+ initial_pause?: boolean | (string & {});
1320
+ /** RTP muxer flags */
1321
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
1322
+ /** set RTSP transport protocols */
1323
+ rtsp_transport?: 'udp' | 'tcp' | 'udp_multicast' | 'http' | 'https' | (string & {}) | number;
1324
+ /** set RTSP flags */
1325
+ rtsp_flags?: 'filter_src' | 'listen' | 'prefer_tcp' | 'satip_raw' | (string & {}) | number;
1326
+ /** set media types to accept from the server */
1327
+ allowed_media_types?: 'video' | 'audio' | 'data' | 'subtitle' | (string & {}) | number;
1328
+ /** set minimum local UDP port */
1329
+ min_port?: number | (string & {});
1330
+ /** set maximum local UDP port */
1331
+ max_port?: number | (string & {});
1332
+ /** set maximum timeout (in seconds) to wait for incoming connections (-1 is infinite, imply flag listen) */
1333
+ listen_timeout?: number | (string & {});
1334
+ /** set timeout (in microseconds) of socket I/O operations */
1335
+ timeout?: number | (string & {});
1336
+ /** set number of packets to buffer for handling of reordered packets */
1337
+ reorder_queue_size?: number | (string & {});
1338
+ /** Underlying protocol send/receive buffer size */
1339
+ buffer_size?: number | (string & {});
1340
+ /** Underlying protocol send packet size */
1341
+ pkt_size?: number | (string & {});
1342
+ /** override User-Agent header */
1343
+ user_agent?: string | number;
1344
+ /** Certificate Authority database file */
1345
+ ca_file?: string | number;
1346
+ /** Certificate Authority database file */
1347
+ cafile?: string | number;
1348
+ /** Verify the peer certificate */
1349
+ tls_verify?: boolean | (string & {});
1350
+ /** Verify the peer certificate */
1351
+ verify?: boolean | (string & {});
1352
+ /** Certificate file */
1353
+ cert_file?: string | number;
1354
+ /** Certificate file */
1355
+ cert?: string | number;
1356
+ /** Private key file */
1357
+ key_file?: string | number;
1358
+ /** Private key file */
1359
+ key?: string | number;
1360
+ /** Verify against a specific hostname */
1361
+ verifyhost?: string | number;
1362
+ };
1363
+ /**
1364
+ * segment
1365
+ * @see https://ffmpeg.org/ffmpeg-formats.html#segment
1366
+ */
1367
+ segment: {
1368
+ /** set reference stream */
1369
+ reference_stream?: string | number;
1370
+ /** set container format used for the segments */
1371
+ segment_format?: string | number;
1372
+ /** set list of options for the container format used for the segments */
1373
+ segment_format_options?: string | number;
1374
+ /** set the segment list filename */
1375
+ segment_list?: string | number;
1376
+ /** write a single file containing the header */
1377
+ segment_header_filename?: string | number;
1378
+ /** set flags affecting segment list generation */
1379
+ segment_list_flags?: 'cache' | 'live' | (string & {}) | number;
1380
+ /** set the maximum number of playlist entries */
1381
+ segment_list_size?: number | (string & {});
1382
+ /** set the segment list type */
1383
+ segment_list_type?: 'flat' | 'csv' | 'ext' | 'ffconcat' | 'm3u8' | 'hls' | (string & {}) | number;
1384
+ /** set segment to be cut at clocktime */
1385
+ segment_atclocktime?: boolean | (string & {});
1386
+ /** set segment clocktime offset */
1387
+ segment_clocktime_offset?: string | number;
1388
+ /** set segment clocktime wrapping duration */
1389
+ segment_clocktime_wrap_duration?: string | number;
1390
+ /** set segment duration */
1391
+ segment_time?: string | number;
1392
+ /** set approximation value used for the segment times */
1393
+ segment_time_delta?: string | number;
1394
+ /** set minimum segment duration */
1395
+ min_seg_duration?: string | number;
1396
+ /** set segment split time points */
1397
+ segment_times?: string | number;
1398
+ /** set segment split frame numbers */
1399
+ segment_frames?: string | number;
1400
+ /** set number after which the index wraps */
1401
+ segment_wrap?: number | (string & {});
1402
+ /** set base url prefix for segments */
1403
+ segment_list_entry_prefix?: string | number;
1404
+ /** set the sequence number of the first segment */
1405
+ segment_start_number?: number | (string & {});
1406
+ /** set the number of wrap before the first segment */
1407
+ segment_wrap_number?: number | (string & {});
1408
+ /** set filename expansion with strftime at segment creation */
1409
+ strftime?: boolean | (string & {});
1410
+ /** increment timecode between each segment */
1411
+ increment_tc?: boolean | (string & {});
1412
+ /** allow breaking segments on non-keyframes */
1413
+ break_non_keyframes?: boolean | (string & {});
1414
+ /** write header/trailer to each segment */
1415
+ individual_header_trailer?: boolean | (string & {});
1416
+ /** write a header to the first segment and a trailer to the last one */
1417
+ write_header_trailer?: boolean | (string & {});
1418
+ /** reset timestamps at the beginning of each segment */
1419
+ reset_timestamps?: boolean | (string & {});
1420
+ /** set initial timestamp offset */
1421
+ initial_offset?: string | number;
1422
+ /** allow writing empty 'filler' segments */
1423
+ write_empty_segments?: boolean | (string & {});
1424
+ };
1425
+ /**
1426
+ * Smooth Streaming Muxer
1427
+ * @see https://ffmpeg.org/ffmpeg-formats.html#smoothstreaming
1428
+ */
1429
+ smoothstreaming: {
1430
+ /** number of fragments kept in the manifest */
1431
+ window_size?: number | (string & {});
1432
+ /** number of fragments kept outside of the manifest before removing from disk */
1433
+ extra_window_size?: number | (string & {});
1434
+ /** number of lookahead fragments */
1435
+ lookahead_count?: number | (string & {});
1436
+ /** minimum fragment duration (in microseconds) */
1437
+ min_frag_duration?: number | (string & {});
1438
+ /** remove all fragments when finished */
1439
+ remove_at_exit?: boolean | (string & {});
1440
+ };
1441
+ /**
1442
+ * IEC 61937 (used on S/PDIF - IEC958)
1443
+ * @see https://ffmpeg.org/ffmpeg-formats.html#spdif
1444
+ */
1445
+ spdif: {
1446
+ /** IEC 61937 encapsulation flags */
1447
+ spdif_flags?: 'be' | (string & {}) | number;
1448
+ /** mux complete DTS frames in HD mode at the specified IEC958 rate (in Hz, default 0=disabled) */
1449
+ dtshd_rate?: number | (string & {});
1450
+ /** min secs to strip HD for after an overflow (-1: till the end, default 60) */
1451
+ dtshd_fallback_time?: number | (string & {});
1452
+ };
1453
+ /**
1454
+ * Ogg Speex
1455
+ * @see https://ffmpeg.org/ffmpeg-formats.html#spx
1456
+ */
1457
+ spx: {
1458
+ /** serial number offset */
1459
+ serial_offset?: number | (string & {});
1460
+ /** Set preferred Ogg page size. */
1461
+ oggpagesize?: number | (string & {});
1462
+ /** preferred page size in bytes */
1463
+ pagesize?: number | (string & {});
1464
+ /** preferred page duration, in microseconds */
1465
+ page_duration?: number | (string & {});
1466
+ };
1467
+ /**
1468
+ * streaming segment muxer
1469
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ssegment
1470
+ */
1471
+ ssegment: {
1472
+ /** set reference stream */
1473
+ reference_stream?: string | number;
1474
+ /** set container format used for the segments */
1475
+ segment_format?: string | number;
1476
+ /** set list of options for the container format used for the segments */
1477
+ segment_format_options?: string | number;
1478
+ /** set the segment list filename */
1479
+ segment_list?: string | number;
1480
+ /** write a single file containing the header */
1481
+ segment_header_filename?: string | number;
1482
+ /** set flags affecting segment list generation */
1483
+ segment_list_flags?: 'cache' | 'live' | (string & {}) | number;
1484
+ /** set the maximum number of playlist entries */
1485
+ segment_list_size?: number | (string & {});
1486
+ /** set the segment list type */
1487
+ segment_list_type?: 'flat' | 'csv' | 'ext' | 'ffconcat' | 'm3u8' | 'hls' | (string & {}) | number;
1488
+ /** set segment to be cut at clocktime */
1489
+ segment_atclocktime?: boolean | (string & {});
1490
+ /** set segment clocktime offset */
1491
+ segment_clocktime_offset?: string | number;
1492
+ /** set segment clocktime wrapping duration */
1493
+ segment_clocktime_wrap_duration?: string | number;
1494
+ /** set segment duration */
1495
+ segment_time?: string | number;
1496
+ /** set approximation value used for the segment times */
1497
+ segment_time_delta?: string | number;
1498
+ /** set minimum segment duration */
1499
+ min_seg_duration?: string | number;
1500
+ /** set segment split time points */
1501
+ segment_times?: string | number;
1502
+ /** set segment split frame numbers */
1503
+ segment_frames?: string | number;
1504
+ /** set number after which the index wraps */
1505
+ segment_wrap?: number | (string & {});
1506
+ /** set base url prefix for segments */
1507
+ segment_list_entry_prefix?: string | number;
1508
+ /** set the sequence number of the first segment */
1509
+ segment_start_number?: number | (string & {});
1510
+ /** set the number of wrap before the first segment */
1511
+ segment_wrap_number?: number | (string & {});
1512
+ /** set filename expansion with strftime at segment creation */
1513
+ strftime?: boolean | (string & {});
1514
+ /** increment timecode between each segment */
1515
+ increment_tc?: boolean | (string & {});
1516
+ /** allow breaking segments on non-keyframes */
1517
+ break_non_keyframes?: boolean | (string & {});
1518
+ /** write header/trailer to each segment */
1519
+ individual_header_trailer?: boolean | (string & {});
1520
+ /** write a header to the first segment and a trailer to the last one */
1521
+ write_header_trailer?: boolean | (string & {});
1522
+ /** reset timestamps at the beginning of each segment */
1523
+ reset_timestamps?: boolean | (string & {});
1524
+ /** set initial timestamp offset */
1525
+ initial_offset?: string | number;
1526
+ /** allow writing empty 'filler' segments */
1527
+ write_empty_segments?: boolean | (string & {});
1528
+ };
1529
+ /**
1530
+ * streaming segment muxer
1531
+ * @see https://ffmpeg.org/ffmpeg-formats.html#stream_005fsegment
1532
+ */
1533
+ stream_segment: {
1534
+ /** set reference stream */
1535
+ reference_stream?: string | number;
1536
+ /** set container format used for the segments */
1537
+ segment_format?: string | number;
1538
+ /** set list of options for the container format used for the segments */
1539
+ segment_format_options?: string | number;
1540
+ /** set the segment list filename */
1541
+ segment_list?: string | number;
1542
+ /** write a single file containing the header */
1543
+ segment_header_filename?: string | number;
1544
+ /** set flags affecting segment list generation */
1545
+ segment_list_flags?: 'cache' | 'live' | (string & {}) | number;
1546
+ /** set the maximum number of playlist entries */
1547
+ segment_list_size?: number | (string & {});
1548
+ /** set the segment list type */
1549
+ segment_list_type?: 'flat' | 'csv' | 'ext' | 'ffconcat' | 'm3u8' | 'hls' | (string & {}) | number;
1550
+ /** set segment to be cut at clocktime */
1551
+ segment_atclocktime?: boolean | (string & {});
1552
+ /** set segment clocktime offset */
1553
+ segment_clocktime_offset?: string | number;
1554
+ /** set segment clocktime wrapping duration */
1555
+ segment_clocktime_wrap_duration?: string | number;
1556
+ /** set segment duration */
1557
+ segment_time?: string | number;
1558
+ /** set approximation value used for the segment times */
1559
+ segment_time_delta?: string | number;
1560
+ /** set minimum segment duration */
1561
+ min_seg_duration?: string | number;
1562
+ /** set segment split time points */
1563
+ segment_times?: string | number;
1564
+ /** set segment split frame numbers */
1565
+ segment_frames?: string | number;
1566
+ /** set number after which the index wraps */
1567
+ segment_wrap?: number | (string & {});
1568
+ /** set base url prefix for segments */
1569
+ segment_list_entry_prefix?: string | number;
1570
+ /** set the sequence number of the first segment */
1571
+ segment_start_number?: number | (string & {});
1572
+ /** set the number of wrap before the first segment */
1573
+ segment_wrap_number?: number | (string & {});
1574
+ /** set filename expansion with strftime at segment creation */
1575
+ strftime?: boolean | (string & {});
1576
+ /** increment timecode between each segment */
1577
+ increment_tc?: boolean | (string & {});
1578
+ /** allow breaking segments on non-keyframes */
1579
+ break_non_keyframes?: boolean | (string & {});
1580
+ /** write header/trailer to each segment */
1581
+ individual_header_trailer?: boolean | (string & {});
1582
+ /** write a header to the first segment and a trailer to the last one */
1583
+ write_header_trailer?: boolean | (string & {});
1584
+ /** reset timestamps at the beginning of each segment */
1585
+ reset_timestamps?: boolean | (string & {});
1586
+ /** set initial timestamp offset */
1587
+ initial_offset?: string | number;
1588
+ /** allow writing empty 'filler' segments */
1589
+ write_empty_segments?: boolean | (string & {});
1590
+ };
1591
+ /**
1592
+ * Per-stream hash testing
1593
+ * @see https://ffmpeg.org/ffmpeg-formats.html#streamhash
1594
+ */
1595
+ streamhash: {
1596
+ /** set hash to use */
1597
+ hash?: string | number;
1598
+ };
1599
+ /**
1600
+ * MPEG-2 PS (SVCD)
1601
+ * @see https://ffmpeg.org/ffmpeg-formats.html#svcd
1602
+ */
1603
+ svcd: {
1604
+ /** mux rate as bits/s */
1605
+ muxrate?: number | (string & {});
1606
+ /** initial demux-decode delay in microseconds */
1607
+ preload?: number | (string & {});
1608
+ };
1609
+ /**
1610
+ * Multiple muxer tee
1611
+ * @see https://ffmpeg.org/ffmpeg-formats.html#tee
1612
+ */
1613
+ tee: {
1614
+ /** Use fifo pseudo-muxer to separate actual muxers from encoder */
1615
+ use_fifo?: boolean | (string & {});
1616
+ /** fifo pseudo-muxer options */
1617
+ fifo_options?: string | number;
1618
+ };
1619
+ /**
1620
+ * MPEG-1 Systems / MPEG program stream (VCD)
1621
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vcd
1622
+ */
1623
+ vcd: {
1624
+ /** mux rate as bits/s */
1625
+ muxrate?: number | (string & {});
1626
+ /** initial demux-decode delay in microseconds */
1627
+ preload?: number | (string & {});
1628
+ };
1629
+ /**
1630
+ * MPEG-2 PS (VOB)
1631
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vob
1632
+ */
1633
+ vob: {
1634
+ /** mux rate as bits/s */
1635
+ muxrate?: number | (string & {});
1636
+ /** initial demux-decode delay in microseconds */
1637
+ preload?: number | (string & {});
1638
+ };
1639
+ /**
1640
+ * WAV / WAVE (Waveform Audio)
1641
+ * @see https://ffmpeg.org/ffmpeg-formats.html#wav
1642
+ */
1643
+ wav: {
1644
+ /** Write BEXT chunk. */
1645
+ write_bext?: boolean | (string & {});
1646
+ /** Write Peak Envelope chunk. */
1647
+ write_peak?: 'off' | 'on' | 'only' | (string & {}) | number;
1648
+ /** Use RF64 header rather than RIFF for large files. */
1649
+ rf64?: 'auto' | 'always' | 'never' | (string & {}) | number;
1650
+ /** Number of audio samples used to generate each peak frame. */
1651
+ peak_block_size?: number | (string & {});
1652
+ /** The format of the peak envelope data (1: uint8, 2: uint16). */
1653
+ peak_format?: number | (string & {});
1654
+ /** Number of peak points per peak value (1 or 2). */
1655
+ peak_ppv?: number | (string & {});
1656
+ };
1657
+ /**
1658
+ * WebM
1659
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webm
1660
+ */
1661
+ webm: {
1662
+ /** reserve a given amount of space (in bytes) at the beginning of the file for the index (cues) */
1663
+ reserve_index_space?: number | (string & {});
1664
+ /** move Cues (the index) to the front by shifting data if necessary */
1665
+ cues_to_front?: boolean | (string & {});
1666
+ /** store at most the provided amount of bytes in a cluster */
1667
+ cluster_size_limit?: number | (string & {});
1668
+ /** store at most the provided number of milliseconds in a cluster */
1669
+ cluster_time_limit?: number | (string & {});
1670
+ /** create a WebM file conforming to WebM DASH specification */
1671
+ dash?: boolean | (string & {});
1672
+ /** track number for the DASH stream */
1673
+ dash_track_number?: number | (string & {});
1674
+ /** write files assuming it is a live stream */
1675
+ live?: boolean | (string & {});
1676
+ /** allow raw VFW mode */
1677
+ allow_raw_vfw?: boolean | (string & {});
1678
+ /** store raw RGB bitmaps in VFW mode in bottom-up mode */
1679
+ flipped_raw_rgb?: boolean | (string & {});
1680
+ /** write a CRC32 element inside every Level 1 element */
1681
+ write_crc32?: boolean | (string & {});
1682
+ /** control how a track's FlagDefault is inferred */
1683
+ default_mode?: 'infer' | 'infer_no_subs' | 'passthrough' | (string & {}) | number;
1684
+ };
1685
+ /**
1686
+ * WebM Chunk Muxer
1687
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webm_005fchunk
1688
+ */
1689
+ webm_chunk: {
1690
+ /** start index of the chunk */
1691
+ chunk_start_index?: number | (string & {});
1692
+ /** filename of the header where the initialization data will be written */
1693
+ header?: string | number;
1694
+ /** duration of each chunk in milliseconds */
1695
+ audio_chunk_duration?: number | (string & {});
1696
+ /** set the HTTP method */
1697
+ method?: string | number;
1698
+ };
1699
+ /**
1700
+ * WebM DASH Manifest
1701
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webm_005fdash_005fmanifest
1702
+ */
1703
+ webm_dash_manifest: {
1704
+ /** Adaptation sets. Syntax: id=0,streams=0,1,2 id=1,streams=3,4 and so on */
1705
+ adaptation_sets?: string | number;
1706
+ /** create a live stream manifest */
1707
+ live?: boolean | (string & {});
1708
+ /** start index of the chunk */
1709
+ chunk_start_index?: number | (string & {});
1710
+ /** duration of each chunk (in milliseconds) */
1711
+ chunk_duration_ms?: number | (string & {});
1712
+ /** URL of the page that will return the UTC timestamp in ISO format */
1713
+ utc_timing_url?: string | number;
1714
+ /** Smallest time (in seconds) shifting buffer for which any Representation is guaranteed to be available. */
1715
+ time_shift_buffer_depth?: number | (string & {});
1716
+ /** Minimum Update Period (in seconds) of the manifest. */
1717
+ minimum_update_period?: number | (string & {});
1718
+ };
1719
+ /**
1720
+ * WebP
1721
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webp
1722
+ */
1723
+ webp: {
1724
+ /** Number of times to loop the output: 0 - infinite loop */
1725
+ loop?: number | (string & {});
1726
+ };
1727
+ /**
1728
+ * WHIP(WebRTC-HTTP ingestion protocol) muxer
1729
+ * @see https://ffmpeg.org/ffmpeg-formats.html#whip
1730
+ */
1731
+ whip: {
1732
+ /** Timeout in milliseconds for ICE and DTLS handshake. */
1733
+ handshake_timeout?: number | (string & {});
1734
+ /** The maximum size, in bytes, of RTP packets that send out */
1735
+ pkt_size?: number | (string & {});
1736
+ /** The buffer size, in bytes, of underlying protocol */
1737
+ ts_buffer_size?: number | (string & {});
1738
+ /** Set flags affecting WHIP connection behavior */
1739
+ whip_flags?: 'dtls_active' | (string & {}) | number;
1740
+ /** The number of RTP history items to store */
1741
+ rtp_history?: number | (string & {});
1742
+ /** The optional Bearer token for WHIP Authorization */
1743
+ authorization?: string | number;
1744
+ /** The optional certificate file path for DTLS */
1745
+ cert_file?: string | number;
1746
+ /** The optional private key file path for DTLS */
1747
+ key_file?: string | number;
1748
+ };
1749
+ /**
1750
+ * XV (XVideo) output device
1751
+ * @see https://ffmpeg.org/ffmpeg-formats.html#xv
1752
+ */
1753
+ xv: {
1754
+ /** set display name */
1755
+ display_name?: string | number;
1756
+ /** set existing window id */
1757
+ window_id?: number | (string & {});
1758
+ /** set window forced size */
1759
+ window_size?: string | number;
1760
+ /** set window title */
1761
+ window_title?: string | number;
1762
+ /** set window x offset */
1763
+ window_x?: number | (string & {});
1764
+ /** set window y offset */
1765
+ window_y?: number | (string & {});
1766
+ };
1767
+ }
1768
+ export interface DemuxerPrivateOptionsMap {
1769
+ /**
1770
+ * QuickTime / MOV
1771
+ * @see https://ffmpeg.org/ffmpeg-formats.html#3g2
1772
+ */
1773
+ '3g2': {
1774
+ /** allow using absolute path when opening alias, this is a possible security issue */
1775
+ use_absolute_path?: boolean | (string & {});
1776
+ /** Seek each stream individually to the closest point */
1777
+ seek_streams_individually?: boolean | (string & {});
1778
+ /** Ignore the edit list atom. */
1779
+ ignore_editlist?: boolean | (string & {});
1780
+ /** Modify the AVIndex according to the editlists. Use this option to decode in the order specified by the edits. */
1781
+ advanced_editlist?: boolean | (string & {});
1782
+ ignore_chapters?: boolean | (string & {});
1783
+ /** use mfra for fragment timestamps */
1784
+ use_mfra_for?: 'auto' | 'dts' | 'pts' | (string & {}) | number;
1785
+ /** use tfdt for fragment timestamps */
1786
+ use_tfdt?: boolean | (string & {});
1787
+ /** Export unrecognized metadata entries */
1788
+ export_all?: boolean | (string & {});
1789
+ /** Export full XMP metadata */
1790
+ export_xmp?: boolean | (string & {});
1791
+ /** Secret bytes for Audible AAX files */
1792
+ activation_bytes?: string | number;
1793
+ /** AES-128 Key for Audible AAXC files */
1794
+ audible_key?: string | number;
1795
+ /** AES-128 IV for Audible AAXC files */
1796
+ audible_iv?: string | number;
1797
+ /** Fixed key used for handling Audible AAX files */
1798
+ audible_fixed_key?: string | number;
1799
+ /** The default media decryption key (hex) */
1800
+ decryption_key?: string | number;
1801
+ /** The media decryption keys by KID (hex) */
1802
+ decryption_keys?: string | number;
1803
+ /** Enable external track support. */
1804
+ enable_drefs?: boolean | (string & {});
1805
+ /** treat offsets above this value as invalid */
1806
+ max_stts_delta?: number | (string & {});
1807
+ /** Interleave packets from multiple tracks at demuxer level */
1808
+ interleaved_read?: boolean | (string & {});
1809
+ };
1810
+ /**
1811
+ * QuickTime / MOV
1812
+ * @see https://ffmpeg.org/ffmpeg-formats.html#3gp
1813
+ */
1814
+ '3gp': {
1815
+ /** allow using absolute path when opening alias, this is a possible security issue */
1816
+ use_absolute_path?: boolean | (string & {});
1817
+ /** Seek each stream individually to the closest point */
1818
+ seek_streams_individually?: boolean | (string & {});
1819
+ /** Ignore the edit list atom. */
1820
+ ignore_editlist?: boolean | (string & {});
1821
+ /** Modify the AVIndex according to the editlists. Use this option to decode in the order specified by the edits. */
1822
+ advanced_editlist?: boolean | (string & {});
1823
+ ignore_chapters?: boolean | (string & {});
1824
+ /** use mfra for fragment timestamps */
1825
+ use_mfra_for?: 'auto' | 'dts' | 'pts' | (string & {}) | number;
1826
+ /** use tfdt for fragment timestamps */
1827
+ use_tfdt?: boolean | (string & {});
1828
+ /** Export unrecognized metadata entries */
1829
+ export_all?: boolean | (string & {});
1830
+ /** Export full XMP metadata */
1831
+ export_xmp?: boolean | (string & {});
1832
+ /** Secret bytes for Audible AAX files */
1833
+ activation_bytes?: string | number;
1834
+ /** AES-128 Key for Audible AAXC files */
1835
+ audible_key?: string | number;
1836
+ /** AES-128 IV for Audible AAXC files */
1837
+ audible_iv?: string | number;
1838
+ /** Fixed key used for handling Audible AAX files */
1839
+ audible_fixed_key?: string | number;
1840
+ /** The default media decryption key (hex) */
1841
+ decryption_key?: string | number;
1842
+ /** The media decryption keys by KID (hex) */
1843
+ decryption_keys?: string | number;
1844
+ /** Enable external track support. */
1845
+ enable_drefs?: boolean | (string & {});
1846
+ /** treat offsets above this value as invalid */
1847
+ max_stts_delta?: number | (string & {});
1848
+ /** Interleave packets from multiple tracks at demuxer level */
1849
+ interleaved_read?: boolean | (string & {});
1850
+ };
1851
+ /**
1852
+ * Audible AA format files
1853
+ * @see https://ffmpeg.org/ffmpeg-formats.html#aa
1854
+ */
1855
+ aa: {
1856
+ /** Fixed key used for handling Audible AA files */
1857
+ aa_fixed_key?: string | number;
1858
+ };
1859
+ /**
1860
+ * raw AC-3
1861
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ac3
1862
+ */
1863
+ ac3: {
1864
+ raw_packet_size?: number | (string & {});
1865
+ };
1866
+ /**
1867
+ * Interplay ACM
1868
+ * @see https://ffmpeg.org/ffmpeg-formats.html#acm
1869
+ */
1870
+ acm: {
1871
+ raw_packet_size?: number | (string & {});
1872
+ };
1873
+ /**
1874
+ * Artworx Data Format
1875
+ * @see https://ffmpeg.org/ffmpeg-formats.html#adf
1876
+ */
1877
+ adf: {
1878
+ /** set simulated line speed (bytes per second) */
1879
+ linespeed?: number | (string & {});
1880
+ /** set video size, such as 640x480 or hd720. */
1881
+ video_size?: string | number;
1882
+ /** set framerate (frames per second) */
1883
+ framerate?: string | number;
1884
+ };
1885
+ /**
1886
+ * CRI ADX
1887
+ * @see https://ffmpeg.org/ffmpeg-formats.html#adx
1888
+ */
1889
+ adx: {
1890
+ raw_packet_size?: number | (string & {});
1891
+ };
1892
+ /**
1893
+ * PCM A-law
1894
+ * @see https://ffmpeg.org/ffmpeg-formats.html#alaw
1895
+ */
1896
+ alaw: {
1897
+ sample_rate?: number | (string & {});
1898
+ ch_layout?: string | number;
1899
+ };
1900
+ /**
1901
+ * Alias/Wavefront PIX image
1902
+ * @see https://ffmpeg.org/ffmpeg-formats.html#alias_005fpix
1903
+ */
1904
+ alias_pix: {
1905
+ /** set pattern type */
1906
+ pattern_type?: 'glob' | 'sequence' | 'none' | (string & {}) | number;
1907
+ /** set first number in the sequence */
1908
+ start_number?: number | (string & {});
1909
+ /** set range for looking at the first sequence number */
1910
+ start_number_range?: number | (string & {});
1911
+ /** set frame timestamp from file's one */
1912
+ ts_from_file?: 'none' | 'sec' | 'ns' | (string & {}) | number;
1913
+ /** enable metadata containing input path information */
1914
+ export_path_metadata?: boolean | (string & {});
1915
+ /** set the video framerate */
1916
+ framerate?: string | number;
1917
+ /** set video pixel format */
1918
+ pixel_format?: string | number;
1919
+ /** set video size */
1920
+ video_size?: string | number;
1921
+ /** force loop over input file sequence */
1922
+ loop?: boolean | (string & {});
1923
+ };
1924
+ /**
1925
+ * ALSA audio input
1926
+ * @see https://ffmpeg.org/ffmpeg-formats.html#alsa
1927
+ */
1928
+ alsa: {
1929
+ sample_rate?: number | (string & {});
1930
+ channels?: number | (string & {});
1931
+ ch_layout?: string | number;
1932
+ };
1933
+ /**
1934
+ * 3GPP AMR
1935
+ * @see https://ffmpeg.org/ffmpeg-formats.html#amr
1936
+ */
1937
+ amr: {
1938
+ raw_packet_size?: number | (string & {});
1939
+ };
1940
+ /**
1941
+ * raw AMR-NB
1942
+ * @see https://ffmpeg.org/ffmpeg-formats.html#amrnb
1943
+ */
1944
+ amrnb: {
1945
+ raw_packet_size?: number | (string & {});
1946
+ };
1947
+ /**
1948
+ * raw AMR-WB
1949
+ * @see https://ffmpeg.org/ffmpeg-formats.html#amrwb
1950
+ */
1951
+ amrwb: {
1952
+ raw_packet_size?: number | (string & {});
1953
+ };
1954
+ /**
1955
+ * Android camera input device
1956
+ * @see https://ffmpeg.org/ffmpeg-formats.html#android_005fcamera
1957
+ */
1958
+ android_camera: {
1959
+ /** set video size given as a string such as 640x480 or hd720 */
1960
+ video_size?: string | number;
1961
+ /** set video frame rate */
1962
+ framerate?: string | number;
1963
+ /** set index of camera to use */
1964
+ camera_index?: number | (string & {});
1965
+ /** set maximum number of frames to buffer */
1966
+ input_queue_size?: number | (string & {});
1967
+ };
1968
+ /**
1969
+ * raw APAC
1970
+ * @see https://ffmpeg.org/ffmpeg-formats.html#apac
1971
+ */
1972
+ apac: {
1973
+ raw_packet_size?: number | (string & {});
1974
+ };
1975
+ /**
1976
+ * Animated Portable Network Graphics
1977
+ * @see https://ffmpeg.org/ffmpeg-formats.html#apng
1978
+ */
1979
+ apng: {
1980
+ /** ignore loop setting */
1981
+ ignore_loop?: boolean | (string & {});
1982
+ /** maximum framerate (0 is no limit) */
1983
+ max_fps?: number | (string & {});
1984
+ /** default framerate (0 is as fast as possible) */
1985
+ default_fps?: number | (string & {});
1986
+ };
1987
+ /**
1988
+ * raw aptX
1989
+ * @see https://ffmpeg.org/ffmpeg-formats.html#aptx
1990
+ */
1991
+ aptx: {
1992
+ sample_rate?: number | (string & {});
1993
+ };
1994
+ /**
1995
+ * raw aptX HD
1996
+ * @see https://ffmpeg.org/ffmpeg-formats.html#aptx_005fhd
1997
+ */
1998
+ aptx_hd: {
1999
+ sample_rate?: number | (string & {});
2000
+ };
2001
+ /**
2002
+ * APV raw bitstream
2003
+ * @see https://ffmpeg.org/ffmpeg-formats.html#apv
2004
+ */
2005
+ apv: {
2006
+ /** set frame rate */
2007
+ framerate?: string | number;
2008
+ };
2009
+ /**
2010
+ * AQTitle subtitles
2011
+ * @see https://ffmpeg.org/ffmpeg-formats.html#aqtitle
2012
+ */
2013
+ aqtitle: {
2014
+ /** set the movie frame rate */
2015
+ subfps?: string | number;
2016
+ };
2017
+ /**
2018
+ * ASF (Advanced / Active Streaming Format)
2019
+ * @see https://ffmpeg.org/ffmpeg-formats.html#asf
2020
+ */
2021
+ asf: {
2022
+ /** Don't try to resynchronize by looking for a certain optional start code */
2023
+ no_resync_search?: boolean | (string & {});
2024
+ /** Export full XMP metadata */
2025
+ export_xmp?: boolean | (string & {});
2026
+ };
2027
+ /**
2028
+ * AV1 Annex B
2029
+ * @see https://ffmpeg.org/ffmpeg-formats.html#av1
2030
+ */
2031
+ av1: {
2032
+ framerate?: string | number;
2033
+ };
2034
+ /**
2035
+ * AVFoundation input device
2036
+ * @see https://ffmpeg.org/ffmpeg-formats.html#avfoundation
2037
+ */
2038
+ avfoundation: {
2039
+ /** list available devices */
2040
+ list_devices?: boolean | (string & {});
2041
+ /** select video device by index for devices with same name (starts at 0) */
2042
+ video_device_index?: number | (string & {});
2043
+ /** select audio device by index for devices with same name (starts at 0) */
2044
+ audio_device_index?: number | (string & {});
2045
+ /** set pixel format */
2046
+ pixel_format?: string | number;
2047
+ /** set frame rate */
2048
+ framerate?: string | number;
2049
+ /** set video size */
2050
+ video_size?: string | number;
2051
+ /** capture the screen cursor */
2052
+ capture_cursor?: boolean | (string & {});
2053
+ /** capture the screen mouse clicks */
2054
+ capture_mouse_clicks?: boolean | (string & {});
2055
+ /** capture the raw data from device connection */
2056
+ capture_raw_data?: boolean | (string & {});
2057
+ /** drop frames that are available later than expected */
2058
+ drop_late_frames?: boolean | (string & {});
2059
+ /** capture system audio via ScreenCaptureKit (macOS 13.0+) */
2060
+ capture_system_audio?: boolean | (string & {});
2061
+ /** exclude current process audio from system audio capture */
2062
+ exclude_process_audio?: boolean | (string & {});
2063
+ /** set system audio sample rate (8000/16000/24000/48000) */
2064
+ sck_audio_sample_rate?: number | (string & {});
2065
+ /** set system audio channel count (1=mono, 2=stereo) */
2066
+ sck_audio_channels?: number | (string & {});
2067
+ /** capture a specific window by ID via ScreenCaptureKit (0=disabled) */
2068
+ capture_window_id?: number | (string & {});
2069
+ };
2070
+ /**
2071
+ * AVI (Audio Video Interleaved)
2072
+ * @see https://ffmpeg.org/ffmpeg-formats.html#avi
2073
+ */
2074
+ avi: {
2075
+ /** use odml index */
2076
+ use_odml?: boolean | (string & {});
2077
+ };
2078
+ /**
2079
+ * AviSynth script
2080
+ * @see https://ffmpeg.org/ffmpeg-formats.html#avisynth
2081
+ */
2082
+ avisynth: {
2083
+ /** set flags related to reading frame properties from script (AviSynth+ v3.7.1 or higher) */
2084
+ avisynth_flags?: 'field_order' | 'range' | 'primaries' | 'transfer' | 'matrix' | 'chroma_location' | 'sar' | (string & {}) | number;
2085
+ };
2086
+ /**
2087
+ * raw AVS2-P2/IEEE1857.4
2088
+ * @see https://ffmpeg.org/ffmpeg-formats.html#avs2
2089
+ */
2090
+ avs2: {
2091
+ framerate?: string | number;
2092
+ raw_packet_size?: number | (string & {});
2093
+ };
2094
+ /**
2095
+ * raw AVS3-P2/IEEE1857.10
2096
+ * @see https://ffmpeg.org/ffmpeg-formats.html#avs3
2097
+ */
2098
+ avs3: {
2099
+ framerate?: string | number;
2100
+ raw_packet_size?: number | (string & {});
2101
+ };
2102
+ /**
2103
+ * Binary text
2104
+ * @see https://ffmpeg.org/ffmpeg-formats.html#bin
2105
+ */
2106
+ bin: {
2107
+ /** set simulated line speed (bytes per second) */
2108
+ linespeed?: number | (string & {});
2109
+ /** set video size, such as 640x480 or hd720. */
2110
+ video_size?: string | number;
2111
+ /** set framerate (frames per second) */
2112
+ framerate?: string | number;
2113
+ };
2114
+ /**
2115
+ * Bitpacked
2116
+ * @see https://ffmpeg.org/ffmpeg-formats.html#bitpacked
2117
+ */
2118
+ bitpacked: {
2119
+ /** set pixel format */
2120
+ pixel_format?: string | number;
2121
+ /** set frame size */
2122
+ video_size?: string | number;
2123
+ /** set frame rate */
2124
+ framerate?: string | number;
2125
+ };
2126
+ /**
2127
+ * piped
2128
+ * @see https://ffmpeg.org/ffmpeg-formats.html#bmp_005fpipe
2129
+ */
2130
+ bmp_pipe: {
2131
+ /** force frame size in bytes */
2132
+ frame_size?: number | (string & {});
2133
+ /** set the video framerate */
2134
+ framerate?: string | number;
2135
+ /** set video pixel format */
2136
+ pixel_format?: string | number;
2137
+ /** set video size */
2138
+ video_size?: string | number;
2139
+ /** force loop over input file sequence */
2140
+ loop?: boolean | (string & {});
2141
+ };
2142
+ /**
2143
+ * raw Bonk
2144
+ * @see https://ffmpeg.org/ffmpeg-formats.html#bonk
2145
+ */
2146
+ bonk: {
2147
+ raw_packet_size?: number | (string & {});
2148
+ };
2149
+ /**
2150
+ * BRender PIX image
2151
+ * @see https://ffmpeg.org/ffmpeg-formats.html#brender_005fpix
2152
+ */
2153
+ brender_pix: {
2154
+ /** set pattern type */
2155
+ pattern_type?: 'glob' | 'sequence' | 'none' | (string & {}) | number;
2156
+ /** set first number in the sequence */
2157
+ start_number?: number | (string & {});
2158
+ /** set range for looking at the first sequence number */
2159
+ start_number_range?: number | (string & {});
2160
+ /** set frame timestamp from file's one */
2161
+ ts_from_file?: 'none' | 'sec' | 'ns' | (string & {}) | number;
2162
+ /** enable metadata containing input path information */
2163
+ export_path_metadata?: boolean | (string & {});
2164
+ /** set the video framerate */
2165
+ framerate?: string | number;
2166
+ /** set video pixel format */
2167
+ pixel_format?: string | number;
2168
+ /** set video size */
2169
+ video_size?: string | number;
2170
+ /** force loop over input file sequence */
2171
+ loop?: boolean | (string & {});
2172
+ };
2173
+ /**
2174
+ * raw Chinese AVS (Audio Video Standard)
2175
+ * @see https://ffmpeg.org/ffmpeg-formats.html#cavsvideo
2176
+ */
2177
+ cavsvideo: {
2178
+ framerate?: string | number;
2179
+ raw_packet_size?: number | (string & {});
2180
+ };
2181
+ /**
2182
+ * Commodore CDXL video
2183
+ * @see https://ffmpeg.org/ffmpeg-formats.html#cdxl
2184
+ */
2185
+ cdxl: {
2186
+ sample_rate?: number | (string & {});
2187
+ frame_rate?: string | number;
2188
+ };
2189
+ /**
2190
+ * codec2 .c2 demuxer
2191
+ * @see https://ffmpeg.org/ffmpeg-formats.html#codec2
2192
+ */
2193
+ codec2: {
2194
+ /** Number of frames to read at a time. Higher = faster decoding, lower granularity */
2195
+ frames_per_packet?: number | (string & {});
2196
+ };
2197
+ /**
2198
+ * raw codec2 demuxer
2199
+ * @see https://ffmpeg.org/ffmpeg-formats.html#codec2raw
2200
+ */
2201
+ codec2raw: {
2202
+ /** codec2 mode [mandatory] */
2203
+ mode?: '3200' | '2400' | '1600' | '1400' | '1300' | '1200' | '700' | '700B' | '700C' | (string & {}) | number;
2204
+ /** Number of frames to read at a time. Higher = faster decoding, lower granularity */
2205
+ frames_per_packet?: number | (string & {});
2206
+ };
2207
+ /**
2208
+ * Virtual concatenation script
2209
+ * @see https://ffmpeg.org/ffmpeg-formats.html#concat
2210
+ */
2211
+ concat: {
2212
+ /** enable safe mode */
2213
+ safe?: boolean | (string & {});
2214
+ /** automatically convert bitstream format */
2215
+ auto_convert?: boolean | (string & {});
2216
+ /** output file segment start time and duration as packet metadata */
2217
+ segment_time_metadata?: boolean | (string & {});
2218
+ /** max recursion depth */
2219
+ recursion_depth?: number | (string & {});
2220
+ };
2221
+ /**
2222
+ * piped
2223
+ * @see https://ffmpeg.org/ffmpeg-formats.html#cri_005fpipe
2224
+ */
2225
+ cri_pipe: {
2226
+ /** force frame size in bytes */
2227
+ frame_size?: number | (string & {});
2228
+ /** set the video framerate */
2229
+ framerate?: string | number;
2230
+ /** set video pixel format */
2231
+ pixel_format?: string | number;
2232
+ /** set video size */
2233
+ video_size?: string | number;
2234
+ /** force loop over input file sequence */
2235
+ loop?: boolean | (string & {});
2236
+ };
2237
+ /**
2238
+ * Dynamic Adaptive Streaming over HTTP
2239
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dash
2240
+ */
2241
+ dash: {
2242
+ /** List of file extensions that dash is allowed to access */
2243
+ allowed_extensions?: string | number;
2244
+ /** Media default decryption key (hex) */
2245
+ cenc_decryption_key?: string | number;
2246
+ /** Media decryption keys by KID (hex) */
2247
+ cenc_decryption_keys?: string | number;
2248
+ /** Maximum number of manifest reloads in get_current_fragment() before giving up */
2249
+ max_reload?: number | (string & {});
2250
+ };
2251
+ /**
2252
+ * raw data
2253
+ * @see https://ffmpeg.org/ffmpeg-formats.html#data
2254
+ */
2255
+ data: {
2256
+ raw_packet_size?: number | (string & {});
2257
+ };
2258
+ /**
2259
+ * piped
2260
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dds_005fpipe
2261
+ */
2262
+ dds_pipe: {
2263
+ /** force frame size in bytes */
2264
+ frame_size?: number | (string & {});
2265
+ /** set the video framerate */
2266
+ framerate?: string | number;
2267
+ /** set video pixel format */
2268
+ pixel_format?: string | number;
2269
+ /** set video size */
2270
+ video_size?: string | number;
2271
+ /** force loop over input file sequence */
2272
+ loop?: boolean | (string & {});
2273
+ };
2274
+ /**
2275
+ * Blackmagic DeckLink input
2276
+ * @see https://ffmpeg.org/ffmpeg-formats.html#decklink
2277
+ */
2278
+ decklink: {
2279
+ /** use ffmpeg -sources decklink instead */
2280
+ list_devices?: boolean | (string & {});
2281
+ /** list supported formats */
2282
+ list_formats?: number | (string & {});
2283
+ /** set format by fourcc */
2284
+ format_code?: string | number;
2285
+ /** pixel format to be returned by the card when capturing */
2286
+ raw_format?: 'auto' | 'uyvy422' | 'yuv422p10' | 'argb' | 'bgra' | 'rgb10' | (string & {}) | number;
2287
+ /** output klv if present in vanc */
2288
+ enable_klv?: boolean | (string & {});
2289
+ /** teletext lines bitmask */
2290
+ teletext_lines?: 'standard' | 'all' | (string & {}) | number;
2291
+ /** number of audio channels */
2292
+ channels?: number | (string & {});
2293
+ /** duplex mode */
2294
+ duplex_mode?: 'unset' | 'half' | 'full' | 'one_sub_device_full' | 'one_sub_device_half' | 'two_sub_device_full' | 'four_sub_device_half' | (string & {}) | number;
2295
+ /** timecode format */
2296
+ timecode_format?: 'none' | 'rp188vitc' | 'rp188vitc2' | 'rp188ltc' | 'rp188any' | 'vitc' | 'vitc2' | 'serial' | 'rp188hfr' | (string & {}) | number;
2297
+ /** video input */
2298
+ video_input?: 'unset' | 'sdi' | 'hdmi' | 'optical_sdi' | 'component' | 'composite' | 's_video' | (string & {}) | number;
2299
+ /** audio input */
2300
+ audio_input?: 'unset' | 'embedded' | 'aes_ebu' | 'analog' | 'analog_xlr' | 'analog_rca' | 'microphone' | (string & {}) | number;
2301
+ /** audio pts source */
2302
+ audio_pts?: 'audio' | 'video' | 'reference' | 'wallclock' | 'abs_wallclock' | (string & {}) | number;
2303
+ /** video pts source */
2304
+ video_pts?: 'audio' | 'video' | 'reference' | 'wallclock' | 'abs_wallclock' | (string & {}) | number;
2305
+ /** use option signal_loss_action instead */
2306
+ draw_bars?: boolean | (string & {});
2307
+ /** input queue buffer size */
2308
+ queue_size?: number | (string & {});
2309
+ /** audio bitdepth (16 or 32) */
2310
+ audio_depth?: number | (string & {});
2311
+ /** copy timestamps, do not remove the initial offset */
2312
+ decklink_copyts?: boolean | (string & {});
2313
+ /** capture start time alignment (in seconds) */
2314
+ timestamp_align?: string | number;
2315
+ /** drop frames till a frame with timecode is received. TC format must be set */
2316
+ wait_for_tc?: boolean | (string & {});
2317
+ /** action on signal loss */
2318
+ signal_loss_action?: 'none' | 'bars' | 'repeat' | (string & {}) | number;
2319
+ };
2320
+ /**
2321
+ * raw DFPWM1a
2322
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dfpwm
2323
+ */
2324
+ dfpwm: {
2325
+ sample_rate?: number | (string & {});
2326
+ ch_layout?: string | number;
2327
+ };
2328
+ /**
2329
+ * raw Dirac
2330
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dirac
2331
+ */
2332
+ dirac: {
2333
+ framerate?: string | number;
2334
+ raw_packet_size?: number | (string & {});
2335
+ };
2336
+ /**
2337
+ * raw DNxHD (SMPTE VC-3)
2338
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dnxhd
2339
+ */
2340
+ dnxhd: {
2341
+ framerate?: string | number;
2342
+ raw_packet_size?: number | (string & {});
2343
+ };
2344
+ /**
2345
+ * piped
2346
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dpx_005fpipe
2347
+ */
2348
+ dpx_pipe: {
2349
+ /** force frame size in bytes */
2350
+ frame_size?: number | (string & {});
2351
+ /** set the video framerate */
2352
+ framerate?: string | number;
2353
+ /** set video pixel format */
2354
+ pixel_format?: string | number;
2355
+ /** set video size */
2356
+ video_size?: string | number;
2357
+ /** force loop over input file sequence */
2358
+ loop?: boolean | (string & {});
2359
+ };
2360
+ /**
2361
+ * DirectShow capture
2362
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dshow
2363
+ */
2364
+ dshow: {
2365
+ /** set video size given a string such as 640x480 or hd720. */
2366
+ video_size?: string | number;
2367
+ /** set video pixel format */
2368
+ pixel_format?: string | number;
2369
+ /** set video frame rate */
2370
+ framerate?: string | number;
2371
+ /** set audio sample rate */
2372
+ sample_rate?: number | (string & {});
2373
+ /** set audio sample size */
2374
+ sample_size?: number | (string & {});
2375
+ /** set number of audio channels, such as 1 or 2 */
2376
+ channels?: number | (string & {});
2377
+ /** set audio device buffer latency size in milliseconds (default is the device's default) */
2378
+ audio_buffer_size?: number | (string & {});
2379
+ /** list available devices */
2380
+ list_devices?: boolean | (string & {});
2381
+ /** list available options for specified device */
2382
+ list_options?: boolean | (string & {});
2383
+ /** set video device number for devices with same name (starts at 0) */
2384
+ video_device_number?: number | (string & {});
2385
+ /** set audio device number for devices with same name (starts at 0) */
2386
+ audio_device_number?: number | (string & {});
2387
+ /** select video capture pin by name */
2388
+ video_pin_name?: string | number;
2389
+ /** select audio capture pin by name */
2390
+ audio_pin_name?: string | number;
2391
+ /** set video input pin number for crossbar device */
2392
+ crossbar_video_input_pin_number?: number | (string & {});
2393
+ /** set audio input pin number for crossbar device */
2394
+ crossbar_audio_input_pin_number?: number | (string & {});
2395
+ /** display property dialog for video capture device */
2396
+ show_video_device_dialog?: boolean | (string & {});
2397
+ /** display property dialog for audio capture device */
2398
+ show_audio_device_dialog?: boolean | (string & {});
2399
+ /** display property dialog for crossbar connecting pins filter on video device */
2400
+ show_video_crossbar_connection_dialog?: boolean | (string & {});
2401
+ /** display property dialog for crossbar connecting pins filter on audio device */
2402
+ show_audio_crossbar_connection_dialog?: boolean | (string & {});
2403
+ /** display property dialog for analog tuner filter */
2404
+ show_analog_tv_tuner_dialog?: boolean | (string & {});
2405
+ /** display property dialog for analog tuner audio filter */
2406
+ show_analog_tv_tuner_audio_dialog?: boolean | (string & {});
2407
+ /** load audio capture filter device (and properties) from file */
2408
+ audio_device_load?: string | number;
2409
+ /** save audio capture filter device (and properties) to file */
2410
+ audio_device_save?: string | number;
2411
+ /** load video capture filter device (and properties) from file */
2412
+ video_device_load?: string | number;
2413
+ /** save video capture filter device (and properties) to file */
2414
+ video_device_save?: string | number;
2415
+ /** use device instead of wallclock timestamps for video frames */
2416
+ use_video_device_timestamps?: boolean | (string & {});
2417
+ };
2418
+ /**
2419
+ * raw DTS
2420
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dts
2421
+ */
2422
+ dts: {
2423
+ raw_packet_size?: number | (string & {});
2424
+ };
2425
+ /**
2426
+ * raw dvbsub
2427
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dvbsub
2428
+ */
2429
+ dvbsub: {
2430
+ raw_packet_size?: number | (string & {});
2431
+ };
2432
+ /**
2433
+ * dvbtxt
2434
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dvbtxt
2435
+ */
2436
+ dvbtxt: {
2437
+ raw_packet_size?: number | (string & {});
2438
+ };
2439
+ /**
2440
+ * DVD-Video
2441
+ * @see https://ffmpeg.org/ffmpeg-formats.html#dvdvideo
2442
+ */
2443
+ dvdvideo: {
2444
+ /** playback angle number */
2445
+ angle?: number | (string & {});
2446
+ /** exit chapter (PTT) number (0=end) */
2447
+ chapter_end?: number | (string & {});
2448
+ /** entry chapter (PTT) number */
2449
+ chapter_start?: number | (string & {});
2450
+ /** demux menu domain */
2451
+ menu?: boolean | (string & {});
2452
+ /** menu language unit */
2453
+ menu_lu?: number | (string & {});
2454
+ /** menu VTS (0=VMG root menu) */
2455
+ menu_vts?: number | (string & {});
2456
+ /** entry PG number (when paired with PGC number) */
2457
+ pg?: number | (string & {});
2458
+ /** entry PGC number (0=auto) */
2459
+ pgc?: number | (string & {});
2460
+ /** enable for accurate chapter markers, slow (2-pass read) */
2461
+ preindex?: boolean | (string & {});
2462
+ /** playback region number (0=free) */
2463
+ region?: number | (string & {});
2464
+ /** title number (0=auto) */
2465
+ title?: number | (string & {});
2466
+ /** trim padding cells from start */
2467
+ trim?: boolean | (string & {});
2468
+ };
2469
+ /**
2470
+ * Electronic Arts Multimedia
2471
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ea
2472
+ */
2473
+ ea: {
2474
+ /** return VP6 alpha in the main video stream */
2475
+ merge_alpha?: boolean | (string & {});
2476
+ };
2477
+ /**
2478
+ * raw E-AC-3
2479
+ * @see https://ffmpeg.org/ffmpeg-formats.html#eac3
2480
+ */
2481
+ eac3: {
2482
+ raw_packet_size?: number | (string & {});
2483
+ };
2484
+ /**
2485
+ * EVC Annex B
2486
+ * @see https://ffmpeg.org/ffmpeg-formats.html#evc
2487
+ */
2488
+ evc: {
2489
+ framerate?: string | number;
2490
+ };
2491
+ /**
2492
+ * piped
2493
+ * @see https://ffmpeg.org/ffmpeg-formats.html#exr_005fpipe
2494
+ */
2495
+ exr_pipe: {
2496
+ /** force frame size in bytes */
2497
+ frame_size?: number | (string & {});
2498
+ /** set the video framerate */
2499
+ framerate?: string | number;
2500
+ /** set video pixel format */
2501
+ pixel_format?: string | number;
2502
+ /** set video size */
2503
+ video_size?: string | number;
2504
+ /** force loop over input file sequence */
2505
+ loop?: boolean | (string & {});
2506
+ };
2507
+ /**
2508
+ * PCM 32-bit floating-point big-endian
2509
+ * @see https://ffmpeg.org/ffmpeg-formats.html#f32be
2510
+ */
2511
+ f32be: {
2512
+ sample_rate?: number | (string & {});
2513
+ ch_layout?: string | number;
2514
+ };
2515
+ /**
2516
+ * PCM 32-bit floating-point little-endian
2517
+ * @see https://ffmpeg.org/ffmpeg-formats.html#f32le
2518
+ */
2519
+ f32le: {
2520
+ sample_rate?: number | (string & {});
2521
+ ch_layout?: string | number;
2522
+ };
2523
+ /**
2524
+ * PCM 64-bit floating-point big-endian
2525
+ * @see https://ffmpeg.org/ffmpeg-formats.html#f64be
2526
+ */
2527
+ f64be: {
2528
+ sample_rate?: number | (string & {});
2529
+ ch_layout?: string | number;
2530
+ };
2531
+ /**
2532
+ * PCM 64-bit floating-point little-endian
2533
+ * @see https://ffmpeg.org/ffmpeg-formats.html#f64le
2534
+ */
2535
+ f64le: {
2536
+ sample_rate?: number | (string & {});
2537
+ ch_layout?: string | number;
2538
+ };
2539
+ /**
2540
+ * Linux framebuffer
2541
+ * @see https://ffmpeg.org/ffmpeg-formats.html#fbdev
2542
+ */
2543
+ fbdev: {
2544
+ framerate?: string | number;
2545
+ };
2546
+ /**
2547
+ * Flexible Image Transport System
2548
+ * @see https://ffmpeg.org/ffmpeg-formats.html#fits
2549
+ */
2550
+ fits: {
2551
+ /** set the framerate */
2552
+ framerate?: string | number;
2553
+ };
2554
+ /**
2555
+ * raw FLAC
2556
+ * @see https://ffmpeg.org/ffmpeg-formats.html#flac
2557
+ */
2558
+ flac: {
2559
+ raw_packet_size?: number | (string & {});
2560
+ };
2561
+ /**
2562
+ * FLV (Flash Video)
2563
+ * @see https://ffmpeg.org/ffmpeg-formats.html#flv
2564
+ */
2565
+ flv: {
2566
+ /** Allocate streams according to the onMetaData array */
2567
+ flv_metadata?: boolean | (string & {});
2568
+ /** Dump full metadata of the onMetadata */
2569
+ flv_full_metadata?: boolean | (string & {});
2570
+ /** Ignore the Size of previous tag */
2571
+ flv_ignore_prevtag?: boolean | (string & {});
2572
+ };
2573
+ /**
2574
+ * raw G.722
2575
+ * @see https://ffmpeg.org/ffmpeg-formats.html#g722
2576
+ */
2577
+ g722: {
2578
+ raw_packet_size?: number | (string & {});
2579
+ };
2580
+ /**
2581
+ * raw big-endian G.726 (\"left aligned\")
2582
+ * @see https://ffmpeg.org/ffmpeg-formats.html#g726
2583
+ */
2584
+ g726: {
2585
+ /** Bits per G.726 code */
2586
+ code_size?: number | (string & {});
2587
+ sample_rate?: number | (string & {});
2588
+ };
2589
+ /**
2590
+ * raw little-endian G.726 (\"right aligned\")
2591
+ * @see https://ffmpeg.org/ffmpeg-formats.html#g726le
2592
+ */
2593
+ g726le: {
2594
+ /** Bits per G.726 code */
2595
+ code_size?: number | (string & {});
2596
+ sample_rate?: number | (string & {});
2597
+ };
2598
+ /**
2599
+ * G.729 raw format demuxer
2600
+ * @see https://ffmpeg.org/ffmpeg-formats.html#g729
2601
+ */
2602
+ g729: {
2603
+ bit_rate?: number | (string & {});
2604
+ };
2605
+ /**
2606
+ * GDI API Windows frame grabber
2607
+ * @see https://ffmpeg.org/ffmpeg-formats.html#gdigrab
2608
+ */
2609
+ gdigrab: {
2610
+ /** draw the mouse pointer */
2611
+ draw_mouse?: number | (string & {});
2612
+ /** draw border around capture area */
2613
+ show_region?: number | (string & {});
2614
+ /** set video frame rate */
2615
+ framerate?: string | number;
2616
+ /** set video frame size */
2617
+ video_size?: string | number;
2618
+ /** capture area x offset */
2619
+ offset_x?: number | (string & {});
2620
+ /** capture area y offset */
2621
+ offset_y?: number | (string & {});
2622
+ };
2623
+ /**
2624
+ * piped
2625
+ * @see https://ffmpeg.org/ffmpeg-formats.html#gem_005fpipe
2626
+ */
2627
+ gem_pipe: {
2628
+ /** force frame size in bytes */
2629
+ frame_size?: number | (string & {});
2630
+ /** set the video framerate */
2631
+ framerate?: string | number;
2632
+ /** set video pixel format */
2633
+ pixel_format?: string | number;
2634
+ /** set video size */
2635
+ video_size?: string | number;
2636
+ /** force loop over input file sequence */
2637
+ loop?: boolean | (string & {});
2638
+ };
2639
+ /**
2640
+ * CompuServe Graphics Interchange Format (GIF)
2641
+ * @see https://ffmpeg.org/ffmpeg-formats.html#gif
2642
+ */
2643
+ gif: {
2644
+ /** minimum valid delay between frames (in hundredths of second) */
2645
+ min_delay?: number | (string & {});
2646
+ /** maximum valid delay between frames (in hundredths of seconds) */
2647
+ max_gif_delay?: number | (string & {});
2648
+ /** default delay between frames (in hundredths of second) */
2649
+ default_delay?: number | (string & {});
2650
+ /** ignore loop setting (netscape extension) */
2651
+ ignore_loop?: boolean | (string & {});
2652
+ };
2653
+ /**
2654
+ * piped
2655
+ * @see https://ffmpeg.org/ffmpeg-formats.html#gif_005fpipe
2656
+ */
2657
+ gif_pipe: {
2658
+ /** force frame size in bytes */
2659
+ frame_size?: number | (string & {});
2660
+ /** set the video framerate */
2661
+ framerate?: string | number;
2662
+ /** set video pixel format */
2663
+ pixel_format?: string | number;
2664
+ /** set video size */
2665
+ video_size?: string | number;
2666
+ /** force loop over input file sequence */
2667
+ loop?: boolean | (string & {});
2668
+ };
2669
+ /**
2670
+ * raw GSM
2671
+ * @see https://ffmpeg.org/ffmpeg-formats.html#gsm
2672
+ */
2673
+ gsm: {
2674
+ sample_rate?: number | (string & {});
2675
+ };
2676
+ /**
2677
+ * raw H.261
2678
+ * @see https://ffmpeg.org/ffmpeg-formats.html#h261
2679
+ */
2680
+ h261: {
2681
+ framerate?: string | number;
2682
+ raw_packet_size?: number | (string & {});
2683
+ };
2684
+ /**
2685
+ * raw H.263
2686
+ * @see https://ffmpeg.org/ffmpeg-formats.html#h263
2687
+ */
2688
+ h263: {
2689
+ framerate?: string | number;
2690
+ raw_packet_size?: number | (string & {});
2691
+ };
2692
+ /**
2693
+ * raw H.264 video
2694
+ * @see https://ffmpeg.org/ffmpeg-formats.html#h264
2695
+ */
2696
+ h264: {
2697
+ framerate?: string | number;
2698
+ raw_packet_size?: number | (string & {});
2699
+ };
2700
+ /**
2701
+ * CRI HCA
2702
+ * @see https://ffmpeg.org/ffmpeg-formats.html#hca
2703
+ */
2704
+ hca: {
2705
+ /** Low key used for handling CRI HCA files */
2706
+ hca_lowkey?: number | (string & {});
2707
+ /** High key used for handling CRI HCA files */
2708
+ hca_highkey?: number | (string & {});
2709
+ /** Subkey used for handling CRI HCA files */
2710
+ hca_subkey?: number | (string & {});
2711
+ };
2712
+ /**
2713
+ * piped
2714
+ * @see https://ffmpeg.org/ffmpeg-formats.html#hdr_005fpipe
2715
+ */
2716
+ hdr_pipe: {
2717
+ /** force frame size in bytes */
2718
+ frame_size?: number | (string & {});
2719
+ /** set the video framerate */
2720
+ framerate?: string | number;
2721
+ /** set video pixel format */
2722
+ pixel_format?: string | number;
2723
+ /** set video size */
2724
+ video_size?: string | number;
2725
+ /** force loop over input file sequence */
2726
+ loop?: boolean | (string & {});
2727
+ };
2728
+ /**
2729
+ * raw HEVC video
2730
+ * @see https://ffmpeg.org/ffmpeg-formats.html#hevc
2731
+ */
2732
+ hevc: {
2733
+ framerate?: string | number;
2734
+ raw_packet_size?: number | (string & {});
2735
+ };
2736
+ /**
2737
+ * Apple HTTP Live Streaming
2738
+ * @see https://ffmpeg.org/ffmpeg-formats.html#hls
2739
+ */
2740
+ hls: {
2741
+ /** segment index to start live streams at (negative values are from the end) */
2742
+ live_start_index?: number | (string & {});
2743
+ /** prefer to use #EXT-X-START if it's in playlist instead of live_start_index */
2744
+ prefer_x_start?: boolean | (string & {});
2745
+ /** List of file extensions that hls is allowed to access */
2746
+ allowed_extensions?: string | number;
2747
+ /** List of file extensions that hls is allowed to access */
2748
+ allowed_segment_extensions?: string | number;
2749
+ /** Be picky with all extensions matching */
2750
+ extension_picky?: boolean | (string & {});
2751
+ /** Maximum number of times a insufficient list is attempted to be reloaded */
2752
+ max_reload?: number | (string & {});
2753
+ /** The maximum number of times to load m3u8 when it refreshes without new segments */
2754
+ m3u8_hold_counters?: number | (string & {});
2755
+ /** Use persistent HTTP connections */
2756
+ http_persistent?: boolean | (string & {});
2757
+ /** Use multiple HTTP connections for fetching segments */
2758
+ http_multiple?: boolean | (string & {});
2759
+ /** Use HTTP partial requests, 0 = disable, 1 = enable, -1 = auto */
2760
+ http_seekable?: boolean | (string & {});
2761
+ /** Set options for segment demuxer */
2762
+ seg_format_options?: string | number;
2763
+ /** Maximum number of times to reload a segment on error. */
2764
+ seg_max_retry?: number | (string & {});
2765
+ };
2766
+ /**
2767
+ * iCE Draw File
2768
+ * @see https://ffmpeg.org/ffmpeg-formats.html#idf
2769
+ */
2770
+ idf: {
2771
+ /** set simulated line speed (bytes per second) */
2772
+ linespeed?: number | (string & {});
2773
+ /** set video size, such as 640x480 or hd720. */
2774
+ video_size?: string | number;
2775
+ /** set framerate (frames per second) */
2776
+ framerate?: string | number;
2777
+ };
2778
+ /**
2779
+ * libiec61883 (new DV1394) A/V input device
2780
+ * @see https://ffmpeg.org/ffmpeg-formats.html#iec61883
2781
+ */
2782
+ iec61883: {
2783
+ /** override autodetection of DV/HDV */
2784
+ dvtype?: 'auto' | 'dv' | 'hdv' | (string & {}) | number;
2785
+ /** set queue buffer size (in packets) */
2786
+ dvbuffer?: number | (string & {});
2787
+ /** select one of multiple DV devices by its GUID */
2788
+ dvguid?: string | number;
2789
+ };
2790
+ /**
2791
+ * image2 sequence
2792
+ * @see https://ffmpeg.org/ffmpeg-formats.html#image2
2793
+ */
2794
+ image2: {
2795
+ /** set pattern type */
2796
+ pattern_type?: 'glob' | 'sequence' | 'none' | (string & {}) | number;
2797
+ /** set first number in the sequence */
2798
+ start_number?: number | (string & {});
2799
+ /** set range for looking at the first sequence number */
2800
+ start_number_range?: number | (string & {});
2801
+ /** set frame timestamp from file's one */
2802
+ ts_from_file?: 'none' | 'sec' | 'ns' | (string & {}) | number;
2803
+ /** enable metadata containing input path information */
2804
+ export_path_metadata?: boolean | (string & {});
2805
+ /** set the video framerate */
2806
+ framerate?: string | number;
2807
+ /** set video pixel format */
2808
+ pixel_format?: string | number;
2809
+ /** set video size */
2810
+ video_size?: string | number;
2811
+ /** force loop over input file sequence */
2812
+ loop?: boolean | (string & {});
2813
+ };
2814
+ /**
2815
+ * piped image2 sequence
2816
+ * @see https://ffmpeg.org/ffmpeg-formats.html#image2pipe
2817
+ */
2818
+ image2pipe: {
2819
+ /** force frame size in bytes */
2820
+ frame_size?: number | (string & {});
2821
+ /** set the video framerate */
2822
+ framerate?: string | number;
2823
+ /** set video pixel format */
2824
+ pixel_format?: string | number;
2825
+ /** set video size */
2826
+ video_size?: string | number;
2827
+ /** force loop over input file sequence */
2828
+ loop?: boolean | (string & {});
2829
+ };
2830
+ /**
2831
+ * IMF (Interoperable Master Format)
2832
+ * @see https://ffmpeg.org/ffmpeg-formats.html#imf
2833
+ */
2834
+ imf: {
2835
+ /** Comma-separated paths to ASSETMAP files.If not specified, the `ASSETMAP.xml` file in the same directory as the CPL is used. */
2836
+ assetmaps?: string | number;
2837
+ };
2838
+ /**
2839
+ * raw Ingenient MJPEG
2840
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ingenient
2841
+ */
2842
+ ingenient: {
2843
+ framerate?: string | number;
2844
+ raw_packet_size?: number | (string & {});
2845
+ };
2846
+ /**
2847
+ * raw IPU Video
2848
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ipu
2849
+ */
2850
+ ipu: {
2851
+ raw_packet_size?: number | (string & {});
2852
+ };
2853
+ /**
2854
+ * piped
2855
+ * @see https://ffmpeg.org/ffmpeg-formats.html#j2k_005fpipe
2856
+ */
2857
+ j2k_pipe: {
2858
+ /** force frame size in bytes */
2859
+ frame_size?: number | (string & {});
2860
+ /** set the video framerate */
2861
+ framerate?: string | number;
2862
+ /** set video pixel format */
2863
+ pixel_format?: string | number;
2864
+ /** set video size */
2865
+ video_size?: string | number;
2866
+ /** force loop over input file sequence */
2867
+ loop?: boolean | (string & {});
2868
+ };
2869
+ /**
2870
+ * JACK Audio Connection Kit
2871
+ * @see https://ffmpeg.org/ffmpeg-formats.html#jack
2872
+ */
2873
+ jack: {
2874
+ /** Number of audio channels. */
2875
+ channels?: number | (string & {});
2876
+ };
2877
+ /**
2878
+ * piped
2879
+ * @see https://ffmpeg.org/ffmpeg-formats.html#jpeg_005fpipe
2880
+ */
2881
+ jpeg_pipe: {
2882
+ /** force frame size in bytes */
2883
+ frame_size?: number | (string & {});
2884
+ /** set the video framerate */
2885
+ framerate?: string | number;
2886
+ /** set video pixel format */
2887
+ pixel_format?: string | number;
2888
+ /** set video size */
2889
+ video_size?: string | number;
2890
+ /** force loop over input file sequence */
2891
+ loop?: boolean | (string & {});
2892
+ };
2893
+ /**
2894
+ * piped
2895
+ * @see https://ffmpeg.org/ffmpeg-formats.html#jpegls_005fpipe
2896
+ */
2897
+ jpegls_pipe: {
2898
+ /** force frame size in bytes */
2899
+ frame_size?: number | (string & {});
2900
+ /** set the video framerate */
2901
+ framerate?: string | number;
2902
+ /** set video pixel format */
2903
+ pixel_format?: string | number;
2904
+ /** set video size */
2905
+ video_size?: string | number;
2906
+ /** force loop over input file sequence */
2907
+ loop?: boolean | (string & {});
2908
+ };
2909
+ /**
2910
+ * piped
2911
+ * @see https://ffmpeg.org/ffmpeg-formats.html#jpegxl_005fpipe
2912
+ */
2913
+ jpegxl_pipe: {
2914
+ /** force frame size in bytes */
2915
+ frame_size?: number | (string & {});
2916
+ /** set the video framerate */
2917
+ framerate?: string | number;
2918
+ /** set video pixel format */
2919
+ pixel_format?: string | number;
2920
+ /** set video size */
2921
+ video_size?: string | number;
2922
+ /** force loop over input file sequence */
2923
+ loop?: boolean | (string & {});
2924
+ };
2925
+ /**
2926
+ * piped
2927
+ * @see https://ffmpeg.org/ffmpeg-formats.html#jpegxs_005fpipe
2928
+ */
2929
+ jpegxs_pipe: {
2930
+ /** force frame size in bytes */
2931
+ frame_size?: number | (string & {});
2932
+ /** set the video framerate */
2933
+ framerate?: string | number;
2934
+ /** set video pixel format */
2935
+ pixel_format?: string | number;
2936
+ /** set video size */
2937
+ video_size?: string | number;
2938
+ /** force loop over input file sequence */
2939
+ loop?: boolean | (string & {});
2940
+ };
2941
+ /**
2942
+ * KMS screen capture
2943
+ * @see https://ffmpeg.org/ffmpeg-formats.html#kmsgrab
2944
+ */
2945
+ kmsgrab: {
2946
+ /** DRM device path */
2947
+ device?: string | number;
2948
+ /** Pixel format for framebuffer */
2949
+ format?: string | number;
2950
+ /** DRM format modifier for framebuffer */
2951
+ format_modifier?: number | (string & {});
2952
+ /** CRTC ID to define capture source */
2953
+ crtc_id?: number | (string & {});
2954
+ /** Plane ID to define capture source */
2955
+ plane_id?: number | (string & {});
2956
+ /** Framerate to capture at */
2957
+ framerate?: string | number;
2958
+ };
2959
+ /**
2960
+ * KUX (YouKu)
2961
+ * @see https://ffmpeg.org/ffmpeg-formats.html#kux
2962
+ */
2963
+ kux: {
2964
+ /** Allocate streams according to the onMetaData array */
2965
+ flv_metadata?: boolean | (string & {});
2966
+ /** Dump full metadata of the onMetadata */
2967
+ flv_full_metadata?: boolean | (string & {});
2968
+ /** Ignore the Size of previous tag */
2969
+ flv_ignore_prevtag?: boolean | (string & {});
2970
+ };
2971
+ /**
2972
+ * Libavfilter virtual input device
2973
+ * @see https://ffmpeg.org/ffmpeg-formats.html#lavfi
2974
+ */
2975
+ lavfi: {
2976
+ /** set libavfilter graph */
2977
+ graph?: string | number;
2978
+ /** set libavfilter graph filename */
2979
+ graph_file?: string | number;
2980
+ /** dump graph to stderr */
2981
+ dumpgraph?: string | number;
2982
+ };
2983
+ /**
2984
+ * @see https://ffmpeg.org/ffmpeg-formats.html#libcdio
2985
+ */
2986
+ libcdio: {
2987
+ /** set drive reading speed */
2988
+ speed?: number | (string & {});
2989
+ /** set error recovery mode */
2990
+ paranoia_mode?: 'disable' | 'verify' | 'overlap' | 'neverskip' | 'full' | (string & {}) | number;
2991
+ };
2992
+ /**
2993
+ * dc1394 v.2 A/V grab
2994
+ * @see https://ffmpeg.org/ffmpeg-formats.html#libdc1394
2995
+ */
2996
+ libdc1394: {
2997
+ /** A string describing frame size, such as 640x480 or hd720. */
2998
+ video_size?: string | number;
2999
+ pixel_format?: string | number;
3000
+ framerate?: string | number;
3001
+ };
3002
+ /**
3003
+ * Game Music Emu demuxer
3004
+ * @see https://ffmpeg.org/ffmpeg-formats.html#libgme
3005
+ */
3006
+ libgme: {
3007
+ /** set track that should be played */
3008
+ track_index?: number | (string & {});
3009
+ /** set sample rate */
3010
+ sample_rate?: number | (string & {});
3011
+ /** set max file size supported (in bytes) */
3012
+ max_size?: number | (string & {});
3013
+ };
3014
+ /**
3015
+ * ModPlug demuxer
3016
+ * @see https://ffmpeg.org/ffmpeg-formats.html#libmodplug
3017
+ */
3018
+ libmodplug: {
3019
+ /** Enable noise reduction 0(off)-1(on) */
3020
+ noise_reduction?: number | (string & {});
3021
+ /** Reverb level 0(quiet)-100(loud) */
3022
+ reverb_depth?: number | (string & {});
3023
+ /** Reverb delay in ms, usually 40-200ms */
3024
+ reverb_delay?: number | (string & {});
3025
+ /** XBass level 0(quiet)-100(loud) */
3026
+ bass_amount?: number | (string & {});
3027
+ /** XBass cutoff in Hz 10-100 */
3028
+ bass_range?: number | (string & {});
3029
+ /** Surround level 0(quiet)-100(heavy) */
3030
+ surround_depth?: number | (string & {});
3031
+ /** Surround delay in ms, usually 5-40ms */
3032
+ surround_delay?: number | (string & {});
3033
+ /** Max file size supported (in bytes). Default is 5MB. Set to 0 for no limit (not recommended) */
3034
+ max_size?: number | (string & {});
3035
+ /** Color formula */
3036
+ video_stream_expr?: string | number;
3037
+ /** Make demuxer output a video stream */
3038
+ video_stream?: number | (string & {});
3039
+ /** Video stream width in char (one char = 8x8px) */
3040
+ video_stream_w?: number | (string & {});
3041
+ /** Video stream height in char (one char = 8x8px) */
3042
+ video_stream_h?: number | (string & {});
3043
+ /** Print speed, tempo, order, ... in video stream */
3044
+ video_stream_ptxt?: number | (string & {});
3045
+ };
3046
+ /**
3047
+ * Tracker formats (libopenmpt)
3048
+ * @see https://ffmpeg.org/ffmpeg-formats.html#libopenmpt
3049
+ */
3050
+ libopenmpt: {
3051
+ /** set sample rate */
3052
+ sample_rate?: number | (string & {});
3053
+ /** set channel layout */
3054
+ layout?: string | number;
3055
+ /** set subsong */
3056
+ subsong?: 'all' | 'auto' | (string & {}) | number;
3057
+ };
3058
+ /**
3059
+ * live RTMP FLV (Flash Video)
3060
+ * @see https://ffmpeg.org/ffmpeg-formats.html#live_005fflv
3061
+ */
3062
+ live_flv: {
3063
+ /** Allocate streams according to the onMetaData array */
3064
+ flv_metadata?: boolean | (string & {});
3065
+ /** Dump full metadata of the onMetadata */
3066
+ flv_full_metadata?: boolean | (string & {});
3067
+ /** Ignore the Size of previous tag */
3068
+ flv_ignore_prevtag?: boolean | (string & {});
3069
+ };
3070
+ /**
3071
+ * LOAS AudioSyncStream
3072
+ * @see https://ffmpeg.org/ffmpeg-formats.html#loas
3073
+ */
3074
+ loas: {
3075
+ raw_packet_size?: number | (string & {});
3076
+ };
3077
+ /**
3078
+ * QuickTime / MOV
3079
+ * @see https://ffmpeg.org/ffmpeg-formats.html#m4a
3080
+ */
3081
+ m4a: {
3082
+ /** allow using absolute path when opening alias, this is a possible security issue */
3083
+ use_absolute_path?: boolean | (string & {});
3084
+ /** Seek each stream individually to the closest point */
3085
+ seek_streams_individually?: boolean | (string & {});
3086
+ /** Ignore the edit list atom. */
3087
+ ignore_editlist?: boolean | (string & {});
3088
+ /** Modify the AVIndex according to the editlists. Use this option to decode in the order specified by the edits. */
3089
+ advanced_editlist?: boolean | (string & {});
3090
+ ignore_chapters?: boolean | (string & {});
3091
+ /** use mfra for fragment timestamps */
3092
+ use_mfra_for?: 'auto' | 'dts' | 'pts' | (string & {}) | number;
3093
+ /** use tfdt for fragment timestamps */
3094
+ use_tfdt?: boolean | (string & {});
3095
+ /** Export unrecognized metadata entries */
3096
+ export_all?: boolean | (string & {});
3097
+ /** Export full XMP metadata */
3098
+ export_xmp?: boolean | (string & {});
3099
+ /** Secret bytes for Audible AAX files */
3100
+ activation_bytes?: string | number;
3101
+ /** AES-128 Key for Audible AAXC files */
3102
+ audible_key?: string | number;
3103
+ /** AES-128 IV for Audible AAXC files */
3104
+ audible_iv?: string | number;
3105
+ /** Fixed key used for handling Audible AAX files */
3106
+ audible_fixed_key?: string | number;
3107
+ /** The default media decryption key (hex) */
3108
+ decryption_key?: string | number;
3109
+ /** The media decryption keys by KID (hex) */
3110
+ decryption_keys?: string | number;
3111
+ /** Enable external track support. */
3112
+ enable_drefs?: boolean | (string & {});
3113
+ /** treat offsets above this value as invalid */
3114
+ max_stts_delta?: number | (string & {});
3115
+ /** Interleave packets from multiple tracks at demuxer level */
3116
+ interleaved_read?: boolean | (string & {});
3117
+ };
3118
+ /**
3119
+ * raw MPEG-4 video
3120
+ * @see https://ffmpeg.org/ffmpeg-formats.html#m4v
3121
+ */
3122
+ m4v: {
3123
+ framerate?: string | number;
3124
+ raw_packet_size?: number | (string & {});
3125
+ };
3126
+ /**
3127
+ * MacCaption
3128
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mcc
3129
+ */
3130
+ mcc: {
3131
+ /** extract EIA-608/708 captions from VANC packets */
3132
+ eia608_extract?: boolean | (string & {});
3133
+ };
3134
+ /**
3135
+ * MicroDVD subtitle format
3136
+ * @see https://ffmpeg.org/ffmpeg-formats.html#microdvd
3137
+ */
3138
+ microdvd: {
3139
+ /** set the movie frame rate fallback */
3140
+ subfps?: string | number;
3141
+ };
3142
+ /**
3143
+ * QuickTime / MOV
3144
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mj2
3145
+ */
3146
+ mj2: {
3147
+ /** allow using absolute path when opening alias, this is a possible security issue */
3148
+ use_absolute_path?: boolean | (string & {});
3149
+ /** Seek each stream individually to the closest point */
3150
+ seek_streams_individually?: boolean | (string & {});
3151
+ /** Ignore the edit list atom. */
3152
+ ignore_editlist?: boolean | (string & {});
3153
+ /** Modify the AVIndex according to the editlists. Use this option to decode in the order specified by the edits. */
3154
+ advanced_editlist?: boolean | (string & {});
3155
+ ignore_chapters?: boolean | (string & {});
3156
+ /** use mfra for fragment timestamps */
3157
+ use_mfra_for?: 'auto' | 'dts' | 'pts' | (string & {}) | number;
3158
+ /** use tfdt for fragment timestamps */
3159
+ use_tfdt?: boolean | (string & {});
3160
+ /** Export unrecognized metadata entries */
3161
+ export_all?: boolean | (string & {});
3162
+ /** Export full XMP metadata */
3163
+ export_xmp?: boolean | (string & {});
3164
+ /** Secret bytes for Audible AAX files */
3165
+ activation_bytes?: string | number;
3166
+ /** AES-128 Key for Audible AAXC files */
3167
+ audible_key?: string | number;
3168
+ /** AES-128 IV for Audible AAXC files */
3169
+ audible_iv?: string | number;
3170
+ /** Fixed key used for handling Audible AAX files */
3171
+ audible_fixed_key?: string | number;
3172
+ /** The default media decryption key (hex) */
3173
+ decryption_key?: string | number;
3174
+ /** The media decryption keys by KID (hex) */
3175
+ decryption_keys?: string | number;
3176
+ /** Enable external track support. */
3177
+ enable_drefs?: boolean | (string & {});
3178
+ /** treat offsets above this value as invalid */
3179
+ max_stts_delta?: number | (string & {});
3180
+ /** Interleave packets from multiple tracks at demuxer level */
3181
+ interleaved_read?: boolean | (string & {});
3182
+ };
3183
+ /**
3184
+ * raw MJPEG video
3185
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mjpeg
3186
+ */
3187
+ mjpeg: {
3188
+ framerate?: string | number;
3189
+ raw_packet_size?: number | (string & {});
3190
+ };
3191
+ /**
3192
+ * raw MJPEG 2000 video
3193
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mjpeg_005f2000
3194
+ */
3195
+ mjpeg_2000: {
3196
+ framerate?: string | number;
3197
+ raw_packet_size?: number | (string & {});
3198
+ };
3199
+ /**
3200
+ * raw MLP
3201
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mlp
3202
+ */
3203
+ mlp: {
3204
+ raw_packet_size?: number | (string & {});
3205
+ };
3206
+ /**
3207
+ * QuickTime / MOV
3208
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mov
3209
+ */
3210
+ mov: {
3211
+ /** allow using absolute path when opening alias, this is a possible security issue */
3212
+ use_absolute_path?: boolean | (string & {});
3213
+ /** Seek each stream individually to the closest point */
3214
+ seek_streams_individually?: boolean | (string & {});
3215
+ /** Ignore the edit list atom. */
3216
+ ignore_editlist?: boolean | (string & {});
3217
+ /** Modify the AVIndex according to the editlists. Use this option to decode in the order specified by the edits. */
3218
+ advanced_editlist?: boolean | (string & {});
3219
+ ignore_chapters?: boolean | (string & {});
3220
+ /** use mfra for fragment timestamps */
3221
+ use_mfra_for?: 'auto' | 'dts' | 'pts' | (string & {}) | number;
3222
+ /** use tfdt for fragment timestamps */
3223
+ use_tfdt?: boolean | (string & {});
3224
+ /** Export unrecognized metadata entries */
3225
+ export_all?: boolean | (string & {});
3226
+ /** Export full XMP metadata */
3227
+ export_xmp?: boolean | (string & {});
3228
+ /** Secret bytes for Audible AAX files */
3229
+ activation_bytes?: string | number;
3230
+ /** AES-128 Key for Audible AAXC files */
3231
+ audible_key?: string | number;
3232
+ /** AES-128 IV for Audible AAXC files */
3233
+ audible_iv?: string | number;
3234
+ /** Fixed key used for handling Audible AAX files */
3235
+ audible_fixed_key?: string | number;
3236
+ /** The default media decryption key (hex) */
3237
+ decryption_key?: string | number;
3238
+ /** The media decryption keys by KID (hex) */
3239
+ decryption_keys?: string | number;
3240
+ /** Enable external track support. */
3241
+ enable_drefs?: boolean | (string & {});
3242
+ /** treat offsets above this value as invalid */
3243
+ max_stts_delta?: number | (string & {});
3244
+ /** Interleave packets from multiple tracks at demuxer level */
3245
+ interleaved_read?: boolean | (string & {});
3246
+ };
3247
+ /**
3248
+ * MP2/3 (MPEG audio layer 2/3)
3249
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mp3
3250
+ */
3251
+ mp3: {
3252
+ /** use table of contents */
3253
+ usetoc?: boolean | (string & {});
3254
+ };
3255
+ /**
3256
+ * QuickTime / MOV
3257
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mp4
3258
+ */
3259
+ mp4: {
3260
+ /** allow using absolute path when opening alias, this is a possible security issue */
3261
+ use_absolute_path?: boolean | (string & {});
3262
+ /** Seek each stream individually to the closest point */
3263
+ seek_streams_individually?: boolean | (string & {});
3264
+ /** Ignore the edit list atom. */
3265
+ ignore_editlist?: boolean | (string & {});
3266
+ /** Modify the AVIndex according to the editlists. Use this option to decode in the order specified by the edits. */
3267
+ advanced_editlist?: boolean | (string & {});
3268
+ ignore_chapters?: boolean | (string & {});
3269
+ /** use mfra for fragment timestamps */
3270
+ use_mfra_for?: 'auto' | 'dts' | 'pts' | (string & {}) | number;
3271
+ /** use tfdt for fragment timestamps */
3272
+ use_tfdt?: boolean | (string & {});
3273
+ /** Export unrecognized metadata entries */
3274
+ export_all?: boolean | (string & {});
3275
+ /** Export full XMP metadata */
3276
+ export_xmp?: boolean | (string & {});
3277
+ /** Secret bytes for Audible AAX files */
3278
+ activation_bytes?: string | number;
3279
+ /** AES-128 Key for Audible AAXC files */
3280
+ audible_key?: string | number;
3281
+ /** AES-128 IV for Audible AAXC files */
3282
+ audible_iv?: string | number;
3283
+ /** Fixed key used for handling Audible AAX files */
3284
+ audible_fixed_key?: string | number;
3285
+ /** The default media decryption key (hex) */
3286
+ decryption_key?: string | number;
3287
+ /** The media decryption keys by KID (hex) */
3288
+ decryption_keys?: string | number;
3289
+ /** Enable external track support. */
3290
+ enable_drefs?: boolean | (string & {});
3291
+ /** treat offsets above this value as invalid */
3292
+ max_stts_delta?: number | (string & {});
3293
+ /** Interleave packets from multiple tracks at demuxer level */
3294
+ interleaved_read?: boolean | (string & {});
3295
+ };
3296
+ /**
3297
+ * MPEG-TS (MPEG-2 Transport Stream)
3298
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mpegts
3299
+ */
3300
+ mpegts: {
3301
+ /** set size limit for looking up a new synchronization */
3302
+ resync_size?: number | (string & {});
3303
+ /** transport stream id */
3304
+ ts_id?: number | (string & {});
3305
+ /** output option carrying the raw packet size */
3306
+ ts_packetsize?: number | (string & {});
3307
+ /** try to fix pts values of dvb teletext streams */
3308
+ fix_teletext_pts?: boolean | (string & {});
3309
+ /** scan and combine all PMTs */
3310
+ scan_all_pmts?: boolean | (string & {});
3311
+ /** skip PMTs for programs not advertised in the PAT */
3312
+ skip_unknown_pmt?: boolean | (string & {});
3313
+ /** reuse streams when PMT's version/pids change */
3314
+ merge_pmt_versions?: boolean | (string & {});
3315
+ /** skip changing / adding streams / programs */
3316
+ skip_changes?: boolean | (string & {});
3317
+ /** skip clearing programs */
3318
+ skip_clear?: boolean | (string & {});
3319
+ /** maximum size of emitted packet */
3320
+ max_packet_size?: number | (string & {});
3321
+ };
3322
+ /**
3323
+ * raw MPEG-TS (MPEG-2 Transport Stream)
3324
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mpegtsraw
3325
+ */
3326
+ mpegtsraw: {
3327
+ /** set size limit for looking up a new synchronization */
3328
+ resync_size?: number | (string & {});
3329
+ /** transport stream id */
3330
+ ts_id?: number | (string & {});
3331
+ /** output option carrying the raw packet size */
3332
+ ts_packetsize?: number | (string & {});
3333
+ /** compute exact PCR for each transport stream packet */
3334
+ compute_pcr?: boolean | (string & {});
3335
+ };
3336
+ /**
3337
+ * raw MPEG video
3338
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mpegvideo
3339
+ */
3340
+ mpegvideo: {
3341
+ framerate?: string | number;
3342
+ raw_packet_size?: number | (string & {});
3343
+ };
3344
+ /**
3345
+ * MIME multipart JPEG
3346
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mpjpeg
3347
+ */
3348
+ mpjpeg: {
3349
+ /** require MIME boundaries match */
3350
+ strict_mime_boundary?: boolean | (string & {});
3351
+ };
3352
+ /**
3353
+ * PCM mu-law
3354
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mulaw
3355
+ */
3356
+ mulaw: {
3357
+ sample_rate?: number | (string & {});
3358
+ ch_layout?: string | number;
3359
+ };
3360
+ /**
3361
+ * MXF (Material eXchange Format)
3362
+ * @see https://ffmpeg.org/ffmpeg-formats.html#mxf
3363
+ */
3364
+ mxf: {
3365
+ /** extract eia 608 captions from s436m track */
3366
+ eia608_extract?: boolean | (string & {});
3367
+ };
3368
+ /**
3369
+ * AV1 low overhead OBU
3370
+ * @see https://ffmpeg.org/ffmpeg-formats.html#obu
3371
+ */
3372
+ obu: {
3373
+ framerate?: string | number;
3374
+ };
3375
+ /**
3376
+ * OpenAL audio capture device
3377
+ * @see https://ffmpeg.org/ffmpeg-formats.html#openal
3378
+ */
3379
+ openal: {
3380
+ /** set number of channels */
3381
+ channels?: number | (string & {});
3382
+ /** set sample rate */
3383
+ sample_rate?: number | (string & {});
3384
+ /** set sample size */
3385
+ sample_size?: number | (string & {});
3386
+ /** list available devices */
3387
+ list_devices?: 'true' | 'false' | (string & {}) | number;
3388
+ };
3389
+ /**
3390
+ * raw OSQ
3391
+ * @see https://ffmpeg.org/ffmpeg-formats.html#osq
3392
+ */
3393
+ osq: {
3394
+ raw_packet_size?: number | (string & {});
3395
+ };
3396
+ /**
3397
+ * OSS (Open Sound System) capture
3398
+ * @see https://ffmpeg.org/ffmpeg-formats.html#oss
3399
+ */
3400
+ oss: {
3401
+ sample_rate?: number | (string & {});
3402
+ channels?: number | (string & {});
3403
+ };
3404
+ /**
3405
+ * piped
3406
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pam_005fpipe
3407
+ */
3408
+ pam_pipe: {
3409
+ /** force frame size in bytes */
3410
+ frame_size?: number | (string & {});
3411
+ /** set the video framerate */
3412
+ framerate?: string | number;
3413
+ /** set video pixel format */
3414
+ pixel_format?: string | number;
3415
+ /** set video size */
3416
+ video_size?: string | number;
3417
+ /** force loop over input file sequence */
3418
+ loop?: boolean | (string & {});
3419
+ };
3420
+ /**
3421
+ * piped
3422
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pbm_005fpipe
3423
+ */
3424
+ pbm_pipe: {
3425
+ /** force frame size in bytes */
3426
+ frame_size?: number | (string & {});
3427
+ /** set the video framerate */
3428
+ framerate?: string | number;
3429
+ /** set video pixel format */
3430
+ pixel_format?: string | number;
3431
+ /** set video size */
3432
+ video_size?: string | number;
3433
+ /** force loop over input file sequence */
3434
+ loop?: boolean | (string & {});
3435
+ };
3436
+ /**
3437
+ * piped
3438
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pcx_005fpipe
3439
+ */
3440
+ pcx_pipe: {
3441
+ /** force frame size in bytes */
3442
+ frame_size?: number | (string & {});
3443
+ /** set the video framerate */
3444
+ framerate?: string | number;
3445
+ /** set video pixel format */
3446
+ pixel_format?: string | number;
3447
+ /** set video size */
3448
+ video_size?: string | number;
3449
+ /** force loop over input file sequence */
3450
+ loop?: boolean | (string & {});
3451
+ };
3452
+ /**
3453
+ * piped
3454
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pfm_005fpipe
3455
+ */
3456
+ pfm_pipe: {
3457
+ /** force frame size in bytes */
3458
+ frame_size?: number | (string & {});
3459
+ /** set the video framerate */
3460
+ framerate?: string | number;
3461
+ /** set video pixel format */
3462
+ pixel_format?: string | number;
3463
+ /** set video size */
3464
+ video_size?: string | number;
3465
+ /** force loop over input file sequence */
3466
+ loop?: boolean | (string & {});
3467
+ };
3468
+ /**
3469
+ * piped
3470
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pgm_005fpipe
3471
+ */
3472
+ pgm_pipe: {
3473
+ /** force frame size in bytes */
3474
+ frame_size?: number | (string & {});
3475
+ /** set the video framerate */
3476
+ framerate?: string | number;
3477
+ /** set video pixel format */
3478
+ pixel_format?: string | number;
3479
+ /** set video size */
3480
+ video_size?: string | number;
3481
+ /** force loop over input file sequence */
3482
+ loop?: boolean | (string & {});
3483
+ };
3484
+ /**
3485
+ * piped
3486
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pgmyuv_005fpipe
3487
+ */
3488
+ pgmyuv_pipe: {
3489
+ /** force frame size in bytes */
3490
+ frame_size?: number | (string & {});
3491
+ /** set the video framerate */
3492
+ framerate?: string | number;
3493
+ /** set video pixel format */
3494
+ pixel_format?: string | number;
3495
+ /** set video size */
3496
+ video_size?: string | number;
3497
+ /** force loop over input file sequence */
3498
+ loop?: boolean | (string & {});
3499
+ };
3500
+ /**
3501
+ * piped
3502
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pgx_005fpipe
3503
+ */
3504
+ pgx_pipe: {
3505
+ /** force frame size in bytes */
3506
+ frame_size?: number | (string & {});
3507
+ /** set the video framerate */
3508
+ framerate?: string | number;
3509
+ /** set video pixel format */
3510
+ pixel_format?: string | number;
3511
+ /** set video size */
3512
+ video_size?: string | number;
3513
+ /** force loop over input file sequence */
3514
+ loop?: boolean | (string & {});
3515
+ };
3516
+ /**
3517
+ * piped
3518
+ * @see https://ffmpeg.org/ffmpeg-formats.html#phm_005fpipe
3519
+ */
3520
+ phm_pipe: {
3521
+ /** force frame size in bytes */
3522
+ frame_size?: number | (string & {});
3523
+ /** set the video framerate */
3524
+ framerate?: string | number;
3525
+ /** set video pixel format */
3526
+ pixel_format?: string | number;
3527
+ /** set video size */
3528
+ video_size?: string | number;
3529
+ /** force loop over input file sequence */
3530
+ loop?: boolean | (string & {});
3531
+ };
3532
+ /**
3533
+ * piped
3534
+ * @see https://ffmpeg.org/ffmpeg-formats.html#photocd_005fpipe
3535
+ */
3536
+ photocd_pipe: {
3537
+ /** force frame size in bytes */
3538
+ frame_size?: number | (string & {});
3539
+ /** set the video framerate */
3540
+ framerate?: string | number;
3541
+ /** set video pixel format */
3542
+ pixel_format?: string | number;
3543
+ /** set video size */
3544
+ video_size?: string | number;
3545
+ /** force loop over input file sequence */
3546
+ loop?: boolean | (string & {});
3547
+ };
3548
+ /**
3549
+ * piped
3550
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pictor_005fpipe
3551
+ */
3552
+ pictor_pipe: {
3553
+ /** force frame size in bytes */
3554
+ frame_size?: number | (string & {});
3555
+ /** set the video framerate */
3556
+ framerate?: string | number;
3557
+ /** set video pixel format */
3558
+ pixel_format?: string | number;
3559
+ /** set video size */
3560
+ video_size?: string | number;
3561
+ /** force loop over input file sequence */
3562
+ loop?: boolean | (string & {});
3563
+ };
3564
+ /**
3565
+ * piped
3566
+ * @see https://ffmpeg.org/ffmpeg-formats.html#png_005fpipe
3567
+ */
3568
+ png_pipe: {
3569
+ /** force frame size in bytes */
3570
+ frame_size?: number | (string & {});
3571
+ /** set the video framerate */
3572
+ framerate?: string | number;
3573
+ /** set video pixel format */
3574
+ pixel_format?: string | number;
3575
+ /** set video size */
3576
+ video_size?: string | number;
3577
+ /** force loop over input file sequence */
3578
+ loop?: boolean | (string & {});
3579
+ };
3580
+ /**
3581
+ * piped
3582
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ppm_005fpipe
3583
+ */
3584
+ ppm_pipe: {
3585
+ /** force frame size in bytes */
3586
+ frame_size?: number | (string & {});
3587
+ /** set the video framerate */
3588
+ framerate?: string | number;
3589
+ /** set video pixel format */
3590
+ pixel_format?: string | number;
3591
+ /** set video size */
3592
+ video_size?: string | number;
3593
+ /** force loop over input file sequence */
3594
+ loop?: boolean | (string & {});
3595
+ };
3596
+ /**
3597
+ * piped
3598
+ * @see https://ffmpeg.org/ffmpeg-formats.html#psd_005fpipe
3599
+ */
3600
+ psd_pipe: {
3601
+ /** force frame size in bytes */
3602
+ frame_size?: number | (string & {});
3603
+ /** set the video framerate */
3604
+ framerate?: string | number;
3605
+ /** set video pixel format */
3606
+ pixel_format?: string | number;
3607
+ /** set video size */
3608
+ video_size?: string | number;
3609
+ /** force loop over input file sequence */
3610
+ loop?: boolean | (string & {});
3611
+ };
3612
+ /**
3613
+ * Pulse audio input
3614
+ * @see https://ffmpeg.org/ffmpeg-formats.html#pulse
3615
+ */
3616
+ pulse: {
3617
+ /** set PulseAudio server */
3618
+ server?: string | number;
3619
+ /** set application name */
3620
+ name?: string | number;
3621
+ /** set stream description */
3622
+ stream_name?: string | number;
3623
+ /** set sample rate in Hz */
3624
+ sample_rate?: number | (string & {});
3625
+ /** set number of audio channels */
3626
+ channels?: number | (string & {});
3627
+ /** set number of bytes per frame */
3628
+ frame_size?: number | (string & {});
3629
+ /** set buffering size, affects latency and cpu usage */
3630
+ fragment_size?: number | (string & {});
3631
+ /** set the initial pts using the current time */
3632
+ wallclock?: number | (string & {});
3633
+ };
3634
+ /**
3635
+ * piped
3636
+ * @see https://ffmpeg.org/ffmpeg-formats.html#qdraw_005fpipe
3637
+ */
3638
+ qdraw_pipe: {
3639
+ /** force frame size in bytes */
3640
+ frame_size?: number | (string & {});
3641
+ /** set the video framerate */
3642
+ framerate?: string | number;
3643
+ /** set video pixel format */
3644
+ pixel_format?: string | number;
3645
+ /** set video size */
3646
+ video_size?: string | number;
3647
+ /** force loop over input file sequence */
3648
+ loop?: boolean | (string & {});
3649
+ };
3650
+ /**
3651
+ * piped
3652
+ * @see https://ffmpeg.org/ffmpeg-formats.html#qoi_005fpipe
3653
+ */
3654
+ qoi_pipe: {
3655
+ /** force frame size in bytes */
3656
+ frame_size?: number | (string & {});
3657
+ /** set the video framerate */
3658
+ framerate?: string | number;
3659
+ /** set video pixel format */
3660
+ pixel_format?: string | number;
3661
+ /** set video size */
3662
+ video_size?: string | number;
3663
+ /** force loop over input file sequence */
3664
+ loop?: boolean | (string & {});
3665
+ };
3666
+ /**
3667
+ * raw video
3668
+ * @see https://ffmpeg.org/ffmpeg-formats.html#rawvideo
3669
+ */
3670
+ rawvideo: {
3671
+ /** frame line size in bytes */
3672
+ stride?: string | number;
3673
+ /** set pixel format */
3674
+ pixel_format?: string | number;
3675
+ /** set frame size */
3676
+ video_size?: string | number;
3677
+ /** set frame rate */
3678
+ framerate?: string | number;
3679
+ };
3680
+ /**
3681
+ * RTP input
3682
+ * @see https://ffmpeg.org/ffmpeg-formats.html#rtp
3683
+ */
3684
+ rtp: {
3685
+ /** set RTP flags */
3686
+ rtp_flags?: 'filter_src' | (string & {}) | number;
3687
+ /** set maximum timeout (in seconds) to wait for incoming connections */
3688
+ listen_timeout?: string | number;
3689
+ /** local address */
3690
+ localaddr?: string | number;
3691
+ /** set media types to accept from the server */
3692
+ allowed_media_types?: 'video' | 'audio' | 'data' | 'subtitle' | (string & {}) | number;
3693
+ /** set number of packets to buffer for handling of reordered packets */
3694
+ reorder_queue_size?: number | (string & {});
3695
+ /** Underlying protocol send/receive buffer size */
3696
+ buffer_size?: number | (string & {});
3697
+ /** Underlying protocol send packet size */
3698
+ pkt_size?: number | (string & {});
3699
+ };
3700
+ /**
3701
+ * RTSP input
3702
+ * @see https://ffmpeg.org/ffmpeg-formats.html#rtsp
3703
+ */
3704
+ rtsp: {
3705
+ /** do not start playing the stream immediately */
3706
+ initial_pause?: boolean | (string & {});
3707
+ /** RTP muxer flags */
3708
+ rtpflags?: 'latm' | 'rfc2190' | 'skip_rtcp' | 'h264_mode0' | 'send_bye' | (string & {}) | number;
3709
+ /** set RTSP transport protocols */
3710
+ rtsp_transport?: 'udp' | 'tcp' | 'udp_multicast' | 'http' | 'https' | (string & {}) | number;
3711
+ /** set RTSP flags */
3712
+ rtsp_flags?: 'filter_src' | 'listen' | 'prefer_tcp' | 'satip_raw' | (string & {}) | number;
3713
+ /** set media types to accept from the server */
3714
+ allowed_media_types?: 'video' | 'audio' | 'data' | 'subtitle' | (string & {}) | number;
3715
+ /** set minimum local UDP port */
3716
+ min_port?: number | (string & {});
3717
+ /** set maximum local UDP port */
3718
+ max_port?: number | (string & {});
3719
+ /** set maximum timeout (in seconds) to wait for incoming connections (-1 is infinite, imply flag listen) */
3720
+ listen_timeout?: number | (string & {});
3721
+ /** set timeout (in microseconds) of socket I/O operations */
3722
+ timeout?: number | (string & {});
3723
+ /** set number of packets to buffer for handling of reordered packets */
3724
+ reorder_queue_size?: number | (string & {});
3725
+ /** Underlying protocol send/receive buffer size */
3726
+ buffer_size?: number | (string & {});
3727
+ /** Underlying protocol send packet size */
3728
+ pkt_size?: number | (string & {});
3729
+ /** override User-Agent header */
3730
+ user_agent?: string | number;
3731
+ /** Certificate Authority database file */
3732
+ ca_file?: string | number;
3733
+ /** Certificate Authority database file */
3734
+ cafile?: string | number;
3735
+ /** Verify the peer certificate */
3736
+ tls_verify?: boolean | (string & {});
3737
+ /** Verify the peer certificate */
3738
+ verify?: boolean | (string & {});
3739
+ /** Certificate file */
3740
+ cert_file?: string | number;
3741
+ /** Certificate file */
3742
+ cert?: string | number;
3743
+ /** Private key file */
3744
+ key_file?: string | number;
3745
+ /** Private key file */
3746
+ key?: string | number;
3747
+ /** Verify against a specific hostname */
3748
+ verifyhost?: string | number;
3749
+ };
3750
+ /**
3751
+ * PCM signed 16-bit big-endian
3752
+ * @see https://ffmpeg.org/ffmpeg-formats.html#s16be
3753
+ */
3754
+ s16be: {
3755
+ sample_rate?: number | (string & {});
3756
+ ch_layout?: string | number;
3757
+ };
3758
+ /**
3759
+ * PCM signed 16-bit little-endian
3760
+ * @see https://ffmpeg.org/ffmpeg-formats.html#s16le
3761
+ */
3762
+ s16le: {
3763
+ sample_rate?: number | (string & {});
3764
+ ch_layout?: string | number;
3765
+ };
3766
+ /**
3767
+ * PCM signed 24-bit big-endian
3768
+ * @see https://ffmpeg.org/ffmpeg-formats.html#s24be
3769
+ */
3770
+ s24be: {
3771
+ sample_rate?: number | (string & {});
3772
+ ch_layout?: string | number;
3773
+ };
3774
+ /**
3775
+ * PCM signed 24-bit little-endian
3776
+ * @see https://ffmpeg.org/ffmpeg-formats.html#s24le
3777
+ */
3778
+ s24le: {
3779
+ sample_rate?: number | (string & {});
3780
+ ch_layout?: string | number;
3781
+ };
3782
+ /**
3783
+ * PCM signed 32-bit big-endian
3784
+ * @see https://ffmpeg.org/ffmpeg-formats.html#s32be
3785
+ */
3786
+ s32be: {
3787
+ sample_rate?: number | (string & {});
3788
+ ch_layout?: string | number;
3789
+ };
3790
+ /**
3791
+ * PCM signed 32-bit little-endian
3792
+ * @see https://ffmpeg.org/ffmpeg-formats.html#s32le
3793
+ */
3794
+ s32le: {
3795
+ sample_rate?: number | (string & {});
3796
+ ch_layout?: string | number;
3797
+ };
3798
+ /**
3799
+ * PCM signed 8-bit
3800
+ * @see https://ffmpeg.org/ffmpeg-formats.html#s8
3801
+ */
3802
+ s8: {
3803
+ sample_rate?: number | (string & {});
3804
+ ch_layout?: string | number;
3805
+ };
3806
+ /**
3807
+ * raw SBC (low-complexity subband codec)
3808
+ * @see https://ffmpeg.org/ffmpeg-formats.html#sbc
3809
+ */
3810
+ sbc: {
3811
+ raw_packet_size?: number | (string & {});
3812
+ };
3813
+ /**
3814
+ * SBaGen binaural beats script
3815
+ * @see https://ffmpeg.org/ffmpeg-formats.html#sbg
3816
+ */
3817
+ sbg: {
3818
+ sample_rate?: number | (string & {});
3819
+ frame_size?: number | (string & {});
3820
+ max_file_size?: number | (string & {});
3821
+ };
3822
+ /**
3823
+ * SDP
3824
+ * @see https://ffmpeg.org/ffmpeg-formats.html#sdp
3825
+ */
3826
+ sdp: {
3827
+ /** SDP flags */
3828
+ sdp_flags?: 'filter_src' | 'custom_io' | 'rtcp_to_source' | (string & {}) | number;
3829
+ /** set maximum timeout (in seconds) to wait for incoming connections */
3830
+ listen_timeout?: string | number;
3831
+ /** local address */
3832
+ localaddr?: string | number;
3833
+ /** set media types to accept from the server */
3834
+ allowed_media_types?: 'video' | 'audio' | 'data' | 'subtitle' | (string & {}) | number;
3835
+ /** set number of packets to buffer for handling of reordered packets */
3836
+ reorder_queue_size?: number | (string & {});
3837
+ /** Underlying protocol send/receive buffer size */
3838
+ buffer_size?: number | (string & {});
3839
+ /** Underlying protocol send packet size */
3840
+ pkt_size?: number | (string & {});
3841
+ };
3842
+ /**
3843
+ * SER (Simple uncompressed video format for astronomical capturing)
3844
+ * @see https://ffmpeg.org/ffmpeg-formats.html#ser
3845
+ */
3846
+ ser: {
3847
+ /** set frame rate */
3848
+ framerate?: string | number;
3849
+ };
3850
+ /**
3851
+ * piped
3852
+ * @see https://ffmpeg.org/ffmpeg-formats.html#sgi_005fpipe
3853
+ */
3854
+ sgi_pipe: {
3855
+ /** force frame size in bytes */
3856
+ frame_size?: number | (string & {});
3857
+ /** set the video framerate */
3858
+ framerate?: string | number;
3859
+ /** set video pixel format */
3860
+ pixel_format?: string | number;
3861
+ /** set video size */
3862
+ video_size?: string | number;
3863
+ /** force loop over input file sequence */
3864
+ loop?: boolean | (string & {});
3865
+ };
3866
+ /**
3867
+ * raw Shorten
3868
+ * @see https://ffmpeg.org/ffmpeg-formats.html#shn
3869
+ */
3870
+ shn: {
3871
+ raw_packet_size?: number | (string & {});
3872
+ };
3873
+ /**
3874
+ * Asterisk raw pcm
3875
+ * @see https://ffmpeg.org/ffmpeg-formats.html#sln
3876
+ */
3877
+ sln: {
3878
+ sample_rate?: number | (string & {});
3879
+ ch_layout?: string | number;
3880
+ };
3881
+ /**
3882
+ * sndio audio capture
3883
+ * @see https://ffmpeg.org/ffmpeg-formats.html#sndio
3884
+ */
3885
+ sndio: {
3886
+ sample_rate?: number | (string & {});
3887
+ channels?: number | (string & {});
3888
+ };
3889
+ /**
3890
+ * piped
3891
+ * @see https://ffmpeg.org/ffmpeg-formats.html#sunrast_005fpipe
3892
+ */
3893
+ sunrast_pipe: {
3894
+ /** force frame size in bytes */
3895
+ frame_size?: number | (string & {});
3896
+ /** set the video framerate */
3897
+ framerate?: string | number;
3898
+ /** set video pixel format */
3899
+ pixel_format?: string | number;
3900
+ /** set video size */
3901
+ video_size?: string | number;
3902
+ /** force loop over input file sequence */
3903
+ loop?: boolean | (string & {});
3904
+ };
3905
+ /**
3906
+ * piped
3907
+ * @see https://ffmpeg.org/ffmpeg-formats.html#svg_005fpipe
3908
+ */
3909
+ svg_pipe: {
3910
+ /** force frame size in bytes */
3911
+ frame_size?: number | (string & {});
3912
+ /** set the video framerate */
3913
+ framerate?: string | number;
3914
+ /** set video pixel format */
3915
+ pixel_format?: string | number;
3916
+ /** set video size */
3917
+ video_size?: string | number;
3918
+ /** force loop over input file sequence */
3919
+ loop?: boolean | (string & {});
3920
+ };
3921
+ /**
3922
+ * raw TAK
3923
+ * @see https://ffmpeg.org/ffmpeg-formats.html#tak
3924
+ */
3925
+ tak: {
3926
+ raw_packet_size?: number | (string & {});
3927
+ };
3928
+ /**
3929
+ * TED Talks captions
3930
+ * @see https://ffmpeg.org/ffmpeg-formats.html#tedcaptions
3931
+ */
3932
+ tedcaptions: {
3933
+ /** set the start time (offset) of the subtitles, in ms */
3934
+ start_time?: number | (string & {});
3935
+ };
3936
+ /**
3937
+ * piped
3938
+ * @see https://ffmpeg.org/ffmpeg-formats.html#tiff_005fpipe
3939
+ */
3940
+ tiff_pipe: {
3941
+ /** force frame size in bytes */
3942
+ frame_size?: number | (string & {});
3943
+ /** set the video framerate */
3944
+ framerate?: string | number;
3945
+ /** set video pixel format */
3946
+ pixel_format?: string | number;
3947
+ /** set video size */
3948
+ video_size?: string | number;
3949
+ /** force loop over input file sequence */
3950
+ loop?: boolean | (string & {});
3951
+ };
3952
+ /**
3953
+ * raw TrueHD
3954
+ * @see https://ffmpeg.org/ffmpeg-formats.html#truehd
3955
+ */
3956
+ truehd: {
3957
+ raw_packet_size?: number | (string & {});
3958
+ };
3959
+ /**
3960
+ * Tele-typewriter
3961
+ * @see https://ffmpeg.org/ffmpeg-formats.html#tty
3962
+ */
3963
+ tty: {
3964
+ chars_per_frame?: number | (string & {});
3965
+ /** A string describing frame size, such as 640x480 or hd720. */
3966
+ video_size?: string | number;
3967
+ framerate?: string | number;
3968
+ };
3969
+ /**
3970
+ * PCM unsigned 16-bit big-endian
3971
+ * @see https://ffmpeg.org/ffmpeg-formats.html#u16be
3972
+ */
3973
+ u16be: {
3974
+ sample_rate?: number | (string & {});
3975
+ ch_layout?: string | number;
3976
+ };
3977
+ /**
3978
+ * PCM unsigned 16-bit little-endian
3979
+ * @see https://ffmpeg.org/ffmpeg-formats.html#u16le
3980
+ */
3981
+ u16le: {
3982
+ sample_rate?: number | (string & {});
3983
+ ch_layout?: string | number;
3984
+ };
3985
+ /**
3986
+ * PCM unsigned 24-bit big-endian
3987
+ * @see https://ffmpeg.org/ffmpeg-formats.html#u24be
3988
+ */
3989
+ u24be: {
3990
+ sample_rate?: number | (string & {});
3991
+ ch_layout?: string | number;
3992
+ };
3993
+ /**
3994
+ * PCM unsigned 24-bit little-endian
3995
+ * @see https://ffmpeg.org/ffmpeg-formats.html#u24le
3996
+ */
3997
+ u24le: {
3998
+ sample_rate?: number | (string & {});
3999
+ ch_layout?: string | number;
4000
+ };
4001
+ /**
4002
+ * PCM unsigned 32-bit big-endian
4003
+ * @see https://ffmpeg.org/ffmpeg-formats.html#u32be
4004
+ */
4005
+ u32be: {
4006
+ sample_rate?: number | (string & {});
4007
+ ch_layout?: string | number;
4008
+ };
4009
+ /**
4010
+ * PCM unsigned 32-bit little-endian
4011
+ * @see https://ffmpeg.org/ffmpeg-formats.html#u32le
4012
+ */
4013
+ u32le: {
4014
+ sample_rate?: number | (string & {});
4015
+ ch_layout?: string | number;
4016
+ };
4017
+ /**
4018
+ * PCM unsigned 8-bit
4019
+ * @see https://ffmpeg.org/ffmpeg-formats.html#u8
4020
+ */
4021
+ u8: {
4022
+ sample_rate?: number | (string & {});
4023
+ ch_layout?: string | number;
4024
+ };
4025
+ /**
4026
+ * Uncompressed 4:2:2 10-bit
4027
+ * @see https://ffmpeg.org/ffmpeg-formats.html#v210
4028
+ */
4029
+ v210: {
4030
+ /** set frame size */
4031
+ video_size?: string | number;
4032
+ /** set frame rate */
4033
+ framerate?: string | number;
4034
+ };
4035
+ /**
4036
+ * Uncompressed 4:2:2 10-bit
4037
+ * @see https://ffmpeg.org/ffmpeg-formats.html#v210x
4038
+ */
4039
+ v210x: {
4040
+ /** set frame size */
4041
+ video_size?: string | number;
4042
+ /** set frame rate */
4043
+ framerate?: string | number;
4044
+ };
4045
+ /**
4046
+ * Video4Linux2 device grab
4047
+ * @see https://ffmpeg.org/ffmpeg-formats.html#v4l2
4048
+ */
4049
+ v4l2: {
4050
+ /** set TV standard, used only by analog frame grabber */
4051
+ standard?: string | number;
4052
+ /** set TV channel, used only by frame grabber */
4053
+ channel?: number | (string & {});
4054
+ /** set frame size */
4055
+ video_size?: string | number;
4056
+ /** set preferred pixel format */
4057
+ pixel_format?: string | number;
4058
+ /** set preferred pixel format (for raw video) or codec name */
4059
+ input_format?: string | number;
4060
+ /** set frame rate */
4061
+ framerate?: string | number;
4062
+ /** list available formats and exit */
4063
+ list_formats?: 'all' | 'raw' | 'compressed' | (string & {}) | number;
4064
+ /** list supported standards and exit */
4065
+ list_standards?: 'all' | (string & {}) | number;
4066
+ /** set type of timestamps for grabbed frames */
4067
+ timestamps?: 'default' | 'abs' | 'mono2abs' | (string & {}) | number;
4068
+ /** set type of timestamps for grabbed frames */
4069
+ ts?: 'default' | 'abs' | 'mono2abs' | (string & {}) | number;
4070
+ /** use libv4l2 (v4l-utils) conversion functions */
4071
+ use_libv4l2?: boolean | (string & {});
4072
+ };
4073
+ /**
4074
+ * VapourSynth demuxer
4075
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vapoursynth
4076
+ */
4077
+ vapoursynth: {
4078
+ /** set max file size supported (in bytes) */
4079
+ max_script_size?: number | (string & {});
4080
+ };
4081
+ /**
4082
+ * piped
4083
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vbn_005fpipe
4084
+ */
4085
+ vbn_pipe: {
4086
+ /** force frame size in bytes */
4087
+ frame_size?: number | (string & {});
4088
+ /** set the video framerate */
4089
+ framerate?: string | number;
4090
+ /** set video pixel format */
4091
+ pixel_format?: string | number;
4092
+ /** set video size */
4093
+ video_size?: string | number;
4094
+ /** force loop over input file sequence */
4095
+ loop?: boolean | (string & {});
4096
+ };
4097
+ /**
4098
+ * raw VC-1
4099
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vc1
4100
+ */
4101
+ vc1: {
4102
+ framerate?: string | number;
4103
+ raw_packet_size?: number | (string & {});
4104
+ };
4105
+ /**
4106
+ * VfW video capture
4107
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vfwcap
4108
+ */
4109
+ vfwcap: {
4110
+ /** A string describing frame size, such as 640x480 or hd720. */
4111
+ video_size?: string | number;
4112
+ framerate?: string | number;
4113
+ };
4114
+ /**
4115
+ * PCM Archimedes VIDC
4116
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vidc
4117
+ */
4118
+ vidc: {
4119
+ sample_rate?: number | (string & {});
4120
+ ch_layout?: string | number;
4121
+ };
4122
+ /**
4123
+ * Video4Linux2 device grab
4124
+ * @see https://ffmpeg.org/ffmpeg-formats.html#video4linux2
4125
+ */
4126
+ video4linux2: {
4127
+ /** set TV standard, used only by analog frame grabber */
4128
+ standard?: string | number;
4129
+ /** set TV channel, used only by frame grabber */
4130
+ channel?: number | (string & {});
4131
+ /** set frame size */
4132
+ video_size?: string | number;
4133
+ /** set preferred pixel format */
4134
+ pixel_format?: string | number;
4135
+ /** set preferred pixel format (for raw video) or codec name */
4136
+ input_format?: string | number;
4137
+ /** set frame rate */
4138
+ framerate?: string | number;
4139
+ /** list available formats and exit */
4140
+ list_formats?: 'all' | 'raw' | 'compressed' | (string & {}) | number;
4141
+ /** list supported standards and exit */
4142
+ list_standards?: 'all' | (string & {}) | number;
4143
+ /** set type of timestamps for grabbed frames */
4144
+ timestamps?: 'default' | 'abs' | 'mono2abs' | (string & {}) | number;
4145
+ /** set type of timestamps for grabbed frames */
4146
+ ts?: 'default' | 'abs' | 'mono2abs' | (string & {}) | number;
4147
+ /** use libv4l2 (v4l-utils) conversion functions */
4148
+ use_libv4l2?: boolean | (string & {});
4149
+ };
4150
+ /**
4151
+ * VobSub subtitle format
4152
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vobsub
4153
+ */
4154
+ vobsub: {
4155
+ /** URI for .sub file */
4156
+ sub_name?: string | number;
4157
+ };
4158
+ /**
4159
+ * raw H.266/VVC video
4160
+ * @see https://ffmpeg.org/ffmpeg-formats.html#vvc
4161
+ */
4162
+ vvc: {
4163
+ framerate?: string | number;
4164
+ raw_packet_size?: number | (string & {});
4165
+ };
4166
+ /**
4167
+ * Sony Wave64
4168
+ * @see https://ffmpeg.org/ffmpeg-formats.html#w64
4169
+ */
4170
+ w64: {
4171
+ /** max size of single packet */
4172
+ max_size?: number | (string & {});
4173
+ };
4174
+ /**
4175
+ * WAV / WAVE (Waveform Audio)
4176
+ * @see https://ffmpeg.org/ffmpeg-formats.html#wav
4177
+ */
4178
+ wav: {
4179
+ /** Ignore length */
4180
+ ignore_length?: boolean | (string & {});
4181
+ /** max size of single packet */
4182
+ max_size?: number | (string & {});
4183
+ };
4184
+ /**
4185
+ * WebM DASH Manifest
4186
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webm_005fdash_005fmanifest
4187
+ */
4188
+ webm_dash_manifest: {
4189
+ /** flag indicating that the input is a live file that only has the headers. */
4190
+ live?: boolean | (string & {});
4191
+ /** bandwidth of this stream to be specified in the DASH manifest. */
4192
+ bandwidth?: number | (string & {});
4193
+ };
4194
+ /**
4195
+ * piped
4196
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webp_005fpipe
4197
+ */
4198
+ webp_pipe: {
4199
+ /** force frame size in bytes */
4200
+ frame_size?: number | (string & {});
4201
+ /** set the video framerate */
4202
+ framerate?: string | number;
4203
+ /** set video pixel format */
4204
+ pixel_format?: string | number;
4205
+ /** set video size */
4206
+ video_size?: string | number;
4207
+ /** force loop over input file sequence */
4208
+ loop?: boolean | (string & {});
4209
+ };
4210
+ /**
4211
+ * WebVTT subtitle
4212
+ * @see https://ffmpeg.org/ffmpeg-formats.html#webvtt
4213
+ */
4214
+ webvtt: {
4215
+ /** Set kind of WebVTT track */
4216
+ kind?: 'subtitles' | 'captions' | 'descriptions' | 'metadata' | (string & {}) | number;
4217
+ };
4218
+ /**
4219
+ * Wideband Single-bit Data (WSD)
4220
+ * @see https://ffmpeg.org/ffmpeg-formats.html#wsd
4221
+ */
4222
+ wsd: {
4223
+ raw_packet_size?: number | (string & {});
4224
+ };
4225
+ /**
4226
+ * X11 screen capture, using XCB
4227
+ * @see https://ffmpeg.org/ffmpeg-formats.html#x11grab
4228
+ */
4229
+ x11grab: {
4230
+ /** Window to capture. */
4231
+ window_id?: number | (string & {});
4232
+ /** Initial x coordinate. */
4233
+ x?: number | (string & {});
4234
+ /** Initial y coordinate. */
4235
+ y?: number | (string & {});
4236
+ /** Initial x coordinate. */
4237
+ grab_x?: number | (string & {});
4238
+ /** Initial y coordinate. */
4239
+ grab_y?: number | (string & {});
4240
+ /** A string describing frame size, such as 640x480 or hd720. */
4241
+ video_size?: string | number;
4242
+ framerate?: string | number;
4243
+ /** Draw the mouse pointer. */
4244
+ draw_mouse?: number | (string & {});
4245
+ /** Move the grabbing region when the mouse pointer reaches within specified amount of pixels to the edge of region. */
4246
+ follow_mouse?: 'centered' | (string & {}) | number;
4247
+ /** Show the grabbing region. */
4248
+ show_region?: number | (string & {});
4249
+ /** Set the region border thickness. */
4250
+ region_border?: number | (string & {});
4251
+ /** Select the grabbing region graphically using the pointer. */
4252
+ select_region?: boolean | (string & {});
4253
+ };
4254
+ /**
4255
+ * eXtended BINary text (XBIN)
4256
+ * @see https://ffmpeg.org/ffmpeg-formats.html#xbin
4257
+ */
4258
+ xbin: {
4259
+ /** set simulated line speed (bytes per second) */
4260
+ linespeed?: number | (string & {});
4261
+ /** set video size, such as 640x480 or hd720. */
4262
+ video_size?: string | number;
4263
+ /** set framerate (frames per second) */
4264
+ framerate?: string | number;
4265
+ };
4266
+ /**
4267
+ * piped
4268
+ * @see https://ffmpeg.org/ffmpeg-formats.html#xbm_005fpipe
4269
+ */
4270
+ xbm_pipe: {
4271
+ /** force frame size in bytes */
4272
+ frame_size?: number | (string & {});
4273
+ /** set the video framerate */
4274
+ framerate?: string | number;
4275
+ /** set video pixel format */
4276
+ pixel_format?: string | number;
4277
+ /** set video size */
4278
+ video_size?: string | number;
4279
+ /** force loop over input file sequence */
4280
+ loop?: boolean | (string & {});
4281
+ };
4282
+ /**
4283
+ * piped
4284
+ * @see https://ffmpeg.org/ffmpeg-formats.html#xpm_005fpipe
4285
+ */
4286
+ xpm_pipe: {
4287
+ /** force frame size in bytes */
4288
+ frame_size?: number | (string & {});
4289
+ /** set the video framerate */
4290
+ framerate?: string | number;
4291
+ /** set video pixel format */
4292
+ pixel_format?: string | number;
4293
+ /** set video size */
4294
+ video_size?: string | number;
4295
+ /** force loop over input file sequence */
4296
+ loop?: boolean | (string & {});
4297
+ };
4298
+ /**
4299
+ * piped
4300
+ * @see https://ffmpeg.org/ffmpeg-formats.html#xwd_005fpipe
4301
+ */
4302
+ xwd_pipe: {
4303
+ /** force frame size in bytes */
4304
+ frame_size?: number | (string & {});
4305
+ /** set the video framerate */
4306
+ framerate?: string | number;
4307
+ /** set video pixel format */
4308
+ pixel_format?: string | number;
4309
+ /** set video size */
4310
+ video_size?: string | number;
4311
+ /** force loop over input file sequence */
4312
+ loop?: boolean | (string & {});
4313
+ };
4314
+ }
4315
+ /**
4316
+ * Loose option bag for formats without generated typings, or for protocol/codec
4317
+ * options that flow through the same dictionary (e.g. `rtsp_transport`).
4318
+ */
4319
+ export type UnknownFormatOptions = Record<string, string | number | boolean | bigint | undefined | null>;