Welcome 微信登录

首页 / 操作系统 / Linux / 最新FFmpeg编译和用Eclipse进行源码调试

最近由于项目需要,必须修改ffmpeg的源码进行修改才能满足项目的需求,但以前我从来没有自己去编译和使用ffmpeg的源代码,一直都是用别人编译好了的sdk,再加上习惯了vs方便的编译环境,要在linux下对如此多的源代码进行编译和调试还真的是一件非常困难的事情。Linux下也没别的什么好的集成开发环境好用,没办法eclipse还凑合吧。好了,废话就不多说了,直接进入正题吧。
第一部分: ffmpeg的编译
首先要下载最新的ffmpeg源代码:由于我用的是教育网,用svn下载太tm的慢了,1kb/s,估计到明年都下不完。推荐一个网站,除了有ffmpeg的源代码以外还有各个源的源码,并且用现成的sdk(windows下的)。网址如下:Step1: 网址http://ffmpeg.zeranoe.com/builds/Step2: 版本问题下载完成以后,一个很重要的工作要做,否则以后你在使用或者调试ffmpeg的时候会出现很多莫名其妙的问题。一定要先检查的清理你的linux下是否已经安装了ffmpeg的库文件,如果安装了,要先remove掉,否则到最近,你的库有的是新的,有的是旧的,到用的时候给你报一堆版本错误,你就哭吧……具体做法:下面是我在编译的时候出现的版本错误:ffmpeg: relocation error: ffmpeg: symbol postproc_configuration, version LIBPOSTPROC_51 not defined in file libpostproc.so.51 with link time reference解决办法:$: apt-get remove ffmpeg$: apt-get remove libavcodec52 libavdevice52 libavfilter0 libavformat52 libavutil49 libpostproc$: apt-get remove libx264-dev上面的解决办法可能在不同的机子上不一样,因为安装的库可能不同如果还不行,就手动解决:库文件的路径:/usr/lib头文件的路径:/usr/include进入这些路径看看是否有ffmpeg中的库,如果有,都删除掉。Step3: 安装ffmpeg所依赖的库文件:$: sudo apt-get update$: sudo apt-get install build-essential git-core checkinstall yasm texi2html libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev这个步骤中只提供最常用的配置所需要的库文件,www.linuxidc.com 如果在编译ffmpeg中还有其它附加的配置,请使用新立得软件管理器进行安装。Step4: 安装x264从Step1中的网址上下载x264源码:$:./configure –enable-static$:make$:make installStep5: 安装ffmpeg注意:1. 如果是安装库文件,一定要使用--enable-shared, 不然不会生成.so文件。2. 默认的库文件目录是/usr/local/lib,我们把它修改为/usr, 这样在安装的时候方便$: ./configure --enable-gpl --enable-shared --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab --prefix=/usr$: make$: sudo make install