FFMpeg编程1 环境搭建

    前些阵子在项目中用到了FFMpeg这个强大的视频处理开源类库。确实,关于这方面的文档太少了,在国内的网站上找了好多,回复大多都是09年以前的。讲述中用到的函数,有的都已经被标为过期。在其官网推荐的两个Demo的网站上的教程,也同样存在这个问题。 自己在摸索中也遇到了很多很多的困难,但大多问题都无法在官方的资料中找到答案。 也是经历了导出搜索资料后又一步一步尝试,最终完成了任务。 虽说对FFMpeg不能说精通到什么程度,但是有些前车之鉴和最新的使用经验分享给可能需要的人。 早就想总结一下了,可任务完成后又有新的事情,一拖再拖。 以后会每隔一段时间把以前的内容总结总结。好了开始:
    首先,我的编程环境是在Linux(Centos 6.3)下搭建的,编程语言用的C语言,没有用C++。虽然CentOS存在的问题是有的类库过于陈旧(比如金山的WPS就安装不上T^T),但其稳定性绝对是不用质疑的。UI的稳定对于开发来说无比重要,这也是命令行界面的魅力啊。(可惜纯Text界面看不了视频啊 :))。如果想在Windows下开发或者在其他Linux环境下开发,配置环境篇文章不大适合你了。不过网上关于在Windows下配置的文章很多,自己google一下吧。 配置好环境,开发中用到的函数可是一样滴。。。
    1. 安装CentOS 6.3  
     Centos不知道为什么,好像不能刻到U盘里头安装,当然你可以用虚拟机,但是我还是用的双系统。 如果有在U盘中安装成功的可以给我扫扫盲。。。具体安装过程我就不赘述了。

    2. 安装第三方软件源RPMForge
     Centos和Fedora 这些基于红帽Linux的系统都是通过yum命令来安装软件的,原理如同Ubuntu的 apt-get。到http://packages.sw.be/   下载RPMForge的rpm包,注意你的操作系统是x86还是x64,这里我只测试过载32位系统的运行情况,所以默认都是描述的32位。双击安装或者命令行安装:输入:

 rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm
    3. 安装依赖类库:
     安装好上面的软件源之后,安装一些FFMpeg依赖的类库就非常的方便了。大部分的软件包可以通过命令直接安装,省去了手动去官网下载,然后自己编译的麻烦(手动安装的时候有一个最大的问题就是版本不匹配:新版的FFMpeg有可能调用了更新的函数,而安装的类库里没有,所以折腾之后的总结,可以少走弯路啊!)输入以下命令(保证没错 可以复制):
yum -y install lame lame-devel libogg libogg-devel dirac dirac-devel libvorbis libvorbis-devel SDL SDL-devel gsm gsm-devel libvpx libvpx-devel libvpxlame-devel xvidcore xvidcore-devel faac faac-devel opencore-amr opencore-amr-devel yasm faad2 a52dec
    4. 安装zlib-devel
yum install zlib-devel  
   这个包很重要,也很容易被忽略。如果不装,会报各种编译错误。

   5. 安装libtheora软件包
    这个包需要自己上网下载以下,注意版本不要错(其他版本的匹配我没有测试过)。输入以下命令:
    tar jxf libtheora-1.1.1.tar.bz2  
    cd libtheora-1.1.1
    ./configure --prefix=/usr --with-ogg=/usr --with-vorbis=/usr --with-sdl-prefix=/usr
    make
    make install
   6. 安装x264
    输入命令:
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2  
 tar jxf last_x264.tar.bz2   
 cd x264-snapshot-20110822-2245  
 ./configure --prefix=/usr --enable-shared   
 make  
 make install
    7. 安装FFMpeg
     先下载下来:
wget http://ffmpeg.org/releases/ffmpeg-0.11.1.tar.gz  
     然后解压:   
tar zxf ffmpeg-0.11.1.tar.gz  
     进入解压后的目录: 
cd ffmpeg-0.11.1   
     输入命令:
 ./configure --prefix=/usr  --enable-avfilter --enable-libdirac --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
make
make install 
到此为止,一切类库都配置好了! 这些类库采用的是动态链接库的生成方式,会生成.so的动态链接文件。下一篇打算介绍一下如何在Eclipse里编译和连接C/C++ Makefile项目,并引入FFMpeg类库。

你可能感兴趣的:(c,linux,centos,ffmpeg,环境搭建)