基于OMAP5912遠程視頻監(jiān)控系統(tǒng)的設(shè)計
3)視頻網(wǎng)絡(luò)傳輸
考慮到B/S模式拓展性好、維護和升級容易、安全度較高等優(yōu)點,系統(tǒng)采用B/S模式。用戶只需要在遠程客戶機的網(wǎng)頁地址欄內(nèi)輸入服務(wù)器的IP地址,通過瀏覽器就能實時查看現(xiàn)場視頻畫面。
系統(tǒng)網(wǎng)絡(luò)通信程序的設(shè)計包括服務(wù)端和監(jiān)控端的設(shè)計,其中監(jiān)控端采用通用的IE瀏覽器即可,主要是服務(wù)器部分的設(shè)計,包括構(gòu)建WEB服務(wù)器[4](主要涉及BOA Web Server的移植及配置, CGI腳本的創(chuàng)建)、C語言實現(xiàn)CGI(通用網(wǎng)關(guān)接口)、實現(xiàn)嵌入式數(shù)據(jù)庫和制作簡單網(wǎng)頁等。其中,CGI為WEB服務(wù)器和應(yīng)用程序的接口,如通過CGI程序?qū)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/遠程">遠程設(shè)備的進行參數(shù)設(shè)置;采用嵌入式數(shù)據(jù)庫MSQL用于存取系統(tǒng)的重要信息,如用戶的帳號、密碼,攝像頭參數(shù)等。采用B/S模式后,服務(wù)器和監(jiān)控端的通信程序結(jié)構(gòu)圖如圖4所示。
圖4 服務(wù)器和監(jiān)控端的通信程序結(jié)構(gòu)圖
嵌入式WEB服務(wù)器部分程序如下。
//創(chuàng)建TCP套接字連接TCP網(wǎng)絡(luò)
if((sock_fd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror(sock_fd error);
exit(1);
}
setsockopt(sock_fd,SOL_SOCKET,SO_REUSEADDR,on,sizeof(on));
//為套接字分配HTTP協(xié)議地址
my_addr.sin_family=AF_INET;
ddr.sin_port=htons(80);
my_addr.sin_addr.s_addr=htons(INADDR_ANY);
if(bind(sock_fd,(struct sockaddr*)my_addr,sizeof(their_addr))==-1)
{
perror(bind errorn);
exit(1);
}
……
if(!fork())
{
recv(new_fd,http_rec,2048,0);//接收用戶端控制命令
//捕捉圖像
image=videograb(320,240,brightness,contrast,colour,hue);
……
}
系統(tǒng)充分發(fā)揮了OMAP5912的雙核優(yōu)勢,實現(xiàn)了視頻實時采集、存儲、編碼及網(wǎng)絡(luò)傳輸。視頻監(jiān)控用戶界面效果圖如圖5所示。
結(jié)語
設(shè)計和實現(xiàn)了基于OMAP5912的遠程視頻監(jiān)控系統(tǒng),系統(tǒng)充分發(fā)揮了OMAP5912的雙核優(yōu)勢,實現(xiàn)了服務(wù)器端進行視頻的實時采集、存儲、編碼及網(wǎng)絡(luò)傳輸,而監(jiān)控端的PC機可以通過IE瀏覽器查看監(jiān)測點的視頻,也可以設(shè)置視頻的分辨率、亮度、對比度等參數(shù)。經(jīng)實際運行表明,系統(tǒng)運行穩(wěn)定,視頻流暢,能夠滿足遠程視頻監(jiān)控的要求。
評論