Linux系统安装FFmpeg以及依赖库

最近这两周都在搞FFmpeg的安装,先是在windows平台上做了一个rtsp音视频流采集程序。但总监必须要我运行在Linux 平台上,没办法,就这样开始了我的噩梦。小白一个,大神勿喷。

附件中有:FFmpeg的依赖库、FFmpeg--help

进入正题了,首先安装FFmpeg有伴随的很多依赖库,这些依赖库大多是音视频编解码器。这个可以根据自己的需求来安装相印的依赖。总监让我做的这个程序要用到FFmpeg的依赖库如下表:

依赖库名称 说明 ./configure配置 备注 yasm-1.3.0 接受NASM和GNU汇编器(gas)语法,产出二进制 无 x264-snapshot-20140817-2245 h264编解码器(依赖yasm) --enable-libx264 fdk-aac-0.1.4 aac编解码器 --enable-libfdk-aac lame-3.99.5 mpg, flv, avi, wmv etc的 编解码器 --enable-libmp3lame vo-amrwbenc-0.1.3 amr编解码器 --enable-libopencore-amrnb 安装后还需创建libopencore-amrnb的软链接

安装libopencore-amrnb libopencore-amrwb(暂时不知道作用)时使用apt-get去安装,命令如下:

sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev

安装顺序是:

yasm-1.3.0 -> x264 -> fdk-aac -> libmp3lame -> amrnb -> amrwb

安装FFmpeg时,./configure 命令:

./configure --prefix=/usr/local/ffmpeg --enable-libmp3lame --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfdk-aac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-postproc --enable-ffserver --enable-ffplay

安装库出现的错误:

1. ERROR: xxx not found(找不到库文件)

例如:ERROR: libx264 not found

解决办法:编辑/etc/ld.so.conf,加入一行: /usr/local/lib(库install后.so文件默认保存的为止) 执行ldconfig命令即可

2. -bash: ./configure: Permission denied(./configure文件没有权限访问)

解决办法:chmod +x ./configure (设置对./configure文件可执行)

3. 安装x264时, error: ‘X264_VERSION’ undeclared

解决办法:在目录下有一个version.sh的文件,找到VER=“”这个属性,然后改为VER="你自己下载的库的版本号,我的是2245"。然后chmod +x version.sh(设置对version.sh文件的可执行)。最后再 ./configuremakesudo make install

安装FFmpeg出现的错误:

1. Unknown option "--enable-libfaac" 1. Unknown option "--enable-libfaac"
解决办法:安装  fdk-aac  当前版本的FFmpeg不支持 faac ,所以./configure后 参数为 --enable-libfdk-aac 解决办法:安装 fdk-aac 当前版本的FFmpeg不支持 faac ,所以./configure后 参数为 --enable-libfdk-aac

2. make: *** [libavcodec/libxvid.o] 错误

解决办法:去掉--enable-libxvid (暂时就这个办法,后期找到后再修改)

安装FFmpeg后运行出现的错误:

1. error while decoding mb (程序任然正常运行,一段时间后程序才会异常退出)

问题原因:未安装 amrwb 库。

解决办法:按照上述安装方式安装 amrwb 库,并在./configure中开启(--enable-libopencore-amrwb),再次编译安装方可解决问题 解决办法:按照上述安装方式安装 amrwb 库,并在./configure中开启(--enable-libopencore-amrwb),再次编译安装方可解决问题
经验分享 程序员 微信小程序 职场和发展