FFMpeg编译记
编译ffmpeg,执行:
./configure --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libass \
--enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus \
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --extra-ldflags=-L/usr/local/lib
报错:yasm/nasm not found or too old. Use --disable-yasm for a crippledbuild:
分析:yasm是汇编编译器,ffmpeg为了提高效率使用了汇编指令,如MMX和SSE等。所以系统中未安装yasm时,就会报上面错误。
解决:安装yasm编译器;提供三种安装方法如下:
* 通过brew安装:brew install yasm
* 通过apt-get安装:sudo apt-get install yasm
* 如果不需要yasm也可以:./configure --disable-x86asm
* 手动下载安装包进行安装:
在http://www.tortall.net/projects/yasm/releases下面找到适合自己平台的yasm版本。然后进行安装。举例如下:
1)下载:wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
2)解压:tar zxvf yasm-1.3.0.tar.gz
3)切换路径: cd yasm-1.3.0
4)执行配置: ./configure
5)编译:make
6)安装:make install
错误1
ERROR: libass not found using pkg-config
需要安装libass(字幕渲染库和滤镜也用到了这个库)
-
clong libass的代码:
$ git clone https://github.com/libass/libass.git
-
从libass(官网地址](http://www.linuxfromscratch.org/blfs/view/svn/multimedia/libass.html)下载libass相关的依懒包:
-
FreeType-2.9.1下载后解压,进入解压包,执行:
$ ./configure --prefix=/usr --enable-freetype-config --disable-static && make 上面是在`ubuntu`上的,在`Mac OS上`不要指定安装目录,即如下: $ ./configure --disable-static && make 上面这一步主要是检查能否正确安装,注意看终端的打印,有问题都会报出来, 没有问题就继续执行下一步: $ sudo make install
-
fribidi-1.0.3下载后解压,进入解压包,执行:
$ ./configure --prefix=/usr --disable-docs && make 上面是在`ubuntu`上的,在`Mac OS上`不要指定安装目录,即如下: $ ./configure --disable-static && make 上面这一步主要是检查能否正确安装,注意看终端的打印,有问题都会报出来, 没有问题就继续执行下一步: $ sudo make install
-
fontconfig-2.13.0下载后解压,进入解压包,执行:
依次执行下面三句命令: $ rm -f src/fcobjshash.h $ ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --disable-docs \ --docdir=/usr/share/doc/fontconfig-2.13.0 && make $ sudo make install
-
-
然后回到刚clone libass目录,执行:
$ sh autogen.sh $ ./configure --prefix=/usr --disable-static && make 上面是在`ubuntu`上的,在`Mac OS上`不要指定安装目录,即如下: $ ./configure --disable-static && make $ sudo make install 到此libass安装完成
-
最后配置下环境路径:
export PKG_CONFIG_PATH=/usr/local/ass/lib/pkgconfig:$PKG_CONFIG_PATH
其实FFMpeg的很多依懒包几乎都可以通过brew来安装,如下:
brew install automake fdk-aac lame libass libtool libvorbis libvpx libvo-aacenc opencore-amr openjpeg opus sdl schroedinger shtool speex texi2html theora wget x264 xvid yasm
但是libaacplus
不能通过brew来安装,安装方式如下:
# apt-get install libfftw3-dev pkg-config autoconf automake libtool unzip
$ wget http://tipok.org.ua/downloads/media/aacplus/libaacplus/libaacplus-2.0.2.tar.gz
$ tar -xzf libaacplus-2.0.2.tar.gz
$ cd libaacplus-2.0.2
$ ./autogen.sh --enable-shared --enable-static
$ make
$ sudo make install
$ sudo ldconfig
libtool 安装
curl -OL http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz
tar -xzf libtool-2.4.2.tar.gz
cd libtool-2.4.2
./configure && make && sudo make install
所有的相关依懒库我们都安装完成了,接下回到ffmpeg编译操作:
$ ./configure --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libass \
--enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus \
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --extra-ldflags=-L/usr/local/lib
$ make && make install
额外依赖库说明:以下仅仅只是举例,具体参数请输入./configure --help
查看:
x264 编码H.264视频,编译参数--enable-gpl --enable-libx264
fdk-aac 编码AAC音频,编译参数--enable-libfdk-aac
libvpx VP8/VP9视频编码器,编译参数--enable-libvpx
libvorbis 编码Vorbis音频,需要libogg。编译参数--enable-libvorbis
libopus 编码Opus音频。
LAME 编码MP3音频,编译参数--enable-libmp3lame
libass 字幕渲染器,编译参数--enable-libass
相关链接:FFmpeg编译记-编译库
网友评论