ubuntu 12.04安装ffmpeg

ubuntu 12.04安装ffmpeg

  1. 下载ffmpeg-2.6.3.tar.bz2、last_x264.tar.bz2、yasm-1.2.0.tar.gz  

 

  1. libx264需要yasm,所以先安装yasm

x264需要使用yasm进行编译,而且yasm版本至少为 1.2 故我们需要先安装yasm yasm包:yasm-1.2.0.tar.gz 安装yasm步骤:

<!-- lang: shell -->

cd /usr/local/bin   

mkdir yasm

cd -

tar zxvf yasm-1.2.0.tar.gz

cd yasm-1.2.0

//--prefix=PREFIX    install in PREFIX []安装程序到指定目录[默认:空]

./configure --prefix=/usr/local/bin/yasm PATH=$PATH:/usr/local/bin/yasm/bin

make

make install

yasm安装完成后,我们开始安装x264

 

 x264包:last_x264.tar.bz2

 

  1. 安装x264

<!-- lang: shell -->

tar jxvf last_x264.tar.bz2  

cd x264-snapshot-20141105-2245

./configure --prefix=/usr --enable-shared --disable-asm

make

make install

 

 

  1. 安装ffmpeg的依赖包

libfaac、libmp3lame、libtheora、libvorbis、libxvid、libxext、libxfixes

  1. //apt-get install libx264-dev  // 不安装
  2. apt-get install libfaac-dev  
  3. apt-get install libmp3lame-dev  
  4. apt-get install libtheora-dev  
  5. apt-get install libvorbis-dev  
  6. apt-get install libxvidcore-dev  
  7. apt-get install libxext-dev  
  8. apt-get install libxfixes-dev  

apt-get install libx264-dev

apt-get install libfaac-dev

apt-get install libmp3lame-dev

apt-get install libtheora-dev

apt-get install libvorbis-dev

apt-get install libxvidcore-dev

apt-get install libxext-dev

apt-get install libxfixes-dev

 

4、解压ffmpeg

[plain] view plain copy print?

  1. tar -xjvf ffmpeg-2.6.3.tar.bz2  

tar -xjvf ffmpeg-2.6.3.tar.bz2

对ffmpeg进行编译安装 

 

  1. /*   ./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis      */

CFLAGS="-fPIC" ./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis --enable-ffserver --enable-ffplay --enable-ffmpeg --enable-shared --enable-static --enable-avdevice  --enable-ffprobe  --disable-yasm

// --enable-libfaac   --enable-x11grab 出错删除???

如果配置的时候提示 当前系统的yasm版本太低,就再加上 --disable-yasm

 

 

./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis 

 

[html] view plain copy print?

  1. make  
  2. make install  

 

$ ffmpeg -version

×××××××××××报错1

-version 查看当前版本的详细信息,默认情况下一般会报libavdevice.so.57: cannot open shared object file: No such file or directory,原因是lib目录未加载到链接到系统库中,系统ld目录列表在/etc/ld.so.conf中,打开文件会发现,里面引用了/etc/ld.so.conf.d/下面所有的.conf文件,比如我们只需要创建一个ffmpeg.conf文件并写入lib路径即可,

 vim /etc/ld.so.conf.d/ffmpeg.conf 然后添加一行内容:

 /usr/local/ffmpeg/lib

保存并退出,然后执行 ldconfig 使配置生效,

现在再次执行 # ffmpeg -version 显示就正常了(不能是./ffmpeg)

 

$PATH中没有添加/usr/local/ffmpeg2/bin 这个路径,永久添加方法:
vi /etc/profile
加入以下内容:
export PATH="/usr/local/ffmpeg/bin:$PATH"

然后保存并运行source /etc/profile

×××××××××××报错2

:libavcodec/libx264.c: In function 'x264_frame' :
libavcodec/libx264.c:282:9 error: 'x264_bit_depth' undeclared(first use in this function)  

  1. 卸载x264 ,

sudo apt-get remove ffmpeg  x264 libx264-dev
cd ~/ffmpeg/x264 
make distclean 
git pull 

  1. 重新安装

tar jxvf last_x264.tar.bz2  

cd x264-snapshot-20141105-2245

./configure --prefix=/usr --enable-shared --disable-asm

make

make install


×××××××××××报错3

××××× x264....125:   x264安装有问题,

***********没有生成ffplay  4

遇到问题:直接make之后没有生成ffplay

运行 configure 会生成 config.mak、config.h 和 libavutil/avconfig.h 这几个文件,里面决定了 ffmpeg 编译哪些模块、是否开启某些特性等。

查看config.mak文件,找到 CONFIG_FFPLAY 一行,发现前面总是有! 结果make 怎么都出错,报告ffplay.c编译错误

解决:重装了SDL

Ubuntu的新得立已经包含SDL库,所以通过几个简单的命令就可以安装,比windows还傻瓜!

sudo apt-get install libsdl1.2-dev(比较大,10M左右)

附加包:

sudo apt-get install libsdl-image1.2-dev

sudo apt-get install libsdl-mixer1.2-dev

sudo apt-get install libsdl-ttf2.0-dev

sudo apt-get install libsdl-gfx1.2-dev

安装完成之后,在目录/usr/include中,就会有个SDL文件夹,里面包含了所需要的头文件。

再次./configure --enable-memalign-hack --enable-ffplay

4、编译

$make

$sudo make install

现在发现终于OK啦!

5、测试

$./ffplay hello.mpg

可以看到视频啵?可以听到声音啵?

嘿嘿,可以吧!

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_37897683/article/details/81224086