基于OMAP5912遠程視頻監控系統的設計
3)視頻網(wǎng)絡(luò )傳輸
考慮到B/S模式拓展性好、維護和升級容易、安全度較高等優(yōu)點(diǎn),系統采用B/S模式。用戶(hù)只需要在遠程客戶(hù)機的網(wǎng)頁(yè)地址欄內輸入服務(wù)器的IP地址,通過(guò)瀏覽器就能實(shí)時(shí)查看現場(chǎng)視頻畫(huà)面。
系統網(wǎng)絡(luò )通信程序的設計包括服務(wù)端和監控端的設計,其中監控端采用通用的IE瀏覽器即可,主要是服務(wù)器部分的設計,包括構建WEB服務(wù)器[4](主要涉及BOA Web Server的移植及配置, CGI腳本的創(chuàng )建)、C語(yǔ)言實(shí)現CGI(通用網(wǎng)關(guān)接口)、實(shí)現嵌入式數據庫和制作簡(jiǎn)單網(wǎng)頁(yè)等。其中,CGI為WEB服務(wù)器和應用程序的接口,如通過(guò)CGI程序對遠程設備的進(jìn)行參數設置;采用嵌入式數據庫MSQL用于存取系統的重要信息,如用戶(hù)的帳號、密碼,攝像頭參數等。采用B/S模式后,服務(wù)器和監控端的通信程序結構圖如圖4所示。
圖4 服務(wù)器和監控端的通信程序結構圖
嵌入式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);//接收用戶(hù)端控制命令
//捕捉圖像
image=videograb(320,240,brightness,contrast,colour,hue);
……
}
系統充分發(fā)揮了OMAP5912的雙核優(yōu)勢,實(shí)現了視頻實(shí)時(shí)采集、存儲、編碼及網(wǎng)絡(luò )傳輸。視頻監控用戶(hù)界面效果圖如圖5所示。
結語(yǔ)
設計和實(shí)現了基于OMAP5912的遠程視頻監控系統,系統充分發(fā)揮了OMAP5912的雙核優(yōu)勢,實(shí)現了服務(wù)器端進(jìn)行視頻的實(shí)時(shí)采集、存儲、編碼及網(wǎng)絡(luò )傳輸,而監控端的PC機可以通過(guò)IE瀏覽器查看監測點(diǎn)的視頻,也可以設置視頻的分辨率、亮度、對比度等參數。經(jīng)實(shí)際運行表明,系統運行穩定,視頻流暢,能夠滿(mǎn)足遠程視頻監控的要求。
評論