在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务
說(shuō)明如下:
(1)所有操作最好使用root操作,以盡可能避免權(quán)限問題
(2)crtmpserver和web服務(wù)器apache(Ngnix亦可)被裝在同一臺(tái)服務(wù)器上,客戶端使用其他PC的桌面瀏覽器和android手機(jī),下面是測(cè)試環(huán)境示意圖:
(4)目前測(cè)試所用的crtmpserver是trunk 811版本,可能與早期穩(wěn)定版有些許差別,比如媒體文件存放路徑
(5)這里之所以使用jwplayer作為瀏覽器的flash播放插件,而沒有采用通常的adobe flash player,最主要的原因是考慮到開源和全平臺(tái)兼容性,特別是android和ios上的播放問題。
(6)這里我沒有安裝到服務(wù)器中,主要是因?yàn)槲抑幌胱鳛橐粋€(gè)調(diào)試和閱讀代碼的環(huán)境,并沒有去深入地測(cè)試它在生產(chǎn)環(huán)境上的使用.
1.下載源碼包并解壓
svn co --username anonymous https://svn.rtmpd.com/crtmpserver/trunk crtmpserver
When it asks for password, hit Enter key
若是zip文件,使用如下命令解壓
unzip trunk.zip
cd trunk/
ll
2.安裝準(zhǔn)備
安裝必要的工具包
sudo apt-get install cmake libssl-dev libcrypto++-dev libdl-ruby
3.生成Makefile并Make生成
cd builders/cmake
cmake .
make
4.啟動(dòng)crtmpserver
./crtmpserver/crtmpserver crtmpserver/crtmpserver.lua
下面是啟動(dòng)后的命令行界面
從中可以看出crtmpserver支持很多主流的流媒體協(xié)議,rtmp和rtsp,當(dāng)然這里沒有rtmfp和hls,貌似兩年前的版本是支持的.
5.查看crtmpserver進(jìn)程信息
?ps aux | grep crtmpserver
root ? ? 11729 ?0.0 ?0.4 ?10264 ?4712 pts/0 ? ?S+ ? 16:57 ? 0:00 ./crtmpserver/crtmpserver crtmpserver/crtmpserver.lua
root ? ? 11792 ?0.0 ?0.0 ? 4012 ? 756 pts/1 ? ?S+ ? 17:03 ? 0:00 grep --color=auto crtmpserver
6.制作測(cè)試樣本并復(fù)制到crtmpserever中指定目錄
從下面的網(wǎng)站下載http://www.dvdvideosoft.com/cn/products/dvd/Free-Video-to-Flash-Converter.htm
得到一個(gè)windows平臺(tái)的軟件Free Video to Flash Converter,可將視頻文件轉(zhuǎn)換為flash (SWF或者FLV格式) 并將其發(fā)布在你的網(wǎng)頁(yè)上或博客中。目前得到的最新版本是: 5.0.32.1230
我們將要測(cè)試的樣片《星月神話》高清MV有avi格式轉(zhuǎn)碼為flv格式,記為test.flv,按理本應(yīng)當(dāng)復(fù)制到media目錄下面,但是由于當(dāng)前版本的原因,我發(fā)現(xiàn)它已經(jīng)更改為在如下結(jié)構(gòu),
事先需要?jiǎng)?chuàng)建如下目錄
/Volumes/Storage/media/flv
/Volumes/Storage/media/mp4
/Volumes/Storage/media/mp3
同時(shí)需要在/tmp中事先創(chuàng)建
/tmp/metadata目錄來(lái)存放播放每部視頻時(shí)的.seek和.meta文件,這些文件是便于拖到檢索和存放視頻元數(shù)據(jù)的信息。
7.安裝配置web服務(wù)器
7.1安裝Apache Weserver步驟如下:
root@taoyx-desktop:/home/taoyx# ps aux | grep apache
root ? ? ?1832 ?0.0 ?0.0 ? 4012 ? 760 pts/0 ? ?S+ ? 10:40 ? 0:00 grep --color=auto apache
root@taoyx-desktop:/home/taoyx# sudo apt-get install apache2
root@taoyx-desktop:/home/taoyx# ps aux | grep apache
root ? ? ?2245 ?0.0 ?0.2 ? 5464 ?2576 ? ? ? ? ?Ss ? 10:44 ? 0:00 /usr/sbin/apache2 -k start
www-data ?2248 ?0.0 ?0.1 ? 5236 ?1756 ? ? ? ? ?S ? ?10:44 ? 0:00 /usr/sbin/apache2 -k start
www-data ?2250 ?0.0 ?0.1 226868 ?2020 ? ? ? ? ?Sl ? 10:44 ? 0:00 /usr/sbin/apache2 -k start
www-data ?2251 ?0.0 ?0.1 226868 ?2020 ? ? ? ? ?Sl ? 10:44 ? 0:00 /usr/sbin/apache2 -k start
root ? ? ?2316 ?0.0 ?0.0 ? 4012 ? 756 pts/0 ? ?S+ ? 10:44 ? 0:00 grep --color=auto apache
配置網(wǎng)站目錄,默認(rèn)的網(wǎng)站根目錄是/var/www
7.2或者安裝nginx的二進(jìn)制包,步驟如下:
直接從命令行安裝:
sudo apt-get install nginx
根目錄在
/usr/share/nginx/html
測(cè)試頁(yè)面放在這個(gè)目錄下面就可以了
啟動(dòng)方法:
/etc/init.d/nignx
其他方法:
/etc/init.d/nignx -s stop/quit/reopen/reload
其他查詢選項(xiàng)
/etc/init.d/nginx -v/V
8.安裝JWPlayer網(wǎng)頁(yè)內(nèi)嵌播放器
首先下載JWPlayer安裝包,解壓,提取出里面的player.swf,jwplayer.js,swfobject.js,
復(fù)制到apache的網(wǎng)站目錄根目錄(/var/www)下新建的子目錄jwplayer下面。
我這里使用的是一個(gè)早期的jwplayer版本,鏈接見
http://download.csdn.net/detail/tao_627/6895995
大家如果對(duì)最新版的jwplayer感興趣,可以去jwplayer的官網(wǎng)去下載最新版來(lái)倒騰。
新建一個(gè)名為test_jwplayer.html的html,內(nèi)容如下
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Crtmpserver Video Demo</title>
</head>
<body>
<script type='text/javascript' src='swfobject.js'></script><div id='mediaspace'>Loading the JWPlayer...</div><script type='text/javascript'>var so = new SWFObject('player.swf','mpl','1280','720','9');so.addParam('allowfullscreen','true');so.addParam('allowscriptaccess','always');so.addParam('wmode','opaque');so.addVariable('file','/Volumes/Storage/media/flv/test');so.addVariable('streamer','rtmp://192.168.0.106/flvplayback/');so.write('mediaspace');
</script>
</body>
</html>
注意:指定媒體文件時(shí),最好給出絕對(duì)路徑比較可靠,若是flv文件,.flv必須省略
此處的媒體文件是test.flv
root@taoyx-desktop:/var/www# mkdir jwplayer
root@taoyx-desktop:/var/www# ll
總計(jì) 16
drwxr-xr-x ?3 root root 4096 2011-07-24 11:21 ./
drwxr-xr-x 16 root root 4096 2011-07-24 10:44 ../
-rw-r--r-- ?1 root root ?177 2011-07-24 10:44 index.html
drwxr-xr-x ?2 root root 4096 2011-07-24 11:21 jwplayer/
root@taoyx-desktop:/var/www# cd jwplayer/
root@taoyx-desktop:/var/www/jwplayer# ll
總計(jì) 256
drwxr-xr-x 2 root root ? 4096 2011-07-24 11:31 ./
drwxr-xr-x 3 root root ? 4096 2011-07-24 11:21 ../
-rw-r--r-- 1 root root 133009 2011-07-06 13:08 jwplayer.js
-rw-r--r-- 1 root root 106417 2011-07-06 13:08 player.swf
-rw-r--r-- 1 root root ? 6887 2011-04-12 15:47 swfobject.js
-rw-r--r-- 1 root root ? ?493 2011-07-24 11:37 test_jwplayer.html
9.點(diǎn)擊觀看,以驗(yàn)證crtmpserver是否安裝成功
打開一個(gè)網(wǎng)頁(yè)瀏覽器,比如maxthon,在地址欄輸入
http://192.168.0.106/jwplayer/test_jwplayer.html
其中192.168.1.106是rtmp服務(wù)器crtmpserver所在的IP地址,后面的jwplayer/test_jwplayer.html是針對(duì)apache webserver的網(wǎng)站目錄根目錄(/var/www)的相對(duì)路徑
稍等片刻,就會(huì)彈出一個(gè)內(nèi)嵌網(wǎng)頁(yè)的JWPlayer播放窗口
下面是在三星蓋世四上的播放效果截圖
10.開機(jī)重啟注意
(1)每次開機(jī)進(jìn)入linux Ubuntu 12.04后, apache webserver相關(guān)進(jìn)程會(huì)自動(dòng)運(yùn)行,但是crtmpserver需要進(jìn)入到trunk/builders/cmake目錄下面,使用
./crtmpserver/crtmpserver crtmpserver/crtmpserver.lua
來(lái)啟動(dòng),不能進(jìn)入下一級(jí)目錄crtmpserver再啟動(dòng)該命令./crtmpserver crtmpserver.lua,會(huì)報(bào)錯(cuò)。
(2)每次關(guān)機(jī)后,在/tmp下的metadata文件夾會(huì)被銷毀,所以,每次啟動(dòng)crtmpserver之前,需要手動(dòng)使用root用戶來(lái)創(chuàng)建該文件
mkdir -p /tmp/metadata
總結(jié)
以上是生活随笔為你收集整理的在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新 crtmpserver 源码的获取
- 下一篇: Linux下系统性能检测利器dstat