摘 要:隨著網(wǎng)絡(luò)多媒體技術(shù)的快速發(fā)展,傳統(tǒng)的電話會(huì)議系統(tǒng)已不能適應(yīng)現(xiàn)代社會(huì)對(duì)多媒體通信的要求,在這種情況下,基于Internet的視頻會(huì)議系統(tǒng)便應(yīng)運(yùn)而生。文章主要介紹如何利用有限的網(wǎng)絡(luò)帶寬實(shí)現(xiàn)多點(diǎn)視頻會(huì)議,即將多路視頻在服務(wù)器端混合為一路,然后發(fā)送到各端點(diǎn),該方案巧妙地利用了多點(diǎn)控制單元(MCU)的功能,有效地節(jié)省了網(wǎng)絡(luò)帶寬,非常適合目前Internet的現(xiàn)狀,所實(shí)現(xiàn)的原型系統(tǒng)及測試結(jié)果表明了文章設(shè)計(jì)方案的可行性和有效性。
關(guān)鍵詞:H323;MCU;混合器;視頻會(huì)議系統(tǒng)
1 引言
會(huì)議是人類社會(huì)政治經(jīng)濟(jì)生活中不可缺少的一部分。隨著ITU制定出第一個(gè)H.320標(biāo)準(zhǔn)和H.323標(biāo)準(zhǔn),視頻會(huì)議獲得了長足的發(fā)展。視頻會(huì)議作為一種先進(jìn)的多媒體通信手段,已逐步被眾多政府部門和跨地區(qū)企事業(yè)單位所接受和采用[1]。然而相對(duì)于Internet有限的帶寬,圖像通信所需要的帶寬太大,視頻會(huì)議無法承載原始視頻的多路通信。因此,多點(diǎn)控制單元(MCU)對(duì)于音視頻的多路通信起著重要的作用[2]。文章主要針對(duì)視頻會(huì)議中的主要部分MCU,研究分析H.323視頻會(huì)議中如何利用有限的帶寬實(shí)現(xiàn)音視頻的混合于傳輸。
2 H323協(xié)議簡介
H.323協(xié)議是ITU第15研究組SG-15于1996年通過的在不保證服務(wù)質(zhì)量(QoS)的分組交換網(wǎng)絡(luò)(PBN:Packet based networks)上傳遞信息的多媒體通信協(xié)議。從整體上來說,H.323是一個(gè)框架性協(xié)議,它涉及到終端設(shè)備、視頻、音頻和數(shù)據(jù)傳輸、通信控制、網(wǎng)絡(luò)接口方面的內(nèi)容,還包括了組成多點(diǎn)會(huì)議的多點(diǎn)控制單元(MCU)、多點(diǎn)控制器(MC)、多點(diǎn)處理器(MP)、網(wǎng)關(guān)以及關(guān)守等。H.323為基于網(wǎng)絡(luò)的通信系統(tǒng)定義了四個(gè)主要的組件:終端(Terminal)、網(wǎng)關(guān)(Gateway)、網(wǎng)守(Gatekeeper)、多點(diǎn)控制單元(MCU)。所有終端都必須支持語音通信,視頻和數(shù)據(jù)通信可選.H.323規(guī)定了不同的音頻、視頻或數(shù)據(jù)終端協(xié)同工作所需的操作模式[3]。H.323終端的組成中。在發(fā)送端,從輸入設(shè)備獲取的視頻和音頻信號(hào),經(jīng)編碼器壓縮編碼后,按照協(xié)議規(guī)定的格式打包,通過網(wǎng)絡(luò)發(fā)送出去.在接收端,來自網(wǎng)絡(luò)的數(shù)據(jù)包首先被解包,獲得的視頻、音頻壓縮數(shù)據(jù)經(jīng)解碼后送入輸出設(shè)備,用戶數(shù)據(jù)和控制數(shù)據(jù)也得到了相應(yīng)的處理。
3 混合器的功能分析
在視頻會(huì)議過程中,每個(gè)終端以點(diǎn)對(duì)點(diǎn)方式在控制信道上與MCU信令通信,并在用戶數(shù)據(jù)包協(xié)議(UDP:User Datagram Protocol)信道上與之進(jìn)行音頻,視頻和數(shù)據(jù)通信。在此過程中,MCU融合了多點(diǎn)控制器(MC)和多點(diǎn)處理器(MP)兩個(gè)功能。MCU可以使用分布式多點(diǎn)音頻和集中式多點(diǎn)視頻。在此模式中,MCU對(duì)音視頻的操作是不同的,例如當(dāng)音頻信號(hào)來到時(shí),MCP將之從所屬音頻通道直接拷貝到其他每個(gè)會(huì)議成員的音頻通道中;而當(dāng)視頻信號(hào)來到時(shí),MCU先將其存入緩存,等所有成員的幀數(shù)據(jù)全部存入緩存后,分別發(fā)送至每個(gè)會(huì)議終端,從而達(dá)到視頻混合的目的[6]。
3.1 MCU對(duì)視頻的標(biāo)識(shí)
在對(duì)視頻的轉(zhuǎn)發(fā)過程中對(duì)視頻的標(biāo)識(shí)顯得特別重要。當(dāng)多路視頻組合為一路發(fā)送往各終端時(shí),需要將各視頻與終端聯(lián)系起來,從而使每個(gè)終端都能清楚它們的對(duì)應(yīng)關(guān)系。另外為了滿足視頻會(huì)議中各成員之間的單獨(dú)交互,在終端得到會(huì)議成員列表也是必不可少的。
3.2 MCU對(duì)多會(huì)議室的支持
當(dāng)MCU中包含多個(gè)會(huì)議室時(shí),情況有所復(fù)雜。我們?yōu)槊恳粋€(gè)會(huì)議室分配一個(gè)“房間”(room);由于不在同一會(huì)議室,不同房間中的成員不能接收到其他房間中音視頻信息,這樣MCU就需要為每個(gè)房間增加一個(gè)標(biāo)識(shí),以便區(qū)別各會(huì)議室的音視頻信息。
4 混合器的設(shè)計(jì)實(shí)現(xiàn)
Openh323封裝了視頻會(huì)議通信的整個(gè)過程,利用它暴露的接口類,我們可以很容易地實(shí)現(xiàn)MCU的混合器功能。
4.1 H323終端
H323EndPoint類管理H323終端(endpoint),一個(gè)終端可能有0個(gè)或者多個(gè)偵聽線程來負(fù)責(zé)關(guān)于呼入的連接,終端也可能有0或者多個(gè)通過MakeCall()初始化呼出的連接,一旦一個(gè)連接存在,該連接就被此類的實(shí)例管理。此類最主要的內(nèi)容是包含終端應(yīng)用程序的能力,也就是終端可以處理的協(xié)議和多媒體數(shù)字信號(hào)編解碼器(codec),大多數(shù)應(yīng)用程序通常都會(huì)創(chuàng)建一個(gè)H323Endpoint類的派生類,也會(huì)創(chuàng)建一個(gè)H323Connection類的派生類并重載CreateConnection()函數(shù)。
4.2 音頻轉(zhuǎn)發(fā)的實(shí)現(xiàn)
音頻信號(hào)的轉(zhuǎn)發(fā)有些復(fù)雜,因?yàn)樗婕暗交祛l,當(dāng)有終端發(fā)送的音頻到達(dá)MCU時(shí),MCU執(zhí)行以下操作:
(1) 調(diào)用相應(yīng)的解碼函數(shù)對(duì)通道中接受的音頻信號(hào)進(jìn)行解碼,并將解碼后的音頻信號(hào)寫入IncomingAudio channel通道。
(2) IncomingAudio函數(shù)將數(shù)據(jù)發(fā)送至緩存,并將數(shù)據(jù)從緩存依次復(fù)制到其他所有通道的緩存中。這樣,MCU完成了對(duì)接收音頻的處理.,隨后MCU開始發(fā)送音頻信號(hào)。
(3) 依次對(duì)所有與MCU連接的終端調(diào)用OutgoingAudio函數(shù)將所有連接(不包括即將發(fā)送音頻的連接)緩存中的音頻信號(hào)進(jìn)行混頻。
(4) 音頻編碼器將混頻后的信號(hào)經(jīng)由與MCU連接的通道發(fā)送往各終端,完成音頻的轉(zhuǎn)發(fā)功能。
4.3 視頻轉(zhuǎn)發(fā)的實(shí)現(xiàn)
由于不用進(jìn)行過多處理,視頻信號(hào)的轉(zhuǎn)發(fā)相對(duì)簡單。MCU中有一個(gè)緩存VideoBuffer專門用于視頻轉(zhuǎn)發(fā),當(dāng)視頻信號(hào)到達(dá)時(shí),視頻解碼器(Video Codec)對(duì)之進(jìn)行解碼并將結(jié)果視頻寫入IncomingVideo channel通道,MCU調(diào)用WriteVideo將解碼后的視頻幀寫入緩存的指定位置(例如左上角);一旦所有視頻幀都被寫入緩存, MCU便調(diào)用ReadVideo將緩存中的組合視頻幀(一般是分塊)寫入各通道,最后由編碼器編碼后發(fā)送至各終端。另外,由于視頻大小的限制,原始視頻需要經(jīng)過抽樣。endprint
4.4 會(huì)議成員列表
Openh323中沒有給出相關(guān)的功能接口,因此這項(xiàng)功能需要我們來擴(kuò)展,終端要從MCU得到會(huì)議成員列表,即通過H323EndPoint向每個(gè)終端發(fā)送包含成員列表的文本消息。當(dāng)有終端與MCU建立連接時(shí),MCU會(huì)將成員列表以字符串的形式封裝,并發(fā)送至每個(gè)終端;終端相應(yīng)地增加消息處理函數(shù)來接收MCU方發(fā)送來的成員列表,并在界面中顯示。
4.5 對(duì)多會(huì)議室的支持
當(dāng)用戶與MCU建立連接時(shí),需要為連接指定一個(gè)會(huì)議標(biāo)識(shí)(默認(rèn)為room1)。這樣,在MCU中便存在多個(gè)房間,當(dāng)會(huì)議開始后,每一個(gè)終端的音視頻到達(dá)MCU后都會(huì)根據(jù)其終端所屬的會(huì)議標(biāo)識(shí)進(jìn)行分別處理。例如,當(dāng)room1房間的成員有視頻信號(hào)到達(dá)MCU時(shí),MCU先判斷其所屬會(huì)議標(biāo)識(shí),這里是room1;然后便將其視頻按前面所述的方法存入room1的視頻緩存中。最后,當(dāng)room1所有成員的視頻信號(hào)都到達(dá)后,再將其緩存中的視頻數(shù)據(jù)分別發(fā)送至room1的各成員終端,以完成room1會(huì)議的視頻轉(zhuǎn)發(fā)過程。對(duì)于其他的房間也執(zhí)行相同的處理,而且各房間之間的音視頻轉(zhuǎn)發(fā)互不干擾。
5 測試實(shí)驗(yàn)與結(jié)果分析
為了驗(yàn)證文章提出的設(shè)計(jì)方案的可行性和有效性,基于Openh323 Library實(shí)現(xiàn)了一套H323視頻會(huì)議的原型系統(tǒng)。以下,對(duì)我們實(shí)現(xiàn)的視頻會(huì)議原型系統(tǒng)進(jìn)行測試實(shí)驗(yàn)。
本實(shí)驗(yàn)的運(yùn)行環(huán)境為實(shí)驗(yàn)室局域網(wǎng),測試對(duì)象為基于IP的網(wǎng)絡(luò)視頻會(huì)議系統(tǒng),實(shí)驗(yàn)設(shè)備包括:局域網(wǎng),多臺(tái)電腦(帶視頻頭和音頻采集器)。
實(shí)驗(yàn)結(jié)果:當(dāng)用戶Terminal1加入會(huì)議室room1時(shí),MCU會(huì)立即刷新room1的成員列表,并將Terminal1的音視頻進(jìn)行處理后連同其他音視頻按照既定方法發(fā)送至各終端;Terminal1的加入對(duì)room2中的各成員終端沒有任何影響,而且音視頻的轉(zhuǎn)發(fā)照常進(jìn)行。
6 結(jié)束語
H323協(xié)議使基于IP的網(wǎng)絡(luò)視頻會(huì)議成為可能,但帶寬的限制使多媒體的傳輸成為會(huì)議的瓶頸。文章介紹了一種在Openh323基礎(chǔ)上,通過MCU將音視頻混合并轉(zhuǎn)發(fā)的方法,使音視頻能夠在基于IP的網(wǎng)絡(luò)上正常傳輸,成功實(shí)現(xiàn)了多媒體會(huì)議的視頻控制與傳輸。但仍有問題尚待進(jìn)一步解決,由于MCU方將視頻混合后發(fā)送網(wǎng)各端點(diǎn),這就造成了視頻質(zhì)量的下降,因此有必要對(duì)視頻進(jìn)行插值放大或幀速率上轉(zhuǎn)換等后處理。
參考文獻(xiàn)
[1]Runsheng Wang, Xiaorui Hu. “VoIP Development in China,” Computer[J].2004,37(9): 30~37.
[2]黃東軍, 陳松喬. 基于源根組播的多點(diǎn)視頻會(huì)議系統(tǒng)模型及其實(shí)現(xiàn)[J].電子學(xué)報(bào), 2005,33(1): 47~51.
[3]張明德,王永東. 視頻會(huì)議系統(tǒng)原理與應(yīng)用[M]. 北京:希望電子出版社,1999.
[4]BUR GOODE.Voice Over Internet Protocol (VoIP). Proceedings of The IEEE[J],2002, 90(9): 1495~1517
[5]蔡勝, 蘇應(yīng)飚. VoIP 網(wǎng)關(guān)中H323 協(xié)議棧的實(shí)現(xiàn). 計(jì)算機(jī)與現(xiàn)代化 [J],2002,3: 19~21
[6]肖進(jìn)勝, 沈燕飛, 徐正全, 等. 視頻會(huì)議中的多畫面碼流合成的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2005; 1: 255~260
作者簡介:祝曉波(1981,5-),男,陜西省咸陽市(籍貫),現(xiàn)職稱:工程師,學(xué)歷:本科,學(xué)位:工程碩士,研究方向:廣播電視、互聯(lián)網(wǎng)新媒體。endprint