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