ffmpeg
无法编译。无论我做什么,每次都会出错。我安装了干净的 12.04,并按照 ffmpeg 网站上的教程进行操作,但仍然无法正常工作。
如果不是libfdk-aac
错误,那就是libx246
错误。
有人可以帮忙吗?
我刚刚尝试按照另一个教程操作,但它抱怨libfdk-aac
。我已经安装了它,多元宇宙代表也完成了,一切都在那里。如果我--enable-libfdk-aac
从 中删除ffmpeg ./configure
,它就会抱怨libx264
。我安装了libx264-dev
它,它可以工作,但最终出现了失败的错误,提到 x264:
libavcodec/libx264.c:552: error: undefined reference to 'x264_encoder_open_130' collect2: ld returned 1 exit status make: *** [ffmpeg_g] Error 1
答案1
我们通过评论中的各种讨论解决了这些问题,我链接到了我的详细指南,其中还引用了官方 ffmpeg 指南。
安德烈的系统是Ubuntu 12.04服务器。
下面只能列出一些一般性要点,因为没有一个单一的问题是导致编译失败的问题:
首先,需要删除所有现有的软件包
sudo apt-get remove ffmpeg x264 libav-tools libvpx-dev libx264-dev
ffmpeg
这样在稍后尝试编译其库时就可以避免可能出现的冲突。- 在官方ffmpeg 指南 桌面版和服务器版的依赖项略有不同,如果在服务器上安装,指南中还有几条注意事项需要遵循。桌面版和服务器版的构建依赖项集列在官方指南。
- 一件事安德烈提到的是他有依赖关系,例如
libx264-dev
,但实际上这是应该的事情之一已删除(如上面第一个命令所示)。如果您需要 x264 支持或 aac 支持等,则必须编译x264
、fdk-aac
和libvpx
opus
前你构建ffmpeg
。编译ffmpeg
应该是最后一件事;你不应该下载构建依赖项然后开始编译,ffmpeg
因为如果你想要对某些音频/视频类型提供各种支持,你需要自己编译几个库。 如果编译某些库或构建
ffmpeg
支持这些库时出现问题,您应该能够编辑以下ffmpeg
./configure
行导游;例如删除一行--enable-libxxx
。相反,为了opus
支持,您需要添加--enable-libopus
。我正要建议进一步调整这一./configure
行,这时安德烈解决了他的问题,但如果出现问题,记住这一点对于将来的构建很有用。有关编译
ffmpeg
和可能出现的问题的详细信息,请参阅我对这个问题的详细回答。