读书人

ubuntu上编译ffmpeg

发布时间: 2012-12-21 12:03:49 作者: rapoo

ubuntu下编译ffmpeg

版本ubuntu10.10 (2012/12/15),参考了网上了一些编译方法


1、下载git,根据官方文档,下载编译ffmpeg需要git实现,所以下载git,命令:?

sudo apt-get install git git-core

更新git到最新版本,命令:?

git clone git://git.kernel.org/pub/scm/git/git.git?

查看安装的git版本,命令:?

git --version?


2、下载ffmpeg,命令:?

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg?

现在已经下载了ffmpeg的源代码,可以先打包成压缩包备份,命令:?

tar czf ffmpeg.tar.gz ffmpeg/?

以后需要的时候可以直接提取,命令:?

tar xzf ffmpeg.tar.gz?


3、c/c++程序环境的搭建(已经搭建过的就不需要了)?

安装vim编辑器?

apt-get install vim?

安装c/c++编译工具,包括“gcc,g++,gdb,make” ?

apt-get install build-essential?

可以使用“gcc -v”来检查是否安装成功?

安装自动生成makefile的相关工具,命令:?

apt-get install automake1.9?

这样,依赖的工具也会被安装,包括autoscan、aclocal、autoconf、automake等。有了这些工具,在大的开发项目中,就可以不用自己去编写makefile了。?


4、安装依赖库:命令:

sudo apt-get install subversion checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libsdl1.2-dev libtheora-dev libx11-dev libxvidcore4-dev zlib1g-dev?

注:网上编译ffmpeg的帖子中用的依赖库都不一样,我也不知道到底用哪些好?


5、装x264(需要通过源码进行安装),命令:?

$git clone git://git.videolan.org/x264.git

$cd x264
$./configure
$make
$sudo make install?


6、?编译ffmpeg

进入到ffmpeg目录下面?

./configure --enable-gpl --enable-libmp3lame --enable-libxvid --enable-libfaac --enable-nonfree --enable-shared --enable-static --prefix=/usr/local/ffmpeg?

注:--enable-shared 是允许其编译产生动态库,那么--enable-static 应该是产生静态库,在以后的编程中要用到这个几个动态库。--prefix设置的安装目录?

注意:

最后编译完成,在/usr/local/ffmpeg会看到有四个目录

 lib 动态链接库位置

include 编程要用到头文件
   bin 执行文件所在的目录

还有个share文件夹

为了以后方便编程,我们把lib中的so文件(so文件相当于动态库文件dll,o文件相当于编译的目标文件,a文件是静态库)复制到/usr/lib下。把include目录下的ffmpeg目录复制到/usr/include下

编译成功之后,执行的时候还是需要动态库的支持,还是要把那三个动态库文件复制到/usr/lib或者/lib中,不然执行的时候会说找不到动态库链接。还有一个方法可以解决这个问题,就是把/usr/local/ffmpeg/lib这个目录加入到/etc/ld.so.config中,然后执行ldconfig,或者重启电脑,这样执行的时候系统就可以从/usr/local/ffmpeg/lib这个目录下去找这三个动态库文件了


网上使用的依赖库和configure命令:?

1、?

sudo apt-get install build-essential libgtk2.0-dev libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev ?

./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab --enable-swscale --enable-shared ?

2、

sudo apt-get install build-essential libxvidcore4-dev libfaad-dev libfaac-dev libmp3lame-dev subversion?

./configure --enable-gpl --enable-libmp3lame --enable-libxvid --enable-libfaac --enable-nonfree?

读书人网 >软件开发

热点推荐