趙曉焱, 袁澤明, 張 凡
(1.河南師范大學計算機與信息技術學院 河南新鄉(xiāng)453007;2.河南財經(jīng)學院計算機與信息工程學院 河南鄭州450002;3.歐特克軟件(中國)有限公司 上海200122)
支持H.323和RTSP協(xié)議的雙模終端
趙曉焱1, 袁澤明2, 張 凡3
(1.河南師范大學計算機與信息技術學院 河南新鄉(xiāng)453007;2.河南財經(jīng)學院計算機與信息工程學院 河南鄭州450002;3.歐特克軟件(中國)有限公司 上海200122)
隨著網(wǎng)絡技術及多媒體壓縮技術的長足進步,提出了基于分組交換網(wǎng)絡的視頻會議系統(tǒng).傳統(tǒng)視頻會議系統(tǒng)中H.323終端不具有擴展性,而MCU的接入能力有限,極大地限制了參與會議的人數(shù).通過對H.323系統(tǒng)及RTSP協(xié)議的研究,提出了可擴展的雙模終端.系統(tǒng)采用應用層組播技術,以流媒體接入方式改進了H.323終端,實現(xiàn)了終端的擴展,提高了接入終端數(shù)量,促進了視頻會議系統(tǒng)的發(fā)展.
H.323;RTSP;視頻會議;應用層組播
視頻會議技術的出現(xiàn)和發(fā)展逐漸改變了人類的社會活動方式.隨著多媒體通信技術的不斷發(fā)展,視頻會議業(yè)務的實用性和便利性愈加顯示了其突出的優(yōu)越性,應用越來越廣泛[1].國際電信聯(lián)盟為了使各個不同的廠商生產(chǎn)的視頻會議系統(tǒng)終端互通,制定了用于分組交換網(wǎng)絡上多媒體通訊的H.320標準和H.323標準[2].標準的制定更加促進了視頻會議的發(fā)展和普及,視頻會議相關技術也成為業(yè)界和學術界的一個研究熱點.然而在大多數(shù)H.323視頻會議系統(tǒng)中,由于視頻編解碼的復雜性,計算機的運算能力不足和網(wǎng)絡的帶寬限制,一個MCU可接入的終端數(shù)有限,極大地限制了參與會議的人數(shù),這也是視頻會議技術所面臨的一個瓶頸.針對此問題,本文對傳統(tǒng)H.323終端進行了改進,加入RTSP服務器和RTSP客戶端模塊,實現(xiàn)了擴展功能,通過應用層組播技術[3],以流媒體接入方式增加了系統(tǒng)容量.
基于雙模終端的H.323系統(tǒng)物理網(wǎng)絡拓撲圖如圖1所示.
圖1 雙模終端H.323系統(tǒng)物理網(wǎng)絡拓撲Fig.1 Physical network topology of dual-mode terminal H.323 system
系統(tǒng)由雙模終端、RTSP終端、視頻服務器和控制服務器組成.雙模終端是一個關鍵的實體,同時具有H.323終端和流媒體服務器的功能.RTSP終端由RTSP服務器和RTSP客戶端組成,使媒體流可以在RTSP終端間實現(xiàn)層層轉發(fā).視頻服務器是一個可選實體,可以給雙模終端提供視頻流.控制服務器則是整個系統(tǒng)的控制中心,也是應用層組播系統(tǒng)中的RP點.此外,控制服務器扮演雙模終端和RTSP終端之間的信令轉發(fā)角色,來實現(xiàn)它們之間的協(xié)議映射.
RTSP服務器模塊和RTSP客戶端模塊的引入使H.323終端可以實現(xiàn)流媒體服務器功能.基于RTSP會話技術,雙模終端主機可通過樹型層次實現(xiàn)應用層的互聯(lián),并經(jīng)由應用層的組播分發(fā)共享流媒體數(shù)據(jù).雙模終端主要功能模塊如下:
(1)視頻流媒體轉發(fā)模塊[4].雙模終端從MCU得到的視頻數(shù)據(jù)是圖像混合后的RTP數(shù)據(jù)包,視頻的RTP包在通過單向視頻邏輯通道H323LogicChannel時被復制一份到RTSP服務器模塊的緩沖區(qū)中,當有RTSP終端連接到雙模終端時,RTSP服務器模塊將這些緩沖區(qū)中的數(shù)據(jù)轉發(fā)給RTSP終端.
(2)音頻流媒體轉發(fā)模塊.MCU發(fā)送至雙模終端音頻流中不包含本地的語音.雙模終端在收到MCU的音頻流后,首先將RTP數(shù)據(jù)包拆去包頭,送到解碼器進行解碼,然后將解碼得到的語音樣本和本地語音混合,再將混合后的語音送到編碼器進行編碼,最后把編碼數(shù)據(jù)打成RTP包,由RTSP服務器模塊進行轉發(fā).
(3)視頻流媒體接收模塊.雙模終端的RTSP客戶端模塊連接到RTSP服務器,并得到視頻流后,將得到的RTP視頻數(shù)據(jù)包復制到H.323模塊,H.323模塊則用它們代替本地采集的RTP視頻數(shù)據(jù)包發(fā)送至MCU.
(4)音頻流媒體接收模塊.與視頻流媒體接收類似,雙模終端的RTSP客戶端在收到音頻RTP包后就復制到H.323模塊,由H.323模塊發(fā)送至MCU.
雙模終端實現(xiàn)運用了OpenH323Library、PWLib等API.OpenH323Library是建立在PWLib上的一種開放源碼的C++類庫,適用于W indow s平臺和Unix平臺.系統(tǒng)開發(fā)中采用PWLib中與GU I無關的類庫,如I/O功能API、多線程API等;與GU I有關的部分,采用M FC類庫進行開發(fā),保證了終端的用戶親和性與美觀性.
傳統(tǒng)視頻會議系統(tǒng)中,本地視頻采集和視頻圖像顯示效果不理想,視頻采集圖像幀率的最大值為10幀左右.為了解決這個問題,雙模終端采用了DirectShow中的視頻采集技術及DirectDraw的顯示方式,使得視頻圖像的采集幀率可以從10幀達到20幀.實現(xiàn)流媒體轉發(fā)是實現(xiàn)雙模終端的關鍵,雙模終端和RTSP終端之間用RTSP協(xié)議來傳輸媒體流.雙模終端在與MCU之間建立了邏輯通道后,就會啟動一個RTSP服務器線程ProcessThread,線程函數(shù)主體流程如圖2所示.
雙模終端接收RTP數(shù)據(jù)包時,在H323Channel的子類H323UnidirectionalChannel中調(diào)用Start()方法,啟動了一個用于接收和發(fā)送媒體數(shù)據(jù)的后臺線程H323LogicalChannelThread,過程調(diào)用H323_RTPChannel中接收Receive()方法來傳遞媒體數(shù)據(jù),Receive()函數(shù)流程如圖3所示.
在本文研究的系統(tǒng)中,是通過流媒體傳輸技術來實現(xiàn)應用層組播的[5],這種應用層組播系統(tǒng)可以解決在只有一個數(shù)據(jù)源時構造大規(guī)模組播樹的問題.MCU處于組播系統(tǒng)第0層,雙模終端處于第1層,RTSP終端所在的層數(shù)不小于2.應用層組播系統(tǒng)的控制拓撲和數(shù)據(jù)傳輸拓撲如下:
(1)控制拓撲
在本系統(tǒng)中,雙模終端和RTSP終端都要注冊到控制服務器,它們的注冊信息中包含了自己的父節(jié)點和子節(jié)點信息,控制服務器在收到注冊信息后,會將該信息存入數(shù)據(jù)庫,并根據(jù)父節(jié)點和子節(jié)點信息形成一個控制拓撲圖.當某個節(jié)點要加入時,首先向控制服務器注冊,即發(fā)送要加入系統(tǒng)的請求,如果該節(jié)點是雙模終端,則控制服務器接受該節(jié)點注冊,并通知該節(jié)點的子節(jié)點去連接它,如果該節(jié)點是RTSP終端,控制服務器則在數(shù)據(jù)庫中查詢是否有這個節(jié)點的父節(jié)點,如果存在,則通知該節(jié)點去連接它的父節(jié)點,如果不存在,則該節(jié)點等待其父節(jié)點的加入.
(2)數(shù)據(jù)傳輸拓撲
為了避免數(shù)據(jù)循環(huán)傳輸,數(shù)據(jù)傳輸拓撲同樣選擇了樹形結構.對基于層次結構的應用層組播協(xié)議來說,其特定數(shù)據(jù)源的數(shù)據(jù)傳輸路徑已經(jīng)在控制拓撲中進行了隱式定義.因此,在控制拓撲上系統(tǒng)只需要決定哪些成員需要轉發(fā)數(shù)據(jù):首先,數(shù)據(jù)源會把數(shù)據(jù)包發(fā)向它在控制拓撲上的所有子節(jié)點;然后,這些得到數(shù)據(jù)包的節(jié)點會去判斷自己是否有子節(jié)點來決定是否要轉發(fā)數(shù)據(jù)包.本系統(tǒng)的數(shù)據(jù)傳輸拓撲如圖4所示.
圖4 數(shù)據(jù)傳輸拓撲Fig.4 Data transmission topology
系統(tǒng)由控制服務器來轉發(fā)從雙模終端到RTSP終端的控制信令,從而實現(xiàn)H.323信令和RTSP信令之間的部分間接映射,完成雙模終端對RTSP終端控制.控制服務器中運行了一個H.323信令映射狀態(tài)機線程,每當雙模終端狀態(tài)轉換時,例如連接MCU、斷開MCU、改變視頻格式、改變傳輸速率等等,雙模終端就會發(fā)送不同的消息給控制服務器的信令映射狀態(tài)機,狀態(tài)機則會根據(jù)雙模終端不同的狀態(tài)來通知RTSP終端做出相應的動作.
除了上述信令映射以外,控制服務器的信令映射狀態(tài)機可進行擴展,將雙模終端收到的H.323信令映射為RTSP終端的響應動作,如顯示雙模終端的當前狀態(tài)等等.
由于MCU接入終端能力有限,系統(tǒng)的接入容量主要由改進后終端的擴展能力決定.雙模終端可以拓撲接入RTSP終端,RTSP終端作為父節(jié)點可以再次接入子節(jié)點.系統(tǒng)測試環(huán)境:百兆以太網(wǎng),P4 2.6 G CPU, 512 M內(nèi)存,Intel 915集成顯卡,Window s XP操作系統(tǒng).每個雙模終端接入RTSP終端容量測試結果如表1所示.
從試驗結果可以得出:雙模終端接入RTSP終端數(shù)小于等于20時,在帶寬允許范圍內(nèi),數(shù)據(jù)包在雙模終端轉發(fā)的延時,即雙模終端收到數(shù)據(jù)包到轉發(fā)該數(shù)據(jù)包的時間在300~400 m s之間,RTSP終端與雙模終端之間畫面顯示延時小于300 m s,此時傳輸速率為384 kbp s,CPU占用率為30%~40%.當接入終端數(shù)大于20時,圖像運動程度越激烈,傳輸所占帶寬越多.
表1 雙模終端接入容量測試結果Tab.1 The test results of access capacity w ith dual-mode terminal
H.323視頻會議技術的出現(xiàn)帶給人們一種全新的交流方式,視頻通信也已發(fā)展成為人類社會經(jīng)濟生活中不可缺少的一部分.本文對H.323系統(tǒng)提出了以流媒體接入方式來增加系統(tǒng)容量的改進方法,這種改進方法對視頻會議系統(tǒng)具有一定的學術價值和應用前景.
[1] 張瑞.多媒體視頻會議系統(tǒng)及其應用淺探[J].科技情報開發(fā)與經(jīng)濟,2008,18(6):160-161.
[2] 董伽俐,李祥和.對H.323標準及其關鍵技術的研究[J].通信技術,2008,41(5):167-169.
[3] 章淼,徐明偉,吳建平.應用層組播研究綜述[J].電子學報,2004,32(12):22-25.
[4] 陳東偉,韓娜.嵌入式數(shù)據(jù)庫在基于多核處理器的視頻監(jiān)控中的應用[J].鄭州大學學報:理學版,2007,39(4):52-55.
[5] 雷啟明,周利平.主動流媒體編碼轉換機制研究[J].四川師范大學學報:自然科學版,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
河南省科技攻關項目,編號082102210109
趙曉焱(1981-),女,講師,碩士,主要從事多媒體網(wǎng)絡通信研究,E-mail:sonny009@sohu.com.