您的位置:首页 > 运维架构 > Linux

linux编译ffmpeg(一)

2015-02-28 18:58 411 查看

linux编译ffmpeg(一)

网上有很多ffmpeg编译的方法,但乱七八糟的比较多,今天编译了一下,下面是步骤,需要的可以看下。

一:需要的库

可以上官网上下载最新版,不想上官网的可以下载下面的库,然后将下面的库解压并编译 “./configure” 。


1:faac-1.28.tar

http://download.csdn.net/detail/zhuweigangzwg/8463553

2:ffmpeg-2.5.3

http://download.csdn.net/detail/zhuweigangzwg/8463563

3:lame-3.99.5

http://download.csdn.net/detail/zhuweigangzwg/8463569

4:x264-0.142.x

http://download.csdn.net/detail/zhuweigangzwg/8463571

5:yasm-1.2.0

http://download.csdn.net/detail/zhuweigangzwg/8463575



再编译ffmpeg之前先编译如下库:

1:faac(如果上面的faac-1.28编译的时候有错误可以如下,否则cd到目录中编译)
# wget http://downloads.sourceforge.net/faac/faac-1.26.tar.gz
# tar xvfz faac-1.26.tar.gz

# cd faac

# ./bootstrap

# ./configure

# make

# make install

2:libmp3(如果上面的lame-3.99.5编译的时候有错误可以如下,否则cd到目录中编译
#
wget http://downloads.sourceforge.net/lame/lame-3.97.tar.gz
# tar xzf lame-3.97.tar.gz

# cd lame-3.97

# ./configure

# make

# make install

3:libX264(如果上面的x264编译的时候有错误可以如下,否则cd到目录中编译)
# /usr/local/bin/git
clone git://git.videolan.org/x264.git x264

# cd x264

# ./configure --enable-shared --disable-asm

# make

# make install

可参考:http://www.cnblogs.com/littlehb/p/3914645.html

二:编译ffmpeg

cd到解压的ffmpeg,然后输入命令
./configure --enable-gpl --enable-nonfree --disable-shared --enable-static

--enable-debug --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --enable-postproc --enable-bzlib --enable-zlib

--enable-parsers --enable-libx264 --enable-libmp3lame --enable-libfaac

--enable-pthreads --extra-libs=-lpthread --enable-encoders --enable-decoders --enable-avfilter --enable-muxers --enable-demuxers

make &&make install

三:遇到问题

1:error while loading shared
libraries: xxx.so.x"错误的原因和解决办法

可以看下这个链接:http://blog.chinaunix.net/uid-26212859-id-3256667.html

如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令

ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.

编辑/etc/ld.so.conf文件,在新的一行中加入库文件所在目录;例如所在目录在/usr/local/lib,在vim /etc/ld.so.conf 换一行直接添加:/etc/ld.so.conf。

运行ldconfig,以更新/etc/ld.so.cache文件;

2:编译的那些库(包括ffmpeg)默认会产生在/usr/local/bin和 /usr/local/include目录下 ,如果想改变路径可以用:
--prefix来改变路径.

3:ffmpeg/x264:ERROR: libx264 not found

可以看这个链接:http://blog.sina.com.cn/s/blog_54b5ea250100r53o.html

只要在配制configure时,添加额外的include/link路径应该能够解决问题,即增加开关:

--extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib

这个需要根据你x264编译、安装的实际配制修改

四:测试结果
下面命令是利用rtmp服务器和ffmpeg转码率的命令,其他命令上网上自己查找。
./ffmpeg -i rtmp://test1.com:1935/myapp/teststream -report -acodec libfaac -vcodec libx264 -profile:v main -level:v 31 -preset ultrafast -r 25 -b:v 600k -f
flv rtmp://test1.com:1935/myapp/newstream



ffmpeg linux 下载地址: http://johnvansickle.com/ffmpeg/ 可以下载编译好的ffmpeg.

交流请加QQ群:62054820

QQ:379969650

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: