張永格+李水明
【摘要】針對現(xiàn)代視頻監(jiān)控視頻數(shù)據(jù)的傳輸和線路的架設需要耗費大量的人力、物力問題,采用電力線載波通信和嵌入式技術,設計了一種電力線載波嵌入式視頻監(jiān)控系統(tǒng)。以嵌入式處理器S5PV210為控制核心,通過電力線載波傳輸視頻數(shù)據(jù)。
【關鍵詞】電力載波嵌入式視頻監(jiān)控
【中圖分類號】 G 【文獻標識碼】A
【文章編號】0450-9889(2014)06C-0181-03
視頻監(jiān)控被廣泛應用到各種生產(chǎn)、管理、檢測領域。視頻監(jiān)控的視頻數(shù)據(jù)的傳輸通常使用光纖、寬帶網(wǎng)絡、雙絞線等方式作為傳輸媒介,在生產(chǎn)和安裝過程中需要消耗大量的人力、物力。采用電力載波傳輸技術,利用廣泛存在的電力線網(wǎng)絡作為視頻數(shù)據(jù)傳輸?shù)拿浇?,能夠有效?jié)省生產(chǎn)和線路架設的成本。本系統(tǒng)采用嵌入式ARM作為視頻采集、編碼控制核心,結合電力線載波傳輸視頻數(shù)據(jù)構成基于電力線載波嵌入式視頻監(jiān)控系統(tǒng)。以嵌入式處理S5PV210作為控制核心能夠快速獲取攝像頭視頻圖像信息,利用內(nèi)部硬件H.264編碼器實現(xiàn)快速視頻編碼。以INT6400和INT1400作為電力線載波視頻傳輸模塊,能夠快速組網(wǎng)實現(xiàn)多點監(jiān)控和穩(wěn)定地傳輸視頻數(shù)據(jù)。該系統(tǒng)能夠免除煩瑣的視頻數(shù)據(jù)線路的生產(chǎn)、架設安裝,具有節(jié)約成本、即插即用等優(yōu)點。實驗表明,該視頻監(jiān)控系統(tǒng)具有低功耗、節(jié)省成本、安裝方便、圖像清晰等特點。
一、電力載波視頻監(jiān)控系統(tǒng)的總體設計
本視頻監(jiān)控系統(tǒng)采用C/S(客戶端/服務器端)模式,由視頻監(jiān)控服務器和視頻監(jiān)控客戶端組成。視頻監(jiān)控服務器設置固定的IP地址。視頻監(jiān)控服務器與客戶端采用UDP通信協(xié)議進行視頻傳輸。視頻監(jiān)控服務器主要由攝像頭模塊、嵌入式處理器模塊、電力線載波通信模塊組成。客戶端在PC機上實現(xiàn)。系統(tǒng)總體結構框架圖如圖1所示。
圖1 系統(tǒng)總體結構框架圖
二、電力線載波視頻監(jiān)控系統(tǒng)硬件設計
(一)嵌入式處理器模塊。嵌入式處理模塊視頻監(jiān)控系統(tǒng)服務器控制核心主要負責原始視頻圖像數(shù)據(jù)的采集、H.264格式視頻編碼、視頻數(shù)據(jù)傳輸給電力線載波通信模塊。該模塊采用Samsung公司的S5PV210嵌入式ARM CortexTM-A8處理器。處理器主頻最高可達1GHz,支持USB2.0通信,支持對MPEG4、H.263、H.264等視頻格式的硬件編碼。嵌入式處理模塊采用USB方式與攝像頭進行連接,通過以太網(wǎng)網(wǎng)絡芯片DM9000AEP接口與電力線載波通信模塊進行連接。
(二)電力線載波通信模塊。電力線載波通信模塊主要負責接收嵌入式主控模塊的視頻數(shù)據(jù),然后進行正交頻分復用(OFDM)編碼將數(shù)據(jù)調(diào)制到電力線上。本模塊主要由INT6400電力線調(diào)制控制芯片和INT1400模擬前端組成。ATHEROS公司生產(chǎn)的INT640電力線載波調(diào)制芯片,內(nèi)部集成A/D和D/A轉換功能,其采用HomePlug1.0通信協(xié)議最高通信速率高達200Mbps,能夠滿足視頻監(jiān)控系統(tǒng)多路視頻數(shù)據(jù)同時傳輸。INT6400通過RTL820CP網(wǎng)卡網(wǎng)絡接口與主控模塊通信。模擬前端INT1400主要負責將模擬信號進行放大加載到電力線上。圖2 為電力線載波通信模塊結構框圖。
圖2電力線載波通信模塊
三、電力線載波視頻監(jiān)控系統(tǒng)軟件設計
(一)視頻圖像采集。視頻監(jiān)控系統(tǒng)原始視頻圖像數(shù)據(jù)采集主要通過嵌入式ARM處理模塊的USB接口讀取攝像頭圖像信息。攝像頭采用深圳威視有限公司生產(chǎn)的USB視頻監(jiān)控攝像頭。該攝像頭通信接口為:USB2.0;圖像最大解析度為:640x480;圖像輸出格式為:YUYV;圖像數(shù)據(jù)幀率最高為:30fps。本視頻監(jiān)控系統(tǒng)服務器端采用Linux嵌入式系統(tǒng)作為操作系統(tǒng)。V4L2內(nèi)核驅(qū)動為Linux系統(tǒng)對進行視頻采集設備提供了通用接口。Linux2.6.32內(nèi)核已包含該攝像頭的視頻驅(qū)動,應用程序可利用V4L2標準的通用接口操作函數(shù)獲取攝像頭原始視頻圖像信息。本視頻監(jiān)控Linux系統(tǒng)中,對攝像頭設備進行讀寫的系統(tǒng)文件為“/dev/video0”。對攝像頭的操作通過ioctl(系統(tǒng)對內(nèi)核驅(qū)動I/O設備進行管理的函數(shù))函數(shù)進行操作即可。對視頻設備進行操作主要由以下幾個步驟組成。
1.打開視頻設備,通過open()打開函數(shù)完成。
static char * usb_name= "/dev/video0";
/*定義攝像頭設備文件名*/
usb_fd = open (usb_name, O_RDWR| O_NONBLOCK, 0); /*打開視頻設備,usb_name設備名*/
2.獲取USB攝像頭所支持的各種參數(shù)。
ioctl (*usb_fd, VIDIOC_QUERYCAP, &cap_video); /* 在V4L2編程框架下采用VIDIOC_QUERYCAP 指令為結構體cap_video獲取USB攝像頭的各種參數(shù)*/
3.設置USB攝像頭的輸出格式。
ioctl ( * usb_fd, VIDIOC_S_FMT, &video_set); /*定義video_set 為攝像頭設置輸出圖像的像素大小、輸出像素格式*/
4.向驅(qū)動申請緩沖幀的個數(shù)。
ioctl ( * usb_fd, VIDIOC_REQBUFS, &video_requre );
5.獲取視頻緩沖幀的地址。
ioctl ( * usb_fd, VIDIOC_QUERYBUF, &video_buf );/*申請圖像輸出的內(nèi)存存放起始地址*/
6.將緩沖地址放入視頻采集隊列和開始采集視頻數(shù)據(jù)。
ioctl (*usb_fd, VIDIOC_QBUF, & video_buf));
ioctl (*usb_fd, VIDIOC_STREAMON, &video_type));
7.獲取視頻數(shù)據(jù)同時必須將緩沖地址再次放入采集隊列。
ioctl ( * usb_fd, VIDIOC_DQBUF, &video_buf ); /*獲取原始視頻圖像信息*/
ioctl ( * usb_fd, VIDIOC_QBUF, &video_buf ); /*對下一次視頻圖像采集入列 */
(二)嵌入式視頻編碼。對原始視頻圖像信息必須進行視頻格式壓縮才適合傳輸。本視頻監(jiān)控系統(tǒng)采用H.264視頻格式進行視頻編碼。H.264視頻格式編碼采用流媒體技術支持邊傳輸邊播放功能,是一種高效率、高壓縮率、高圖像質(zhì)量同時對誤碼具有較強的糾錯能力的編碼技術。嵌入式處理器S5PV210內(nèi)置硬件H.264編碼器,支持對視頻進行H.264格式進行硬件編碼,減輕系統(tǒng)的工作負擔,提高工作效率。Samsung公司為該處理器提供相應的硬件驅(qū)動,應用程序只需對相關的驅(qū)動函數(shù)進行操作即可完成對視頻進行編碼。H.264編碼主要由以下步驟組成。
1.打開編碼設備。
handle = VideoMfcEncOpen(&buf_type)
2.設置H.264硬件編碼的格式,設置圖像像素的長寬、碼率等參數(shù)。
SSBSIP_MFC_ENC_H264_PARAM * H264_video_mfc; /*定義硬件編碼器為H.264格式*/
VideoMfcEncInit(handle , H264_video_mfc); /*初始化H.264編碼器*/
3.設置H.264圖像輸入存放地址。
SsbSipMfcEncGetInBuf( handle , input_info_video_mfc );
/*攝像頭采集的視頻圖像存放在起始地址為input_info_video_mfc,圖像視頻數(shù)據(jù)長度為SourceWidth * SourceHeight */
ret= SsbSipH264EncodeExe(handle); /*進行視頻的編碼*/
4.進行H.264視頻格式編碼。
SsbSipMfcEncExe( handle );
5.獲取H.264編碼的視頻數(shù)據(jù)。
SsbSipMfcEncGetOutBuf( handle , output_info_video_mfc ); /* output_info_video_mfc 為視頻編碼后視頻數(shù)據(jù)存放的數(shù)據(jù)地址*/
6.關閉視頻編碼設備。
(三)視頻傳輸。電力線載波視頻監(jiān)控服務器與客戶端通信采用UDP通信協(xié)議。UDP是一種無連接的網(wǎng)絡通信協(xié)議,適合對數(shù)據(jù)量傳輸要求比較高的通信。服務器與客戶端進行數(shù)據(jù)通信主要有以下步驟:
1.創(chuàng)建UDP協(xié)議套接口,采用無連接方式。
videofd=socket(AF_INET,SOCK_DGRAM,0);
2.利用bind函數(shù)對套接字進行綁定。
bzero(&video_adr,sizeof(struct,sockaddr_in));
video_adr.sin_family=AF_INET;
video_adr.sin_addr.s_addr=htonl(INADDR_ANY);
video_adr.sin_port=htons(SERVER_PORT);
bind(videofd,(struct sockaddr*)& video_adr, sizeof(struct sockaddr_in))
3.利用sendto()函數(shù)進行視頻數(shù)據(jù)打包發(fā)送。
video_adr= sizeof(struct sockaddr_in) ;
sendto(videofd,video_out,3000 , 0 , (struct sockaddr *)& video_adr , video_adr );
本系統(tǒng)每次發(fā)送3000個字符型視頻數(shù)據(jù)。視頻數(shù)據(jù)UDP協(xié)議通信方式如圖3所示。
圖3 視頻數(shù)據(jù)UDP通信方式
四、系統(tǒng)測試
本視頻監(jiān)控系統(tǒng)采用S5PV210嵌入式ARM處理器、4塊K4T160840F內(nèi)存組成的512MB RAM作為主控模塊,采用INT6400和INT1400組成的電力線載波模塊。電(下轉第184頁)(上接第182頁)力線載波通信的協(xié)議為:HomePlug1.0,主控模塊與上位機PC通信協(xié)議采用UDP通信協(xié)議,視頻傳輸像素為:320*240。PC端作為視頻接收播放客戶端。視頻播放幀率為:30fps。視頻編碼格式為:H.264編碼。每個電力線載波服務器設置固定IP地址,利用編寫的播放應用軟件進行視頻播放,利用電力線網(wǎng)絡數(shù)據(jù)測試工具檢測視頻通信的速率。在實驗環(huán)境下,采用兩個視頻監(jiān)控服務器進行視頻監(jiān)控。表1為兩個視頻監(jiān)控服務器與PC客戶端不同通信距離下的通信速率。在測試中圖像清晰、視頻延時小、圖像穩(wěn)定、通信速率高,能夠滿足多路視頻同時傳輸和較好適應環(huán)境,實現(xiàn)視頻監(jiān)控。
表1 通信速率與距離
序號 測試距離 1號通信速率 2號通信速率
1 5m 172 Mbps 175Mbps
2 10m 167 Mbps 162Mbps
3 20m 127Mbps 133Mbps
4 30m 116Mbps 113Mbps
5 40m 88Mbps 85Mbps
五、結論
基于電力線視頻嵌入式監(jiān)控系統(tǒng)采用電力線作為介質(zhì)在短距離傳輸視頻數(shù)據(jù),利用廣泛存在的電力線網(wǎng)絡實現(xiàn)視頻監(jiān)控的即插即用,節(jié)省大量建造材料和安裝的費用。同時采用嵌入式S5PV210處理器作為主控模塊利用其內(nèi)含H.264硬件編碼器,能夠快速高效率視頻編碼和傳輸視頻數(shù)據(jù)。實驗表明該方案可行,能夠應用于停車場、工廠、倉庫、家庭、銀行等領域,具有廣泛的市場應用前景。
【參考文獻】
[1]童方圓,于強.基于Android的實時視頻流傳輸系統(tǒng)[J].計算機工程與設計,2012(12)
[2]黃俊偉,巴義.基于V4L2移動視頻監(jiān)控系統(tǒng)的研究與設計[J].電視技術,2012(17)
[3]祝世平,張玲.基于分形和H.264的視頻編碼系統(tǒng)[J].光學精密工程,2013(3)
[4]岳兆娟,任勇毛,等.基于UDP的高速網(wǎng)絡傳輸協(xié)議研究[J].計算機應用研究,2013(10)
(責編黎原)
3.設置H.264圖像輸入存放地址。
SsbSipMfcEncGetInBuf( handle , input_info_video_mfc );
/*攝像頭采集的視頻圖像存放在起始地址為input_info_video_mfc,圖像視頻數(shù)據(jù)長度為SourceWidth * SourceHeight */
ret= SsbSipH264EncodeExe(handle); /*進行視頻的編碼*/
4.進行H.264視頻格式編碼。
SsbSipMfcEncExe( handle );
5.獲取H.264編碼的視頻數(shù)據(jù)。
SsbSipMfcEncGetOutBuf( handle , output_info_video_mfc ); /* output_info_video_mfc 為視頻編碼后視頻數(shù)據(jù)存放的數(shù)據(jù)地址*/
6.關閉視頻編碼設備。
(三)視頻傳輸。電力線載波視頻監(jiān)控服務器與客戶端通信采用UDP通信協(xié)議。UDP是一種無連接的網(wǎng)絡通信協(xié)議,適合對數(shù)據(jù)量傳輸要求比較高的通信。服務器與客戶端進行數(shù)據(jù)通信主要有以下步驟:
1.創(chuàng)建UDP協(xié)議套接口,采用無連接方式。
videofd=socket(AF_INET,SOCK_DGRAM,0);
2.利用bind函數(shù)對套接字進行綁定。
bzero(&video_adr,sizeof(struct,sockaddr_in));
video_adr.sin_family=AF_INET;
video_adr.sin_addr.s_addr=htonl(INADDR_ANY);
video_adr.sin_port=htons(SERVER_PORT);
bind(videofd,(struct sockaddr*)& video_adr, sizeof(struct sockaddr_in))
3.利用sendto()函數(shù)進行視頻數(shù)據(jù)打包發(fā)送。
video_adr= sizeof(struct sockaddr_in) ;
sendto(videofd,video_out,3000 , 0 , (struct sockaddr *)& video_adr , video_adr );
本系統(tǒng)每次發(fā)送3000個字符型視頻數(shù)據(jù)。視頻數(shù)據(jù)UDP協(xié)議通信方式如圖3所示。
圖3 視頻數(shù)據(jù)UDP通信方式
四、系統(tǒng)測試
本視頻監(jiān)控系統(tǒng)采用S5PV210嵌入式ARM處理器、4塊K4T160840F內(nèi)存組成的512MB RAM作為主控模塊,采用INT6400和INT1400組成的電力線載波模塊。電(下轉第184頁)(上接第182頁)力線載波通信的協(xié)議為:HomePlug1.0,主控模塊與上位機PC通信協(xié)議采用UDP通信協(xié)議,視頻傳輸像素為:320*240。PC端作為視頻接收播放客戶端。視頻播放幀率為:30fps。視頻編碼格式為:H.264編碼。每個電力線載波服務器設置固定IP地址,利用編寫的播放應用軟件進行視頻播放,利用電力線網(wǎng)絡數(shù)據(jù)測試工具檢測視頻通信的速率。在實驗環(huán)境下,采用兩個視頻監(jiān)控服務器進行視頻監(jiān)控。表1為兩個視頻監(jiān)控服務器與PC客戶端不同通信距離下的通信速率。在測試中圖像清晰、視頻延時小、圖像穩(wěn)定、通信速率高,能夠滿足多路視頻同時傳輸和較好適應環(huán)境,實現(xiàn)視頻監(jiān)控。
表1 通信速率與距離
序號 測試距離 1號通信速率 2號通信速率
1 5m 172 Mbps 175Mbps
2 10m 167 Mbps 162Mbps
3 20m 127Mbps 133Mbps
4 30m 116Mbps 113Mbps
5 40m 88Mbps 85Mbps
五、結論
基于電力線視頻嵌入式監(jiān)控系統(tǒng)采用電力線作為介質(zhì)在短距離傳輸視頻數(shù)據(jù),利用廣泛存在的電力線網(wǎng)絡實現(xiàn)視頻監(jiān)控的即插即用,節(jié)省大量建造材料和安裝的費用。同時采用嵌入式S5PV210處理器作為主控模塊利用其內(nèi)含H.264硬件編碼器,能夠快速高效率視頻編碼和傳輸視頻數(shù)據(jù)。實驗表明該方案可行,能夠應用于停車場、工廠、倉庫、家庭、銀行等領域,具有廣泛的市場應用前景。
【參考文獻】
[1]童方圓,于強.基于Android的實時視頻流傳輸系統(tǒng)[J].計算機工程與設計,2012(12)
[2]黃俊偉,巴義.基于V4L2移動視頻監(jiān)控系統(tǒng)的研究與設計[J].電視技術,2012(17)
[3]祝世平,張玲.基于分形和H.264的視頻編碼系統(tǒng)[J].光學精密工程,2013(3)
[4]岳兆娟,任勇毛,等.基于UDP的高速網(wǎng)絡傳輸協(xié)議研究[J].計算機應用研究,2013(10)
(責編黎原)
3.設置H.264圖像輸入存放地址。
SsbSipMfcEncGetInBuf( handle , input_info_video_mfc );
/*攝像頭采集的視頻圖像存放在起始地址為input_info_video_mfc,圖像視頻數(shù)據(jù)長度為SourceWidth * SourceHeight */
ret= SsbSipH264EncodeExe(handle); /*進行視頻的編碼*/
4.進行H.264視頻格式編碼。
SsbSipMfcEncExe( handle );
5.獲取H.264編碼的視頻數(shù)據(jù)。
SsbSipMfcEncGetOutBuf( handle , output_info_video_mfc ); /* output_info_video_mfc 為視頻編碼后視頻數(shù)據(jù)存放的數(shù)據(jù)地址*/
6.關閉視頻編碼設備。
(三)視頻傳輸。電力線載波視頻監(jiān)控服務器與客戶端通信采用UDP通信協(xié)議。UDP是一種無連接的網(wǎng)絡通信協(xié)議,適合對數(shù)據(jù)量傳輸要求比較高的通信。服務器與客戶端進行數(shù)據(jù)通信主要有以下步驟:
1.創(chuàng)建UDP協(xié)議套接口,采用無連接方式。
videofd=socket(AF_INET,SOCK_DGRAM,0);
2.利用bind函數(shù)對套接字進行綁定。
bzero(&video_adr,sizeof(struct,sockaddr_in));
video_adr.sin_family=AF_INET;
video_adr.sin_addr.s_addr=htonl(INADDR_ANY);
video_adr.sin_port=htons(SERVER_PORT);
bind(videofd,(struct sockaddr*)& video_adr, sizeof(struct sockaddr_in))
3.利用sendto()函數(shù)進行視頻數(shù)據(jù)打包發(fā)送。
video_adr= sizeof(struct sockaddr_in) ;
sendto(videofd,video_out,3000 , 0 , (struct sockaddr *)& video_adr , video_adr );
本系統(tǒng)每次發(fā)送3000個字符型視頻數(shù)據(jù)。視頻數(shù)據(jù)UDP協(xié)議通信方式如圖3所示。
圖3 視頻數(shù)據(jù)UDP通信方式
四、系統(tǒng)測試
本視頻監(jiān)控系統(tǒng)采用S5PV210嵌入式ARM處理器、4塊K4T160840F內(nèi)存組成的512MB RAM作為主控模塊,采用INT6400和INT1400組成的電力線載波模塊。電(下轉第184頁)(上接第182頁)力線載波通信的協(xié)議為:HomePlug1.0,主控模塊與上位機PC通信協(xié)議采用UDP通信協(xié)議,視頻傳輸像素為:320*240。PC端作為視頻接收播放客戶端。視頻播放幀率為:30fps。視頻編碼格式為:H.264編碼。每個電力線載波服務器設置固定IP地址,利用編寫的播放應用軟件進行視頻播放,利用電力線網(wǎng)絡數(shù)據(jù)測試工具檢測視頻通信的速率。在實驗環(huán)境下,采用兩個視頻監(jiān)控服務器進行視頻監(jiān)控。表1為兩個視頻監(jiān)控服務器與PC客戶端不同通信距離下的通信速率。在測試中圖像清晰、視頻延時小、圖像穩(wěn)定、通信速率高,能夠滿足多路視頻同時傳輸和較好適應環(huán)境,實現(xiàn)視頻監(jiān)控。
表1 通信速率與距離
序號 測試距離 1號通信速率 2號通信速率
1 5m 172 Mbps 175Mbps
2 10m 167 Mbps 162Mbps
3 20m 127Mbps 133Mbps
4 30m 116Mbps 113Mbps
5 40m 88Mbps 85Mbps
五、結論
基于電力線視頻嵌入式監(jiān)控系統(tǒng)采用電力線作為介質(zhì)在短距離傳輸視頻數(shù)據(jù),利用廣泛存在的電力線網(wǎng)絡實現(xiàn)視頻監(jiān)控的即插即用,節(jié)省大量建造材料和安裝的費用。同時采用嵌入式S5PV210處理器作為主控模塊利用其內(nèi)含H.264硬件編碼器,能夠快速高效率視頻編碼和傳輸視頻數(shù)據(jù)。實驗表明該方案可行,能夠應用于停車場、工廠、倉庫、家庭、銀行等領域,具有廣泛的市場應用前景。
【參考文獻】
[1]童方圓,于強.基于Android的實時視頻流傳輸系統(tǒng)[J].計算機工程與設計,2012(12)
[2]黃俊偉,巴義.基于V4L2移動視頻監(jiān)控系統(tǒng)的研究與設計[J].電視技術,2012(17)
[3]祝世平,張玲.基于分形和H.264的視頻編碼系統(tǒng)[J].光學精密工程,2013(3)
[4]岳兆娟,任勇毛,等.基于UDP的高速網(wǎng)絡傳輸協(xié)議研究[J].計算機應用研究,2013(10)
(責編黎原)