FFMPEG-DEVICES(1) FFMPEG-DEVICES(1) (NAME) ffmpeg-devices - FFmpeg (DESCRIPTION) libavdevice . (DEVICE OPTIONS) libavdevice libavformat . (demuxer) (muxer) libavformat ( ffmpeg-formats ). (private options) . -option value FFmpeg "AVFormatContext" libavutil/opt.h . (INPUT DEVICES) FFmpeg . FFmpeg . "--list-indevs" . "--disable-indevs" "--enable-indev=INDEV" "--disable-indev=INDEV" . -devices *ff . . alsa ALSA ( - Advanced Linux Sound Architecture). libasound . ALSA . ALSA . ALSA : hw:[,[,]] DEV SUBDEV . ( : CARD,DEV,SUBDEV) ( - ). /proc/asound/cards /proc/asound/devices . ffmpeg ALSA 0 : ffmpeg -f alsa -i hw:0 alsaout.wav : (Options) sample_rate (sample rate) . 48000 . channels . 2 . android_camera (Android camera). Camera2 NDK API API (API level 24+) . android_camera . Camera2 NDK API . camera_index . . 0 1 . (Options) video_size 640x480 hd720 . . framerate (framerate) . (-) . camera_index . 0 . input_queue_size . 5 . avfoundation AVFoundation. AVFoundation OSX >= 10.7 iOS . : -i "[[VIDEO]:[AUDIO]]" . () . / B<-video_device_index EINDEXE> / B<-audio_device_index EINDEXE> (override) . -list_devices true . (alias) : "default" AVFoundation . "none" . . (Options) AVFoundation : -list_devices true . -video_device_index . . -audio_device_index . . -pixel_format . . : "monob, rgb555be, rgb555le, rgb565be, rgb565le, rgb24, bgr24, 0rgb, bgr0, 0bgr, rgb0, bgr48be, uyvy422, yuva444p, yuva444p16le, yuv444p, yuv422p16, yuv422p10, yuv444p10, yuv420p, nv12, yuyv422, gray" -framerate . "ntsc" "30000/1001" . -video_size . -capture_cursor . 0 . -capture_mouse_clicks . 0 . -capture_raw_data . 0 . AVFoundation . (muxed) DV ( ) false . true DV . (Examples) o AVFoundation : $ ffmpeg -f avfoundation -list_devices true -i "" o 0 0 out.avi: $ ffmpeg -f avfoundation -i "0:0" out.avi o 2 1 out.avi: $ ffmpeg -f avfoundation -video_device_index 2 -i ":1" out.avi o bgr0 out.avi: $ ffmpeg -f avfoundation -pixel_format bgr0 -i "default:none" out.avi o DV out.dv: $ ffmpeg -f avfoundation -capture_raw_data true -i "zr100:none" out.dv decklink decklink Blackmagic DeckLink . Blackmagic DeckLink SDK "--extra-cflags" "--extra-ldflags" . IDL widl . DeckLink . raw_format . -list_formats 1 . (48 kHz) . . (Options) list_devices true . false . "-sources" ffmpeg . list_formats true . false . format_code FourCC . () list_formats . FourCC 'pal ' pal ( ) . . raw_format . : auto 8-bit YUV 422 8-bit ARGB 8-bit YUV 422 . uyvy422 8-bit YUV 422. yuv422p10 10-bit YUV 422. argb 8-bit RGB. bgra 8-bit RGB. rgb10 10-bit RGB. teletext_lines . SD PAL (576i) HD (1080i 1080p) . HD OP47 . (bitmask) SD PAL VBI . (LSB) . . all standard . SD ffmpeg "--enable-libzvbi" . HD DeckLink ( 4K) . channels . 2 8 16 . 2 . duplex_mode / (duplex/profile) decklink . unset half full one_sub_device_full one_sub_device_half two_sub_device_full four_sub_device_half . unset . : DeckLink SDK 11.0 duplex profile . DeckLink Duo 2 DeckLink Quad 2 (sub-device) . DeckLink 8K Pro DeckLink 8K Pro . DeckLink 8K Pro ( DeckLink SDK >= 11.0): one_sub_device_full, one_sub_device_half, two_sub_device_full, four_sub_device_half DeckLink Quad 2 DeckLink Duo 2: half, full timecode_format (timecode) . none rp188vitc rp188vitc2 rp188ltc rp188hfr rp188any vitc vitc2 serial . none ( ) . 50/60 rp188any HFR VITC1 VITC2 LTC . API ( HFR VITC1 LTC VITC2) . video_input . unset sdi hdmi optical_sdi component composite s_video . unset . audio_input . unset embedded aes_ebu analog analog_xlr analog_rca microphone . unset . video_pts (timestamp) . video audio reference wallclock abs_wallclock . video . audio_pts (timestamp) . video audio reference wallclock abs_wallclock . audio . draw_bars true (color bars) . true . "signal_loss_action" . signal_loss_action . : 1, none . . 2, bars . . 3, repeat . bars . queue_size . (drop) . 1073741824 . audio_depth . 16 32 . 16 . decklink_copyts true . false . timestamp_align . . . N <> . NTP PTP . . (thread scheduling jitters) timestamp_align . 0 . wait_for_tc (bool) (timecode) . . . true . timecode_format . false . enable_klv(bool) true KLV VANC KLV . KLV VANC MID PSC KLV . false . (Examples) o : ffmpeg -sources decklink o : ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro' o 1080i50: ffmpeg -format_code Hi50 -f decklink -i 'Intensity Pro' -c:a copy -c:v copy output.avi o 1080i50 10 : ffmpeg -raw_format yuv422p10 -format_code Hi50 -f decklink -i 'UltraStudio Mini Recorder' -c:a copy -c:v copy output.avi o 1080i50 : ffmpeg -channels 16 -format_code Hi50 -f decklink -i 'UltraStudio Mini Recorder' -c:a copy -c:v copy output.avi dshow DirectShow . DirectShow FFmpeg mingw-w64 () . . () . : =[:=] TYPE audio video NAME . (Options) . . video_size () . framerate . sample_rate ( ) . sample_size ( ) . channels . list_devices true . list_options true . video_device_number ( 0 0 ). audio_device_number ( 0 0 ). pixel_format (pixel format) DirectShow. rawvideo . audio_buffer_size ( ). ( ). . : video_pin_name . audio_pin_name . crossbar_video_input_pin_number (crossbar). . ( ) . crossbar_audio_input_pin_number (crossbar). . ( ) . show_video_device_dialog true . PAL ( ) NTSC ( ) () . / . ( ). show_audio_device_dialog true . show_video_crossbar_connection_dialog true . show_audio_crossbar_connection_dialog true . show_analog_tv_tuner_dialog true . show_analog_tv_tuner_audio_dialog true ( A B C) . audio_device_load . . (fake). audio_device_save ( ) . . video_device_load . . (fake). video_device_save ( ) . . use_video_device_timestamps false (wallclock) . . (Examples) o DirectShow : $ ffmpeg -list_devices true -f dshow -i dummy o Camera: $ ffmpeg -f dshow -i video="Camera" o Camera: $ ffmpeg -f dshow -video_device_number 1 -i video="Camera" o Camera Microphone: $ ffmpeg -f dshow -i video="Camera":audio="Microphone" o : $ ffmpeg -list_options true -f dshow -i video="Camera" o : $ ffmpeg -f dshow -audio_pin_name "Audio Out" -video_pin_name 2 -i video=video="@device_pnp_\\?\pci#ven_1a0a&dev_6200&subsys_62021461&rev_01#4&e2c7dd6&0&00e1#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{ca465100-deb0-4d59-818f-8c477184adf6}":audio="Microphone" o : $ ffmpeg -f dshow -show_video_device_dialog true -crossbar_video_input_pin_number 0 -crossbar_audio_input_pin_number 3 -i video="AVerMedia BDA Analog Capture":audio="AVerMedia BDA Analog Capture" fbdev (Linux framebuffer). (Linux framebuffer) . /dev/fb0 . Documentation/fb/framebuffer.txt . : fbset(1). /dev/fb0 ffmpeg: ffmpeg -f fbdev -framerate 10 -i /dev/fb0 out.avi () : ffmpeg -f fbdev -framerate 1 -i /dev/fb0 -frames:v 1 screenshot.jpeg (Options) framerate . 25 . gdigrab Win32 GDI. . : desktop title= hwnd= (desktop) . . ffmpeg: ffmpeg -f gdigrab -framerate 6 -i desktop out.mpg 640x480 "10,20": ffmpeg -f gdigrab -framerate 6 -offset_x 10 -offset_y 20 -video_size vga -i desktop out.mpg "Calculator": ffmpeg -f gdigrab -framerate 6 -i title=Calculator out.mpg (Options) draw_mouse (). 0 . 1 . framerate . "ntsc" "30000/1001" . show_region . show_region 1 . . show_region . : ffmpeg -f gdigrab -show_region 1 -framerate 6 -video_size cif -offset_x 10 -offset_y 20 -i desktop out.mpg video_size . desktop title=window_title . offset_x video_size . (primary monitor) . offset_x . offset_y video_size . . offset_y . iec61883 FireWire DV/HDV libiec61883. libiec61883 libraw1394 libavc1394 . "--enable-libiec61883" . iec61883 IEEE1394 (FireWire) libiec61883 FireWire (juju) . 2.6.37 ( FireWire) DV/HDV . FireWire "auto" . (Options) dvtype DV/HDV. . DV HDV ( ) . auto dv hdv . dvbuffer . DV . HDV HDV . dvguid (GUID) . GUID . . GUID /sys/bus/firewire/devices . (Examples) o FireWire DV/HDV: ffplay -f iec61883 -i auto o FireWire DV/HDV HDV : ffmpeg -f iec61883 -i auto -dvbuffer 100000 out.mpg jack JACK. libjack . JACK (writable) JACK ( ) client_name:input_N client_name N . FFmpeg . (readable) JACK JACK . JACK jack_connect jack_disconnect qjackctl . JACK jack_lsp . JACK ffmpeg : # Create a JACK writable client with name "ffmpeg". $ ffmpeg -f jack -i ffmpeg -y out.wav # Start the sample jack_metro readable client. $ jack_metro -b 120 -d 0.2 -f 4000 # List the current JACK clients. $ jack_lsp -c system:capture_1 system:capture_2 system:playback_1 system:playback_2 ffmpeg:input_1 metro:120_bpm # Connect metro to the ffmpeg writable client. $ jack_connect metro:120_bpm ffmpeg:input_1 : (Options) channels . 2 . kmsgrab KMS. (scanout framebuffer) CRTC (plane) KMS DRM . DRM master CAP_SYS_ADMIN . . x11grab . (Options) device DRM . /dev/dri/card0 . format (pixel format) . 5.7 . bgr0 Xorg X . format_modifier (format modifier) . API . 5.7 . libdrm . crtc_id KMS CRTC . (plane) CRTC . plane_id KMS plane . crtc_id plane_id . framerate . (page flipping) - . . 30 . (Examples) o . (linear) (mappable) - : ffmpeg -f kmsgrab -i - -vf 'hwdownload,format=bgr0' output.mp4 o CRTC 42 60 VAAPI NV12 H.264: ffmpeg -crtc_id 42 -framerate 60 -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,scale_vaapi=w=1920:h=1080:format=nv12' -c:v h264_vaapi output.mp4 o (crop) - . 1920x1080: ffmpeg -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,crop=960:540:480:270,scale_vaapi=960:540:nv12' -c:v h264_vaapi output.mp4 lavfi Libavfilter. (open output pads) (filtergraph) libavfilter . . graph . (Options) graph . "outN" N 0 . "out0" . "+subcc" (closed captions) ( EIA-608 / CEA-708). subcc . "out19+subcc" "out7+subcc" "out42" . . graph_file . graph . dumpgraph (stderr). (Examples) o ffplay: ffplay -f lavfi -graph "color=c=pink [out0]" dummy o "out0": ffplay -f lavfi color=c=pink o : ffplay -f lavfi -graph "testsrc [out0]; testsrc,hflip [out1]; testsrc,negate [out2]" test3 o amovie ffplay: ffplay -f lavfi "amovie=test.wav" o ffplay: ffplay -f lavfi "movie=test.avi[out0];amovie=test.wav[out1]" o RCWT: ffmpeg -f lavfi -i "movie=test.ts[out0+subcc]" -map v frame%08d.png -map s -c copy -f rcwt subcc.bin libcdio Audio-CD libcdio. libcdio . "--enable-libcdio" . (Audio-CD) . Audio-CD /dev/sr0 ffmpeg : ffmpeg -f libcdio -i /dev/sr0 cd.wav (Options) speed . 0 . CD-ROM . "cdio_cddap_speed_set" libcdio . CD-ROM . paranoia_mode (paranoia recovery mode). : disable verify overlap neverskip full disable . paranoia . libdc1394 IIDC1394 libdc1394 libraw1394. "--enable-libdc1394" . (Options) framerate . "ntsc" "30000/1001" . pixel_format . "uyvy422" . video_size "640x480" "hd720" . "qvga" . openal OpenAL OpenAL 1.1 . (headers) OpenAL FFmpeg "--enable-openal" . OpenAL OpenAL ( SDK) . "--extra-cflags" "--extra-ldflags" OpenAL . OpenAL : Creative . : . OpenAL Soft (LGPL). (backends) BSD . : . Apple Core Audio Mac OS X . : . OpenAL . . . list_devices . (Options) channels . 1 () 2 () . 2 . sample_size ( ) . 8 16 . 16 . sample_rate ( ) . 44.1k . list_devices true . false . (Examples) OpenAL : $ ffmpeg -list_devices true -f openal -i dummy out.ogg OpenAL DR-BT101 via PulseAudio: $ ffmpeg -f openal -i 'DR-BT101 via PulseAudio' out.ogg ( '' ): $ ffmpeg -f openal -i '' out.ogg ffmpeg : $ ffmpeg -f openal -i 'DR-BT101 via PulseAudio' out1.ogg -f openal -i 'ALSA Default' out2.ogg : OpenAL - OpenAL Soft . oss (Open Sound System). (device node) OSS /dev/dsp . /dev/dsp ffmpeg : ffmpeg -f oss -i /dev/dsp /tmp/oss.wav OSS : (Options) sample_rate . 48000 . channels . 2 . pulse PulseAudio. FFmpeg "--enable-libpulse" . (source device) "default" . PulseAudio pactl list sources . PulseAudio . (Options) server PulseAudio IP . . name PulseAudio "LIBAVFORMAT_IDENT" . stream_name PulseAudio "record" . sample_rate 48kHz . channels 2 () . frame_size . fragment_size PulseAudio (latency) . . wallclock PTS . 1 . (Examples) : ffmpeg -f pulse -i default /tmp/pulse.wav sndio sndio. libsndio . sndio /dev/audio0 . /dev/audio0 ffmpeg : ffmpeg -f sndio -i /dev/audio0 /tmp/oss.wav (Options) sample_rate . 48000 . channels . 2 . video4linux2, v4l2 Video4Linux2. "v4l2" "video4linux2" . FFmpeg v4l-utils ( "--enable-libv4l2") "-use_libv4l2" . ( USB) /dev/videoN N . Video4Linux2 x . -list_formats all Video4Linux2 . (TV cards) . -list_standards all . (time base) . ( - Unix Epoch) (monotonic clock NTP ) . -timestamps abs -ts abs . video4linux2 ffmpeg ffplay: o video4linux2: ffplay -f video4linux2 -list_formats all /dev/video0 o video4linux2: ffplay -f video4linux2 -framerate 30 -video_size hd720 /dev/video0 o video4linux2 : ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 out.mpeg Video4Linux . (Options) standard . . list_standards . channel . -1 . video_size . WIDTHxHEIGHT . pixel_format ( ). input_format ( ) . . framerate . list_formats ( ) . : all ( ). raw (). compressed . list_standards . : all . timestamps, ts . : default . abs ( - wall clock). mono2abs (monotonic) . "default" . use_libv4l2 libv4l2 (v4l-utils). 0 . vfwcap VfW (Video for Windows). 0 9 . "list" . 0 . (Options) video_size . framerate . "ntsc" "30000/1001" . x11grab X11. libxcb . . X11 . : []:.[+,] hostname:display_number.screen_number X11 . hostname "localhost" . DISPLAY . x_offset y_offset () - X11 . 0 . X11 ( man X) . xdpyinfo X11 ( "name" "dimensions"). :0.0 ffmpeg: ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0 out.mpg "10,20": ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg (Options) select_region . 1 (drag) . . . video_size grab_x grab_y (override) . 0 . draw_mouse . 0 . 1 . follow_mouse . "centered" PIXELS . "centered" PIXELS ( ) . : ffmpeg -f x11grab -follow_mouse centered -framerate 25 -video_size cif -i :0.0 out.mpg : ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i :0.0 out.mpg framerate . "ntsc" "30000/1001" . show_region . show_region 1 . . region_border -show_region 1. ( x11grab XCB). : ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg follow_mouse: ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg window_id . 0 ( - root window) . xwininfo ( -tree -root) . . ( ) ( ). follow_mouse select_region . video_size . . grab_x grab_y . () - X11 x_offset y_offset . 0 . (OUTPUT DEVICES) FFmpeg ( ). FFmpeg . "--list-outdevs" . "--disable-outdevs" "--enable-outdev=OUTDEV" "--disable-outdev=OUTDEV" . "-devices" *ff . . alsa ALSA ( - Advanced Linux Sound Architecture). o ALSA: ffmpeg -i INPUT -f alsa default o : ffmpeg -i INPUT -f alsa hw:1,7 AudioToolbox AudioToolbox. CoreAudio OSX . ( "-") : "-list_devices true" . B<-audio_device_index EINDEXE> . -list_devices true UID . AudioToolbox : -audio_device_index . . o : $ ffmpeg -f lavfi -i sine=r=44100 -f audiotoolbox -list_devices true - o : $ ffmpeg -f lavfi -i sine=r=44100 -f audiotoolbox -audio_device_index 2 - caca CACA. CACA . CACA . FFmpeg "--enable-libcaca" . libcaca . libcaca : window_title CACA . window_size CACA widthxheight . . driver . algorithm (dithering) . . "-list_dither algorithms" . antialias (antialias) . . "-list_dither antialiases" . charset . "-list_dither charsets" . color . "-list_dither colors" . list_drivers true . list_dither . "algorithms" "antialiases" "charsets" "colors" . o ffmpeg CACA 80x25 : ffmpeg -i INPUT -c:v rawvideo -pix_fmt rgb24 -window_size 80x25 -f caca - o : ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_drivers true - o : ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_dither colors - decklink decklink Blackmagic DeckLink . SDK DeckLink "--extra-cflags" "--extra-ldflags" . IDL widl . DeckLink . uyvy422 -list_formats 1 . . list_devices true . false . "-sinks" ffmpeg . list_formats true . false . preroll . 0.5 . duplex_mode / (duplex/profile) decklink . unset half full one_sub_device_full one_sub_device_half two_sub_device_full four_sub_device_half . unset . : DeckLink SDK 11.0 duplex profile . DeckLink Duo 2 DeckLink Quad 2 . DeckLink 8K Pro DeckLink 8K Pro . DeckLink 8K Pro ( DeckLink SDK >= 11.0): one_sub_device_full one_sub_device_half two_sub_device_full four_sub_device_half DeckLink Quad 2 DeckLink Duo 2: half full timing_offset genlock . unset . link SDI . unset (single link SDI) (dual link SDI) (quad link SDI) . unset . sqd Square Division Quad Split Quad-link SDI . unset true false . unset . level_a SMPTE Level A . unset true false . unset . vanc_queue_size VANC . VANC . 1048576 . o : ffmpeg -sinks decklink o : ffmpeg -i test.avi -f decklink -list_formats 1 'DeckLink Mini Monitor' o : ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 'DeckLink Mini Monitor' o : ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 -s 720x486 -r 24000/1001 'DeckLink Mini Monitor' fbdev (Linux framebuffer). . /dev/fb0 . Documentation/fb/framebuffer.txt . xoffset yoffset x/y . 0 . /dev/fb0. . ffmpeg -re -i INPUT -c:v rawvideo -pix_fmt bgra -f fbdev /dev/fb0 : fbset(1). oss OSS ( - Open Sound System). pulse PulseAudio. FFmpeg "--enable-libpulse" . PulseAudio . server PulseAudio IP . . name PulseAudio "LIBAVFORMAT_IDENT" . stream_name PulseAudio . device . . pactl list sinks . buffer_size buffer_duration PulseAudio . . buffer_size buffer_duration . ( ). 0 ( ) PulseAudio . PulseAudio . prebuf (pre-buffering) . prebuf . buffer_size buffer_duration ( ) . minreq . minreq . . : ffmpeg -i INPUT -f pulse "stream name" sndio sndio. v4l2 Video4Linux2. xv XV (XVideo). (X Window System) . display_name . DISPLAY hostname[:number[.screen_number]] . hostname . number . screen_number . DISPLAY . "dual-headed:0.1" ``dual-headed'' . X11 . window_id window_id . . window_size widthxheight . . window_id . window_x window_y X Y . 0 . . window_id . window_title . window_id . XVideo . o ffmpeg : ffmpeg -i INPUT OUTPUT -f xv display o X11: ffmpeg -i INPUT -f xv normal -vf negate -f xv negated (SEE ALSO) ffmpeg(1) ffplay(1) ffprobe(1) libavdevice(3) (AUTHORS) FFmpeg. (https://git.ffmpeg.org/ffmpeg) git log FFmpeg . MAINTAINERS . FFMPEG-DEVICES(1)