我已经完成了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源放在哪里,以确保编译器可以读取它。
答案 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