首頁>>>技術>>>視像通信  視像通信產品

H.323電視會議系統(tǒng)終端的實現

朱凱 孟相如 馬志強 2004/08/05

  1引言

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

  2 H.323系統(tǒng)及終端結構

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

  H.323終端是提供單向或雙向實時通信的客戶端,具有對視頻和音頻信號的編解碼及顯示功能,還具有傳送靜止圖像、文件、共享應用程序等數據通信功能[2]。H.323終端允許不對稱的視頻傳輸,即通信雙方可以以不同的圖像格式、幀頻和速率進行傳輸,這給參會者帶來了很大的靈活性。本系統(tǒng)采用的終端結構和相應的協(xié)議,其中涉及的協(xié)議如下:

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

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

  (3)G.711:語音PCM編解碼標準(64 kbit/s);

  (4)G.722:7 kHz音頻編解碼標準(64 kbit/s);

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

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

  (7)H.261:視頻編解碼標準(N×64 kbit/s);

  (8)H.263:低比特率視頻編解碼標準(速率由網絡和終端決定,最低可達20 kbit/s左右);

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

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

  3 H.323終端實現方法

  3.1 API及應用程序結構

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

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

  (1)能力管理—對應Capability:每一個Capability類的派生類對應一個H323Codec類的派生類,而Codec實例是在邏輯信道Channel的實例中使用的。Codec的實例由相關的Capability實例負責創(chuàng)建。

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

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

  3.2 終端實例

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

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

  (2)創(chuàng)建MyH323EndPoint實例:這是通過調用繼承自H323EndPoint類的MyH323EndPoint類的構造函數來實現的。

  (3)初始化MyH323EndPoint實例:調用MyH323EndPoint:Initialise函數對終端實例進行初始化,包括設置(獲得)本地用戶名,本地偵聽端口,缺省呼叫設置,查找和設置視頻音頻設備和參數,設置終端能力集,打開RAS的信道和H.225的TCP信道。

  (4)等待呼入或發(fā)起呼叫:根據用戶的命令,進入等待呼入狀態(tài)(打開TCP偵聽線程)或者發(fā)起一個新的呼叫(調用MyH323EndPoint::MakeOutgoingCall)。

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

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

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

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

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

  D:通信過程中的呼叫服務,包括帶寬修改,由點到點通信擴展為會議通信等(H.225信令,RAS過程);

  E:呼叫終結,關閉所有信道(H.245控制過程)。

  4 結論

  本文在介紹H.323電視會議系統(tǒng)及其終端結構的基礎上,用一個實例說明了如何通過OpenH323 Library來實現H.323電視會議系統(tǒng)終端。

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


相關鏈接:
無線視訊通信系統(tǒng)及其應用中的問題淺析 2004-08-03
淺評軟、硬視頻會議之針峰相對 2004-08-03
中國視訊“運盈”之道 2004-07-27
3G網絡上的視頻應用 2004-07-26
流媒體技術在廣電寬帶城域網的應用 2004-07-23

分類信息:     文摘   技術_視像通訊_文摘