<p>Using <code>embedded</code> (or omitting <code>-audio_input</code>) is the intended way to get the audio of HDMI or SDI signals.</p>

<p>Please make sure that there is a 2ch-stereo audio signal on HDMI. If it is 5.1 or 7.1 you might have to use <code>-channels 8</code> in the commandline before the <code>-i</code>.</p>

<p>Note: please pay attention to the <code>pix_fmt</code> warning. Leave that option out of your commandline.</p>

CC BY-SA 3.0
2017-02-21T21:58:05.117Z
2017-02-21T21:58:05.117Z
Roy D'atze
<p>I'm using an Intensity Pro 4K to capture with <code>ffmpeg</code> via the <code>decklink</code> commands.</p>

<p>According to <a href="https://www.ffmpeg.org/ffmpeg-devices.html#decklink" rel="nofollow noreferrer">the documentation</a>:</p>

<blockquote>
  <p><strong>video_input</strong></p>
  
  <p>Sets the video input source. Must be ‘unset’, ‘sdi’, ‘hdmi’, ‘optical_sdi’, ‘component’, ‘composite’ or ‘s_video’. Defaults to
  ‘unset’.</p>
  
  <p><strong>audio_input</strong></p>
  
  <p>Sets the audio input source. Must be ‘unset’, ‘embedded’, ‘aes_ebu’, ‘analog’, ‘analog_xlr’, ‘analog_rca’ or ‘microphone’.
  Defaults to ‘unset’.</p>
</blockquote>

<p>So I set <code>-video_input hdmi</code>, 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).</p>

<p>But, while I get video, I don't get audio.  I tried setting <code>-audio_input</code> to <code>embedded</code> (no effect) <code>aes_ebu</code>, and <code>microphone</code> (not supported by device error).</p>

<p>So, I still have to go to the Blackmagic video drivers and switch the input signal to HDMI.</p>

<p>Is there a way to specify the hdmi audio feed together with the hdmi video feed on the ffmpeg command line?</p>

<p><strong>Reference</strong></p>

<p>Full command I am using:</p>

<pre><code>ffmpeg -rtbufsize 1500M -f decklink -video_input hdmi -i "Intensity Pro 4K@20" -pix_fmt yuv420p -c:a copy -c:v v210 abc.mov
</code></pre>

<p><code>list_formats</code> output:</p>

<pre><code>E:\&gt;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
</code></pre>

<p>Output of <code>E:\&gt;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</code></p>

<pre><code>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 -&gt; #0:0 (rawvideo (native) -&gt; v210 (native))
  Stream #0:0 -&gt; #0:1 (copy)
Press [q] to stop, [?] for help
</code></pre>

CC BY-SA 3.0
2017-01-29T10:54:57.643Z
What's the full command you're using? And does list_formats show any audio selection?
Gyan
CC BY-SA 3.0
2017-01-29T11:04:07.863Z
@Mulvya Updated my question.
Patrick Kenny
CC BY-SA 3.0
2017-01-29T11:07:13.140Z
With the audio option set to embedded, does ffmpeg show any input audio stream?
Gyan
CC BY-SA 3.0
2017-01-29T11:10:45.827Z
@Mulvya When I enter the command `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`.
Patrick Kenny
CC BY-SA 3.0
2017-01-29T11:21:24.353Z
Of course, that's because you're listing formats. You need to add it to the capture command and check.
Gyan
CC BY-SA 3.0
2017-01-29T11:31:21.507Z
@Mulvya Ok, added the output of the capture command.
Patrick Kenny
CC BY-SA 3.0
2017-01-29T11:43:08.740Z
It does detect audio: `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.
Gyan
<ffmpeg><blackmagic>
ffmpeg and decklink- how to specify audio_input for hdmi video?
Patrick Kenny
# ffmpeg and decklink- how to specify audio_input for hdmi video?

(Asked by: username_0 on 2017-01-29)

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

**Tags:** ffmpeg, blackmagic

> **Comments:**
> **username_1**: What's the full command you're using? And does list_formats show any audio selection?  
> **username_0**: @Mulvya Updated my question.  
> **username_1**: With the audio option set to embedded, does ffmpeg show any input audio stream?  
> **username_0**: @Mulvya When I enter the command `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`.  
> **username_1**: Of course, that's because you're listing formats. You need to add it to the capture command and check.  
> **username_0**: @Mulvya Ok, added the output of the capture command.  
> **username_1**: It does detect audio: `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.  

---

## 1 answers

### Answer by username_2 on 2017-02-21. Score: 1 | Accepted answer

Using `embedded` (or omitting `-audio_input`) is the intended way to get the audio of HDMI or SDI signals.

Please make sure that there is a 2ch-stereo audio signal on HDMI. If it is 5.1 or 7.1 you might have to use `-channels 8` in the commandline before the `-i`.

Note: please pay attention to the `pix_fmt` warning. Leave that option out of your commandline.


---

