趙曉焱, 袁澤明, 張 凡
(1.河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院 河南新鄉(xiāng)453007;2.河南財(cái)經(jīng)學(xué)院計(jì)算機(jī)與信息工程學(xué)院 河南鄭州450002;3.歐特克軟件(中國(guó))有限公司 上海200122)
支持H.323和RTSP協(xié)議的雙模終端
趙曉焱1, 袁澤明2, 張 凡3
(1.河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院 河南新鄉(xiāng)453007;2.河南財(cái)經(jīng)學(xué)院計(jì)算機(jī)與信息工程學(xué)院 河南鄭州450002;3.歐特克軟件(中國(guó))有限公司 上海200122)
隨著網(wǎng)絡(luò)技術(shù)及多媒體壓縮技術(shù)的長(zhǎng)足進(jìn)步,提出了基于分組交換網(wǎng)絡(luò)的視頻會(huì)議系統(tǒng).傳統(tǒng)視頻會(huì)議系統(tǒng)中H.323終端不具有擴(kuò)展性,而MCU的接入能力有限,極大地限制了參與會(huì)議的人數(shù).通過對(duì)H.323系統(tǒng)及RTSP協(xié)議的研究,提出了可擴(kuò)展的雙模終端.系統(tǒng)采用應(yīng)用層組播技術(shù),以流媒體接入方式改進(jìn)了H.323終端,實(shí)現(xiàn)了終端的擴(kuò)展,提高了接入終端數(shù)量,促進(jìn)了視頻會(huì)議系統(tǒng)的發(fā)展.
H.323;RTSP;視頻會(huì)議;應(yīng)用層組播
視頻會(huì)議技術(shù)的出現(xiàn)和發(fā)展逐漸改變了人類的社會(huì)活動(dòng)方式.隨著多媒體通信技術(shù)的不斷發(fā)展,視頻會(huì)議業(yè)務(wù)的實(shí)用性和便利性愈加顯示了其突出的優(yōu)越性,應(yīng)用越來越廣泛[1].國(guó)際電信聯(lián)盟為了使各個(gè)不同的廠商生產(chǎn)的視頻會(huì)議系統(tǒng)終端互通,制定了用于分組交換網(wǎng)絡(luò)上多媒體通訊的H.320標(biāo)準(zhǔn)和H.323標(biāo)準(zhǔn)[2].標(biāo)準(zhǔn)的制定更加促進(jìn)了視頻會(huì)議的發(fā)展和普及,視頻會(huì)議相關(guān)技術(shù)也成為業(yè)界和學(xué)術(shù)界的一個(gè)研究熱點(diǎn).然而在大多數(shù)H.323視頻會(huì)議系統(tǒng)中,由于視頻編解碼的復(fù)雜性,計(jì)算機(jī)的運(yùn)算能力不足和網(wǎng)絡(luò)的帶寬限制,一個(gè)MCU可接入的終端數(shù)有限,極大地限制了參與會(huì)議的人數(shù),這也是視頻會(huì)議技術(shù)所面臨的一個(gè)瓶頸.針對(duì)此問題,本文對(duì)傳統(tǒng)H.323終端進(jìn)行了改進(jìn),加入RTSP服務(wù)器和RTSP客戶端模塊,實(shí)現(xiàn)了擴(kuò)展功能,通過應(yīng)用層組播技術(shù)[3],以流媒體接入方式增加了系統(tǒng)容量.
基于雙模終端的H.323系統(tǒng)物理網(wǎng)絡(luò)拓?fù)鋱D如圖1所示.
圖1 雙模終端H.323系統(tǒng)物理網(wǎng)絡(luò)拓?fù)銯ig.1 Physical network topology of dual-mode terminal H.323 system
系統(tǒng)由雙模終端、RTSP終端、視頻服務(wù)器和控制服務(wù)器組成.雙模終端是一個(gè)關(guān)鍵的實(shí)體,同時(shí)具有H.323終端和流媒體服務(wù)器的功能.RTSP終端由RTSP服務(wù)器和RTSP客戶端組成,使媒體流可以在RTSP終端間實(shí)現(xiàn)層層轉(zhuǎn)發(fā).視頻服務(wù)器是一個(gè)可選實(shí)體,可以給雙模終端提供視頻流.控制服務(wù)器則是整個(gè)系統(tǒng)的控制中心,也是應(yīng)用層組播系統(tǒng)中的RP點(diǎn).此外,控制服務(wù)器扮演雙模終端和RTSP終端之間的信令轉(zhuǎn)發(fā)角色,來實(shí)現(xiàn)它們之間的協(xié)議映射.
RTSP服務(wù)器模塊和RTSP客戶端模塊的引入使H.323終端可以實(shí)現(xiàn)流媒體服務(wù)器功能.基于RTSP會(huì)話技術(shù),雙模終端主機(jī)可通過樹型層次實(shí)現(xiàn)應(yīng)用層的互聯(lián),并經(jīng)由應(yīng)用層的組播分發(fā)共享流媒體數(shù)據(jù).雙模終端主要功能模塊如下:
(1)視頻流媒體轉(zhuǎn)發(fā)模塊[4].雙模終端從MCU得到的視頻數(shù)據(jù)是圖像混合后的RTP數(shù)據(jù)包,視頻的RTP包在通過單向視頻邏輯通道H323LogicChannel時(shí)被復(fù)制一份到RTSP服務(wù)器模塊的緩沖區(qū)中,當(dāng)有RTSP終端連接到雙模終端時(shí),RTSP服務(wù)器模塊將這些緩沖區(qū)中的數(shù)據(jù)轉(zhuǎn)發(fā)給RTSP終端.
(2)音頻流媒體轉(zhuǎn)發(fā)模塊.MCU發(fā)送至雙模終端音頻流中不包含本地的語音.雙模終端在收到MCU的音頻流后,首先將RTP數(shù)據(jù)包拆去包頭,送到解碼器進(jìn)行解碼,然后將解碼得到的語音樣本和本地語音混合,再將混合后的語音送到編碼器進(jìn)行編碼,最后把編碼數(shù)據(jù)打成RTP包,由RTSP服務(wù)器模塊進(jìn)行轉(zhuǎn)發(fā).
(3)視頻流媒體接收模塊.雙模終端的RTSP客戶端模塊連接到RTSP服務(wù)器,并得到視頻流后,將得到的RTP視頻數(shù)據(jù)包復(fù)制到H.323模塊,H.323模塊則用它們代替本地采集的RTP視頻數(shù)據(jù)包發(fā)送至MCU.
(4)音頻流媒體接收模塊.與視頻流媒體接收類似,雙模終端的RTSP客戶端在收到音頻RTP包后就復(fù)制到H.323模塊,由H.323模塊發(fā)送至MCU.
雙模終端實(shí)現(xiàn)運(yùn)用了OpenH323Library、PWLib等API.OpenH323Library是建立在PWLib上的一種開放源碼的C++類庫(kù),適用于W indow s平臺(tái)和Unix平臺(tái).系統(tǒng)開發(fā)中采用PWLib中與GU I無關(guān)的類庫(kù),如I/O功能API、多線程API等;與GU I有關(guān)的部分,采用M FC類庫(kù)進(jìn)行開發(fā),保證了終端的用戶親和性與美觀性.
傳統(tǒng)視頻會(huì)議系統(tǒng)中,本地視頻采集和視頻圖像顯示效果不理想,視頻采集圖像幀率的最大值為10幀左右.為了解決這個(gè)問題,雙模終端采用了DirectShow中的視頻采集技術(shù)及DirectDraw的顯示方式,使得視頻圖像的采集幀率可以從10幀達(dá)到20幀.實(shí)現(xiàn)流媒體轉(zhuǎn)發(fā)是實(shí)現(xiàn)雙模終端的關(guān)鍵,雙模終端和RTSP終端之間用RTSP協(xié)議來傳輸媒體流.雙模終端在與MCU之間建立了邏輯通道后,就會(huì)啟動(dòng)一個(gè)RTSP服務(wù)器線程ProcessThread,線程函數(shù)主體流程如圖2所示.
雙模終端接收RTP數(shù)據(jù)包時(shí),在H323Channel的子類H323UnidirectionalChannel中調(diào)用Start()方法,啟動(dòng)了一個(gè)用于接收和發(fā)送媒體數(shù)據(jù)的后臺(tái)線程H323LogicalChannelThread,過程調(diào)用H323_RTPChannel中接收Receive()方法來傳遞媒體數(shù)據(jù),Receive()函數(shù)流程如圖3所示.
在本文研究的系統(tǒng)中,是通過流媒體傳輸技術(shù)來實(shí)現(xiàn)應(yīng)用層組播的[5],這種應(yīng)用層組播系統(tǒng)可以解決在只有一個(gè)數(shù)據(jù)源時(shí)構(gòu)造大規(guī)模組播樹的問題.MCU處于組播系統(tǒng)第0層,雙模終端處于第1層,RTSP終端所在的層數(shù)不小于2.應(yīng)用層組播系統(tǒng)的控制拓?fù)浜蛿?shù)據(jù)傳輸拓?fù)淙缦?
(1)控制拓?fù)?/p>
在本系統(tǒng)中,雙模終端和RTSP終端都要注冊(cè)到控制服務(wù)器,它們的注冊(cè)信息中包含了自己的父節(jié)點(diǎn)和子節(jié)點(diǎn)信息,控制服務(wù)器在收到注冊(cè)信息后,會(huì)將該信息存入數(shù)據(jù)庫(kù),并根據(jù)父節(jié)點(diǎn)和子節(jié)點(diǎn)信息形成一個(gè)控制拓?fù)鋱D.當(dāng)某個(gè)節(jié)點(diǎn)要加入時(shí),首先向控制服務(wù)器注冊(cè),即發(fā)送要加入系統(tǒng)的請(qǐng)求,如果該節(jié)點(diǎn)是雙模終端,則控制服務(wù)器接受該節(jié)點(diǎn)注冊(cè),并通知該節(jié)點(diǎn)的子節(jié)點(diǎn)去連接它,如果該節(jié)點(diǎn)是RTSP終端,控制服務(wù)器則在數(shù)據(jù)庫(kù)中查詢是否有這個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn),如果存在,則通知該節(jié)點(diǎn)去連接它的父節(jié)點(diǎn),如果不存在,則該節(jié)點(diǎn)等待其父節(jié)點(diǎn)的加入.
(2)數(shù)據(jù)傳輸拓?fù)?/p>
為了避免數(shù)據(jù)循環(huán)傳輸,數(shù)據(jù)傳輸拓?fù)渫瑯舆x擇了樹形結(jié)構(gòu).對(duì)基于層次結(jié)構(gòu)的應(yīng)用層組播協(xié)議來說,其特定數(shù)據(jù)源的數(shù)據(jù)傳輸路徑已經(jīng)在控制拓?fù)渲羞M(jìn)行了隱式定義.因此,在控制拓?fù)渖舷到y(tǒng)只需要決定哪些成員需要轉(zhuǎn)發(fā)數(shù)據(jù):首先,數(shù)據(jù)源會(huì)把數(shù)據(jù)包發(fā)向它在控制拓?fù)渖系乃凶庸?jié)點(diǎn);然后,這些得到數(shù)據(jù)包的節(jié)點(diǎn)會(huì)去判斷自己是否有子節(jié)點(diǎn)來決定是否要轉(zhuǎn)發(fā)數(shù)據(jù)包.本系統(tǒng)的數(shù)據(jù)傳輸拓?fù)淙鐖D4所示.
圖4 數(shù)據(jù)傳輸拓?fù)銯ig.4 Data transmission topology
系統(tǒng)由控制服務(wù)器來轉(zhuǎn)發(fā)從雙模終端到RTSP終端的控制信令,從而實(shí)現(xiàn)H.323信令和RTSP信令之間的部分間接映射,完成雙模終端對(duì)RTSP終端控制.控制服務(wù)器中運(yùn)行了一個(gè)H.323信令映射狀態(tài)機(jī)線程,每當(dāng)雙模終端狀態(tài)轉(zhuǎn)換時(shí),例如連接MCU、斷開MCU、改變視頻格式、改變傳輸速率等等,雙模終端就會(huì)發(fā)送不同的消息給控制服務(wù)器的信令映射狀態(tài)機(jī),狀態(tài)機(jī)則會(huì)根據(jù)雙模終端不同的狀態(tài)來通知RTSP終端做出相應(yīng)的動(dòng)作.
除了上述信令映射以外,控制服務(wù)器的信令映射狀態(tài)機(jī)可進(jìn)行擴(kuò)展,將雙模終端收到的H.323信令映射為RTSP終端的響應(yīng)動(dòng)作,如顯示雙模終端的當(dāng)前狀態(tài)等等.
由于MCU接入終端能力有限,系統(tǒng)的接入容量主要由改進(jìn)后終端的擴(kuò)展能力決定.雙模終端可以拓?fù)浣尤隦TSP終端,RTSP終端作為父節(jié)點(diǎn)可以再次接入子節(jié)點(diǎn).系統(tǒng)測(cè)試環(huán)境:百兆以太網(wǎng),P4 2.6 G CPU, 512 M內(nèi)存,Intel 915集成顯卡,Window s XP操作系統(tǒng).每個(gè)雙模終端接入RTSP終端容量測(cè)試結(jié)果如表1所示.
從試驗(yàn)結(jié)果可以得出:雙模終端接入RTSP終端數(shù)小于等于20時(shí),在帶寬允許范圍內(nèi),數(shù)據(jù)包在雙模終端轉(zhuǎn)發(fā)的延時(shí),即雙模終端收到數(shù)據(jù)包到轉(zhuǎn)發(fā)該數(shù)據(jù)包的時(shí)間在300~400 m s之間,RTSP終端與雙模終端之間畫面顯示延時(shí)小于300 m s,此時(shí)傳輸速率為384 kbp s,CPU占用率為30%~40%.當(dāng)接入終端數(shù)大于20時(shí),圖像運(yùn)動(dòng)程度越激烈,傳輸所占帶寬越多.
表1 雙模終端接入容量測(cè)試結(jié)果Tab.1 The test results of access capacity w ith dual-mode terminal
H.323視頻會(huì)議技術(shù)的出現(xiàn)帶給人們一種全新的交流方式,視頻通信也已發(fā)展成為人類社會(huì)經(jīng)濟(jì)生活中不可缺少的一部分.本文對(duì)H.323系統(tǒng)提出了以流媒體接入方式來增加系統(tǒng)容量的改進(jìn)方法,這種改進(jìn)方法對(duì)視頻會(huì)議系統(tǒng)具有一定的學(xué)術(shù)價(jià)值和應(yīng)用前景.
[1] 張瑞.多媒體視頻會(huì)議系統(tǒng)及其應(yīng)用淺探[J].科技情報(bào)開發(fā)與經(jīng)濟(jì),2008,18(6):160-161.
[2] 董伽俐,李祥和.對(duì)H.323標(biāo)準(zhǔn)及其關(guān)鍵技術(shù)的研究[J].通信技術(shù),2008,41(5):167-169.
[3] 章淼,徐明偉,吳建平.應(yīng)用層組播研究綜述[J].電子學(xué)報(bào),2004,32(12):22-25.
[4] 陳東偉,韓娜.嵌入式數(shù)據(jù)庫(kù)在基于多核處理器的視頻監(jiān)控中的應(yīng)用[J].鄭州大學(xué)學(xué)報(bào):理學(xué)版,2007,39(4):52-55.
[5] 雷啟明,周利平.主動(dòng)流媒體編碼轉(zhuǎn)換機(jī)制研究[J].四川師范大學(xué)學(xué)報(bào):自然科學(xué)版,2008,36(6):770-774.
A Double Mode Term inal Supporting RTSP Protocol for H.323 System
ZHAO Xiao-yan1, YUAN Ze-m ing2, ZHANG Fan3
(1.College of Com puter and Inform ation Technology,Henan N ormal University,Xinxiang 453007, China;2.College of Com puter and Inform ation Engineering,Henan University of Finance and Econom ics,Zhengzhou 450002,China;3.Autodesk Inc,Shanghai 200122,China)
W ith the great development of netwo rk technology and m ultimedia comp ression technology,the video conference system has been achieved based on sw itch packet netwo rk.The H. 323 terminal of the traditional video conferencing system does not have the scalability and MCU access capacity is limited,w hich greatly limits the number of peop le participating in themeeting. Aim ing at the p roblem,a method based on streaming media using the app lication layer m ulticast technology is put fo rw ard to enlarge the num ber of terminals through the research of H.323 system and RTSP p rotocol.It p romotes the development of video conference system.
H.323;RTSP;video conference;app lication levelmulticast
TP 393
A
1671-6841(2010)02-0083-04
2008-12-26; < class="emphasis_bold">修回日期:20
2009-10-19
河南省科技攻關(guān)項(xiàng)目,編號(hào)082102210109
趙曉焱(1981-),女,講師,碩士,主要從事多媒體網(wǎng)絡(luò)通信研究,E-mail:sonny009@sohu.com.