• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于4G+VPN技術(shù)的視頻監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)

      2015-06-23 16:27:38閆光來張衛(wèi)強(qiáng)李維
      無線電通信技術(shù) 2015年5期
      關(guān)鍵詞:開發(fā)板調(diào)用編碼

      閆光來,張衛(wèi)強(qiáng),李維

      (寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波 315211)

      基于4G+VPN技術(shù)的視頻監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)

      閆光來,張衛(wèi)強(qiáng),李維

      (寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波 315211)

      為了克服傳統(tǒng)視頻監(jiān)控系統(tǒng)的缺陷,實現(xiàn)在偏遠(yuǎn)地區(qū)進(jìn)行遠(yuǎn)程視頻監(jiān)控的需求,設(shè)計了一種基于4G和VPN(Virtual Private Network)技術(shù)的移動監(jiān)控系統(tǒng)。系統(tǒng)以ARM11為硬件平臺,運(yùn)行Linux操作系統(tǒng),利用V4L2接口從攝像頭采集圖片并使用CPU內(nèi)部MFC模塊編碼成壓縮率高的H.264視頻流,以RTP/RTCP協(xié)議進(jìn)行實時網(wǎng)絡(luò)傳輸。同時采用VPN技術(shù),搭建專用網(wǎng)絡(luò)解決了4G私有IP地址的問題。經(jīng)驗證,該系統(tǒng)傳輸穩(wěn)定、畫面流暢、實時性高,可被應(yīng)用于眾多領(lǐng)域。

      4G;監(jiān)控系統(tǒng);VPN;H.264

      0 引言

      視頻監(jiān)控,作為一種有效的技術(shù)手段,在商場、交通、居家安全等領(lǐng)域發(fā)揮著日益重要的作用。傳統(tǒng)的有線視頻監(jiān)控,必須要鋪設(shè)網(wǎng)線或電纜,成本較高,架設(shè)線路受環(huán)境的限制較大,而且維護(hù)費用高,故障排除麻煩[1]。隨著信息技術(shù)的飛速發(fā)展,無線網(wǎng)絡(luò)通信技術(shù)不斷成熟,以4G為代表的無線網(wǎng)絡(luò)視頻監(jiān)控技術(shù)能夠很好地解決有線方式的弊端。自2013年12月工信部發(fā)放4G牌照以來,TDD-LTE的4G通信技術(shù)日漸成熟。相比于3G網(wǎng)絡(luò),4G網(wǎng)絡(luò)的傳輸速率可達(dá)到20 Mbps,最高甚至可以達(dá)到100 Mbps,傳輸速度是3G時代的50倍[2],能夠更好的支持高清視頻監(jiān)控。

      1 系統(tǒng)設(shè)計

      1.1 系統(tǒng)硬件結(jié)構(gòu)

      系統(tǒng)所使用的硬件平臺為友善之臂的Tiny6410開發(fā)板。該開發(fā)板的核心芯片為三星的S3C6410處理器,該處理器具有低功率、高性價比、高性能的優(yōu)點。內(nèi)部集成有硬件編解碼器,支持MPEG4、H.263以及H.264格式的編解碼。開發(fā)板有3路USB Host的USB口,可以滿足本設(shè)計所需。攝像頭使用羅技的一款C270高清USB攝像頭,采集的圖片有YUV和MJPEG格式。4G無線網(wǎng)卡使用中興的一款ME3760V2上網(wǎng)卡模塊。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。

      圖1 系統(tǒng)結(jié)構(gòu)圖

      1.2 系統(tǒng)軟件設(shè)計

      系統(tǒng)采用的操作系統(tǒng)為Linux系統(tǒng)。Linux操作系統(tǒng)具有體積小、系統(tǒng)開源、移植方便的優(yōu)點,被廣泛應(yīng)用在移動設(shè)備上。本設(shè)計采用的Linux內(nèi)核版本為Linux-2.6.38。為了調(diào)試方便,測試階段采用宿主機(jī)掛載根文件的形式。宿主機(jī)為裝有Fedora14的PC機(jī),通過網(wǎng)線、串口和開發(fā)板連接。通過裁剪移植完成了針對于開發(fā)板工作的最小u-boot、kernel和根文件系統(tǒng)。在裁剪內(nèi)核時,需要添加對UVC格式的USB攝像頭的驅(qū)動支持以及4G上網(wǎng)模塊的驅(qū)動及通信協(xié)議支持[3]。

      2 視頻的采集及編碼

      視頻采集程序調(diào)用Linux內(nèi)核提供的V4L2接口,通過內(nèi)存映射的方法,調(diào)用mmap函數(shù)把保存在內(nèi)核空間的采集的視頻數(shù)據(jù)所在的緩沖區(qū)映射到用戶空間,這樣可以有效地減少數(shù)據(jù)的交互。同時定義2個隊列,視頻輸入和視頻輸出隊列,用來存放幀緩沖剛?cè)〉降暮蛻?yīng)用程序已處理的數(shù)據(jù)。采集流程如圖2所示。

      圖2 視頻采集流程圖

      視頻采集流程如下:

      ①打開視頻設(shè)備,fd=open(video0,O_RDWR);獲得設(shè)備屬性,調(diào)用ioctl(fd,VIDIOC_ QUERYCAP,&v4l2_def),將設(shè)備參數(shù)保存在v4l2_ def結(jié)構(gòu)體中;

      ②調(diào)用ioctl(fd,VIDIOC_S_FMT,&format)設(shè)置視頻采集的參數(shù)如幀格式、圖片大小等;

      ③調(diào)用ioctl(fd,VIDIOC_REQBUFS,&reqbuf)申請幀緩沖區(qū)存放視頻數(shù)據(jù),并通過mmap函數(shù)將其映射到用戶空間以便應(yīng)用程序操作;

      ④開始視頻數(shù)據(jù)的采集。調(diào)用ioctl(fd,VIDIO_ STR-EAMON,&way)命令獲取一幀數(shù)據(jù),應(yīng)用程序處理后,幀緩存區(qū)的數(shù)據(jù)再次刷新載入,這樣實現(xiàn)了視頻數(shù)據(jù)的循環(huán)采集;

      ⑤視頻采集結(jié)束,停止采集,調(diào)用close函數(shù)關(guān)閉視頻設(shè)備。

      系統(tǒng)在設(shè)計時還要完成一步圖像格式的轉(zhuǎn)換,因為硬件編碼器要求的標(biāo)準(zhǔn)輸入格式為YUV420[4],而本設(shè)計采用的攝像頭采集的格式為YUV422。兩者的區(qū)別在于,YUV422采樣是每兩個Y共用一組UV分量,而YUV420是每4個Y共用一組UV分量,所以在采集之后需要軟件方法進(jìn)行格式轉(zhuǎn)換。這里編寫YUV422轉(zhuǎn)YUV420的轉(zhuǎn)換函數(shù)YUV422to420(unsigned char*pYUV,unsigned int *yuv,int Width,int Height)。

      視頻壓縮編碼部分使用的是硬件編碼法,利用S3C6410芯片內(nèi)置的MFC進(jìn)行H.264格式的硬件編碼。S3C6410芯片內(nèi)部集成有硬件編解碼器MFC模塊,能夠支持30 fps的標(biāo)清H.264、H.263、MPEG4視頻格式的編解碼[5]。H.264是新一代的一種視頻壓縮的標(biāo)準(zhǔn),在同等圖像質(zhì)量下,它的壓縮比是上一代的壓縮標(biāo)準(zhǔn)MPEG2的2~3倍,相比于MPEG4,也平均減少39%的傳輸碼流,具有較高的圖片壓縮效率和較高的網(wǎng)絡(luò)傳輸效率,容錯能力強(qiáng)[6]。因此,H.264編碼格式常被用在高清錄像機(jī)和實時監(jiān)控領(lǐng)域。

      系統(tǒng)的視頻硬件編碼流程如圖3所示。

      硬件編碼步驟如下:

      ①調(diào)用函數(shù)SsbSipH264EncodeInit(width,height,frame_rate,bitrate,gop)進(jìn)行編碼器的初始化。包括對每一幀圖像的長寬、幀速率、比特率及編碼質(zhì)量系數(shù)設(shè)定;

      ②調(diào)用函數(shù)SsbSipH264 EncodeGetInBuf(handle,size)獲取前面采集程序中圖像數(shù)據(jù)的buffer地址;

      ③第一次編碼需要傳入設(shè)置的參數(shù),調(diào)用函數(shù)SsbSipH264EncodeGetConfig(handle,H264_ENC_GETCONF_HEADER_SIZE,&cofi_size);

      ④調(diào)用SsbSipH264 EncodeExe(handle)執(zhí)行H.264格式編碼;

      ⑤調(diào)用SsbSipH264 EncodeGetOutBufAddr(handle,size)獲取編碼輸出后的數(shù)據(jù)地址;

      ⑥編碼結(jié)束,調(diào)用SsbSipH264EncodeDeInit(handle)解除內(nèi)存映射,釋放并關(guān)閉編碼器。

      這樣經(jīng)過S3C6410芯片的硬件編碼器壓縮編碼后,得到了采集圖像的H.264格式的視頻流,經(jīng)壓縮后的數(shù)據(jù),相比于原始圖片格式,圖像內(nèi)存減少了很多,網(wǎng)絡(luò)傳輸效果更佳。

      圖3 硬件編碼流程圖

      3 視頻的傳輸

      3.1 流媒體傳輸協(xié)議

      系統(tǒng)采用的是專門應(yīng)用在流媒體音視頻傳輸?shù)膶崟r傳輸協(xié)議(Real-time Transport Protocol,RTP),此協(xié)議用來傳輸視頻數(shù)據(jù),提供了具有實時性特征、一對一或一對多的數(shù)據(jù)傳輸服務(wù)。但是此協(xié)議無法提供可靠的傳輸機(jī)制,視頻傳輸質(zhì)量無法保障。這里配合使用控制協(xié)議RTCP(RTP Control Protocol),通過RTCP的報文信息,根據(jù)接收端接收數(shù)據(jù)包的丟包、延時及網(wǎng)絡(luò)帶寬情況作出反饋,動態(tài)自適應(yīng)調(diào)整視頻流的包發(fā)送,從而保證了視頻的傳輸質(zhì)量[7]。網(wǎng)絡(luò)協(xié)議基于UDP協(xié)議,相比于TCP協(xié)議的三次握手和四次揮手機(jī)制,UDP協(xié)議是一個非面向連接的通信協(xié)議,傳輸?shù)膱箢^信息簡短,傳遞效率高,因此,非常適合用來實時視頻的傳輸服務(wù)[8,9]。

      ARM平臺移植一個JRTPLIB的C++庫,該庫是根據(jù)RTP標(biāo)準(zhǔn)RFC3550而編寫的。用戶只需要修改調(diào)用相應(yīng)的API函數(shù),就可以配置網(wǎng)絡(luò),通過RTP協(xié)議發(fā)送數(shù)據(jù)了。移植的步驟如下:①獲取源碼,解壓縮;②配置安裝選項,選擇編譯環(huán)境為armlinux-gcc;③運(yùn)行make命令完成編譯;④運(yùn)行make install完成安裝,注意庫文件和頭文件的安裝目錄。

      在經(jīng)過編碼后的數(shù)據(jù)分為一個個的NAL單元結(jié)構(gòu),包括了NAL的起始碼,NAL頭部以及編碼的視頻數(shù)據(jù)。建立RTP會話時,會加上RTP的頭部報文,包含了頭部單元格式、RTP載荷類型等信息。在UDP傳輸時,又需要打上UDP頭部信息,包括了端口號、UDP數(shù)據(jù)長度等信息[10]。傳輸時要注意RTP包長度要小于MTU(最大傳輸單元)。

      基于RTP的會話傳輸主要步驟如下:

      ①初始化RTP會話

      ②發(fā)送數(shù)據(jù)流

      ③接收數(shù)據(jù)

      調(diào)用RTPsession類的函數(shù)遍歷所有源,檢測到有效數(shù)據(jù)源后,調(diào)用GetNextPacket()提取其中的RTP數(shù)據(jù)報文,然后進(jìn)行處理工作。

      3.2 網(wǎng)卡的驅(qū)動加載

      本系統(tǒng)的4G上網(wǎng)卡選用的是中興的ME3760V2的一款上網(wǎng)模塊,該模塊支持TDD-LTE的band38、band39、band40、band41頻段,同時向下兼容TD-SCDMA及GSM頻段,支持最大的150 Mbps的上行數(shù)據(jù)傳輸速率。該模塊支持Linux操作系統(tǒng)。

      在內(nèi)核文件drivers/usb/serial/options.c中添加該網(wǎng)卡的ID號,添加cdc_encap和cdc_ether的源碼文件,通過make menuconfig命令,添加內(nèi)核對usbnet驅(qū)動的支持。

      執(zhí)行make zImage命令,編譯通過后,將生成的內(nèi)核鏡像下載到開發(fā)板上。上電啟動后,會看到內(nèi)核打印信息,通過lsusb會看到/dev目錄下出現(xiàn)三個串口。通過AT指令方式撥號后,可連接至Internet,并返回動態(tài)IP地址[11]。查詢IP的指令為“AT+CGPADDR=1”,返回“+CGPADDR:1,“10.62.154.254””。通過udhcpc指令可動態(tài)獲取IP配置,此時,開發(fā)板已具有上網(wǎng)功能,可以用于視頻數(shù)據(jù)的網(wǎng)絡(luò)傳輸。連接成功后udhcpc命令輸出如下所示。

      4 VPN局域網(wǎng)的搭建

      4G上網(wǎng)卡產(chǎn)生的IP為移動運(yùn)營商分配的私網(wǎng),由于網(wǎng)絡(luò)NAT技術(shù)的存在,用戶在PC端的另一局域網(wǎng)內(nèi)是無法實現(xiàn)與開發(fā)板的網(wǎng)絡(luò)互訪的。這里,采用搭建VPN虛擬專用網(wǎng)絡(luò)的方法,通過組建VPN網(wǎng)絡(luò),使得開發(fā)板和客戶端處于同一局域網(wǎng)內(nèi),從而實現(xiàn)兩端的訪問。VPN的實現(xiàn)基于隧道協(xié)議,通過既定的隧道協(xié)議,可以把一種協(xié)議以外的一種協(xié)議或者相同的協(xié)議進(jìn)行封裝,還可以給用戶提供加密等安全服務(wù)。VPN服務(wù)器必須和客戶端使用相同的隧道協(xié)議,這樣才能實現(xiàn)VPN的連接。目前常用的隧道協(xié)議有以下3種:PPTP、L2TP和IPSec[12]。本設(shè)計選擇的協(xié)議是點對點隧道協(xié)議(Point-to-Point Tunneling Protocol,PPTP)。

      VPN服務(wù)器選擇具有雙網(wǎng)卡的PC機(jī),安裝Windows Server2008,搭建VPN的服務(wù)器。這臺PC機(jī)具有公網(wǎng)IP,可被訪問。用于視頻監(jiān)控的客戶端PC同樣安裝客戶端程序,接入的網(wǎng)絡(luò)為局域網(wǎng)。該客戶機(jī)被設(shè)定為user1,接入VPN網(wǎng)絡(luò)后,會被分配一個VPN局域網(wǎng)內(nèi)的虛擬IP地址,如表1所示。

      表1 實驗中VPN網(wǎng)絡(luò)環(huán)境中各終端的IP地址信息

      在開發(fā)板上需要添加對PPTP協(xié)議的支持,宿主機(jī)下載Linux系統(tǒng)下的PPTP客戶端程序后,解壓縮編譯,將可執(zhí)行文件拷貝到開發(fā)板。在配置iptable防火墻放行和轉(zhuǎn)發(fā)規(guī)則后,建立一個VPN連接腳本文件,寫入本機(jī)的用戶名、帶有公網(wǎng)的VPN服務(wù)器的IP地址等信息。配置執(zhí)行成功后,可以查看到本機(jī)被分配的同監(jiān)視端同一網(wǎng)段的虛擬IP地址。這樣,客戶端PC機(jī)就可以同開發(fā)板處在了同一局域網(wǎng)環(huán)境內(nèi),就可以IP互訪,實現(xiàn)視頻的傳輸了。

      5 系統(tǒng)測試

      在PC端,使用VLC播放器來播放實時視頻流。VLC不僅可以播放本地多媒體文件,還可以播放網(wǎng)絡(luò)視頻,既能用作媒體流服務(wù)器,又可以當(dāng)成客戶端接收網(wǎng)絡(luò)流。在開發(fā)板端,連接網(wǎng)絡(luò)后,PC機(jī)打開VLC軟件,打開“媒體”,選擇“打開網(wǎng)絡(luò)串流”,輸入網(wǎng)絡(luò)的URL,這里輸入在VPN局域網(wǎng)內(nèi)開發(fā)板端獲得的虛擬IP地址及端口號:rtp// 192.168.1.20:1240,同時導(dǎo)入名為h.264_live的sdp文件,內(nèi)容為“m=video 1240 RTP/AVP 96 a=rtpmap:96 H264a=framerate:26c=IN IP4 192.168.1.30”經(jīng)過測試,視頻播放流暢,畫面清晰。

      6 結(jié)束語

      經(jīng)過系統(tǒng)測試,本系統(tǒng)可以很好地編碼并傳輸U(kuò)SB攝像頭采集的視頻圖像,經(jīng)過4G網(wǎng)絡(luò)傳輸,在VPN局域網(wǎng)內(nèi)的客戶端VLC播放器上可進(jìn)行實時播放。由于開發(fā)板的USB1.1口的限制,本系統(tǒng)在幀速為26 fps,分辨率為176*144的圖像編碼后傳輸?shù)男Ч^好,通過抓包工具測試在連續(xù)接收3 h左右,丟包率在2.1%,畫面流暢清晰,顯示出4G的網(wǎng)絡(luò)環(huán)境能夠很好地支持網(wǎng)絡(luò)視頻的傳輸。本系統(tǒng)經(jīng)過擴(kuò)展和改進(jìn),可以很好地應(yīng)用于移動無線視頻監(jiān)控領(lǐng)域。伴隨著4G技術(shù)更加成熟,加上H.265等更加有效的視頻壓縮技術(shù),移動網(wǎng)絡(luò)下的高清網(wǎng)絡(luò)視頻監(jiān)控行業(yè)將會有更大的進(jìn)步。

      [1]林承德,李少林,謝雄.基于3G無線網(wǎng)絡(luò)的視頻監(jiān)控系統(tǒng)[J].計算機(jī)系統(tǒng)應(yīng)用,2012,21(3):209-212.

      [2]田慶吉.探析4G網(wǎng)絡(luò)中的關(guān)鍵技術(shù)[J].軟件,2014,35 (1):141-142.

      [3]Zhao Qian.Research on family and shops real-time status of 3G Wireless Remote Monitoring System[J].Journal of Software,2011,6(5):814-818.

      [4]蔡麗艷.基于H.264嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的研究與實現(xiàn)[D].南京:南京郵電大學(xué),2013:37-40.

      [5]游向東,劉福良,劉軍,等.S3C6410中MFC的研究與應(yīng)用[J].電子產(chǎn)品世界.2011(12):36-37,40.

      [6]李波,盧文科,朱文超.基于3G和H.264的無線視頻監(jiān)控系統(tǒng)的設(shè)計[J].微計算機(jī)信息,2011,27(5):78-79,19.

      [7]西剎子.安防天下-智能網(wǎng)絡(luò)視頻監(jiān)控技術(shù)詳解與實踐[M].北京:清華大學(xué)出版社,2010.

      [8]宋敬彬,孫海濱.Linux網(wǎng)絡(luò)編程(第2版)[M].北京:清華大學(xué)出版社,2014.

      [9]鄭慶紅.基于H.264的視頻傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].無線電工程,2011,41(8):12-14,40.

      [10]王春香,紀(jì)松波.基于4G網(wǎng)絡(luò)的移動多媒體傳輸關(guān)鍵技術(shù)[J].無線電通信技術(shù),2014,40(5):40-43.

      [11?王志超,劉波,花於鋒.基于移動4G與ZigBee無線傳感網(wǎng)的網(wǎng)關(guān)設(shè)計[J].計算機(jī)測量與控制,2014,22 (3):863-865,878.

      [12?龔辰杰.基于VPN的遠(yuǎn)程視頻監(jiān)控的實現(xiàn)[J].電腦知識與技術(shù),2013,9(7):1529-1531.

      Design and Implement of Video Monitoring System Based on 4G+VPN Technologies

      YAN Guang-lai,ZHANG Wei-qiang,LI Wei
      (College of Information Science and Engineering,Ningbo University,Ningbo Zhejiang 315211,China)

      A monitoring system based on 4G and VPN(Virtual Private Network)is designed to overcome the drawbacks of traditional way and realize the demand of video monitoring in the remote areas.This video surveillance system uses ARM11 as the hardware platform,and works on embedded Linux operating system.It uses the V4L2 interface to capture image data,CPU integrated MFC module to code these image data to H.264 video stream with high compression ratio,and implements realtime video transmission by using RTP/RTCP protocol.Also,in this system,a VPN network is built by using VPN technology to solve the problem of private IP address when using 4G module access to the Internet.The experiment results show that the system has stable operation,smooth stream and low delay,and it can be used in various fileds.

      4G;monitoring system;VPN;H.264

      TN929.5

      A

      1003-3114(2015)05-81-5

      10.3969/j.issn.1003-3114.2015.05.22

      閆光來,張衛(wèi)強(qiáng),李維.基于4G+VPN技術(shù)的視頻監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J].無線電通信技術(shù),2015,41(5):81-85.

      2015-05-21

      國家自然科學(xué)基金項目(61271137)

      閆光來(1991—),男,在讀研究生,主要研究方向:嵌八式系統(tǒng)。張衛(wèi)強(qiáng)(1963—),男,副教授,碩士生導(dǎo)師,主要研究方向:嵌入式系統(tǒng)。

      猜你喜歡
      開發(fā)板調(diào)用編碼
      基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
      《全元詩》未編碼疑難字考辨十五則
      子帶編碼在圖像壓縮編碼中的應(yīng)用
      電子制作(2019年22期)2020-01-14 03:16:24
      核電項目物項調(diào)用管理的應(yīng)用研究
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      Genome and healthcare
      Microchip最新推出兩款PIC32 Curiosity開發(fā)板
      淺析單片機(jī)開發(fā)板的設(shè)計與制作
      電子制作(2017年22期)2017-02-02 07:10:14
      基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
      Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
      瓦房店市| 始兴县| 东安县| 商河县| 阳曲县| 秦安县| 东兰县| 根河市| 建始县| 巨鹿县| 崇义县| 永仁县| 兴业县| 博客| 汤原县| 水城县| 汽车| 五寨县| 赤水市| 竹北市| 五台县| 康定县| 冕宁县| 绥江县| 庆阳市| 镇安县| 崇信县| 霍林郭勒市| 华容县| 河源市| 阳谷县| 伊川县| 武城县| 峡江县| 兴化市| 四平市| 库车县| 张掖市| 内丘县| 西乌珠穆沁旗| 门头沟区|