Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 26 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save afriza/879fed4ede539a5a6501e0f046f71463 to your computer and use it in GitHub Desktop.
Save afriza/879fed4ede539a5a6501e0f046f71463 to your computer and use it in GitHub Desktop.
Compiling and installing `ffmpeg` with Decklink SDK on Ubuntu 18.04 Server. Check out forks of this gist for more up-to-date info.
@tech-nickel
Copy link

tech-nickel commented May 6, 2020

@tech-nickel @sandervg did you guys manage to compile the BMD SDK 11.5? I think you need to execute sudo ldconfig after the compilation of the BMD SDK 11.5 otherwise ffmpeg won't be able to find the libraries of Blackmagic.

I ended up compiling ffmpeg 4.2 with the 11.4 SDK, that works fine.

@stoyanovgeorge
Copy link

@tech-nickel yes, I didn't try to compile 11.5, but glad that you managed to do it!

@brendandower90
Copy link

brendandower90 commented Jun 25, 2020

Compiled with ffmpeg 4.2.3 and Desktop Video 11.5.1 on Ubuntu 20.04, however, I had to use sudo apt install libnuma-dev for x265 support to be enabled.

@eatsleepeat
Copy link

eatsleepeat commented Dec 12, 2020

@brendandower90 and others: I'm getting a compilation error

I'm running into an error with ffmpeg 4.2.3 and Desktop Video 11.7 and 11.5.1 on Ubuntu 20.04.
I'm getitng the following errors when I run this command: PATH="$HOME/bin:$PATH" make -j nprocC

Any thoughts or suggestion?

Error:
libavdevice/decklink_common.cpp: In function ‘int ff_decklink_set_format(AVFormatContext*, int, int, int, int, AVFieldOrder, decklink_direction_t, int)’: libavdevice/decklink_common.cpp:277:52: error: no matching function for call to ‘IDeckLinkInput::DoesSupportVideoMode(BMDVideoConnection&, BMDDisplayMode&, BMDPixelFormat, _BMDSupportedVideoModeFlags, bool*)’ 277 | &support) != S_OK) | ^ In file included from libavdevice/decklink_common.cpp:28: /home/otg/ffmpeg_sources/BMD_SDK/include/DeckLinkAPI.h:815:21: note: candidate: ‘virtual HRESULT IDeckLinkInput::DoesSupportVideoMode(BMDVideoConnection, BMDDisplayMode, BMDPixelFormat, BMDVideoInputConversionMode, BMDSupportedVideoModeFlags, BMDDisplayMode*, bool*)’ 815 | virtual HRESULT DoesSupportVideoMode (/* in */ BMDVideoConnection connection /* If a value of bmdVideoConnectionUnspecified is specified, the caller does not care about the connection */, /* in */ BMDDisplayMode requestedMode, /* in */ BMDPixelFormat requestedPixelFormat, /* in */ BMDVideoInputConversionMode conversionMode, /* in */ BMDSupportedVideoModeFlags flags, /* out */ BMDDisplayMode* actualMode, /* out */ bool* supported) = 0; | ^~~~~~~~~~~~~~~~~~~~ /home/otg/ffmpeg_sources/BMD_SDK/include/DeckLinkAPI.h:815:21: note: candidate expects 7 arguments, 5 provided libavdevice/decklink_common.cpp:283:65: error: no matching function for call to ‘IDeckLinkOutput::DoesSupportVideoMode(_BMDVideoConnection, BMDDisplayMode&, BMDPixelFormat&, _BMDSupportedVideoModeFlags, BMDDisplayMode*, bool*)’

@alexolivan
Copy link

@brendandower90 and others: I'm getting a compilation error

I'm running into an error with ffmpeg 4.2.3 and Desktop Video 11.7 and 11.5.1 on Ubuntu 20.04.
I'm getitng the following errors when I run this command: PATH="$HOME/bin:$PATH" make -j nprocC

Any thoughts or suggestion?

Error:
libavdevice/decklink_common.cpp: In function ‘int ff_decklink_set_format(AVFormatContext*, int, int, int, int, AVFieldOrder, decklink_direction_t, int)’: libavdevice/decklink_common.cpp:277:52: error: no matching function for call to ‘IDeckLinkInput::DoesSupportVideoMode(BMDVideoConnection&, BMDDisplayMode&, BMDPixelFormat, _BMDSupportedVideoModeFlags, bool*)’ 277 | &support) != S_OK) | ^ In file included from libavdevice/decklink_common.cpp:28: /home/otg/ffmpeg_sources/BMD_SDK/include/DeckLinkAPI.h:815:21: note: candidate: ‘virtual HRESULT IDeckLinkInput::DoesSupportVideoMode(BMDVideoConnection, BMDDisplayMode, BMDPixelFormat, BMDVideoInputConversionMode, BMDSupportedVideoModeFlags, BMDDisplayMode*, bool*)’ 815 | virtual HRESULT DoesSupportVideoMode (/* in */ BMDVideoConnection connection /* If a value of bmdVideoConnectionUnspecified is specified, the caller does not care about the connection */, /* in */ BMDDisplayMode requestedMode, /* in */ BMDPixelFormat requestedPixelFormat, /* in */ BMDVideoInputConversionMode conversionMode, /* in */ BMDSupportedVideoModeFlags flags, /* out */ BMDDisplayMode* actualMode, /* out */ bool* supported) = 0; | ^~~~~~~~~~~~~~~~~~~~ /home/otg/ffmpeg_sources/BMD_SDK/include/DeckLinkAPI.h:815:21: note: candidate expects 7 arguments, 5 provided libavdevice/decklink_common.cpp:283:65: error: no matching function for call to ‘IDeckLinkOutput::DoesSupportVideoMode(_BMDVideoConnection, BMDDisplayMode&, BMDPixelFormat&, _BMDSupportedVideoModeFlags, BMDDisplayMode*, bool*)’

I have exact same situation:
Trying to build 4.1.6 debian sources-package
Tried both 11.7 and 11.5.1 with same results

I previously managed to build 4.1.3 debian sources-package along with 11.4 by patching as suggested https://trac.ffmpeg.org/ticket/7789 .... But now I'm getting this one.
Hope someone could help...

@jdgo-mars
Copy link

Managed to compile using Ubuntu 20.04, ffmpeg 4.4, Blackmagic v12 packages.
Thanks a lot for this!

@michaelbanck
Copy link

I can confirm, if you change the line:

wget https://ffmpeg.org/releases/ffmpeg-4.1.3.tar.bz2

to

wget https://ffmpeg.org/releases/ffmpeg-4.4.tar.bz2

it compiles for the black magic SDK 12 on my Ubuntu 18.04 System

@sfahadshahzad
Copy link

can anyone help me to compile ffmpeg with decklink in docker container.

Fahad

@cHunter789
Copy link

cHunter789 commented Oct 7, 2022

can anyone help me to compile ffmpeg with decklink in docker container.

Fahad

Hi, Dockerfile to create a docker image with ffmpeg 5.1 and BMD 12.4 based on jrottenberg/ffmpeg
https://github.com/cHunter789/ffmpeg-decklink

@serkansmg
Copy link

i can confirm that http://ffmpeg.org/releases/ffmpeg-6.0.tar.bz2 and bmd 12.4.2 compiles on ubuntu 22.04.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment