標籤:
花了我接近3周,曆經了重重問題,今日終於把流媒體伺服器搞定,趕緊的寫個博文以免忘記。。。
起初是跟著網上的一些教程來的,但是說的很不全面,一些東西也過時不用了(比如jwplayer老版本)。我這次是用的最新版jwplayer6.8,在配置上有很多不同的地方,也很坑,值得注意一下!在配置方面,我精簡了很多,沒有了那麼多繁瑣的配置項需要修改。
注意:本人是在虛擬機器centos6.2系統下搭建的流媒體伺服器,在win7主機上做測試。
另,文章最後有,可下載搭建過程中所有用到的包和其他檔案。
廢話不說,從搭建伺服器的準備工作開始:
一、準備工作,安裝依賴包,缺一不可!(推薦先用命令查看自己是否已經安裝一下軟體,確認沒有再安裝)
-------------------------------------------------------------------------------------------------------------------------------------------------------
1.安裝zlib
tar xzvf zlib-1.2.3.tar.gz #解壓 cd zlib-1.2.3 #進入解壓目錄 ./configure #配置 make && make install #編譯並安裝
2.安裝gcc-c++
yum -y install gcc-c++ #會自動安裝的,但需連網
4.安裝pcre
tar zxvf pcre-7.9.tar.gz cd pcre-7.9 ./configure --prefix=/usr/local/pcre #配置安裝路徑為/usr/local/pcre make && make install
5.安裝 openssl openssl-devel
yum -y install openssl openssl-devel
二、安裝yamdi,給flv添加主要畫面格用的。(老是想到“亞麻碟”,哈哈。。。)
-------------------------------------------------------------------------------------------------------------------------------------------------------
#先cd到某個目錄下,用wget命令下載包 wget http://sourceforge.net/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download #安裝yadmi tar xzvf yamdi-1.4.tar.gz cd yamdi-1.4 make && make install
三、安裝Nginx伺服器,並配置
-------------------------------------------------------------------------------------------------------------------------------------------------------
1.安裝
groupadd www #添加使用者組www useradd -g www www #向組添加使用者www tar xzvf nginx-0.8.34.tar.gz #解壓包 cd nginx-0.8.34 #此步驟重要,--with-http_flv_module和--with-http_ssl_module不可變動,其他自訂吧。 ./configure --with-http_ssl_module --with-pcre=/opt/nginx/pcre-7.9 --with-zlib=/opt/nginx/zlib-1.2.3 --user=www --group=www --prefix=/opt/nginx --with-http_flv_module make && make install
2.配置
vim /opt/nginx/conf/nginx.conf #編輯nginx設定檔#找到server節點,參照一下代碼簡單變動一下,so easy!server { listen 80; server_name 192.168.1.105; root /opt/nginx/html/; limit_rate_after 5m; #在flv視頻檔案下載了5M以後開始限速 limit_rate 100k; #速度限制為100K index index.html; charset utf-8; #將.flv檔案指向flv模組 location ~ \.flv { flv; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }}
四、使用與測試
-------------------------------------------------------------------------------------------------------------------------------------------------------
1.為準備的flv檔案添加主要畫面格
#參數 -i:input檔案 -o:out檔案yamdi -i test1.flv -o test2.flv #目錄下會產生test2.flv,此時該檔案已經產生了主要畫面格
2.拷貝test2.flv到伺服器目錄下,我的伺服器目錄是“/opt/nginx/html/”。
3.拷貝jwplayer.flash.swf到伺服器目錄下。
4.編輯網頁,TestStreaming項目,(我是把網頁部署到到win7主機apache伺服器下的,用來類比遠端存取流媒體伺服器,想在本機弄的,自己倒騰)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html lang="en"><head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title></title> <script type="text/javascript" src="jwplayer.js"></script></head><body> <div id="myElement">Loading the player...</div> <script type="text/javascript"> jwplayer("myElement").setup({
//192.168.164.132是我虛擬機器的ip,載入播放器檔案 flashplayer: "http://192.168.164.132/player6.swf",
//載入伺服器下,/video/test2.flv帶主要畫面格的flv檔案 file: "http://192.168.164.132/video/test2.flv", image: "test.jpg", width: 800, height: 500, screencolor: "#BBBBBB", autostart: true, provider: "http", streamer: "start", stretching: "fill",
//上面三個參數都不重要,下面兩個參數才是最重要的!新版本奇葩之處! startparam: "start", primary: "flash" }); </script></body></html>
5.測試,win7下開啟瀏覽器,輸入:localhost/TestStreaming/index.html
yeah!視頻成功播放,並且可隨意拖動seek!
若不能成功,請仔細檢查jwplayer的配置參數!
附上下載連結:http://download.csdn.net/detail/cyh970473/7443127
[終極精簡版][圖解]Nginx搭建flv mp4流媒體伺服器