首先要安装各种解码器
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/xvidcore-1.1.3.tar.gz
安装方法如下:
Java代码
tar zvxf xvidcore-1.1.3.tar.gz
cd xvidcore-1.1.3/build/generic
./configure –prefix=/usr
make
make install
tar zvxf xvidcore-1.1.3.tar.gz
cd xvidcore-1.1.3/build/generic
./configure –prefix=/usr
make
make install
5、x264
x264-snapshot-20071107-2245.tar.bz2
Url:http://www.videolan.org/developers/x264.html
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
安装方法如下:Java代码
bunzip2 x264-snapshot-20070913-2245.tar.bz2
tar xvf x264-snapshot-20070913-2245.tar
./configure –prefix=/usr –enable-shared
make
make install
bunzip2 x264-snapshot-20070913-2245.tar.bz2
tar xvf x264-snapshot-20070913-2245.tar
./configure –prefix=/usr –enable-shared
make
make install
6、libdts
libdts-0.0.2.tar.gz
[url]http://download.videolan.org/pub/videolan/libdca/0.0.2/libdca-0.0.2.tar.gz [/url]
安装方法:Java代码
tar zxvf libdts-0.0.2.tar.gz
cd libdts-0.0.2
./configure –prefix=/usr
make
make install
tar zxvf libdts-0.0.2.tar.gz
cd libdts-0.0.2
./configure –prefix=/usr
make
make install
7、a52
a52dec-0.7.4.tar.gz
http://liba52.sourceforge.net/downloads.html
安装方法:Java代码
./configure –prefix=/usr
make
make install
./configure –prefix=/usr
make
make install
8、faad2
faad2-2.6.1.tar.gz
http://www.audiocoding.com/downloads.html
安装方法Java代码
autoreconf -vif
./configure –prefix=/usr –with-mp4v2 –enable-shared
make
make install
autoreconf -vif
./configure –prefix=/usr –with-mp4v2 –enable-shared
make
make install
9、faac
faac-1.26.tar.gz
http://linux.softpedia.com/progDownload/FAAC-Download-554.html
安装方法:Java代码
tar zxvf faac-1.26.tar.gz
cd faac
./bootstrap
./configure –prefix=/usr
make
make install
tar zxvf faac-1.26.tar.gz
cd faac
./bootstrap
./configure –prefix=/usr
make
make install
10、amr-nb
amrnb-6.1.0.4.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/amrnb-6.1.0.4.tar.bz2
安装方法:Java代码
./configure –prefix=/usr
make
make install
./configure –prefix=/usr
make
make install
11、amr-wb
amrwb-7.0.0.1.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.1.tar.bz2
安装方法:Java代码
./configure –prefix=/usr
make
make install
./configure –prefix=/usr
make
make install
12、lib52
a52dec-0.7.4.tar.gz
http://liba52.sourceforge.net/downloads.html
如果前面的安装一切顺利的话,恭喜你,可以安装ffmpeg了
安装ffmpeg
Java代码
./configure –prefix=/usr –enable-gpl –enable-shared –enable-libmp3lame –enable-libogg –enable-libvorbis –enable-libamr-nb –enable-libamr-wb –enable-libxvid –enable-libx264 –enable-liba52 –enable-liba52bin –enable-libfaac –enable-libfaad –enable-libfaadbin –enable-pp –enable-pthreads –disable-ffserver –disable-ffplay
make
make install
研究了一个星期,今天终于将服务器架设起来了.心理舒坦,所以总结一下
我使用的操作系统是:Ubuntu 9.10
我是参考这里的来进行编译的插件安装的,不过有些插件安装不上,
注意在Ubuntu下如果执行命令make install失败,则使用sudo make install使用root 权限来执行,因为有些目录普通用户不能创建
基本编译过程和需要安装的差价包上面博客讲的很详细,网上也有很多教程,
一、安装编译所需的工具和库:
(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
在此我遇到了一个奇怪的问题,编译是通过了,但是编译出来的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
<Stream testflv>
File “test.flv”
Format flv
</Stream>
<Stream Blue>
File “Blur.mp3”
Format flv
</Stream>
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 2M
ACL allow 127.0.0.1
</Feed>
<Stream mytest>
Feed feed1.ffm
Format flv
</Stream>
<Redirect index.html>
URL http://www.ffmpeg.org/
</Redirect>
参数说明:
我上面创建了三个流,其中Blue,testflv都是直接使用本地文件创建的
<Stream Blue>
File “Blur.mp3”
Format flv
</Stream>
表示创建一个以当前文件所在目录下的Blur.mp3创建的流,Blue,并将他以flv格式播放
Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 2M
ACL allow 127.0.0.1
</Feed>
表示:在/tmp/下创建一个缓冲区,feed1.ffm,大小为2M,这个可以自己根据需要修改
ACL allow 127.0.0.1 表示可以访问的IP
<Stream mytest>
Feed feed1.ffm
Format flv
</Stream>
表示:以缓冲区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,达到我们想要的效果了。。如果大家在以上出现什么问题,可以和我交流