[FFmpeg-user] Question on enable decklink in ffmpeg

Ricardo Pena ricardopenajr at gmail.com
Tue Jan 5 22:23:12 CET 2016


  I keep getting the error:
" Unknown input format: 'decklink' "
when typing in the command :
" ffmpeg -f decklink -list_devices 1 -i dummy "

To simplify it, I extracted the executable files out from the docker
container and executed in my ubuntu environment and it gave the same
error.  FYI, I am using docker to keep thing neat and tidy and the
executables work when used for other functions like delivering rtmp,
encoding h.264, converting file formats, etc.

Setup:
- Blackmagic Decklink (working in Ubuntu 64 bit 14.04 with MediaExpress
from Blackmagic)
- FFMPEG (compiled 2.4.11)
- Blackmagic SDK (10.5.2)

Here is my Dockerfile that lists how I compile inside my docker container
using Ubuntu:Trusty as the base image.

=====================
=====================

FROM ubuntu:trusty

ENV FFMPEG_VERSION 2.4.11
# monitor releases at https://github.com/FFmpeg/FFmpeg/releases
ENV YASM_VERSION     1.3.0
# monitor releases at https://github.com/yasm/yasm/releases
ENV FDKAAC_VERSION   0.1.4
# monitor releases at https://github.com/mstorsjo/fdk-aac/releases
# x264
# this project does not use release versions at this time
# monitor project at http://git.videolan.org/?p=x264.git;a=shortlog
#ENV LAME_VERSION     3.99.5
#ENV FAAC_VERSION     1.28
#ENV XVID_VERSION     1.3.3
#ENV MPLAYER_VERSION 1.1.1
ENV BLACKMAGIC_SDK_VERSION 10.5.1
ENV SRC             /usr/local
ENV LD_LIBRARY_PATH ${SRC}/lib
ENV PKG_CONFIG_PATH ${SRC}/lib/pkgconfig

RUN bash -c 'set -euo pipefail'
RUN apt-get update
RUN apt-get install -y autoconf automake gcc build-essential git libtool
make nasm zlib1g-dev tar curl

# YASM
RUN DIR=$(mktemp -d) && cd ${DIR} && \
              curl -Os
http://www.tortall.net/projects/yasm/releases/yasm-${YASM_VERSION}.tar.gz
&& \
              tar xzvf yasm-${YASM_VERSION}.tar.gz && \
              cd yasm-${YASM_VERSION} && \
              ./configure --prefix="$SRC" --bindir="${SRC}/bin" && \
              make && \
              make install && \
              make distclean && \
              rm -rf ${DIR}

# x264
RUN DIR=$(mktemp -d) && cd ${DIR} && \
              git clone --depth 1 git://git.videolan.org/x264 && \
              cd x264 && \
              ./configure --prefix="$SRC" --bindir="${SRC}/bin"
--enable-static && \
              make && \
              make install && \
              make distclean && \
              rm -rf ${DIR}

# FDK_AAC
RUN DIR=$(mktemp -d) && cd ${DIR} && \
              curl -s
https://codeload.github.com/mstorsjo/fdk-aac/tar.gz/v${FDKAAC_VERSION} |
tar zxvf - && \
              cd fdk-aac-${FDKAAC_VERSION} && \
              autoreconf -fiv && \
              ./configure --prefix="${SRC}" --disable-shared && \
              make && \
              make install && \
              make distclean && \
              rm -rf ${DIR}

# Blackmagic SDK
RUN cd /usr/src/ && \
     curl -s
https://codeload.github.com/nachochip/Blackmagic-SDK/tar.gz/${BLACKMAGIC_SDK_VERSION}
| tar xzvf -

# FFMPEG
RUN DIR=$(mktemp -d) && cd ${DIR} && \
              curl -Os
http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.gz && \
              tar xzvf ffmpeg-${FFMPEG_VERSION}.tar.gz && \
              cd ffmpeg-${FFMPEG_VERSION} && \
              ./configure --prefix="${SRC}"
--extra-cflags="-I${SRC}/include" --extra-ldflags="-L${SRC}/lib"
--bindir="${SRC}/bin" \
              --extra-libs=-ldl --enable-version3 --enable-libx264
--enable-gpl \
              --enable-postproc --enable-nonfree --enable-avresample
--enable-libfdk_aac --disable-debug --enable-small \
              --enable-decklink
--extra-cflags=-I/usr/src/Blackmagic-SDK-${BLACKMAGIC_SDK_VERSION}/Linux/include/
\

--extra-ldflags=-L/usr/src/Blackmagic-SDK-${BLACKMAGIC_SDK_VERSION}/Linux/include/
&& \
              make && \
              make install && \
              make distclean && \
              hash -r && \
              rm -rf ${DIR}


RUN apt-get purge -y autoconf automake gcc build-essential git libtool make
nasm zlib1g-dev curl
RUN apt-get clean
RUN apt-get autoclean

RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/libc.conf

CMD           ["--help"]
ENTRYPOINT    ["ffmpeg"]
=========================
=========================


More information about the ffmpeg-user mailing list