@temelj/ffmpeg 0.1.0
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/LICENSE +21 -0
- package/README.md +118 -0
- package/dist/args.d.mts +9 -0
- package/dist/args.d.mts.map +1 -0
- package/dist/args.mjs +71 -0
- package/dist/args.mjs.map +1 -0
- package/dist/builder.d.mts +52 -0
- package/dist/builder.d.mts.map +1 -0
- package/dist/builder.mjs +174 -0
- package/dist/builder.mjs.map +1 -0
- package/dist/filter-graph.d.mts +87 -0
- package/dist/filter-graph.d.mts.map +1 -0
- package/dist/filter-graph.mjs +206 -0
- package/dist/filter-graph.mjs.map +1 -0
- package/dist/generated/options.d.mts +493 -0
- package/dist/generated/options.d.mts.map +1 -0
- package/dist/generated/options.mjs +1 -0
- package/dist/generated/serialize.d.mts +34 -0
- package/dist/generated/serialize.d.mts.map +1 -0
- package/dist/generated/serialize.mjs +294 -0
- package/dist/generated/serialize.mjs.map +1 -0
- package/dist/mapping.d.mts +27 -0
- package/dist/mapping.d.mts.map +1 -0
- package/dist/mapping.mjs +44 -0
- package/dist/mapping.mjs.map +1 -0
- package/dist/mod.d.mts +7 -0
- package/dist/mod.mjs +5 -0
- package/dist/structured.d.mts +66 -0
- package/dist/structured.d.mts.map +1 -0
- package/dist/structured.mjs +114 -0
- package/dist/structured.mjs.map +1 -0
- package/dist/types.d.mts +26 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,493 @@
|
|
|
1
|
+
//#region src/generated/options.d.ts
|
|
2
|
+
type Duration = string | number;
|
|
3
|
+
type SerializedOptionScalar = string | number | boolean;
|
|
4
|
+
type SerializedOptionValue = SerializedOptionScalar | readonly SerializedOptionScalar[];
|
|
5
|
+
type RawOptionBag = Partial<Record<`-${string}`, SerializedOptionValue>>;
|
|
6
|
+
type StreamType = "v" | "V" | "a" | "s" | "d" | "t";
|
|
7
|
+
type StreamSpecifier = StreamType | `${number}` | `${StreamType}:${number}` | `p:${number}` | `g:${number}` | `#${number}` | `i:${number}` | `m:${string}:${string}` | `disp:${string}` | "u";
|
|
8
|
+
type StreamOptionBag<T> = Partial<Record<StreamSpecifier, T>>;
|
|
9
|
+
type MetadataSpecifier = "g" | `s:${StreamSpecifier}` | `c:${number}` | `p:${number}`;
|
|
10
|
+
type MetadataOptionBag<T> = Partial<Record<MetadataSpecifier, T>>;
|
|
11
|
+
type Bitrate = `${number}k` | `${number}M` | `${number}G`;
|
|
12
|
+
type FrameSize = `${number}x${number}`;
|
|
13
|
+
type LogLevel = "quiet" | "panic" | "fatal" | "error" | "warning" | "info" | "verbose" | "debug" | "trace";
|
|
14
|
+
type Vsync = "passthrough" | "cfr" | "vfr" | "drop" | "auto" | number;
|
|
15
|
+
type Target = "vcd" | "svcd" | "dvd" | "dv" | "dv50" | "pal-vcd" | "pal-svcd" | "pal-dvd" | "ntsc-vcd" | "ntsc-svcd" | "ntsc-dvd";
|
|
16
|
+
type AspectRatio = `${number}:${number}` | `${number}/${number}` | number;
|
|
17
|
+
interface InputOptions {
|
|
18
|
+
/** Set the number of audio channels. For output streams it is set by */
|
|
19
|
+
ac?: number;
|
|
20
|
+
/** This option enables or disables accurate seeking in input files with the -ss option. It is enabled by default, so seekin */
|
|
21
|
+
accurateSeek?: boolean;
|
|
22
|
+
/** Set the audio codec. This is an alias for -codec:a . */
|
|
23
|
+
acodec?: string;
|
|
24
|
+
/** As an input option, blocks all audio streams of a file from being filtered or */
|
|
25
|
+
an?: boolean;
|
|
26
|
+
/** Automatically crop the video after decoding according to file metadata. */
|
|
27
|
+
applyCropping?: string;
|
|
28
|
+
/** Set the audio sampling frequency. For output streams it is set by */
|
|
29
|
+
ar?: number;
|
|
30
|
+
/** Enable bitexact mode for (de)muxer and (de/en)coder */
|
|
31
|
+
bitExact?: boolean;
|
|
32
|
+
/** Apply bitstream filters to matching streams. The filters are applied to each */
|
|
33
|
+
bsf?: string;
|
|
34
|
+
/** Select an encoder (when used before an output file) or a decoder (when used */
|
|
35
|
+
c?: string;
|
|
36
|
+
/** Set video content light metadata. */
|
|
37
|
+
contentLight?: string;
|
|
38
|
+
/** Specify how to set the encoder timebase when stream copying. mode is an */
|
|
39
|
+
copyTb?: number;
|
|
40
|
+
/** Do not process input timestamps, but keep their values without trying */
|
|
41
|
+
copyTs?: boolean;
|
|
42
|
+
/** Allow input streams with unknown type to be copied instead of failing if copying */
|
|
43
|
+
copyUnknown?: boolean;
|
|
44
|
+
/** Allows discarding specific streams or frames from streams. */
|
|
45
|
+
discard?: string;
|
|
46
|
+
/** Set whether on display the image should be horizontally flipped. */
|
|
47
|
+
displayHflip?: boolean;
|
|
48
|
+
/** Set video rotation metadata. */
|
|
49
|
+
displayRotation?: string;
|
|
50
|
+
/** Set whether on display the image should be vertically flipped. */
|
|
51
|
+
displayVflip?: boolean;
|
|
52
|
+
/** As an input option, blocks all data streams of a file from being filtered or */
|
|
53
|
+
dn?: boolean;
|
|
54
|
+
/** This boolean option determines whether a frame with differing frame parameters mid-stream */
|
|
55
|
+
dropChanged?: boolean;
|
|
56
|
+
/** Timestamp discontinuity delta threshold, expressed as a decimal number */
|
|
57
|
+
dtsDeltaThreshold?: number;
|
|
58
|
+
/** Timestamp error delta threshold, expressed as a decimal number of */
|
|
59
|
+
dtsErrorThreshold?: number;
|
|
60
|
+
/** Extract the matching attachment stream into a file named filename . If filename is empty, then the value of the filename */
|
|
61
|
+
dumpAttachment?: string;
|
|
62
|
+
/** Force input or output file format. The format is normally auto detected for input */
|
|
63
|
+
f?: string;
|
|
64
|
+
/** Pass the hardware device called name to all filters in any filter graph. */
|
|
65
|
+
filterHwDevice?: string;
|
|
66
|
+
/** Set a specific output video stream as the heartbeat stream according to which */
|
|
67
|
+
fixSubDurationHeartbeat?: string;
|
|
68
|
+
/** If some input channel layout is not known, try to guess only if it */
|
|
69
|
+
guessLayoutMax?: number;
|
|
70
|
+
/** Use hardware acceleration to decode the matching stream(s). The allowed values */
|
|
71
|
+
hwaccel?: string;
|
|
72
|
+
/** Select a device to use for hardware acceleration. */
|
|
73
|
+
hwaccelDevice?: string;
|
|
74
|
+
/** input file url */
|
|
75
|
+
i?: string;
|
|
76
|
+
/** Ignore input streams with unknown type instead of failing if copying */
|
|
77
|
+
ignoreUnknown?: boolean;
|
|
78
|
+
/** Initialize hardware device */
|
|
79
|
+
initHwDevice?: string;
|
|
80
|
+
/** Assign an input as a sync source. */
|
|
81
|
+
isync?: number;
|
|
82
|
+
/** Set the input time offset. */
|
|
83
|
+
itsoffset?: Duration;
|
|
84
|
+
/** Rescale input timestamps. scale should be a floating point number. */
|
|
85
|
+
itsscale?: number;
|
|
86
|
+
/** Loop input (0=infinite) */
|
|
87
|
+
loop?: number;
|
|
88
|
+
/** Set video mastering display metadata. */
|
|
89
|
+
masteringDisplay?: string;
|
|
90
|
+
/** Set pixel format. Use -pix_fmts to show all the supported */
|
|
91
|
+
pixFmt?: string;
|
|
92
|
+
/** Set frame rate (Hz value, fraction or abbreviation). */
|
|
93
|
+
r?: Duration;
|
|
94
|
+
/** Read input at native frame rate. This is equivalent to setting -readrate 1 . */
|
|
95
|
+
re?: boolean;
|
|
96
|
+
/** Limit input read speed. */
|
|
97
|
+
readrate?: Duration;
|
|
98
|
+
/** If either the input or output is blocked leading to actual read speed falling behind the */
|
|
99
|
+
readrateCatchup?: Duration;
|
|
100
|
+
/** Set an initial read burst time, in seconds, after which -re/-readrate will be enforced. */
|
|
101
|
+
readrateInitialBurst?: Duration;
|
|
102
|
+
/** This boolean option determines if the filtergraph(s) to which this stream is fed gets */
|
|
103
|
+
reinitFilter?: boolean;
|
|
104
|
+
/** Set frame size. */
|
|
105
|
+
s?: FrameSize;
|
|
106
|
+
/** This option enables or disables seeking by timestamp in input files with the -ss option. It is disabled by default. If e */
|
|
107
|
+
seekTimestamp?: boolean;
|
|
108
|
+
/** As an input option, blocks all subtitle streams of a file from being filtered or */
|
|
109
|
+
sn?: boolean;
|
|
110
|
+
/** When used as an input option (before -i ), seeks in this input file to position . Note that in most formats it is not po */
|
|
111
|
+
ss?: Duration;
|
|
112
|
+
/** Like the -ss option but relative to the "end of file". That is negative */
|
|
113
|
+
sseof?: Duration;
|
|
114
|
+
/** When used with copyts , shift input timestamps so they start at zero. */
|
|
115
|
+
startAtZero?: boolean;
|
|
116
|
+
/** Set number of times input stream shall be looped. Loop 0 means no loop, */
|
|
117
|
+
streamLoop?: number;
|
|
118
|
+
/** Set default flags for the libswscale library. These flags are used by */
|
|
119
|
+
swsFlags?: string;
|
|
120
|
+
/** When used as an input option (before -i ), limit the duration of */
|
|
121
|
+
t?: Duration;
|
|
122
|
+
/** Force a tag/fourcc for matching streams. */
|
|
123
|
+
tag?: string;
|
|
124
|
+
/** For input, this option sets the maximum number of queued packets when reading */
|
|
125
|
+
threadQueueSize?: number;
|
|
126
|
+
/** Specify Timecode for writing. SEP is ’:’ for non drop timecode and ’;’ */
|
|
127
|
+
timecode?: Duration;
|
|
128
|
+
/** Stop writing the output or reading the input at position . position must be a time duration specification, */
|
|
129
|
+
to?: Duration;
|
|
130
|
+
/** As an input option, blocks all video streams of a file from being filtered or */
|
|
131
|
+
vn?: boolean;
|
|
132
|
+
/** Stream-specifier scoped input options, serialized as flags like -r:v:0 or -hwaccel:a. */
|
|
133
|
+
streams?: StreamOptionBag<InputStreamOptions>;
|
|
134
|
+
/** Escape hatch for raw ffmpeg flags not modeled by this interface yet. Keys must be full CLI flags, e.g. "-metadata:s:v". */
|
|
135
|
+
raw?: RawOptionBag;
|
|
136
|
+
}
|
|
137
|
+
interface OutputOptions {
|
|
138
|
+
/** Set the number of audio channels. For output streams it is set by */
|
|
139
|
+
ac?: number;
|
|
140
|
+
/** Set the audio codec. This is an alias for -codec:a . */
|
|
141
|
+
acodec?: string;
|
|
142
|
+
/** Create the filtergraph specified by filtergraph and use it to */
|
|
143
|
+
af?: string;
|
|
144
|
+
/** Set the number of audio frames to output. This is an obsolete alias for -frames:a , which you should use instead. */
|
|
145
|
+
aframes?: number;
|
|
146
|
+
/** As an input option, blocks all audio streams of a file from being filtered or */
|
|
147
|
+
an?: boolean;
|
|
148
|
+
/** Pad the output audio stream(s). This is the same as applying -af apad . */
|
|
149
|
+
apad?: string;
|
|
150
|
+
/** Set the audio quality (codec-specific, VBR). This is an alias for -q:a. */
|
|
151
|
+
aq?: number;
|
|
152
|
+
/** Set the audio sampling frequency. For output streams it is set by */
|
|
153
|
+
ar?: number;
|
|
154
|
+
/** Set the video display aspect ratio specified by aspect . */
|
|
155
|
+
aspect?: AspectRatio;
|
|
156
|
+
/** Force audio tag/fourcc. This is an alias for -tag:a . */
|
|
157
|
+
atag?: string;
|
|
158
|
+
/** Add an attachment to the output file. This is supported by a few formats */
|
|
159
|
+
attach?: string;
|
|
160
|
+
/** Audio bitrate (-b:a) */
|
|
161
|
+
audioBitrate?: Bitrate;
|
|
162
|
+
/** Audio codec (-c:a) */
|
|
163
|
+
audioCodec?: string;
|
|
164
|
+
/** Declare the number of bits per raw sample in the given output stream to be value . Note that this option sets the inform */
|
|
165
|
+
bitsPerRawSample?: number;
|
|
166
|
+
/** Apply bitstream filters to matching streams. The filters are applied to each */
|
|
167
|
+
bsf?: string;
|
|
168
|
+
/** Set rate control buffer size */
|
|
169
|
+
bufsize?: Bitrate;
|
|
170
|
+
/** Select an encoder (when used before an output file) or a decoder (when used */
|
|
171
|
+
c?: string;
|
|
172
|
+
/** Set the size of the canvas used to render subtitles. */
|
|
173
|
+
canvasSize?: FrameSize;
|
|
174
|
+
/** Set the audio channel layout. For output streams it is set by default to the */
|
|
175
|
+
channelLayout?: string;
|
|
176
|
+
/** Alias for -channel_layout . */
|
|
177
|
+
chLayout?: string;
|
|
178
|
+
/** Select codec for stream */
|
|
179
|
+
codec?: string;
|
|
180
|
+
/** When doing stream copy, copy also non-key frames found at the */
|
|
181
|
+
copyinkf?: boolean;
|
|
182
|
+
/** Set CRF value (codec-specific) */
|
|
183
|
+
crf?: number;
|
|
184
|
+
/** Data codec (-c:d) */
|
|
185
|
+
dataCodec?: string;
|
|
186
|
+
/** Set the number of data frames to output. This is an obsolete alias for -frames:d , which you should use instead. */
|
|
187
|
+
dframes?: number;
|
|
188
|
+
/** Sets the disposition flags for a stream. */
|
|
189
|
+
disposition?: string | string[];
|
|
190
|
+
/** As an input option, blocks all data streams of a file from being filtered or */
|
|
191
|
+
dn?: boolean;
|
|
192
|
+
/** Set the encoder timebase. timebase can assume one of the following values: */
|
|
193
|
+
encTimeBase?: Duration;
|
|
194
|
+
/** Force input or output file format. The format is normally auto detected for input */
|
|
195
|
+
f?: string;
|
|
196
|
+
/** Create the filtergraph specified by filtergraph and use it to */
|
|
197
|
+
filter?: string;
|
|
198
|
+
/** force_key_frames can take arguments of the following form: */
|
|
199
|
+
forceKeyFrames?: string;
|
|
200
|
+
/** Set maximum frame rate (Hz value, fraction or abbreviation). */
|
|
201
|
+
fpsmax?: number;
|
|
202
|
+
/** Stop writing to the stream after framecount frames. */
|
|
203
|
+
frames?: number;
|
|
204
|
+
/** Set the file size limit, expressed in bytes. No further chunk of bytes is written */
|
|
205
|
+
fs?: number;
|
|
206
|
+
/** Set codec level */
|
|
207
|
+
level?: string;
|
|
208
|
+
/** Create one or more streams in the output file. This option has two forms for */
|
|
209
|
+
map?: string | string[];
|
|
210
|
+
/** Copy chapters from input file with index input_file_index to the next */
|
|
211
|
+
mapChapters?: string | string[];
|
|
212
|
+
/** Set metadata information of the next output file from infile . Note that */
|
|
213
|
+
mapMetadata?: string | string[];
|
|
214
|
+
/** When transcoding audio and/or video streams, ffmpeg will not begin writing into */
|
|
215
|
+
maxMuxingQueueSize?: number;
|
|
216
|
+
/** Set max bitrate tolerance */
|
|
217
|
+
maxrate?: Bitrate;
|
|
218
|
+
/** Set a metadata key/value pair. */
|
|
219
|
+
metadata?: string | string[];
|
|
220
|
+
/** Set min bitrate tolerance */
|
|
221
|
+
minrate?: Bitrate;
|
|
222
|
+
/** Set mov/mp4 writing flags */
|
|
223
|
+
movflags?: string;
|
|
224
|
+
/** Set the maximum demux-decode delay. */
|
|
225
|
+
muxdelay?: Duration;
|
|
226
|
+
/** This is a minimum threshold until which the muxing queue size is not taken into */
|
|
227
|
+
muxingQueueDataThreshold?: number;
|
|
228
|
+
/** Set the initial demux-decode delay. */
|
|
229
|
+
muxpreload?: Duration;
|
|
230
|
+
/** Select the pass number (1 or 2). It is used to do two-pass */
|
|
231
|
+
pass?: number;
|
|
232
|
+
/** Set two-pass log file name prefix to prefix , the default file name */
|
|
233
|
+
passLogfile?: string;
|
|
234
|
+
/** Set pixel format. Use -pix_fmts to show all the supported */
|
|
235
|
+
pixFmt?: string;
|
|
236
|
+
/** Specify the preset for matching stream(s). */
|
|
237
|
+
pre?: string;
|
|
238
|
+
/** Set codec preset */
|
|
239
|
+
preset?: string;
|
|
240
|
+
/** Set codec profile */
|
|
241
|
+
profile?: string;
|
|
242
|
+
/** Creates a program with the specified title , program_num and adds the specified stream (s) to it. */
|
|
243
|
+
program?: string | string[];
|
|
244
|
+
/** Use fixed quality scale (VBR). The meaning of q / qscale is */
|
|
245
|
+
q?: number;
|
|
246
|
+
/** Use fixed quality scale (VBR) */
|
|
247
|
+
qscale?: number;
|
|
248
|
+
/** Set frame rate (Hz value, fraction or abbreviation). */
|
|
249
|
+
r?: Duration;
|
|
250
|
+
/** Rate control override for specific intervals, formatted as "int,int,int" */
|
|
251
|
+
rcOverride?: string;
|
|
252
|
+
/** Set frame size. */
|
|
253
|
+
s?: FrameSize;
|
|
254
|
+
/** Set the audio sample format. Use -sample_fmts to get a list */
|
|
255
|
+
sampleFmt?: string;
|
|
256
|
+
/** Set the subtitle codec. This is an alias for -codec:s . */
|
|
257
|
+
scodec?: string;
|
|
258
|
+
/** Finish encoding when the shortest output stream ends. */
|
|
259
|
+
shortest?: boolean;
|
|
260
|
+
/** The -shortest option may require buffering potentially large amounts */
|
|
261
|
+
shortestBufDuration?: Duration;
|
|
262
|
+
/** As an input option, blocks all subtitle streams of a file from being filtered or */
|
|
263
|
+
sn?: boolean;
|
|
264
|
+
/** When used as an input option (before -i ), seeks in this input file to position . Note that in most formats it is not po */
|
|
265
|
+
ss?: Duration;
|
|
266
|
+
/** Write per-frame encoding info post-encode */
|
|
267
|
+
statsEncPost?: number;
|
|
268
|
+
/** Format for stats_enc_post */
|
|
269
|
+
statsEncPostFmt?: string;
|
|
270
|
+
/** Write per-frame encoding information about the matching streams into the file */
|
|
271
|
+
statsEncPre?: number;
|
|
272
|
+
/** Specify the format for the lines written with -stats_enc_pre / -stats_enc_post / -stats_mux_pre . */
|
|
273
|
+
statsEncPreFmt?: string;
|
|
274
|
+
/** Creates a stream group of the specified type and stream_group_id , or by map ping an input group, adding the specified s */
|
|
275
|
+
streamGroup?: string | string[];
|
|
276
|
+
/** Assign a new stream-id value to an output stream. This option should be */
|
|
277
|
+
streamid?: string | string[];
|
|
278
|
+
/** Subtitle bitrate (-b:s) */
|
|
279
|
+
subtitleBitrate?: Bitrate;
|
|
280
|
+
/** Subtitle codec (-c:s) */
|
|
281
|
+
subtitleCodec?: string;
|
|
282
|
+
/** Set default flags for the libswscale library. These flags are used by */
|
|
283
|
+
swsFlags?: string;
|
|
284
|
+
/** When used as an input option (before -i ), limit the duration of */
|
|
285
|
+
t?: Duration;
|
|
286
|
+
/** Force a tag/fourcc for matching streams. */
|
|
287
|
+
tag?: string;
|
|
288
|
+
/** Specify target file type ( vcd , svcd , dvd , dv , dv50 ). type may be prefixed with pal- , ntsc- or film- to use the co */
|
|
289
|
+
target?: Target;
|
|
290
|
+
/** For input, this option sets the maximum number of queued packets when reading */
|
|
291
|
+
threadQueueSize?: number;
|
|
292
|
+
/** Set the recording timestamp in the container. */
|
|
293
|
+
timestamp?: string;
|
|
294
|
+
/** Stop writing the output or reading the input at position . position must be a time duration specification, */
|
|
295
|
+
to?: Duration;
|
|
296
|
+
/** Set codec tuning */
|
|
297
|
+
tune?: string;
|
|
298
|
+
/** Set the video codec. This is an alias for -codec:v . */
|
|
299
|
+
vcodec?: string;
|
|
300
|
+
/** Create the filtergraph specified by filtergraph and use it to */
|
|
301
|
+
vf?: string;
|
|
302
|
+
/** Set the number of video frames to output. This is an obsolete alias for -frames:v , which you should use instead. */
|
|
303
|
+
vframes?: number;
|
|
304
|
+
/** Video bitrate (-b:v) */
|
|
305
|
+
videoBitrate?: Bitrate;
|
|
306
|
+
/** Video codec (-c:v) */
|
|
307
|
+
videoCodec?: string;
|
|
308
|
+
/** As an input option, blocks all video streams of a file from being filtered or */
|
|
309
|
+
vn?: boolean;
|
|
310
|
+
/** Video quality (-q:v) */
|
|
311
|
+
vq?: number;
|
|
312
|
+
/** Dump video coding statistics to vstats_HHMMSS.log . See the vstats file format section for the format description. */
|
|
313
|
+
vstats?: string;
|
|
314
|
+
/** Dump video coding statistics to file . See the vstats file format section for the format description. */
|
|
315
|
+
vstatsFile?: string;
|
|
316
|
+
/** Specify which version of the vstats format to use. Default is 2 . See the vstats file format section for the format desc */
|
|
317
|
+
vstatsVersion?: number;
|
|
318
|
+
/** Force video tag/fourcc. This is an alias for -tag:v . */
|
|
319
|
+
vtag?: string;
|
|
320
|
+
/** Stream-specifier scoped output options, serialized as flags like -c:v:0 or -b:a. */
|
|
321
|
+
streams?: StreamOptionBag<OutputStreamOptions>;
|
|
322
|
+
/** Metadata-specifier scoped output options, serialized as flags like -metadata:s:v:0. */
|
|
323
|
+
metadataScopes?: MetadataOptionBag<OutputMetadataOptions>;
|
|
324
|
+
/** Escape hatch for raw ffmpeg flags not modeled by this interface yet. Keys must be full CLI flags, e.g. "-metadata:s:v". */
|
|
325
|
+
raw?: RawOptionBag;
|
|
326
|
+
}
|
|
327
|
+
interface GlobalOptions {
|
|
328
|
+
/** Stop and abort on various conditions. The following flags are available: */
|
|
329
|
+
abortOn?: string;
|
|
330
|
+
/** Enable automatically inserting format conversion filters in all filter */
|
|
331
|
+
autoConversionFilters?: boolean;
|
|
332
|
+
/** Automatically rotate the video according to file metadata. Enabled by */
|
|
333
|
+
autorotate?: boolean;
|
|
334
|
+
/** Automatically scale the video according to the resolution of first frame. */
|
|
335
|
+
autoscale?: boolean;
|
|
336
|
+
/** Show benchmarking information at the end of an encode. */
|
|
337
|
+
benchmark?: boolean;
|
|
338
|
+
/** Show benchmarking information during the encode. */
|
|
339
|
+
benchmarkAll?: boolean;
|
|
340
|
+
/** Override detection of CPU count. This option is intended */
|
|
341
|
+
cpucount?: number;
|
|
342
|
+
/** Allows setting and clearing cpu flags. This option is intended */
|
|
343
|
+
cpuflags?: string;
|
|
344
|
+
/** Print timestamp/latency information. It is off by default. This option is */
|
|
345
|
+
debugTs?: boolean;
|
|
346
|
+
/** Dump each input packet to stderr. */
|
|
347
|
+
dump?: boolean;
|
|
348
|
+
/** Defines the maximum number of buffered frames allowed in a filtergraph. Under */
|
|
349
|
+
filterBufferedFrames?: number;
|
|
350
|
+
/** Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or */
|
|
351
|
+
filterComplex?: string;
|
|
352
|
+
/** Defines how many threads are used to process a filter_complex graph. */
|
|
353
|
+
filterComplexThreads?: number;
|
|
354
|
+
/** Defines how many threads are used to process a filter pipeline. Each pipeline */
|
|
355
|
+
filterThreads?: number;
|
|
356
|
+
/** Fix subtitles durations. For each subtitle, wait for the next packet in the */
|
|
357
|
+
fixSubDuration?: boolean;
|
|
358
|
+
/** Frame drop threshold, which specifies how much behind video frames can */
|
|
359
|
+
frameDropThreshold?: number;
|
|
360
|
+
/** When dumping packets, also dump the payload. */
|
|
361
|
+
hex?: boolean;
|
|
362
|
+
/** Suppress printing banner. */
|
|
363
|
+
hideBanner?: boolean;
|
|
364
|
+
/** Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or */
|
|
365
|
+
lavfi?: string;
|
|
366
|
+
/** Set logging level and flags used by the library. */
|
|
367
|
+
loglevel?: LogLevel;
|
|
368
|
+
/** Set fraction of decoding frame failures across all inputs which when crossed */
|
|
369
|
+
maxErrorRate?: number;
|
|
370
|
+
/** Do not overwrite output files, and exit immediately if a specified */
|
|
371
|
+
n?: boolean;
|
|
372
|
+
/** Do not overwrite output files */
|
|
373
|
+
noOverwrite?: boolean;
|
|
374
|
+
/** Disable encoding progress/statistics */
|
|
375
|
+
noStats?: boolean;
|
|
376
|
+
/** Disable interaction on standard input */
|
|
377
|
+
noStdin?: boolean;
|
|
378
|
+
/** Overwrite output files */
|
|
379
|
+
overwrite?: boolean;
|
|
380
|
+
/** Prints execution graph details to stderr in the format set via -print_graphs_format. */
|
|
381
|
+
printGraphs?: boolean;
|
|
382
|
+
/** Writes execution graph details to the specified file in the format set via -print_graphs_format. */
|
|
383
|
+
printGraphsFile?: string;
|
|
384
|
+
/** Sets the output format (available formats are: default, compact, csv, flat, ini, json, xml, mermaid, mermaidhtml) */
|
|
385
|
+
printGraphsFormat?: string;
|
|
386
|
+
/** Send program-friendly progress information to url . */
|
|
387
|
+
progress?: string;
|
|
388
|
+
/** Allow forcing a decoder of a different media type than the one */
|
|
389
|
+
recastMedia?: boolean;
|
|
390
|
+
/** Dump full command line and log output to a file named program - YYYYMMDD - HHMMSS .log in the current */
|
|
391
|
+
report?: boolean;
|
|
392
|
+
/** Print sdp information for an output stream to file . */
|
|
393
|
+
sdpFile?: string;
|
|
394
|
+
/** Log encoding progress/statistics as "info"-level log (see -loglevel ). */
|
|
395
|
+
stats?: boolean;
|
|
396
|
+
/** Set period at which encoding progress/statistics are updated. Default is 0.5 seconds. */
|
|
397
|
+
statsPeriod?: Duration;
|
|
398
|
+
/** Enable interaction on standard input. On by default unless standard input is */
|
|
399
|
+
stdin?: boolean;
|
|
400
|
+
/** Exit after ffmpeg has been running for duration seconds in CPU user time. */
|
|
401
|
+
timelimit?: Duration;
|
|
402
|
+
/** Set video sync method / framerate mode. vsync is applied to all output video streams */
|
|
403
|
+
vsync?: Vsync;
|
|
404
|
+
/** Stop and exit on error */
|
|
405
|
+
xerror?: boolean;
|
|
406
|
+
/** Overwrite output files without asking. */
|
|
407
|
+
y?: boolean;
|
|
408
|
+
/** Escape hatch for raw ffmpeg flags not modeled by this interface yet. Keys must be full CLI flags, e.g. "-metadata:s:v". */
|
|
409
|
+
raw?: RawOptionBag;
|
|
410
|
+
}
|
|
411
|
+
interface InputStreamOptions {
|
|
412
|
+
ac?: number;
|
|
413
|
+
applyCropping?: string;
|
|
414
|
+
ar?: number;
|
|
415
|
+
bsf?: string;
|
|
416
|
+
c?: string;
|
|
417
|
+
contentLight?: string;
|
|
418
|
+
displayHflip?: boolean;
|
|
419
|
+
displayRotation?: string;
|
|
420
|
+
displayVflip?: boolean;
|
|
421
|
+
dropChanged?: boolean;
|
|
422
|
+
dumpAttachment?: string;
|
|
423
|
+
guessLayoutMax?: number;
|
|
424
|
+
hwaccel?: string;
|
|
425
|
+
hwaccelDevice?: string;
|
|
426
|
+
itsscale?: number;
|
|
427
|
+
masteringDisplay?: string;
|
|
428
|
+
pixFmt?: string;
|
|
429
|
+
r?: Duration;
|
|
430
|
+
reinitFilter?: boolean;
|
|
431
|
+
s?: FrameSize;
|
|
432
|
+
tag?: string;
|
|
433
|
+
}
|
|
434
|
+
interface OutputStreamOptions {
|
|
435
|
+
ac?: number;
|
|
436
|
+
apad?: string;
|
|
437
|
+
aq?: number;
|
|
438
|
+
ar?: number;
|
|
439
|
+
aspect?: AspectRatio;
|
|
440
|
+
audioBitrate?: Bitrate;
|
|
441
|
+
audioCodec?: string;
|
|
442
|
+
bitsPerRawSample?: number;
|
|
443
|
+
bsf?: string;
|
|
444
|
+
bufsize?: Bitrate;
|
|
445
|
+
c?: string;
|
|
446
|
+
channelLayout?: string;
|
|
447
|
+
chLayout?: string;
|
|
448
|
+
codec?: string;
|
|
449
|
+
copyinkf?: boolean;
|
|
450
|
+
crf?: number;
|
|
451
|
+
dataCodec?: string;
|
|
452
|
+
disposition?: string | string[];
|
|
453
|
+
encTimeBase?: Duration;
|
|
454
|
+
filter?: string;
|
|
455
|
+
forceKeyFrames?: string;
|
|
456
|
+
fpsmax?: number;
|
|
457
|
+
frames?: number;
|
|
458
|
+
level?: string;
|
|
459
|
+
maxMuxingQueueSize?: number;
|
|
460
|
+
maxrate?: Bitrate;
|
|
461
|
+
minrate?: Bitrate;
|
|
462
|
+
muxingQueueDataThreshold?: number;
|
|
463
|
+
pass?: number;
|
|
464
|
+
passLogfile?: string;
|
|
465
|
+
pixFmt?: string;
|
|
466
|
+
pre?: string;
|
|
467
|
+
preset?: string;
|
|
468
|
+
profile?: string;
|
|
469
|
+
q?: number;
|
|
470
|
+
qscale?: number;
|
|
471
|
+
r?: Duration;
|
|
472
|
+
rcOverride?: string;
|
|
473
|
+
s?: FrameSize;
|
|
474
|
+
sampleFmt?: string;
|
|
475
|
+
statsEncPost?: number;
|
|
476
|
+
statsEncPostFmt?: string;
|
|
477
|
+
statsEncPre?: number;
|
|
478
|
+
statsEncPreFmt?: string;
|
|
479
|
+
subtitleBitrate?: Bitrate;
|
|
480
|
+
subtitleCodec?: string;
|
|
481
|
+
tag?: string;
|
|
482
|
+
tune?: string;
|
|
483
|
+
videoBitrate?: Bitrate;
|
|
484
|
+
videoCodec?: string;
|
|
485
|
+
vq?: number;
|
|
486
|
+
}
|
|
487
|
+
interface OutputMetadataOptions {
|
|
488
|
+
mapMetadata?: string | string[];
|
|
489
|
+
metadata?: string | string[];
|
|
490
|
+
}
|
|
491
|
+
//#endregion
|
|
492
|
+
export { AspectRatio, Bitrate, Duration, FrameSize, GlobalOptions, InputOptions, InputStreamOptions, LogLevel, MetadataOptionBag, MetadataSpecifier, OutputMetadataOptions, OutputOptions, OutputStreamOptions, RawOptionBag, SerializedOptionScalar, SerializedOptionValue, StreamOptionBag, StreamSpecifier, StreamType, Target, Vsync };
|
|
493
|
+
//# sourceMappingURL=options.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.mts","names":[],"sources":["../../src/generated/options.ts"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/generated/serialize.d.ts
|
|
2
|
+
declare const generatedInputDefs: Record<string, {
|
|
3
|
+
flag: string;
|
|
4
|
+
isFlag: boolean;
|
|
5
|
+
isArray: boolean;
|
|
6
|
+
}>;
|
|
7
|
+
declare const generatedOutputDefs: Record<string, {
|
|
8
|
+
flag: string;
|
|
9
|
+
isFlag: boolean;
|
|
10
|
+
isArray: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
declare const generatedGlobalDefs: Record<string, {
|
|
13
|
+
flag: string;
|
|
14
|
+
isFlag: boolean;
|
|
15
|
+
isArray: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
declare const generatedInputStreamDefs: Record<string, {
|
|
18
|
+
flag: string;
|
|
19
|
+
isFlag: boolean;
|
|
20
|
+
isArray: boolean;
|
|
21
|
+
}>;
|
|
22
|
+
declare const generatedOutputStreamDefs: Record<string, {
|
|
23
|
+
flag: string;
|
|
24
|
+
isFlag: boolean;
|
|
25
|
+
isArray: boolean;
|
|
26
|
+
}>;
|
|
27
|
+
declare const generatedOutputMetadataDefs: Record<string, {
|
|
28
|
+
flag: string;
|
|
29
|
+
isFlag: boolean;
|
|
30
|
+
isArray: boolean;
|
|
31
|
+
}>;
|
|
32
|
+
//#endregion
|
|
33
|
+
export { generatedGlobalDefs, generatedInputDefs, generatedInputStreamDefs, generatedOutputDefs, generatedOutputMetadataDefs, generatedOutputStreamDefs };
|
|
34
|
+
//# sourceMappingURL=serialize.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.d.mts","names":[],"sources":["../../src/generated/serialize.ts"],"mappings":";cAQa,kBAAA,EAAoB,MAAM;EAEnC,IAAA;EAAc,MAAA;EAAiB,OAAA;AAAA;AAAA,cA6DtB,mBAAA,EAAqB,MAAM;EAEpC,IAAA;EAAc,MAAA;EAAiB,OAAA;AAAA;AAAA,cA+FtB,mBAAA,EAAqB,MAAM;EAEpC,IAAA;EAAc,MAAA;EAAiB,OAAA;AAAA;AAAA,cA4CtB,wBAAA,EAA0B,MAAM;EAEzC,IAAA;EAAc,MAAA;EAAiB,OAAA;AAAA;AAAA,cAyBtB,yBAAA,EAA2B,MAAM;EAE1C,IAAA;EAAc,MAAA;EAAiB,OAAA;AAAA;AAAA,cAuDtB,2BAAA,EAA6B,MAAM;EAE5C,IAAA;EAAc,MAAA;EAAiB,OAAA;AAAA"}
|