在Ubuntu 12.04 64bit上搭建Crtmpserver视频直播服务
本篇博客繼續(xù)在上篇《在Ubuntu 12.04 64bit上搭建Crtmpserver視頻點播服務(wù)》
http://blog.csdn.net/tao_627/article/details/18909075
的基礎(chǔ)上,搭建基于開源框架的視頻直播服務(wù),仍然使用root用戶操作?;究蚣軋D示如下:
下面分為幾個步驟說明如下:
1.實時轉(zhuǎn)碼服務(wù)器構(gòu)建
這里為了充分挖掘開源項目的優(yōu)勢,我使用ffmpeg來進行實時轉(zhuǎn)碼。為此,在Ubuntu 12.04上安裝最新的ffmpeg靜態(tài)生成包。參見下面的鏈接
http://ffmpeg.gusari.org/static/64bit/
下載下來最新的源碼包后,解壓到系統(tǒng)目錄中
cd /usr/local/src
wget?http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.2014-02-05.tar.gz
tar zxvf ?ffmpeg.static.64bit.2014-02-05.tar.gz -C /usr/local/bin
這樣將解壓出的兩個可執(zhí)行文件ffmpeg和ffprobe復(fù)制到系統(tǒng)的/usr/local/bin下面,以后我們可以直接在系統(tǒng)的任何路徑使用ffmpeg命令就可以了,我們先看看
將要提供直播服務(wù)的視頻文件《星月神話》xinyueshenhua.flv存放到Crtmpserver服務(wù)器的指定目錄/home/taoyx/視頻/下面,我們這里為了簡單,只使用flv格式的視頻文件來進行實時流化,提供直播服務(wù),使用下面的命令實時轉(zhuǎn)碼
ffmpeg -re -i "/home/taoyx/視頻/xinyueshenghua.flv" -vcodec copy -acodec copy -f flv rtmp://192.168.0.106/live/cuoai
相關(guān)說明:
上面的命令將一個本地文件流化為一個名為cuoai.flv(.flv可以省略)的實時流,通過rtmp協(xié)議播放。
這里采用ffmpeg而非Flash Media Live Encoder等其它工具,是希望盡可能采用開源解決方案,同時不受其它商業(yè)因素制約.另外一點是,ffmpeg本身功能非常強大,它值得我們?nèi)ネ度刖θネ诰蛩淖陨韽姶蠊δ?
這里采用靜態(tài)庫安裝的方式,是為了獲取最新版的ffmpeg代碼,同時不想從源碼編譯,因為各種庫的依賴關(guān)系比較復(fù)雜,而且ffmpeg目前不是我們研究的重點.為了盡快達到我們的目的,我選擇最快的方式,就是采用靜態(tài)庫的方式.目前ffmpeg在Ubuntu上的ppa提供的版本比較舊,只是ffmpeg1.0,不是最新的ffmpeg2.1,不符合我的要求.
2.使用新版的JWPlayer(官網(wǎng)http://www.jwplayer.com/)來提供網(wǎng)頁端的flash播放器
我們從如下網(wǎng)址
https://account.jwplayer.com/#/account
下載最新版的JWPlayer源碼,注意初次下載時,你需要先注冊一個賬號。然后下載self-hosted player版本,同時,你會得到一個Self-Hosted Player License Key,對免費版來說,它不是必須的,但是它可以給你的賬戶定期反饋使用JWPlayer的統(tǒng)計信息。
將下載得到的壓縮包加壓后,放到Apache服務(wù)器的根目錄/var/www,參見如下目錄結(jié)構(gòu)
我將它上傳到下面的網(wǎng)址
http://download.csdn.net/detail/tao_627/6899945
下面是live_jwplayer.html 的代碼
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Crtmpserver Video Demo</title>
<script type="text/javascript" src="jwplayer.js"></script>
<script type="text/javascript">jwplayer.key="hB1eSAlsWoG5Q0Hg8BN4lkJn+6gNwfm5KFodug==";</script>
</head>
<body>
<div id='mediaspace'>Loading the JWPlayer...</div><script type="text/javascript">jwplayer("mediaspace").setup({flashplayer: "jwplayer.flash.swf",file: "rtmp://192.168.0.106/live/cuoai",image: "poster.jpg",height: 720,width: 1680});
</script></body>
</html>
3.開啟直播流和crtmpserver服務(wù)器
ffmpeg -re -i "/home/taoyx/視頻/xinyueshenghua.flv" -vcodec copy -acodec copy -f flv rtmp://192.168.0.106/live/cuoai
./crtmpserver/crtmpserver crtmpserver/crtmpserver.lua
4.從網(wǎng)頁端觀看直播流,
http://192.168.0.106/jwplayer6/live_jwplayer.html
下面是使用截圖
當然,也可以同時觀看點播節(jié)目,比如輸入如下網(wǎng)址
http://192.168.0.106/jwplayer6/test_jwplayer.html
下面是使用截圖
這樣的話,我們通過本地文件來模擬產(chǎn)生實時直播流來搭建Crtmpserver的直播基本完成,剩下的工作就是結(jié)合該demo去深入研究它內(nèi)部的代碼.請繼續(xù)參見后面的博文描述.
總結(jié)
以上是生活随笔為你收集整理的在Ubuntu 12.04 64bit上搭建Crtmpserver视频直播服务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux的watch命令--实时监测命
- 下一篇: Ubuntu 12.04 64bit上安