[FFmpeg-user] Using ffmpeg to stream to or from Blackmagic Decklink Card

Roger Pack rogerdpack2 at gmail.com
Tue Jun 14 17:12:58 CEST 2016


On 6/13/16, davood afshari <afshari.davood at gmail.com> wrote:
> Hello,
> I want to use blackmagic cards with ffmpeg to stream their input but there
> is a problem.
> When I use "H264 Pro" Encoder as a "decklink" or "dshow" input, I see this
> error in command line output of ffmpeg. Device is ok and I can Use it with
> other applications like MXPTiny or MXLight.
> Here is the command and output:
> *>ffmpeg -f dshow -list_devices true -i dummy*
> ffmpeg version 3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
>   built with gcc 5.3.0 (GCC)
>   configuration: --enable-gpl --enable-version3 --disable-w32threads
> --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
> --enable-gnutls --enable-iconv --enable-libass --enable-libbluray
> --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
> --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
> --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
> --enable-libopenjpeg --enable-libopus --enable-librtmp
> --enable-libschroedinger --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. 17.103 / 55. 17.103
>   libavcodec     57. 24.102 / 57. 24.102
>   libavformat    57. 25.100 / 57. 25.100
>   libavdevice    57.  0.101 / 57.  0.101
>   libavfilter     6. 31.100 /  6. 31.100
>   libswscale      4.  0.100 /  4.  0.100
>   libswresample   2.  0.101 /  2.  0.101
>   libpostproc    54.  0.100 / 54.  0.100
> [dshow @ 0000005f5272ad40] DirectShow video devices (some may be both video
> and audio devices)
> [dshow @ 0000005f5272ad40]  "Decklink Video Capture"
> [dshow @ 0000005f5272ad40]     Alternative name
> "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{44A8B5C7-13B6-4211-BD40-35B629D9E6DF}"
> [dshow @ 0000005f5272ad40]  "screen-capture-recorder"
> [dshow @ 0000005f5272ad40]     Alternative name
> "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{4EA69364-2C8A-4AE6-A561-56E4B5044439}"
> [dshow @ 0000005f5272ad40] DirectShow audio devices
> [dshow @ 0000005f5272ad40]  "Microphone (High Definition Audio Device)"
> [dshow @ 0000005f5272ad40]     Alternative name
> "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{CBA42E33-151B-4975-B9A5-68B2552152F4}"
> [dshow @ 0000005f5272ad40]  "virtual-audio-capturer"
> [dshow @ 0000005f5272ad40]     Alternative name
> "@device_sw_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\{8E146464-DB61-4309-AFA1-3578E927E935}"
> [dshow @ 0000005f5272ad40]  "Decklink Audio Capture"
> [dshow @ 0000005f5272ad40]     Alternative name
> "@device_sw_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\{AAA22F7E-5AA0-49D9-8C8D-B52B1AA92EB7}"
> dummy: Immediate exit requested
>
>
> and when I use "Decklink Video Capture" to identify its options, here is
> the output:
> *>ffmpeg -f dshow -list_options true -i video="Decklink Video Capture"*
> ffmpeg version 3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
>   built with gcc 5.3.0 (GCC)
>   configuration: --enable-gpl --enable-version3 --disable-w32threads
> --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r
> --enable-gnutls --enable-iconv --enable-libass --enable-libbluray
> --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype
> --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
> --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
> --enable-libopenjpeg --enable-libopus --enable-librtmp
> --enable-libschroedinger --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. 17.103 / 55. 17.103
>   libavcodec     57. 24.102 / 57. 24.102
>   libavformat    57. 25.100 / 57. 25.100
>   libavdevice    57.  0.101 / 57.  0.101
>   libavfilter     6. 31.100 /  6. 31.100
>   libswscale      4.  0.100 /  4.  0.100
>   libswresample   2.  0.101 /  2.  0.101
>   libpostproc    54.  0.100 / 54.  0.100
> [dshow @ 00000036677bad40] Unable to BindToObject for Decklink Video Capture
> [dshow @ 00000036677bad40] Could not find video device with name [Decklink
> Video Capture] among source devices of type video.
> video=Decklink Video Capture: I/O error

Hmm I have run into that BindtoObject failure only once but it was in
some freak situation where a DLL was removed, probably not yours.  Are
you sure the other software are creating dshow graphs?
Anyway ffmpeg also has a "native" decklink input option (that I know
nothing about) maybe that will work better.

https://www.ffmpeg.org/ffmpeg-devices.html#decklink

This thread may be useful: https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=1126
GL!


More information about the ffmpeg-user mailing list