使用输出设备(decklink)编译ffmpeg

时间:2018-04-13 21:17:50

标签: ffmpeg

我已经完成了ffmpeg编译教程,并设法让它按预期工作。构建看起来稳定可用。但是现在我需要使用--enable-decklink标志在构建中包含Blackmagick Decklink SDK。

cd ~/ffmpeg_sources && \
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
tar xjvf ffmpeg-snapshot.tar.bz2 && \
cd ffmpeg && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
  --prefix="$HOME/ffmpeg_build" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I$HOME/ffmpeg_build/include" \
  --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
  --extra-libs="-lpthread -lm" \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libtheora \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-decklink \
  --enable-nonfree && \
PATH="$HOME/bin:$PATH" make && \
make install && \
hash -r

然而,几秒钟后它失败并报告它无法找到decklink libs:

ERROR: DeckLinkAPI.h not found

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.

我已将库放在extra-cflags和ldflags指定的同一文件夹中。所以Decklink SDK基本上可以在这里和这里使用:

~/ffmpeg_build/include/decklink
~/ffmpeg_build/lib/decklink

但显然你并不是这样做的。我想知道我应该把SDK源放在哪里,以确保编译器可以读取它。

1 个答案:

答案 0 :(得分:1)

我的编译命令完全错误。这最终对我有用:

cd FFmpeg && 
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include
-I$HOME/Decklink" --extra-ldflags="-L$HOME/ffmpeg_build/lib
-L$HOME/Decklink" --extra-libs="-lpthread -lm" --bindir="$HOME/bin" --enable-gpl --enable-version3 --enable-nonfree --enable-libfdk_aac --enable-fontconfig --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-decklink --enable-librtmp --enable-openssl &&
PATH="$HOME/bin:$PATH" make &&
make install &&
hash -r