新聞中心

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

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

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

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

本文引用地址:http://2s4d.com/article/245687.htm

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

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

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

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

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

2 控制線的連接及控制信號的測定

2.1 控制線的連接

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

2.2 控制信號的測定

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

·初始化信號

0x883001FF

0x88010001FF

0x81090447FF

·向右轉(zhuǎn)信號

0x810106010B090103FF

0x810106010B090303FF

視頻會議遠(yuǎn)端攝像機(jī)控制的研究 在TCP/IP網(wǎng)間網(wǎng)中,通信的兩個進(jìn)程間相互作用的主要模式是客戶/服務(wù)器模式,即客戶向服務(wù)器發(fā)出服務(wù)請求,服務(wù)器接收到請求后,提供相應(yīng)的服務(wù)??蛻簦?wù)器模式的建立基于以下兩點(diǎn):首先,建立網(wǎng)絡(luò)的起因是網(wǎng)中軟硬件資源、運(yùn)算能力和信息的不均等,需要共享,從而造就擁有眾多資源的主機(jī)提供服務(wù),資源較少的客戶請求服務(wù)這一非對等作用。其次,相互通信的進(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)用時序圖。在VC++5.0中提供了兩個類以支持用WINSOCK I進(jìn)行網(wǎng)絡(luò)編程。類CasynSocket封裝了WINSOCK I的函數(shù),其網(wǎng)絡(luò)功能很強(qiáng)大;Csocket則將網(wǎng)絡(luò)編程簡化為向一個Carchive類中串行化數(shù)據(jù)。在編程中我們的類是從Csocket類中派生的。

3.2 功能函數(shù)介紹

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

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

· Csocket::Create

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

功能:在建立一個Socket對象之后,調(diào)用Create函數(shù)來創(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包含的地址的長度。

·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ù):同上個函數(shù)中參數(shù)(jFile.LPDCB)的定義。

·WriteFile

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

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

參數(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ù)器兩個程序,其流程圖分別如圖3和圖4所示。

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

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

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

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

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

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

參考文獻(xiàn)

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

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

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

 

 

 

 

 

 

 



評論


相關(guān)推薦

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

關(guān)閉