研究了一個星期,今天終於將服務器架設起來了.心理舒坦,所以總結一下
我使用的操作系統是: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,達到我們想要的效果了。。如果大家在以上出現什麼問題,可以和我交流