一、环境准备
ffmpeg下载:http://www.ffmpeg.org/download.html
x264下载:http://download.videolan.org/x264/snapshots/
yasm下载:http://yasm.tortall.net/Download.html
二、编译
1、编译yasm。
./configure
make
make install
安装yasm,也可以使用sudo apt-get install yasm直接进行安装。
2、安装SDL库,以便编译ffmpeg生成ffplay
SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。
sudo apt-get install libsdl1.2-dev
安装附加包:
sudo apt-get install libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl-gfx1.2-dev
3、解压x264,进入目录,输入:
./configure --enable-shared --enable-static
make
make install
安装完成后,在/usr/local/lib目录可以看到x264的静态库文件和动态库文件,在/usr/local/include下可以看到x264的.h文件。
4、解压ffmpeg,进入目录,输入:
./configure --enable-shared --enable-yasm --enable-libx264 --enable-gpl --enable-pthreads --enable-memalign-hack --enable-static
一定要将libx264编译进ffmpeg中,否则在进行编码的时候,会找不到H.264的编码器。
make
make install
5、设置链接动态库:
在/etc/ld.so.conf文件中添加一行/usr/local/lib,否则ld会找不到安装的ffmpeg动态库文件。
三、使用
1、使用ffplay播放yuv文件:ffplay -f rawvideo -video_size 480x272(像素) ds.yuv(文件名)
2、写代码是需要在编译时链接相应的动态库,需在编译时加入如下编译选项:-L/usr/local/lib -l动态库名 -I/usr/local/include