FFmpeg编译记-依懒库安装

作者: nenhall | 来源:发表于2018-06-10 21:12 被阅读64次

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(字幕渲染库和滤镜也用到了这个库)

  1. clong libass的代码:

    $ git clone https://github.com/libass/libass.git
    
  2. 从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
      
  3. 然后回到刚clone libass目录,执行:

    $ sh autogen.sh
    $ ./configure --prefix=/usr --disable-static && make
    上面是在`ubuntu`上的,在`Mac OS上`不要指定安装目录,即如下:
    $ ./configure --disable-static && make
    $ sudo make install
    到此libass安装完成
    
  4. 最后配置下环境路径:

    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来安装,安装方式如下:

FFmpeg libaacplus官方链接

# 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编译记-编译库

相关文章

网友评论

  • 简do:大神, 可以带带我吗? 我是做视频的, 但是ffmpeg有些不懂的问题,才入门想请教

本文标题:FFmpeg编译记-依懒库安装

本文链接:https://www.haomeiwen.com/subject/kquqeftx.html