首頁(yè)>>>技術(shù)>>>視像通信  視像通信產(chǎn)品

H.323電視會(huì)議系統(tǒng)終端的實(shí)現(xiàn)

朱凱 孟相如 馬志強(qiáng) 2004/08/05

  1引言

  隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和多媒體通信技術(shù)的迅速發(fā)展,電視會(huì)議或多媒體會(huì)議得到業(yè)界的普遍關(guān)注,目前基于IP的H.323電視會(huì)議系統(tǒng)已成為研究和開(kāi)發(fā)的熱點(diǎn)。H.323協(xié)議是在原H.320協(xié)議的基礎(chǔ)上發(fā)展起來(lái)的,它完全兼容原H.320系統(tǒng)。H.323能運(yùn)行在通用的網(wǎng)絡(luò)體系平臺(tái)上,因而具有網(wǎng)絡(luò)獨(dú)立性,同時(shí),它還提供了網(wǎng)絡(luò)帶寬管理功能,支持多點(diǎn)會(huì)議和多播(Multicast)功能,并實(shí)現(xiàn)了不同廠商的多媒體產(chǎn)品和應(yīng)用的互操作性。

  2 H.323系統(tǒng)及終端結(jié)構(gòu)

  H.323是國(guó)際電信聯(lián)盟電信標(biāo)準(zhǔn)部(ITU-T)制定的標(biāo)準(zhǔn),用來(lái)在基于包交換的網(wǎng)絡(luò)上傳輸音頻、視頻和數(shù)據(jù)[1]。它描述了呼叫信令和控制、多媒體傳輸和控制、帶寬控制以及多點(diǎn)會(huì)議等業(yè)務(wù),主要由終端(Terminal)、網(wǎng)關(guān)(Gateway)、網(wǎng)守(Gatekeeper)和多點(diǎn)控制單元(MCU)4部分組成。H.323系統(tǒng)的基本組成單位是“域”(Zone),一個(gè)域至少包括一個(gè)終端,而且必須有一個(gè)且只有一個(gè)GK。圖1是一個(gè)典型的H.323系統(tǒng)。

  H.323終端是提供單向或雙向?qū)崟r(shí)通信的客戶(hù)端,具有對(duì)視頻和音頻信號(hào)的編解碼及顯示功能,還具有傳送靜止圖像、文件、共享應(yīng)用程序等數(shù)據(jù)通信功能[2]。H.323終端允許不對(duì)稱(chēng)的視頻傳輸,即通信雙方可以以不同的圖像格式、幀頻和速率進(jìn)行傳輸,這給參會(huì)者帶來(lái)了很大的靈活性。本系統(tǒng)采用的終端結(jié)構(gòu)和相應(yīng)的協(xié)議,其中涉及的協(xié)議如下:

  (1)H.225:基于分組的多媒體通信系統(tǒng)中的呼叫信令和媒體流打包協(xié)議,定義通信中的具體信令和RTP/RTCP的用法;

  (2)RAS:端點(diǎn)和網(wǎng)守之間的協(xié)議,采用H.225中的消息在端點(diǎn)和網(wǎng)守之間實(shí)現(xiàn)注冊(cè)、接入許可、帶寬修改、狀態(tài)和拆除程序等功能,打開(kāi)RAS信令通路后才建立其他H.323通路,RAS、呼叫信令通路和H.245控制通路是各自獨(dú)立的,沒(méi)有網(wǎng)守的網(wǎng)絡(luò)環(huán)境是不用RAS信令的;

  (3)G.711:語(yǔ)音PCM編解碼標(biāo)準(zhǔn)(64 kbit/s);

  (4)G.722:7 kHz音頻編解碼標(biāo)準(zhǔn)(64 kbit/s);

  (5)G.723.1:低速語(yǔ)音編解碼建議,提供高效語(yǔ)音壓縮編解碼(5.3 kbit/s或6.3 kbit/s);

  (6)G.729:低速語(yǔ)音編解碼建議,電話網(wǎng)質(zhì)量的語(yǔ)音編碼(8 kbit/s);

  (7)H.261:視頻編解碼標(biāo)準(zhǔn)(N×64 kbit/s);

  (8)H.263:低比特率視頻編解碼標(biāo)準(zhǔn)(速率由網(wǎng)絡(luò)和終端決定,最低可達(dá)20 kbit/s左右);

  (9)H.245:多媒體通信控制協(xié)議,管理H.323系統(tǒng)的端到端控制消息,包括能力交換、邏輯信道的開(kāi)關(guān)等過(guò)程;

  (10)T.120:多媒體數(shù)據(jù)傳輸協(xié)議。

  3 H.323終端實(shí)現(xiàn)方法

  3.1 API及應(yīng)用程序結(jié)構(gòu)

  本文的H.323終端實(shí)現(xiàn)運(yùn)用了OpenH323 Library,PWLib(Portable Windows Library)等API。OpenH323 Library[3]是建立在PWLib[3]上的一種開(kāi)放源碼的C++類(lèi)庫(kù),描述的是H323 Version2.0,適用于Windows平臺(tái)和Unix平臺(tái)。 OpenH323 Library的結(jié)構(gòu)比較復(fù)雜,包含100多個(gè)類(lèi),每個(gè)類(lèi)都代表H.323協(xié)議中的某個(gè)單元或功能[4],主要是H323Endpoint,H323Listener,H323Transport,H323Connection,H245Negotiator,H323Channel,H323Capability和H323Codec這幾個(gè)類(lèi),其中最重要的是H323Endpoint和H323Connection,前者是所有基于OpenH323 Library的基礎(chǔ)。應(yīng)用程序一般要?jiǎng)?chuàng)建一個(gè)H323Endpoint類(lèi)的派生類(lèi)的實(shí)例,這是因?yàn)橥ㄟ^(guò)H323Endpoint類(lèi)可以直接或間接地對(duì)整個(gè)OpenH323 Library的各種主要類(lèi)進(jìn)行調(diào)用和處理。應(yīng)用程序可以在H323Endpoint派生類(lèi)中定義各種屬性和方法,這些屬性和方法可用于設(shè)定終端的一些初始化的或者基本的屬性,如振鈴時(shí)播放的音樂(lè)文件的名稱(chēng),缺省的呼叫設(shè)置,終端的能力集等等。

  可以看出,各個(gè)類(lèi)之間的關(guān)系是相當(dāng)密切和復(fù)雜的,然而,亦有著很清晰的主線。上圖的核心是Endpoint(H323Endpoint),該類(lèi)包含了3大功能:

  (1)能力管理—對(duì)應(yīng)Capability:每一個(gè)Capability類(lèi)的派生類(lèi)對(duì)應(yīng)一個(gè)H323Codec類(lèi)的派生類(lèi),而Codec實(shí)例是在邏輯信道Channel的實(shí)例中使用的。Codec的實(shí)例由相關(guān)的Capability實(shí)例負(fù)責(zé)創(chuàng)建。

  (2)連接管理—對(duì)應(yīng)Connection:一個(gè)終端可以包含多個(gè)連接,由一個(gè)“連接字典”管理這些連接,每一個(gè)連接可能對(duì)應(yīng)多個(gè)Channel和Negotiator。

  (3)偵聽(tīng)管理—對(duì)應(yīng)Listener:偵聽(tīng)線程在接收到呼入時(shí),創(chuàng)建Transport實(shí)例,再在Transport的基礎(chǔ)上建立Connection。運(yùn)用OpenH323 Library開(kāi)發(fā)基于H.323協(xié)議的多媒體應(yīng)用程序。

  3.2 終端實(shí)例

  本系統(tǒng)的開(kāi)發(fā)環(huán)境是由實(shí)驗(yàn)室PC機(jī)組成的局域網(wǎng),每臺(tái)PC機(jī)都配有攝像頭、麥克風(fēng)等多媒體設(shè)備,以Wingdows2000professional為平臺(tái),采用VC++6.0作為開(kāi)發(fā)工具。本實(shí)例主要包括MyH323EndPoint類(lèi)(代表終端,繼承自H323EndPoint)、MyH323Connection類(lèi)(代表一個(gè)連接,繼承自H323Connection)和幾個(gè)用戶(hù)接口類(lèi),圖5是終端實(shí)現(xiàn)流程圖,包含以下幾個(gè)階段:

  (1)應(yīng)用程序初始化:這部分主要是對(duì)應(yīng)用程序進(jìn)行初始化工作,包括應(yīng)用程序各種命令的幫助信息的顯示,分析用戶(hù)輸入,設(shè)置應(yīng)用程序參數(shù)等。

  (2)創(chuàng)建MyH323EndPoint實(shí)例:這是通過(guò)調(diào)用繼承自H323EndPoint類(lèi)的MyH323EndPoint類(lèi)的構(gòu)造函數(shù)來(lái)實(shí)現(xiàn)的。

  (3)初始化MyH323EndPoint實(shí)例:調(diào)用MyH323EndPoint:Initialise函數(shù)對(duì)終端實(shí)例進(jìn)行初始化,包括設(shè)置(獲得)本地用戶(hù)名,本地偵聽(tīng)端口,缺省呼叫設(shè)置,查找和設(shè)置視頻音頻設(shè)備和參數(shù),設(shè)置終端能力集,打開(kāi)RAS的信道和H.225的TCP信道。

  (4)等待呼入或發(fā)起呼叫:根據(jù)用戶(hù)的命令,進(jìn)入等待呼入狀態(tài)(打開(kāi)TCP偵聽(tīng)線程)或者發(fā)起一個(gè)新的呼叫(調(diào)用MyH323EndPoint::MakeOutgoingCall)。

  (5)等待用戶(hù)命令:調(diào)用MyH323EndPoint::AwaitTermination函數(shù),等待用戶(hù)的輸入命令,然后根據(jù)用戶(hù)的輸入命令執(zhí)行不同的操作(呼叫保持,呼叫前轉(zhuǎn),調(diào)整音量…)。

  H323終端在發(fā)起呼叫或者接納一個(gè)呼入時(shí),一般遵循以下5個(gè)過(guò)程:

  A:呼叫建立,包括接納控制(H.225信令,RAS過(guò)程);

  B:通信能力交換和模式設(shè)定,以協(xié)調(diào)通信雙方的互通性(H.245控制過(guò)程);

  C:建立聲像通信邏輯通道,包括會(huì)議通信的建立(H.245控制過(guò)程);

  D:通信過(guò)程中的呼叫服務(wù),包括帶寬修改,由點(diǎn)到點(diǎn)通信擴(kuò)展為會(huì)議通信等(H.225信令,RAS過(guò)程);

  E:呼叫終結(jié),關(guān)閉所有信道(H.245控制過(guò)程)。

  4 結(jié)論

  本文在介紹H.323電視會(huì)議系統(tǒng)及其終端結(jié)構(gòu)的基礎(chǔ)上,用一個(gè)實(shí)例說(shuō)明了如何通過(guò)OpenH323 Library來(lái)實(shí)現(xiàn)H.323電視會(huì)議系統(tǒng)終端。

ChinaByte(e.chinabyte.com)—中國(guó)有線電視


相關(guān)鏈接:
無(wú)線視訊通信系統(tǒng)及其應(yīng)用中的問(wèn)題淺析 2004-08-03
淺評(píng)軟、硬視頻會(huì)議之針?lè)逑鄬?duì) 2004-08-03
中國(guó)視訊“運(yùn)盈”之道 2004-07-27
3G網(wǎng)絡(luò)上的視頻應(yīng)用 2004-07-26
流媒體技術(shù)在廣電寬帶城域網(wǎng)的應(yīng)用 2004-07-23

分類(lèi)信息:     文摘   技術(shù)_視像通訊_文摘