今天終於將服務器架設起來了.心理舒坦,所以總結一下,我使用的操作系統是: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
一般就可以了,輸入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
<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,達到我們想要的效果了。。如果大家在以上出現什麼問題,可以和我交流
首先要安裝各種解碼器
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