使用输出设备(甲板链接)编译 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

但是几秒钟后,它失败并报告找不到甲板链接库:

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 源代码放在哪里以确保编译器可以读取它。

我得到的编译命令完全错误。这最终对我来说效果很好:

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

如果在Windows上编译,这将使Decklink与FFMPEG一起工作。视频教程 - 媒体autobuild_suite

最新更新