I'm using an Intensity Pro 4K to capture with ffmpeg
via the decklink
commands.
According to the documentation:
video_input
Sets the video input source. Must be ‘unset’, ‘sdi’, ‘hdmi’, ‘optical_sdi’, ‘component’, ‘composite’ or ‘s_video’. Defaults to ‘unset’.
audio_input
Sets the audio input source. Must be ‘unset’, ‘embedded’, ‘aes_ebu’, ‘analog’, ‘analog_xlr’, ‘analog_rca’ or ‘microphone’. Defaults to ‘unset’.
So I set -video_input hdmi
, which guarantees I will get the video via HDMI even if the Blackmagic driver is set to something else (e.g., component, which for some reason every time I reboot it gets reset to component).
But, while I get video, I don't get audio. I tried setting -audio_input
to embedded
(no effect) aes_ebu
, and microphone
(not supported by device error).
So, I still have to go to the Blackmagic video drivers and switch the input signal to HDMI.
Is there a way to specify the hdmi audio feed together with the hdmi video feed on the ffmpeg command line?
Reference
Full command I am using:
ffmpeg -rtbufsize 1500M -f decklink -video_input hdmi -i "Intensity Pro 4K@20" -pix_fmt yuv420p -c:a copy -c:v v210 abc.mov
list_formats
output:
E:\>ffmpeg -f decklink -list_formats 1 -i "Intensity Pro 4K"
ffmpeg version 3.2 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.4.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 34.100 / 55. 34.100
libavcodec 57. 64.100 / 57. 64.100
libavformat 57. 56.100 / 57. 56.100
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[decklink @ 0000000000f66460] Supported formats for 'Intensity Pro 4K':
[decklink @ 0000000000f66460] 1 720x486 at 30000/1001 fps (interlaced, lower field first)
[decklink @ 0000000000f66460] 2 720x576 at 25000/1000 fps (interlaced, upper field first)
[decklink @ 0000000000f66460] 3 1920x1080 at 24000/1001 fps
[decklink @ 0000000000f66460] 4 1920x1080 at 24000/1000 fps
[decklink @ 0000000000f66460] 5 1920x1080 at 25000/1000 fps
[decklink @ 0000000000f66460] 6 1920x1080 at 30000/1001 fps
[decklink @ 0000000000f66460] 7 1920x1080 at 30000/1000 fps
[decklink @ 0000000000f66460] 8 1920x1080 at 25000/1000 fps (interlaced, upper field first)
[decklink @ 0000000000f66460] 9 1920x1080 at 30000/1001 fps (interlaced, upper field first)
[decklink @ 0000000000f66460] 10 1920x1080 at 30000/1000 fps (interlaced, upper field first)
[decklink @ 0000000000f66460] 11 1920x1080 at 50000/1000 fps
[decklink @ 0000000000f66460] 12 1920x1080 at 60000/1001 fps
[decklink @ 0000000000f66460] 13 1920x1080 at 60000/1000 fps
[decklink @ 0000000000f66460] 14 1280x720 at 50000/1000 fps
[decklink @ 0000000000f66460] 15 1280x720 at 60000/1001 fps
[decklink @ 0000000000f66460] 16 1280x720 at 60000/1000 fps
[decklink @ 0000000000f66460] 17 3840x2160 at 24000/1001 fps
[decklink @ 0000000000f66460] 18 3840x2160 at 24000/1000 fps
[decklink @ 0000000000f66460] 19 3840x2160 at 25000/1000 fps
[decklink @ 0000000000f66460] 20 3840x2160 at 30000/1001 fps
[decklink @ 0000000000f66460] 21 3840x2160 at 30000/1000 fps
Intensity Pro 4K: Immediate exit requested
Output of E:\>ffmpeg -rtbufsize 1500M -f decklink -video_input hdmi -audio_input embedded -i "Intensity Pro 4K@20" -pix_fmt yuv420p -c:a copy -c:v v210 abcde.mov
ffmpeg version 3.2 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.4.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 34.100 / 55. 34.100
libavcodec 57. 64.100 / 57. 64.100
libavformat 57. 56.100 / 57. 56.100
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[decklink @ 0000000002872cc0] Found Decklink mode 3840 x 2160 with rate 29.97
[decklink @ 0000000002872cc0] Frame received (#1) - Input returned - Frames dropped 1
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, decklink, from 'Intensity Pro 4K@20':
Duration: N/A, start: 0.000000, bitrate: 3978870 kb/s
Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Stream #0:1: Video: rawvideo (UYVY / 0x59565955), uyvy422, 3840x2160, 3977334 kb/s, 29.97 tbr, 1000k tbn, 1000k tbc
Incompatible pixel format 'yuv420p' for codec 'v210', auto-selecting format 'yuv422p'
Output #0, mov, to 'abcde.mov':
Metadata:
encoder : Lavf57.56.100
Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p, 3840x2160, q=2-31, 200 kb/s, 29.97 fps, 30k tbn, 29.97 tbc
Metadata:
encoder : Lavc57.64.100 v210
Stream #0:1: Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, 1536 kb/s
Stream mapping:
Stream #0:1 -> #0:0 (rawvideo (native) -> v210 (native))
Stream #0:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
E:\>ffmpeg -f decklink -video_input hdmi -audio_input embedded -list_formats 1 -i "Intensity Pro 4K"
, the output is the same as when I do not specify-audio_input
.Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
. If it's silent, then this may be need to be changed at the driver level.