如何在Ubuntu 12.04 LTS(Precise Pangolin)上编译带有libx264的avconv?

12
有没有一份逐步指南,可以教我如何在Ubuntu上编译avconv
相比于ffmpeg,好像很难搜索到任何关于avconv的教程。
3个回答

19
我终于找到了方法,
1)创建一个名为avconv-source的目录。
mkdir avconv-source

2.) 下载并安装x264库

cd ~/avconv-source
git clone git://git.videolan.org/x264.git x264
cd x264
sudo ./configure --enable-static
sudo make
sudo make install

3.) 下载 avconv 源代码

cd ~/avconv-source
git clone git://git.libav.org/libav.git avconv
cd avconv
sudo ./configure
sudo ./configure --enable-gpl --enable-libx264
sudo make
sudo make install

现在,您可以执行:

avconv -i test.mov -c:v libx264 -c:a copy test.mp4

当我执行 sudo ./configure --enable-gpl --enable-libx264 时,我收到一个错误提示:avconv-source/avconv/libavcodec/libx264.c:412: undefined reference to 'x264_encoder_open_125' - JJD
1
@JJD 你可能同时安装了两个不同版本的x264(包括libx264-dev软件包)。尝试将LD_LIBRARY_PATH设置为libx264所在的目录,这个答案来自https://dev59.com/jGbWa4cB1Zd3GeqPcfuv。 - Kugutsumen
谢谢。我按照在Ubuntu Precise上安装FFmpeg的指南进行操作,它对我有些作用。我使用以下命令:ffmpeg -i in.mts -vcodec libx264 -filter:v yadif -s hd1080 -ab 128k -strict -2 -threads 0 ./out_x264.mp4 - JJD
2
avconv 上配置没有起作用,我一直收到错误 ERROR: libx264 not found。使用 ./configure --enable-static --enable-shared --enable-pic 配置 x264 后问题得到解决。 - Luc van Donkersgoed

9

在Ubuntu 12.04上,这对我非常有用,但是它抱怨缺少汇编程序。

最低版本要求为yasm-1.2.0。 如果您真的想在没有汇编的情况下编译,请使用--disable-asm进行配置。

感谢如何安装和使用最新的FFmpeg和x264,我也做了以下操作,除此之外一切都很好。

sudo apt-get install build-essential checkinstall

sudo apt-get build-dep yasm

wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz && \
tar -xf yasm-1.2.0.tar.gz && cd yasm-1.2.0 && ./configure

make

sudo checkinstall --pakdir "$HOME/Desktop" --pkgname yasm --pkgversion 1.2.0 \
--backup=no --default

9

这个方法适用于我在Ubuntu 13.04和Ubuntu 12.04.3 LTS上的使用。

apt-get install libavcodec-extra-53

3
这是Ubuntu 14.04上的libavcodec-extra-54 - user1544337

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接