我正在关注FFmpeg的编译指南。编译完所有必需的依赖项后,我在最后一节中收到以下错误。
ERROR: gnutls not found using pkg-config
当我运行如下配置命令时会发生此错误:
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-gnutls \
--enable-libaom \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree
我正在全新安装的 Ubuntu 20.04 上编译 FFmpeg。
在
ffbuild
目录(路径:)ffmpeg_sources/ffmpeg/ffbuild/
中,检查config.log
提供了有关错误消息的更多信息:在 ffmpeg 的IRC 频道的帮助下,安装
libunistring-dev
包解决了这个问题。其他解决方案对我不起作用,尽管我使用的是 Debian 而不是 Ubuntu。对我来说,解决方案是:
是的,至少从 16.04 开始,该指南在任何 Ubuntu 版本上都不能正常工作。我发现解决此问题的最简单方法是首先安装默认的 Ubuntu 软件包,然后生成您的自定义脚本。在运行 ffmpeg 编译脚本之前,从 ffmpeg 抱怨的库的官方 Ubuntu 存储库安装默认包:
apt install -y gnutls
许多这些库问题和包配置的根本原因似乎通常与库源文件中不正确的 C/C++ 语法有关。对于 Ubuntu 中的几个 ffmpeg 依赖项,例如VLC 的 x265 library ,这一直是一个问题(并且仍然是一个问题) 。BitBucket 最近决定停止对 Mercurial 的支持,包括他们决定关闭其论坛,从而从互联网上删除了一些相关的讨论和解决方案,从而使问题更加复杂。:(