Skip to content

Direct FFmpeg Capture

Harry Munday edited this page Mar 21, 2024 · 1 revision

Direct FFmpeg Capture

This guide is for baseband capture i.g YUV/RGB video streams from capture capture cards and also audio streams.

Windows

FFmpeg Wiki Doc

Windows

List Devices With:

ffmpeg -list_devices true -f dshow -i dummy

The capture card I am using in this example is the Magewell USB HDMI is the called USB Capture HDMI

[dshow @ 000001eb780baf00] "USB Capture HDMI" (video)
[dshow @ 000001eb780baf00]   Alternative name "@device_pnp_\\?\usb#vid_2935&pid_0006&mi_00#8&3027539&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 000001eb780baf00] "OBS Virtual Camera" (none)
[dshow @ 000001eb780baf00]   Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{A3FCE0F5-3493-419F-958A-ABA1250EC20B}"
[dshow @ 000001eb780baf00] "VoiceMeeter Aux Output (VB-Audio VoiceMeeter AUX VAIO)" (audio)
[dshow @ 000001eb780baf00]   Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{024F58BD-C3C7-401F-B905-455306BF3F33}"
[dshow @ 000001eb780baf00] "IN 3-4 (2- BEHRINGER UMC 404HD 192k)" (audio)
[dshow @ 000001eb780baf00]   Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{0881BEEB-1C3E-4C22-997E-C1A757D757DF}"

List Options Avalible For said device (this is a short list example)

ffmpeg -f dshow -list_options true -i video="USB Capture HDMI"

[dshow @ 000001f4928caf00]   pixel_format=yuyv422  min s=720x480 fps=25 max s=720x480 fps=120

[dshow @ 000001f4928caf00]   pixel_format=yuyv422  min s=720x576 fps=25 max s=720x576 fps=120

[dshow @ 000001f4928caf00]   pixel_format=yuyv422  min s=1920x1080 fps=25 max s=1920x1080 fps=120

[dshow @ 000001f4928caf00]   pixel_format=yuyv422  min s=2048x2160 fps=25 max s=2048x2160 fps=120

Capture With:

ffmpeg -f dshow -i video="USB Capture HDMI" -video_size 1920x1080 -framerate 25 -c:v ffv1 -pix_fmt yuv422p -rtbufsize 50M Sony-HVR-Z5E.mkv

Options:

-rtbufsize - Sets the buffer depth you will drop samples unless this is i.e 20-30M for SD or 100M for HD and 400M UHD.

-c:v copy - Direct Copy.

-pix_fmt yuv422p - 4:2:2 8-bit YUV colour encoding.

ffmpeg -y -f dshow -video_size 1920x1080 -pixel_format uyvy422 -rtbufsize 702000 -framerate 59.94 -i video="Decklink Video Capture" -codec:v libx264 -pix_fmt yuv420p -preset ultrafast -an -crf 0 output.mkv

MacOS

Linux

Clone this wiki locally