设为首页 加入收藏

TOP

FFmpeg Linux下编译整理(一)
2014-11-24 11:30:39 来源: 作者: 【 】 浏览:2
Tags:FFmpeg Linux 编译 整理

一、安装编译所需的工具和库:


(1)先可以执行命令:


sudo apt-get purge ffmpeg x264 libx264-dev


清除原来的安装包


(2)然后执行命令:


sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libMP3lame-dev libsdl1.2-dev libtheora-dev libx11-dev libxvidcore4-dev zlib1g-dev


二、编译和安装x264库


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


cd x264


./configure


make


sudo make install


有时候编译不过去,则可以使用新力德软件安装程序来进行安装,使用方便


三、编译和装ffmpeg:


svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg


cd ffmpeg


./configure –enable-gpl –enable-nonfree –enable-pthreads –enable-libfaac –enable-libfaad –enable-libMP3lame –enable-libtheora –enable-libx264 –enable-libxvid –enable-x11grab –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libopencore-amrnb –enable-version3


make


sudo make install


一般就可以了,输入ffplay xxx.rm 播放OK。configure 不用带参数也行,就用默认的。


//------------------------------------------



//


在此我遇到了一个奇怪的问题,编译是通过了,但是编译出来的ffmpeg有问题,在进行流媒体解码时出错,于是我去官方网站手动下载了ffmpeg源码包


顺利编译完成后,输入命令ffserver,ffmpeg,ffplay都会有相应的提示,说明你以经安装完成,具体安装在哪里,一般在/usr/local/bin/下面,也可以在./configure参数指定


接下来,我们通过ffserver,ffmpeg,ffplay,来时间流媒体播放功能


第一步:


ffserver.conf 配置


Port 8090


BindAddress 0.0.0.0


MaxHTTPConnections 2000


MaxClients 1000


MaxBandwidth 1000


CustomLog -


NoDaemon



File "test.flv"


Format flv




File "Blur.MP3"


Format flv




File /tmp/feed1.ffm


FileMaxSize 2M


ACL allow 127.0.0.1




Feed feed1.ffm


Format flv




URL http://www.ffmpeg.org/



参数说明:


我上面创建了三个流,其中Blue,testflv都是直接使用本地文件创建的



File "Blur.MP3"


Format flv



表示创建一个以当前文件所在目录下的Blur.MP3创建的流,Blue,并将他以flv格式播放


Feed feed1.ffm>


File /tmp/feed1.ffm


FileMaxSize 2M


ACL allow 127.0.0.1



表示:在/tmp/下创建一个缓冲区,feed1.ffm,大小为2M,这个可以自己根据需要修改


ACL allow 127.0.0.1 表示可以访问的IP



Feed feed1.ffm


Format flv



表示:以缓冲区feed1.ffm 创建的流mytest


其它东西不用管,OK,ffserver.conf配置好后,我们开始启动ffserver服务器


启动命令:


打开终端,输入 ffserver -f ffserver.conf 命令启动ffserver


这里注意,你的ffserver.conf路径,我一般是在当前ffserver.conf所以的文件夹下运行终端的


当启动成功后,就不用管了,我们另开启一个终端测试,是否配置成功


输入:


ffplay http://localhost:8090/Blue



ffplay http://localhost:8090/testflv


如果能正常播放的话,那说明已经配置成功了


现在我们要做的是通过ffmpeg来将,数据字入缓冲区feed1.ffm中


注意,由于我们现在的缓存冲只有2M所以,当缓冲区的内容满后,他会自动覆盖


我们打开一个新的终端:


输入:ffmpeg -i inputfile -an http://localhost:800/feed1.ffm


启动ffmpeg


inputfile 为输入文件名,由于要达到电影播放效果,我使用了一个MP4格式的电影,后成,是将数据写了缓冲区feed1.ffm


如果没有问题,则会出现转换数据,一直在转换,那说明正在转换了,本人刚开始用svn下载的版本,在此执行就出问题了,后面自己去官方网站下载了一个ffmpeg源码压缩包,便运行成功了


OK,现在我们再用ffplay测试一下吧


新开一个终端输入:ffplay http://localhost:8090/mytest


OK,达到我们想要的效果了。。如果大家在以上出现什么问题,可以和我交流


首先要安装各种解码器


1、lame


lame-3.97.tar.gz


Url:http://sourceforge.net/project/showfiles.php group_id=290&package_id=309


安装方法如下:Java代码


tar -zxvf lame-3.97.tar.gz


cd lame-3.97



./configure --enable-shared --prefix=/usr


make


make install


tar -zxvf lame-3.97.tar.gz


cd lame-3.97


./configure --enable-shared --prefix=/usr


make


make install


2、libogg


libogg-1.1.3.tar.gz


Url:http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz


安装方法如下:


Java代码


./configure --prefix=/usr


make


make install


./configure --prefix=/usr


make


make install


3、libvorbis


libvorbis-1.1.2.tar.gz


Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.2.tar.gz


安装方法如下:


Java代码


./configure --prefix=/usr


make


make install


./configure --prefix=/usr


make


make install


4、xvid


xvidcore-1.1.3.tar.gz


Url:http://downloads.xvid.org/downloads/xv

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Python 类私有成员 下一篇在Ubuntu成功编译FFmpeg并生成ffp..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C 内存管理 | 菜鸟教 (2025-12-26 20:20:37)
·如何在 C 语言函数中 (2025-12-26 20:20:34)
·国际音标 [ç] (2025-12-26 20:20:31)
·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)