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