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