色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

          視頻會議遠端攝像機控制的研究

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

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

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

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

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

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

          1 設(shè)計思想

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

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

          2.1 控制線的連接

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

          2.2 控制信號的測定

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

          ·初始化信號

          0x883001FF

          0x88010001FF

          0x81090447FF

          ·向右轉(zhuǎn)信號

          0x810106010B090103FF

          0x810106010B090303FF

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

          不管SOCKET的內(nèi)部機制如何,它提供給應(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進行網(wǎng)絡(luò)編程。類CasynSocket封裝了WINSOCK I的函數(shù),其網(wǎng)絡(luò)功能很強大;Csocket則將網(wǎng)絡(luò)編程簡化為向一個Carchive類中串行化數(shù)據(jù)。在編程中我們的類是從Csocket類中派生的。

          3.2 功能函數(shù)介紹

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

          在本程序中用到的主要函數(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è)備取當前的控制設(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 程序流程圖

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

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

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

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

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

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

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

          參考文獻

          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)閉