新聞中心

EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > 視頻會(huì)議遠(yuǎn)端攝像機(jī)控制的研究

視頻會(huì)議遠(yuǎn)端攝像機(jī)控制的研究

作者: 時(shí)間:2006-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

摘 要: 分析了視頻會(huì)議中如何實(shí)現(xiàn)對(duì)遠(yuǎn)端攝像機(jī)的控制,該項(xiàng)技術(shù)在遠(yuǎn)程教學(xué)和實(shí)時(shí)監(jiān)控方面起著非常重要的作用。

本文引用地址:http://www.butianyuan.cn/article/245687.htm

關(guān)鍵詞: 視頻會(huì)議 winsocket 規(guī)程分析儀

隨著我國(guó)改革開放的不斷深入和經(jīng)濟(jì)的迅猛發(fā)展,社會(huì)上方方面面的會(huì)議、會(huì)晤、磋商與日驟增,特別是在經(jīng)濟(jì)領(lǐng)域,信息、時(shí)間、效益等現(xiàn)代化的觀念開始深入人心,以及在各行業(yè)部門的行政會(huì)議增多情況下,作為先進(jìn)國(guó)家的現(xiàn)代化通信手段之一的會(huì)議電視業(yè)務(wù)通信的即時(shí)性和便利性等就顯示出了突出的優(yōu)越性。

本軟件的編寫及調(diào)試均基于VCON公司生產(chǎn)的MeetingPoint E25視頻會(huì)議系統(tǒng),E25不具有攝像機(jī)控制功能,而C150具有攝像機(jī)控制功能。也就是說(shuō)在兩個(gè)C150之間可直接進(jìn)行攝像機(jī)的相互控制,而利用E25系統(tǒng)控制遠(yuǎn)端攝像機(jī)的轉(zhuǎn)動(dòng)是不可行的。因此,編寫一個(gè)在不同系統(tǒng)下兼容的軟件是非常有必要的,而且具有實(shí)際意義。

1 設(shè)計(jì)思想

本軟件的總體結(jié)構(gòu)采用客戶機(jī)—服務(wù)器模式。具體工作過(guò)程如下:通過(guò)規(guī)程分析儀,我們可測(cè)得對(duì)攝像機(jī)具體的控制信號(hào)。首先,客戶機(jī)發(fā)一信號(hào)(例如LEFT),通過(guò)網(wǎng)絡(luò)傳到服務(wù)器,服務(wù)器根據(jù)不同的信號(hào)向COM口寫不同的控制信號(hào),相應(yīng)地與COM口相連的攝像機(jī)就會(huì)作出各種動(dòng)作。在編程過(guò)程中,首先給出了RS-232C與攝像機(jī)接口的連線,然后給出了用規(guī)程分析儀測(cè)定控制信號(hào)的方法,對(duì)SONY攝像機(jī)的控制信號(hào)進(jìn)行了測(cè)定。由于要實(shí)現(xiàn)遠(yuǎn)端攝像機(jī)控制,所以信號(hào)的傳輸是建立在網(wǎng)絡(luò)的基礎(chǔ)上。接下來(lái)是對(duì)網(wǎng)絡(luò)通信Wondows Csocket的原理介紹,這為后面實(shí)現(xiàn)信號(hào)的傳輸打下了基礎(chǔ),也是此軟件的關(guān)鍵。

2 控制線的連接及控制信號(hào)的測(cè)定

2.1 控制線的連接

由于要實(shí)現(xiàn)對(duì)攝像頭的控制,因此需要在主機(jī)COM口與攝像頭接口之間連一控制線,RS-232C與SONY攝像頭對(duì)應(yīng)針的連接如表1所示。

2.2 控制信號(hào)的測(cè)定

運(yùn)用規(guī)程分析儀可以對(duì)各種協(xié)議進(jìn)行分析,我們用規(guī)程分析儀測(cè)得攝像頭轉(zhuǎn)動(dòng)的各種控制信號(hào)。其部分控制信號(hào)如下,以十六進(jìn)制形式給出。

·初始化信號(hào)

0x883001FF

0x88010001FF

0x81090447FF

·向右轉(zhuǎn)信號(hào)

0x810106010B090103FF

0x810106010B090303FF

視頻會(huì)議遠(yuǎn)端攝像機(jī)控制的研究 在TCP/IP網(wǎng)間網(wǎng)中,通信的兩個(gè)進(jìn)程間相互作用的主要模式是客戶/服務(wù)器模式,即客戶向服務(wù)器發(fā)出服務(wù)請(qǐng)求,服務(wù)器接收到請(qǐng)求后,提供相應(yīng)的服務(wù)??蛻簦?wù)器模式的建立基于以下兩點(diǎn):首先,建立網(wǎng)絡(luò)的起因是網(wǎng)中軟硬件資源、運(yùn)算能力和信息的不均等,需要共享,從而造就擁有眾多資源的主機(jī)提供服務(wù),資源較少的客戶請(qǐng)求服務(wù)這一非對(duì)等作用。其次,相互通信的進(jìn)程之間既不存在著父子關(guān)系,又不共享內(nèi)存緩沖區(qū),因此需要一種機(jī)制為希望通信的進(jìn)程間建立聯(lián)系,為兩者的數(shù)據(jù)提供同步,這就是基于客戶/服務(wù)器模式的TCP/IP。

不管SOCKET的內(nèi)部機(jī)制如何,它提供給應(yīng)用程序員的最終界面是一組系統(tǒng)調(diào)用:包括創(chuàng)建套接字CONNECT與ACCEPT、監(jiān)聽連結(jié)LISTEN,以及用于數(shù)據(jù)傳輸?shù)腟END和RECV,還有關(guān)閉套接字的CLOSESOCKET等。圖2是SOCKET面向連結(jié)的基于客戶/服務(wù)器模式的系統(tǒng)調(diào)用時(shí)序圖。在VC++5.0中提供了兩個(gè)類以支持用WINSOCK I進(jìn)行網(wǎng)絡(luò)編程。類CasynSocket封裝了WINSOCK I的函數(shù),其網(wǎng)絡(luò)功能很強(qiáng)大;Csocket則將網(wǎng)絡(luò)編程簡(jiǎn)化為向一個(gè)Carchive類中串行化數(shù)據(jù)。在編程中我們的類是從Csocket類中派生的。

3.2 功能函數(shù)介紹

在本軟件中,客戶機(jī)程序和服務(wù)器程序均采用Visual C++5.0編寫。在MFC類庫(kù)中有專門負(fù)責(zé)管理Winsock編程的Csocket類,在Csocket類中,它覆蓋了所有的Win32I函數(shù),因此在用Winsock編程時(shí),只需用Csocket聲明一個(gè)實(shí)例,然后即可調(diào)用相應(yīng)函數(shù)進(jìn)行各種操作(Csocket類成員函數(shù)見Visual C++ Books on Line。使用Csocket類時(shí),必須同步聲明CsocketFile類實(shí)例。

在本程序中用到的主要函數(shù)介紹如下:

· Csocket::Create

函數(shù)原型:BOOL Create(UNITnSocketPort=0,INT nSocketType=SOCK-STREAMLPCTSR lpszSocketADDress=NULL);

功能:在建立一個(gè)Socket對(duì)象之后,調(diào)用Create函數(shù)來(lái)創(chuàng)建Windows Socket,然后調(diào)用Bind函數(shù)給Socket賦一特定的地址。

參數(shù):

nSocketPort:Socket選用的端口。

NSocketType:Socket類型(SOCK-STREAM,SOCK-DGRAM)。

lpszSocketAddress:服務(wù)器的網(wǎng)絡(luò)地址。

·CasynSocket::Connect

函數(shù)原型:BOOL Connect(LPCTSR IpszHostAddress,UNIT nHostPost)

BOOL Connect(Const SOCKADDR*IpsockAddr,INT nSockAddrLen)

功能:調(diào)用Connect函數(shù)與服務(wù)器建立連接。

參數(shù):

IpszHostAddress:服務(wù)器的網(wǎng)絡(luò)地址。

NHostPost:服務(wù)器使用的端口。

IpsockAddr:指向SOCKADDR的地址,包含了被連的Socket的地址。

NSockAddrLen:IpsockAddr包含的地址的長(zhǎng)度。

·GetCommState

函數(shù)原型:BOOL GetCommState(HANDLE hFile,LPDCB IpDCB)

功能:從指定的通信設(shè)備取當(dāng)前的控制設(shè)置。

參數(shù):

hFILE:通信設(shè)備的句柄。

LpDCB:DCB結(jié)構(gòu)的指針。

·SetCommState

函數(shù)原型:BOOL SetCommState(HANDLE jFile,LPDCB lpDCB)

功能:為指定的通信設(shè)備設(shè)置控制信息。

參數(shù):同上個(gè)函數(shù)中參數(shù)(jFile.LPDCB)的定義。

·WriteFile

函數(shù)原型BOOLWriteFile(HANDLE hFile,Lpvoid lpBuffer,DWORD nNumberofBytes Towrite,LPDWORD LP-NumberofBytes Written,LPOVERSAPPED lpoverlapped)

功能:往串行口寫數(shù)據(jù),此操作對(duì)同步或異步通信都是適用的。

參數(shù):

hFile:串行口句柄,此串行口的句柄用GENERIC-WRITE方式創(chuàng)建。

lpBuffer:指向包含數(shù)據(jù)緩沖區(qū)的指針。

NNumberofBytesTowrite:寫向串行口的數(shù)據(jù)的字節(jié)數(shù)。

IpNumberofBytesWritten:指向?qū)嶋H寫向串行口數(shù)據(jù)的字節(jié)的指針。

Ipoverlapped:指向OVERLAPPED結(jié)構(gòu)的指針。

4 程序流程圖

在本軟件中共有客戶機(jī)和服務(wù)器兩個(gè)程序,其流程圖分別如圖3和圖4所示。

5 軟件實(shí)現(xiàn)的功能

本軟件可以實(shí)現(xiàn)以下四個(gè)方面的功能:

·客戶機(jī)可以隨意控制服務(wù)器的攝像機(jī)上下左右的轉(zhuǎn)動(dòng);

·客戶機(jī)可以隨意控制服務(wù)器的攝像機(jī)聚焦和拉伸;

·客戶機(jī)可以與服務(wù)器進(jìn)行交談,交換意見;

·客戶機(jī)方和服務(wù)器方都可保存對(duì)方的留言。

參考文獻(xiàn)

1 黃東霖.視聽多媒體業(yè)務(wù).北京:電子工業(yè)出版社,1997

2 Michael J.Young.Mastering Microsoft Visual C ++ 4.北京:電子工業(yè)出版社,1997

(收稿日期:1999-07-13)

 

 

 

 

 

 

 



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉