系統(tǒng)功能介紹:
系統(tǒng)基于RTSP協(xié)議和Darwin Streaming Server(以下簡稱DSS)實現(xiàn),具有設(shè)備接入和控制、分布式流媒體服務(wù)器部署、流媒體轉(zhuǎn)發(fā)與負(fù)載均衡、實時音視頻控制等功能,同時支持視頻直播與點播功能,整套系統(tǒng)可跨平臺運行(Windows/Linux)。
系統(tǒng)功能模塊:
1、CMS:中心管理服務(wù)器,全局唯一運行。中心管理服務(wù)器接入來自設(shè)備端的注冊連接、其他服務(wù)節(jié)點的連接(如流媒體服務(wù)器、回放點播服務(wù)器等)、客戶端的請求連接。所有關(guān)于設(shè)備連接的維護(hù)與管理、控制命令的下發(fā)、設(shè)備信息上報解析,客戶端請求控制,負(fù)載均衡等控制均由中心管理服務(wù)器進(jìn)行。
2、EasyDarwin:流媒體服務(wù)器,可分布式多點部署。流媒體服務(wù)器作為整套系統(tǒng)的流媒體服務(wù)節(jié)點單元,可多點、分布式部署于多個網(wǎng)絡(luò)環(huán)境中,以實現(xiàn)具體的流媒體直播轉(zhuǎn)發(fā)、點播回放等需求。
3、EasyIpCamera:設(shè)備模擬器(For Win32)。模擬系統(tǒng)設(shè)備,連接并保活至中心管理服務(wù)器,接收來自CMS的控制命令。采集Windows攝像頭視頻與MicroPhone音頻輸入,分別利用x264和FAAC進(jìn)行H264及AAC編碼,再通過RTSP和RTP,將實時音視頻數(shù)據(jù)推送到流媒體服務(wù)器,并由流媒體服務(wù)器進(jìn)行轉(zhuǎn)發(fā)和分發(fā),實現(xiàn)直播。
系統(tǒng)設(shè)計框架:
系統(tǒng)設(shè)計的思路最早源于我的一篇博客:http://blog.csdn.net/xiejiashu/article/details/8739509,如今已在這個思路上面做了許多修改,能夠分布式接入多個流媒體轉(zhuǎn)發(fā)服務(wù)器,并且能夠均衡地將轉(zhuǎn)發(fā)的壓力分配到多個流媒體服務(wù)器上去,框架圖如是:

系統(tǒng)演示下載:
本系統(tǒng)后續(xù)開發(fā)及更新為:EasyDSS(Easy Darwin Streaming System),最新演示版本下載地址:http://pan.baidu.com/s/1ntoFSSh,后續(xù)更新也將在博客中發(fā)布。
系統(tǒng)主要配置:
1、CMS/CMS.xml
rtsp_port:配置CMS對rtsp的監(jiān)聽端口,所有的設(shè)備、流媒體服務(wù)器、客戶端統(tǒng)一由此端口接入,默認(rèn)為554端口。
2、EasyDarwin/EasyDarwin.xml
rtsp_port:流媒體轉(zhuǎn)發(fā)端口,設(shè)備端推送流媒體的端口,默認(rèn)8554。
cms_addr:中心管理服務(wù)器的IP地址(盡量不要用本地回環(huán)地址127.0.0.1,除非CMS、EasyDarwin、EasyIpCamera、客戶端都在一臺機(jī)器上)。
cms_port:中心管理服務(wù)器rtsp監(jiān)聽端口,也就是上面CMS中配置的端口,如554端口。
3、EasyIpCamera/config.ini
server:中心管理服務(wù)器CMS的域名或者IP。
port=554:中心管理服務(wù)器rtsp的監(jiān)聽端口,也就是1中配置的端口,如554端口。
device=live:設(shè)備ID,不可重復(fù),否則設(shè)備無法注冊到CMS。
suffix=sdp:不變即可。
系統(tǒng)部署:
1、CMS:運行start.bat,以Debug模式運行CMS。
2、EasyDarwin:運行start.bat,以Debug模式運行EasyDarwin。
3、運行easyIpCamera.exe(注:需要配備USB攝像頭)。
獲取視頻:
用VLC、CorePlayer等請求網(wǎng)絡(luò)串流:rtsp://[CMS_IP]:[CMS_Port]/[Device_ID].sdp,例如:服務(wù)器地址192.168.1.3,端口554,設(shè)備ID為live,請求地址為:rtsp://192.168.1.3:554/live.sdp
注意!:
服務(wù)器注意設(shè)置端口例外或者關(guān)閉防火墻
運行效果:
演示圖1:流媒體服務(wù)器與設(shè)備live分別注冊到中心管理服務(wù)器

演示圖2:EasyDarwin流媒體服務(wù)器運行

演示圖3:Windows設(shè)備模擬器連接到中心管理服務(wù)器

演示圖4:用vlc請求設(shè)備[live]的實時視頻

演示圖5:用vlc請求設(shè)備[live]的實時視頻
用Windows模擬器演示,實時視頻延時在1s左右,延時原因在模擬器采集編碼端,經(jīng)過測試,用專門的編碼芯片設(shè)備發(fā)布實時視頻,無延時感覺,后面將繼續(xù)修復(fù)Win32模擬器此問題。
后續(xù)更新:
未完待續(xù)……
------------------------------------------------------------
本文轉(zhuǎn)自www.,更多開源流媒體解決方案,請關(guān)注我們的微信:EasyDarwin

|