ubuntu 下ffmpeg3.3的编译

ffmpeg linux下安装的过程 和遇到的一些问题

平台为ubuntu14.04 直接在官网下的版本 ffmpeg版本为ffmpeg3.3.3

关于ffmpeg的安装,最好的教程是官方文档 ,https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu 

安装相关依赖:

下载好ubuntu后最好先更新一下软件包 :

apt-get install update

apt-get install upgrade

如果速度太慢可以切换为国内源

安装要用到的工具:apt-get install autoconf gcc g++ vim

安装yasm: sudo apt-get install yasm 

安装nasm:wget http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.bz2
    tar xjvf nasm-2.13.01.tar.bz2

       cd nasm-2.13.01

       ./autogen.sh

       ./configure 

make 

make install

安装相关的编解码库 :

可在http://ffmpeg.org/general.html查看ffmpeg支持哪些编解码库 

安装libx264:       sudo apt-get install libx264-dev;

安装libmp3lame:sudo apt-get install libmp3lame-dev;        

安装libfdk-aac  :sudo apt-get install libfdk-aac-dev;

安装OpenCORE AMR: 下载编译安装 https://sourceforge.net/projects/opencore-amr/

     ./configure  make  make install

 

安装ffmpeg: 

 cd   ffmpeg3.3.3  

(因为我使用的是虚拟机linux系统, 如果你使用了VM的共享文件夹 最好不要将ffmpeg     代码放在共享文件夹下,共享文件夹可能会导致ffmpeg出现编译错误)

./configure --enable-shared --enable-static --disable-doc --disable-ffserver --extra-libs=-lgcc --enable-version3 --enable-bzlib --enable-zlib --enable-gpl --enable-shared --enable-ffmpeg

--enable-ffplay --enable-libx264 --disable-frei0r --disable-yasm --disable-asm --enable-libmp3lame --enable-gpl --disable-debug --disable-optimizations --disable-stripping --enable-nonfree

--enable-librtmp --enable-libopencore-amrnb --enable-libfdk-aac

**configure信息可以根据自己的需要来配置 我这里还需要安装
apt-get install libbz2-dev
apt-get install libz-dev
apt-get install librtmp-dev

make
sudo make install

此时在终端里直接敲ffmpeg 会出现如下错误: ffmpeg: error while loading shared libraries: libavdevice.so.57: cannot open shared
object file: No such file or directory
这是提示找不到ffmpeg库文件, 修改文件/etc/ ld.so.conf 
sudo vim /etc/ld.conf
增加/usr/local/ffmpeg/lib
执行 sudo ldconfig
这时再在命令行敲ffmpeg xxxx 就没问题了

其他问题

1. 使用源码里/doc/example/makefile时  提示Package libav* was not found in the pkg-config search path.
Perhaps you should add the directory containing `libavfilter.pc' to the PKG_CONFIG_PATH environmentvariable No package 'libavfilter' found 

修改用户配置文件 vim ~/.bash_profile (如果没有则新建一个),

添加export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH 

source  ~/.bash_profile 

这里/usr/local/lib/pkgconfig是ffmpeg的pkgconfig的所在位置 如果里面没有则试试

export PKG_CONFIG_PATH= /usr/local/ffmpeg/lib/pkgconfig:$PKG_CONFIG_PATH

source  ~/.bash_profile


2. 在安装libopencore-amrnb时报错libamrnb.so.3 is not a symbolic link :

libamrnb.so.3不是一个软连接 直接删除这个文件 然后把它变为libamrnb.so.3.0.0的一个软链接

sudo rmlibamrnb.so.3

ln -s libamrnb.so.3.0.0 libamrnb.so.3


3. ffmpeg commnd not find :

将ffmpeg加入环境变量PATH,打开~/.bash_profile

export PATH=/usr/local/ffmpeg/bin/:$PATH 

source  ~/.bash_profile

















你可能感兴趣的:(ffmpeg,ubuntu)