node-av 6.0.0-beta.3 → 6.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/bitstream-filter.d.ts +101 -83
- package/dist/api/bitstream-filter.js +157 -100
- package/dist/api/bitstream-filter.js.map +1 -1
- package/dist/api/demuxer.d.ts +12 -12
- package/dist/api/demuxer.js.map +1 -1
- package/dist/api/muxer.d.ts +11 -8
- package/dist/api/muxer.js +27 -0
- package/dist/api/muxer.js.map +1 -1
- package/dist/api/pipeline.js +6 -6
- package/dist/api/pipeline.js.map +1 -1
- package/dist/constants/bsf-options.d.ts +7 -0
- package/dist/constants/format-options.d.ts +511 -10
- 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 +3 -2
- package/package.json +11 -10
|
@@ -300,6 +300,16 @@ export interface MuxerPrivateOptionsMap {
|
|
|
300
300
|
/** Loopend position in milliseconds. */
|
|
301
301
|
loopend?: number | (string & {});
|
|
302
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
|
+
};
|
|
303
313
|
/**
|
|
304
314
|
* AVI (Audio Video Interleaved)
|
|
305
315
|
* @see https://ffmpeg.org/ffmpeg-formats.html#avi
|
|
@@ -322,6 +332,30 @@ export interface MuxerPrivateOptionsMap {
|
|
|
322
332
|
/** Number of times to loop animated AVIF: 0 - infinite loop */
|
|
323
333
|
loop?: number | (string & {});
|
|
324
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
|
+
};
|
|
325
359
|
/**
|
|
326
360
|
* Chromaprint
|
|
327
361
|
* @see https://ffmpeg.org/ffmpeg-formats.html#chromaprint
|
|
@@ -412,6 +446,30 @@ export interface MuxerPrivateOptionsMap {
|
|
|
412
446
|
/** Write producer reference time element */
|
|
413
447
|
write_prft?: boolean | (string & {});
|
|
414
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
|
+
};
|
|
415
473
|
/**
|
|
416
474
|
* MPEG-2 PS (DVD VOB)
|
|
417
475
|
* @see https://ffmpeg.org/ffmpeg-formats.html#dvd
|
|
@@ -478,6 +536,16 @@ export interface MuxerPrivateOptionsMap {
|
|
|
478
536
|
/** force or disable writing tmcd */
|
|
479
537
|
write_tmcd?: boolean | (string & {});
|
|
480
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
|
+
};
|
|
481
549
|
/**
|
|
482
550
|
* FIFO queue pseudo-muxer
|
|
483
551
|
* @see https://ffmpeg.org/ffmpeg-formats.html#fifo
|
|
@@ -1202,6 +1270,28 @@ export interface MuxerPrivateOptionsMap {
|
|
|
1202
1270
|
/** force or disable writing tmcd */
|
|
1203
1271
|
write_tmcd?: boolean | (string & {});
|
|
1204
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
|
+
};
|
|
1205
1295
|
/**
|
|
1206
1296
|
* RTP output
|
|
1207
1297
|
* @see https://ffmpeg.org/ffmpeg-formats.html#rtp
|
|
@@ -1616,6 +1706,24 @@ export interface MuxerPrivateOptionsMap {
|
|
|
1616
1706
|
/** The optional private key file path for DTLS */
|
|
1617
1707
|
key_file?: string | number;
|
|
1618
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
|
+
};
|
|
1619
1727
|
}
|
|
1620
1728
|
export interface DemuxerPrivateOptionsMap {
|
|
1621
1729
|
/**
|
|
@@ -1708,6 +1816,29 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
1708
1816
|
/** Fixed key used for handling Audible AA files */
|
|
1709
1817
|
aa_fixed_key?: string | number;
|
|
1710
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
|
+
};
|
|
1711
1842
|
/**
|
|
1712
1843
|
* Animated Portable Network Graphics
|
|
1713
1844
|
* @see https://ffmpeg.org/ffmpeg-formats.html#apng
|
|
@@ -1767,6 +1898,42 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
1767
1898
|
av1: {
|
|
1768
1899
|
framerate?: string | number;
|
|
1769
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
|
+
};
|
|
1770
1937
|
/**
|
|
1771
1938
|
* AVI (Audio Video Interleaved)
|
|
1772
1939
|
* @see https://ffmpeg.org/ffmpeg-formats.html#avi
|
|
@@ -1840,6 +2007,52 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
1840
2007
|
data: {
|
|
1841
2008
|
raw_packet_size?: number | (string & {});
|
|
1842
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
|
+
};
|
|
1843
2056
|
/**
|
|
1844
2057
|
* raw DFPWM1a
|
|
1845
2058
|
* @see https://ffmpeg.org/ffmpeg-formats.html#dfpwm
|
|
@@ -1848,6 +2061,64 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
1848
2061
|
sample_rate?: number | (string & {});
|
|
1849
2062
|
ch_layout?: string | number;
|
|
1850
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
|
+
};
|
|
1851
2122
|
/**
|
|
1852
2123
|
* DVD-Video
|
|
1853
2124
|
* @see https://ffmpeg.org/ffmpeg-formats.html#dvdvideo
|
|
@@ -1893,6 +2164,13 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
1893
2164
|
evc: {
|
|
1894
2165
|
framerate?: string | number;
|
|
1895
2166
|
};
|
|
2167
|
+
/**
|
|
2168
|
+
* Linux framebuffer
|
|
2169
|
+
* @see https://ffmpeg.org/ffmpeg-formats.html#fbdev
|
|
2170
|
+
*/
|
|
2171
|
+
fbdev: {
|
|
2172
|
+
framerate?: string | number;
|
|
2173
|
+
};
|
|
1896
2174
|
/**
|
|
1897
2175
|
* Flexible Image Transport System
|
|
1898
2176
|
* @see https://ffmpeg.org/ffmpeg-formats.html#fits
|
|
@@ -1938,6 +2216,24 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
1938
2216
|
g729: {
|
|
1939
2217
|
bit_rate?: number | (string & {});
|
|
1940
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
|
+
};
|
|
1941
2237
|
/**
|
|
1942
2238
|
* CompuServe Graphics Interchange Format (GIF)
|
|
1943
2239
|
* @see https://ffmpeg.org/ffmpeg-formats.html#gif
|
|
@@ -2001,6 +2297,18 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
2001
2297
|
/** Maximum number of times to reload a segment on error. */
|
|
2002
2298
|
seg_max_retry?: number | (string & {});
|
|
2003
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
|
+
};
|
|
2004
2312
|
/**
|
|
2005
2313
|
* image2 sequence
|
|
2006
2314
|
* @see https://ffmpeg.org/ffmpeg-formats.html#image2
|
|
@@ -2049,6 +2357,32 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
2049
2357
|
/** Comma-separated paths to ASSETMAP files. */
|
|
2050
2358
|
assetmaps?: string | number;
|
|
2051
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
|
+
};
|
|
2052
2386
|
/**
|
|
2053
2387
|
* KUX (YouKu)
|
|
2054
2388
|
* @see https://ffmpeg.org/ffmpeg-formats.html#kux
|
|
@@ -2061,6 +2395,37 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
2061
2395
|
/** Ignore the Size of previous tag */
|
|
2062
2396
|
flv_ignore_prevtag?: boolean | (string & {});
|
|
2063
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
|
+
};
|
|
2064
2429
|
/**
|
|
2065
2430
|
* Game Music Emu demuxer
|
|
2066
2431
|
* @see https://ffmpeg.org/ffmpeg-formats.html#libgme
|
|
@@ -2380,6 +2745,50 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
2380
2745
|
obu: {
|
|
2381
2746
|
framerate?: string | number;
|
|
2382
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
|
+
};
|
|
2383
2792
|
/**
|
|
2384
2793
|
* raw video
|
|
2385
2794
|
* @see https://ffmpeg.org/ffmpeg-formats.html#rawvideo
|
|
@@ -2459,6 +2868,14 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
2459
2868
|
sample_rate?: number | (string & {});
|
|
2460
2869
|
ch_layout?: string | number;
|
|
2461
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
|
+
};
|
|
2462
2879
|
/**
|
|
2463
2880
|
* TED Talks captions
|
|
2464
2881
|
* @see https://ffmpeg.org/ffmpeg-formats.html#tedcaptions
|
|
@@ -2477,6 +2894,34 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
2477
2894
|
video_size?: string | number;
|
|
2478
2895
|
framerate?: string | number;
|
|
2479
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
|
+
};
|
|
2480
2925
|
/**
|
|
2481
2926
|
* VapourSynth demuxer
|
|
2482
2927
|
* @see https://ffmpeg.org/ffmpeg-formats.html#vapoursynth
|
|
@@ -2485,6 +2930,43 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
2485
2930
|
/** set max file size supported (in bytes) */
|
|
2486
2931
|
max_script_size?: number | (string & {});
|
|
2487
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
|
+
};
|
|
2488
2970
|
/**
|
|
2489
2971
|
* VobSub subtitle format
|
|
2490
2972
|
* @see https://ffmpeg.org/ffmpeg-formats.html#vobsub
|
|
@@ -2537,19 +3019,38 @@ export interface DemuxerPrivateOptionsMap {
|
|
|
2537
3019
|
/** Set kind of WebVTT track */
|
|
2538
3020
|
kind?: 'subtitles' | 'captions' | 'descriptions' | 'metadata' | (string & {}) | number;
|
|
2539
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
|
+
};
|
|
2540
3051
|
}
|
|
2541
3052
|
/**
|
|
2542
3053
|
* Loose option bag for formats without generated typings, or for protocol/codec
|
|
2543
3054
|
* options that flow through the same dictionary (e.g. `rtsp_transport`).
|
|
2544
3055
|
*/
|
|
2545
3056
|
export type UnknownFormatOptions = Record<string, string | number | boolean | bigint | undefined | null>;
|
|
2546
|
-
/**
|
|
2547
|
-
* Options for a muxer: generic AVFormatContext options + the format's private
|
|
2548
|
-
* options (when the format name is known) + an open bag for protocol/other keys.
|
|
2549
|
-
*/
|
|
2550
|
-
export type MuxerOptionsFor<F> = FormatContextOptions & (F extends keyof MuxerPrivateOptionsMap ? MuxerPrivateOptionsMap[F] : {}) & UnknownFormatOptions;
|
|
2551
|
-
/**
|
|
2552
|
-
* Options for a demuxer: generic AVFormatContext options + the format's private
|
|
2553
|
-
* options (when the format name is known) + an open bag for protocol/other keys.
|
|
2554
|
-
*/
|
|
2555
|
-
export type DemuxerOptionsFor<F> = FormatContextOptions & (F extends keyof DemuxerPrivateOptionsMap ? DemuxerPrivateOptionsMap[F] : {}) & UnknownFormatOptions;
|