测试环境:
1.ubuntu12.04 (http://www.ubuntu.org.cn/download)
2.ffmpeg-0.11.3 (http://www.ffmpeg.org/releases/)
3.yasm-1.2.0 (http://yasm.tortall.net/Download.html)
4.SDL-1.2.15 (http://www.libsdl.org/download-1.2.php)
5.x264 (通过命令行安装)
第一步查看系统是否已经安装了这些环境。执行命令 dpkg -l yasm ffmpeg x264
图为我本机安装信息,安装过ffmpeg,yasm,x264。
现在将其全部卸载掉。执行命令sudo apt-get --purge remove ffmpeg x264 yasm
然后安装下面的组件包,我都已经安装过了。
sudo apt-get install build-essential subversion git-core checkinstall texi2html libfaac-dev libfaad-dev libtheora-dev libx11-dev libxvidcore-dev zlib1g-dev libschroedinger-dev libspeex-dev libvpx-dev libx264-dev xorg-dev
执行命令查看安装情况: dpkg -l build-essential subversion git-core checkinstall texi2html libfaac-dev libfaad-dev libtheora-dev libx11-dev libxvidcore-dev zlib1g-dev libschroedinger-dev libspeex-dev libvpx-dev libx264-dev xorg-dev
安装yasm-1.2.0.tar.gz,释放包。
tar zxvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure
make
make install
接着安装x264用于编码解码操作。
git clone git://git.videolan.org/x264.git
进入到x264目录中进行安装:
cd x264
./configure
make
make install
安装ffmpeg:
git clone git://git.videolan.org/ffmpeg.git
tar zxvf ffmpeg-0.11.3.tar.gz
cd ffmpeg-0.11.3
./configure --enable-gpl --enable-shared --enable-postproc --enable-nonfree --enable-x11grab --enable-bzlib --enable-libfaac --enable-libmp3lame --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libxvid --enable-zlib --enable-libvpx --enable-libx264 --enable-pthreads
这步有可能提示缺少某些组件,自己找到名字进行安装后在重复执行。直到类似以下界面:
make
make install
安装SDL用于播放视频:
cd SDL-1.2.15
./configure
make
make install
测试播放一个yuv文件试试看。这里有一个素材网站:
http://trace.eas.asu.edu/yuv/index.html
我下载了一个文件tempete_cif_260_352x288.yuv,260帧
cd到该文件的目录:
ffmpeg -threads 4 -s 352x288 -i tempete_260_352x288.yuv -r 29.97 -vcodec libx264 -s 352x288 tempete_260_352x288.mp4
播放我们转好的h264文件:
ffplay tempete_260_352x288.h264
现在我们将h264在解码成yuv文件,对比大小看是否一样。
ffmpeg -i tempete_260_352x288.h264 tempete_260_352x288.yuv