H.323電視會(huì )議系統終端的實(shí)現
朱凱 孟相如 馬志強
2004/08/05
1引言
隨著(zhù)計算機網(wǎng)絡(luò )技術(shù)和多媒體通信技術(shù)的迅速發(fā)展,電視會(huì )議或多媒體會(huì )議得到業(yè)界的普遍關(guān)注,目前基于IP的H.323電視會(huì )議系統已成為研究和開(kāi)發(fā)的熱點(diǎn)。H.323協(xié)議是在原H.320協(xié)議的基礎上發(fā)展起來(lái)的,它完全兼容原H.320系統。H.323能運行在通用的網(wǎng)絡(luò )體系平臺上,因而具有網(wǎng)絡(luò )獨立性,同時(shí),它還提供了網(wǎng)絡(luò )帶寬管理功能,支持多點(diǎn)會(huì )議和多播(Multicast)功能,并實(shí)現了不同廠(chǎng)商的多媒體產(chǎn)品和應用的互操作性。
2 H.323系統及終端結構
H.323是國際電信聯(lián)盟電信標準部(ITU-T)制定的標準,用來(lái)在基于包交換的網(wǎng)絡(luò )上傳輸音頻、視頻和數據[1]。它描述了呼叫信令和控制、多媒體傳輸和控制、帶寬控制以及多點(diǎn)會(huì )議等業(yè)務(wù),主要由終端(Terminal)、網(wǎng)關(guān)(Gateway)、網(wǎng)守(Gatekeeper)和多點(diǎn)控制單元(MCU)4部分組成。H.323系統的基本組成單位是“域”(Zone),一個(gè)域至少包括一個(gè)終端,而且必須有一個(gè)且只有一個(gè)GK。圖1是一個(gè)典型的H.323系統。
H.323終端是提供單向或雙向實(shí)時(shí)通信的客戶(hù)端,具有對視頻和音頻信號的編解碼及顯示功能,還具有傳送靜止圖像、文件、共享應用程序等數據通信功能[2]。H.323終端允許不對稱(chēng)的視頻傳輸,即通信雙方可以以不同的圖像格式、幀頻和速率進(jìn)行傳輸,這給參會(huì )者帶來(lái)了很大的靈活性。本系統采用的終端結構和相應的協(xié)議,其中涉及的協(xié)議如下:
(1)H.225:基于分組的多媒體通信系統中的呼叫信令和媒體流打包協(xié)議,定義通信中的具體信令和RTP/RTCP的用法;
(2)RAS:端點(diǎn)和網(wǎng)守之間的協(xié)議,采用H.225中的消息在端點(diǎn)和網(wǎng)守之間實(shí)現注冊、接入許可、帶寬修改、狀態(tài)和拆除程序等功能,打開(kāi)RAS信令通路后才建立其他H.323通路,RAS、呼叫信令通路和H.245控制通路是各自獨立的,沒(méi)有網(wǎng)守的網(wǎng)絡(luò )環(huán)境是不用RAS信令的;
(3)G.711:語(yǔ)音PCM編解碼標準(64 kbit/s);
(4)G.722:7 kHz音頻編解碼標準(64 kbit/s);
(5)G.723.1:低速語(yǔ)音編解碼建議,提供高效語(yǔ)音壓縮編解碼(5.3 kbit/s或6.3 kbit/s);
(6)G.729:低速語(yǔ)音編解碼建議,電話(huà)網(wǎng)質(zhì)量的語(yǔ)音編碼(8 kbit/s);
(7)H.261:視頻編解碼標準(N×64 kbit/s);
(8)H.263:低比特率視頻編解碼標準(速率由網(wǎng)絡(luò )和終端決定,最低可達20 kbit/s左右);
(9)H.245:多媒體通信控制協(xié)議,管理H.323系統的端到端控制消息,包括能力交換、邏輯信道的開(kāi)關(guān)等過(guò)程;
(10)T.120:多媒體數據傳輸協(xié)議。
3 H.323終端實(shí)現方法
3.1 API及應用程序結構
本文的H.323終端實(shí)現運用了OpenH323 Library,PWLib(Portable Windows Library)等API。OpenH323 Library[3]是建立在PWLib[3]上的一種開(kāi)放源碼的C++類(lèi)庫,描述的是H323 Version2.0,適用于Windows平臺和Unix平臺。 OpenH323 Library的結構比較復雜,包含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的基礎。應用程序一般要創(chuàng )建一個(gè)H323Endpoint類(lèi)的派生類(lèi)的實(shí)例,這是因為通過(guò)H323Endpoint類(lèi)可以直接或間接地對整個(gè)OpenH323 Library的各種主要類(lèi)進(jìn)行調用和處理。應用程序可以在H323Endpoint派生類(lèi)中定義各種屬性和方法,這些屬性和方法可用于設定終端的一些初始化的或者基本的屬性,如振鈴時(shí)播放的音樂(lè )文件的名稱(chēng),缺省的呼叫設置,終端的能力集等等。
可以看出,各個(gè)類(lèi)之間的關(guān)系是相當密切和復雜的,然而,亦有著(zhù)很清晰的主線(xiàn)。上圖的核心是Endpoint(H323Endpoint),該類(lèi)包含了3大功能:
(1)能力管理—對應Capability:每一個(gè)Capability類(lèi)的派生類(lèi)對應一個(gè)H323Codec類(lèi)的派生類(lèi),而Codec實(shí)例是在邏輯信道Channel的實(shí)例中使用的。Codec的實(shí)例由相關(guān)的Capability實(shí)例負責創(chuàng )建。
(2)連接管理—對應Connection:一個(gè)終端可以包含多個(gè)連接,由一個(gè)“連接字典”管理這些連接,每一個(gè)連接可能對應多個(gè)Channel和Negotiator。
(3)偵聽(tīng)管理—對應Listener:偵聽(tīng)線(xiàn)程在接收到呼入時(shí),創(chuàng )建Transport實(shí)例,再在Transport的基礎上建立Connection。運用OpenH323 Library開(kāi)發(fā)基于H.323協(xié)議的多媒體應用程序。
3.2 終端實(shí)例
本系統的開(kāi)發(fā)環(huán)境是由實(shí)驗室PC機組成的局域網(wǎng),每臺PC機都配有攝像頭、麥克風(fēng)等多媒體設備,以Wingdows2000professional為平臺,采用VC++6.0作為開(kāi)發(fā)工具。本實(shí)例主要包括MyH323EndPoint類(lèi)(代表終端,繼承自H323EndPoint)、MyH323Connection類(lèi)(代表一個(gè)連接,繼承自H323Connection)和幾個(gè)用戶(hù)接口類(lèi),圖5是終端實(shí)現流程圖,包含以下幾個(gè)階段:
(1)應用程序初始化:這部分主要是對應用程序進(jìn)行初始化工作,包括應用程序各種命令的幫助信息的顯示,分析用戶(hù)輸入,設置應用程序參數等。
(2)創(chuàng )建MyH323EndPoint實(shí)例:這是通過(guò)調用繼承自H323EndPoint類(lèi)的MyH323EndPoint類(lèi)的構造函數來(lái)實(shí)現的。
(3)初始化MyH323EndPoint實(shí)例:調用MyH323EndPoint:Initialise函數對終端實(shí)例進(jìn)行初始化,包括設置(獲得)本地用戶(hù)名,本地偵聽(tīng)端口,缺省呼叫設置,查找和設置視頻音頻設備和參數,設置終端能力集,打開(kāi)RAS的信道和H.225的TCP信道。
(4)等待呼入或發(fā)起呼叫:根據用戶(hù)的命令,進(jìn)入等待呼入狀態(tài)(打開(kāi)TCP偵聽(tīng)線(xiàn)程)或者發(fā)起一個(gè)新的呼叫(調用MyH323EndPoint::MakeOutgoingCall)。
(5)等待用戶(hù)命令:調用MyH323EndPoint::AwaitTermination函數,等待用戶(hù)的輸入命令,然后根據用戶(hù)的輸入命令執行不同的操作(呼叫保持,呼叫前轉,調整音量…)。
H323終端在發(fā)起呼叫或者接納一個(gè)呼入時(shí),一般遵循以下5個(gè)過(guò)程:
A:呼叫建立,包括接納控制(H.225信令,RAS過(guò)程);
B:通信能力交換和模式設定,以協(xié)調通信雙方的互通性(H.245控制過(guò)程);
C:建立聲像通信邏輯通道,包括會(huì )議通信的建立(H.245控制過(guò)程);
D:通信過(guò)程中的呼叫服務(wù),包括帶寬修改,由點(diǎn)到點(diǎn)通信擴展為會(huì )議通信等(H.225信令,RAS過(guò)程);
E:呼叫終結,關(guān)閉所有信道(H.245控制過(guò)程)。
4 結論
本文在介紹H.323電視會(huì )議系統及其終端結構的基礎上,用一個(gè)實(shí)例說(shuō)明了如何通過(guò)OpenH323 Library來(lái)實(shí)現H.323電視會(huì )議系統終端。
ChinaByte(e.chinabyte.com)—中國有線(xiàn)電視
相關(guān)鏈接:
亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩
江陵县|
盐亭县|
茌平县|
射洪县|
彭泽县|
平邑县|
钦州市|
厦门市|
哈密市|
泉州市|
洛浦县|
微博|
文昌市|
温宿县|
阳曲县|
普定县|
彰武县|
洪江市|
花莲县|
佳木斯市|
贵定县|
西城区|
长丰县|
靖西县|
上蔡县|
喀什市|
泾川县|
乐亭县|
安多县|
吴旗县|
宁都县|
大丰市|
崇文区|
镇远县|
即墨市|
清水河县|
河东区|
安岳县|
辉南县|
洪雅县|
侯马市|
http://444
http://444
http://444
http://444
http://444
http://444