基于IP多播視頻系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
本文著重介紹了流媒技術(shù)及其底層傳輸技術(shù)——IP多播。基于校園網(wǎng)設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)可供網(wǎng)絡(luò)現(xiàn)場(chǎng)直播、視頻點(diǎn)播等服務(wù)的視頻通信系統(tǒng),系統(tǒng)中結(jié)合了多播技術(shù)中節(jié)約帶寬、減輕服務(wù)器負(fù)載的優(yōu)勢(shì),并采用了Real公司RealSystem流媒體系統(tǒng),在客戶端/服務(wù)器模式下完成。
本文引用地址:http://butianyuan.cn/article/155745.htm
1 流媒體技術(shù)
所謂流媒體是指采用流式傳輸方式在Internet播放媒體文件,即將整個(gè)音頻、視頻等連續(xù)媒體文件經(jīng)過(guò)壓縮后,由服務(wù)器向用戶計(jì)算機(jī)連續(xù)和實(shí)時(shí)傳送。用戶只需經(jīng)過(guò)幾秒或幾十秒的啟動(dòng)延時(shí)即可進(jìn)行播放和觀看,剩余部分將在后臺(tái)繼續(xù)下載,邊下載邊播放。實(shí)現(xiàn)流式傳輸有兩種方法:實(shí)時(shí)流式傳輸(Real times treaming)和順序流式傳輸(Progressive streaming)。其中實(shí)時(shí)流式傳輸需要專(zhuān)用的流媒體服務(wù)器與傳輸協(xié)議(如實(shí)時(shí)傳輸協(xié)議RTP、實(shí)時(shí)傳輸控制協(xié)議RTCP、實(shí)時(shí)流協(xié)議RTSP和媒體服務(wù)器協(xié)議MMS等)來(lái)保證媒體信號(hào)帶寬與網(wǎng)絡(luò)連接匹配,使媒體可被實(shí)時(shí)觀看到,特別適合用于現(xiàn)場(chǎng)直播。
目前支持流媒體技術(shù)的解決方案主要有RealNet works公司的RealSystem,Microsoft公司的Windows MediaTechnology和Apple公司的QuickTime。
2 多播技術(shù)
從底層傳輸模式看,實(shí)時(shí)流式傳輸支持單播、廣播和多播。所謂多播是指數(shù)據(jù)源將IP數(shù)據(jù)包“盡力而為”地發(fā)送到共享相同IP地址的一個(gè)主機(jī)組中,然后利用網(wǎng)絡(luò)設(shè)備進(jìn)行相應(yīng)的復(fù)制和分發(fā),只有屬于該組的成員才能接收到該數(shù)據(jù)包。顯然,對(duì)于網(wǎng)上視頻直播來(lái)說(shuō),因?yàn)榇蟛糠钟脩艚邮盏臄?shù)據(jù)都是相同的,使用多播傳輸模式比點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)包傳輸方式——單播和一點(diǎn)對(duì)所有主機(jī)的數(shù)據(jù)包傳輸方式——廣播,在節(jié)約網(wǎng)絡(luò)帶寬、減輕服務(wù)器負(fù)載和分布式網(wǎng)絡(luò)應(yīng)用更容易實(shí)現(xiàn)等方面有著明顯優(yōu)勢(shì)。
多播采用IANAIP地址分類(lèi)中的D類(lèi)地址,即范圍為224.0.0.0~239.255.255.255。在此基礎(chǔ)上,CERNET還進(jìn)一步將該地址空間劃分為4個(gè)管理域:Internet范圍、CERNET主干網(wǎng)、省網(wǎng)和校園網(wǎng),其中校園網(wǎng)的多播地址空間為239.251.192.0/18。
除此之外,要實(shí)現(xiàn)多播至少還要:(1)在主機(jī)與路由器之間部署管理組成員關(guān)系的Internet組管理協(xié)議(IGMP)。(2)在路由器之間部署轉(zhuǎn)發(fā)數(shù)據(jù)包的多播路由協(xié)議。一般來(lái)說(shuō),多播路由協(xié)議可以分為兩類(lèi):一種是密集模式,如DVMRP、PIM-DM、MOSPF等,比較適合于網(wǎng)絡(luò)帶寬充足、組成員分布密集的環(huán)境;一種是稀疏模式,如PIM-SM等,比較適合于網(wǎng)絡(luò)帶寬有限、組成員分布稀疏的情況。(3)為了有效抑制多播數(shù)據(jù)包在鏈路層的擴(kuò)散,需要部署IGMPSnooping,它依靠偵聽(tīng)主機(jī)與路由器之間通信的IGMP報(bào)文將同一多播組的活動(dòng)成員映射為一個(gè)VLAN,在收到多播數(shù)據(jù)包后,僅向該多播組所對(duì)應(yīng)的VLAN成員轉(zhuǎn)發(fā)。
3 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)采用了Real公司RealSystem的流媒體系統(tǒng),結(jié)合IP多播技術(shù),在客戶端/服務(wù)器模式下,構(gòu)建了一個(gè)可供在線直播,視頻點(diǎn)播等服務(wù)的流媒體通信系統(tǒng)如圖1所示。由于TCP的慢啟動(dòng)特性和丟失重傳的可靠性保證,使得它并不適合流媒體傳輸,更不適合多播。當(dāng)前大多數(shù)研究均是基于UDP的Multicast,而用RTP/RTCP作為信息反饋的框架。因此IP多播(IPMulticast)成為了最好的解決方法。
3.1 RealSystem流媒體系統(tǒng)
3.1.1 RealSystem的構(gòu)成
Real公司的RealSystem流媒體系統(tǒng)是一種性能非常優(yōu)秀和非常穩(wěn)定的系統(tǒng),它在全球有很高的市場(chǎng)占有率。它采用的是一種高性能的自適應(yīng)壓縮算法,生成獨(dú)特的RM格式文件,可以有很高的壓縮比率,并可以適應(yīng)從56kbit/s到10Mbit/s以上帶寬的線路要求。Real公司的流媒體系統(tǒng)目前在實(shí)時(shí)網(wǎng)絡(luò)直播領(lǐng)域無(wú)人可以替代,有大量的實(shí)際方案可供選擇,而且可以適應(yīng)各個(gè)平臺(tái)的操作系統(tǒng)。目前可以選擇的平臺(tái)有NT、Linux、Solaris、UNIX、AIX及Irix系統(tǒng)等,是目前支持平臺(tái)最多的一個(gè)系統(tǒng),其工作原理如圖2所示。
評(píng)論