亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        無線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的研究

        2023-04-29 20:10:36梁伯虎夏穎張勁松
        信息系統(tǒng)工程 2023年4期

        梁伯虎?夏穎?張勁松

        摘要:在打擊違法犯罪、維護(hù)社會(huì)公共安全、促進(jìn)社會(huì)和諧穩(wěn)定方面,視頻監(jiān)控系統(tǒng)起到了至關(guān)重要的作用。因此,設(shè)計(jì)了一種基于Linux平臺的無線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。系統(tǒng)采用V4L2架構(gòu)對攝像頭進(jìn)行圖像采集,移植x264編碼器對采集的圖像進(jìn)行編碼壓縮,使用Live555框架對編碼數(shù)據(jù)進(jìn)行流化處理,最后通過RTSP實(shí)時(shí)流傳輸協(xié)議將視頻流發(fā)送出去。監(jiān)控端需要安裝特定的軟件,用來接收和解碼視頻流,這樣就可以監(jiān)測攝像頭采集的圖像。整個(gè)系統(tǒng)實(shí)現(xiàn)了無線網(wǎng)絡(luò)視頻監(jiān)控的基本功能。

        關(guān)鍵詞:無線網(wǎng)絡(luò)視頻監(jiān)控;V4L2;x264;Live555

        一、前言

        隨著人們生活質(zhì)量的不斷提高,人身和財(cái)產(chǎn)安全變成了大眾關(guān)注的焦點(diǎn)。視頻監(jiān)控系統(tǒng)也隨之出現(xiàn)在人們能接觸到的方方面面,比如出現(xiàn)在十字街口,為了確保交通安全;出現(xiàn)在學(xué)校,為了防止校園霸凌;出現(xiàn)在居民社區(qū),為了維護(hù)社會(huì)公共安全[1]。因此,視頻監(jiān)控系統(tǒng)在促進(jìn)社會(huì)和諧穩(wěn)定和打擊違法犯罪等方面發(fā)揮著不可替代的保障作用,它的地位也越來越重要,人們對它的需求也越來越高。針對這個(gè)趨勢,本文設(shè)計(jì)了一種基于Linux平臺的無線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。系統(tǒng)采用V4L2架構(gòu)對攝像頭進(jìn)行圖像采集,移植x264編碼器對采集的圖像進(jìn)行編碼壓縮,使用Live555框架對編碼數(shù)據(jù)進(jìn)行流化處理,最后通過RTSP實(shí)時(shí)流傳輸協(xié)議將視頻流發(fā)送出去。監(jiān)控端需要安裝特定的軟件,用來接收和解碼視頻流,這樣就可以監(jiān)測攝像頭采集的圖像。基本實(shí)現(xiàn)了無線網(wǎng)絡(luò)視頻監(jiān)控的功能。

        二、系統(tǒng)總體設(shè)計(jì)方案

        系統(tǒng)總體設(shè)計(jì)方案包括無線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的硬件設(shè)計(jì)和無線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的軟件設(shè)計(jì),如圖1。

        對于硬件部分:主控芯片是系統(tǒng)的核心,控制著各個(gè)電路模塊的正常運(yùn)轉(zhuǎn)。所以,主控芯片的選擇決定著系統(tǒng)的性能指標(biāo)。本文采用北京君正公司的X1000型號芯片,它的工作主頻相對較高,功耗相對較低,同時(shí)還擁有豐富的總線接口,比較適合系統(tǒng)的使用。首先搭建以主控芯片為主,電源、時(shí)鐘、復(fù)位和調(diào)試等基本電路模塊為輔的最小系統(tǒng)。最小系統(tǒng)的成功建立可以確保硬件平臺運(yùn)行的穩(wěn)定。然后根據(jù)系統(tǒng)的需要,添加攝像頭電路,負(fù)責(zé)圖像采集功能。

        對于軟件部分:本文采用Linux系統(tǒng)軟件開發(fā)平臺。它的可移植性和擴(kuò)展性都相對較好,如果后續(xù)有硬件電路的更新,軟件修改的代碼量相對較小。電腦端需要安裝Linux操作系統(tǒng),提供交叉編譯環(huán)境。硬件開發(fā)板采用u-boot-2016.09(系統(tǒng)引導(dǎo)加載程序)和kernel-4.4.93(系統(tǒng)內(nèi)核框架)的代碼版本。將u-boot和kernel的代碼,根據(jù)主控芯片的性能指標(biāo)進(jìn)行移植和裁剪。經(jīng)過充分的調(diào)試,確保硬件開發(fā)板可以穩(wěn)定的運(yùn)行。圖像采集端使用V4L2架構(gòu),負(fù)責(zé)采集攝像頭的圖像數(shù)據(jù)。圖像數(shù)據(jù)首先被送到x264編碼器進(jìn)行編碼壓縮,然后被送到Live555模塊進(jìn)行流化處理,最后經(jīng)過RTSP實(shí)時(shí)流傳輸協(xié)議,通過WIFI模塊將視頻流發(fā)送出去,完成系統(tǒng)中數(shù)據(jù)流從采集、處理到發(fā)送的全過程。監(jiān)控端通過安裝內(nèi)置RTSP協(xié)議的軟件,就可以監(jiān)測攝像頭采集到的圖像。

        三、硬件設(shè)計(jì)

        (一)主控芯片

        本文主控芯片采用北京君正公司的X1000型號處理器。它的工作主頻在1GHz,可以使軟件模塊將視頻數(shù)據(jù)處理得相對較快,為視頻實(shí)時(shí)傳輸提供硬件基礎(chǔ);它內(nèi)置有低功耗內(nèi)存,避免內(nèi)存電路的設(shè)計(jì),可以極大縮短系統(tǒng)的研發(fā)時(shí)間和成本;它的功耗小于200mW,通過電源電路的設(shè)計(jì),可以實(shí)現(xiàn)用鋰電池供電,拓展了使用范圍;它還具有豐富的總線接口,可以擴(kuò)展攝像頭電路、Wi-Fi電路和存儲(chǔ)等其他電路。

        (二)攝像頭電路

        本文攝像頭采用Omni Vision公司的OV9712模組,如圖2。它是1/4英寸CMOS圖像傳感器,分辨率是1280×800,每秒鐘可以采集30幀圖像,有曝光控制、白平衡和缺陷像素消除等功能[2]。它的性能指標(biāo)比較適合在無線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中使用。

        按圖2電路圖連接好。根據(jù)上電時(shí)序,依次將VDD_IO(I/O電源),VDD_A(模擬電源),VDD_D(數(shù)字電源)和PWDN(電源開關(guān))給電,軟件通過SIOC和SIOD(i2c總線接口)設(shè)置采集圖像的分辨率,對比度和白平衡等相關(guān)參數(shù),同時(shí)給輸入時(shí)鐘MCLK合適的工作頻率,測量輸出時(shí)鐘PCLK,行時(shí)鐘同步信號HREF和幀時(shí)鐘同步信號VSYNC波形是否正確。最后,用V4L2模塊將D0-D7的8位圖像數(shù)據(jù)讀取,并且保存成文件,通過專門顯示原始圖像的軟件打開,驗(yàn)證是否是攝像頭拍攝的圖像,同時(shí)作為系統(tǒng)的原始數(shù)據(jù)。

        (三)WIFI電路

        本文Wi-Fi采用正點(diǎn)原子公司的ATK-MW8266D模塊,如圖3。它的傳輸速率是54Mbps,為視頻實(shí)時(shí)傳輸提供硬件基礎(chǔ)。

        按圖3電路圖,將電源VDD,地GND,重啟RST,數(shù)據(jù)接收RXD和數(shù)據(jù)發(fā)送TXD與主控芯片連接好。通過電源電路給VDD提供3.3V電壓,WIFI模塊就可以正常工作。產(chǎn)商將WIFI相關(guān)操作封裝成AT命令,方便使用。只需要根據(jù)AT文檔提供的相關(guān)指令,就可以實(shí)現(xiàn)WIFI模塊的基本功能,比如配置網(wǎng)絡(luò)參數(shù),收發(fā)數(shù)據(jù)等。配置成功后,可以在監(jiān)控端安裝網(wǎng)絡(luò)封包分析軟件Wireshark,驗(yàn)證來自圖像采集端發(fā)送數(shù)據(jù)的正確性。為視頻數(shù)據(jù)的正確傳輸,提供硬件基礎(chǔ)。

        (四)存儲(chǔ)電路

        本文存儲(chǔ)芯片采用Giga Device公司的GD25LQ128C型號芯片,它是SPI串行總線接口的閃存芯片,如圖4。它的引腳數(shù)相對較少,僅有8個(gè),簡化了電路的設(shè)計(jì);芯片尺寸相對較小,減少了存儲(chǔ)電路的面積,在一定程度上,節(jié)約了研發(fā)成本。芯片支持四線的QPI收發(fā)模式,傳輸速率在240Mbit/s,為視頻實(shí)時(shí)傳輸提供硬件基礎(chǔ)。

        將存儲(chǔ)芯片與主控芯片按圖4電路圖連接好。通過電源電路給VDD提供1.8V電壓,時(shí)鐘電路給CLK提供合適的工作時(shí)鐘,以及CS片選信號配置好,存儲(chǔ)芯片就可以正常工作。通過使用標(biāo)準(zhǔn)的數(shù)據(jù)讀寫和擦除指令,就可以在輸入和輸出接口引腳,進(jìn)行數(shù)據(jù)的傳輸。利用存儲(chǔ)芯片的燒寫器將芯片里的數(shù)據(jù)讀取出來,和軟件編程寫入的數(shù)據(jù)進(jìn)行對比,驗(yàn)證軟件對存儲(chǔ)芯片數(shù)據(jù)讀寫的正確性。為視頻數(shù)據(jù)的正確存儲(chǔ),提供硬件基礎(chǔ)。

        四、軟件設(shè)計(jì)

        (一)V4L2模塊

        V4L2(Video for linux2)作為無線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中的視頻采集驅(qū)動(dòng)程序框架。根據(jù)攝像頭的工作原理,實(shí)現(xiàn)V4L2提供的底層結(jié)構(gòu)體接口v4l2_subdev, videobuf2和video_device等[3]。讀取攝像頭圖像數(shù)據(jù)時(shí),可以使用V4L2應(yīng)用層接口,簡要操作流程如下:

        1.通過系統(tǒng)I/O函數(shù)open,打開攝像頭設(shè)備節(jié)點(diǎn)。

        2.通過結(jié)構(gòu)體v4l2_pix_format,設(shè)置采集圖像數(shù)據(jù)存儲(chǔ)類型和采集圖像分辨率等參數(shù)。

        3.通過ioctl函數(shù)中VIDIOC_STREAMON參數(shù),開啟攝像頭的圖像采集。

        4.通過結(jié)構(gòu)體v4l2_requestbuffers,來對采集圖像數(shù)據(jù)進(jìn)行讀取。ioctl函數(shù)中VIDIOC_QBUF參數(shù)可以從采集圖像數(shù)據(jù)的隊(duì)列中取出buf,進(jìn)行圖像的后續(xù)操作;ioctl函數(shù)中VIDIOC_DQBUF參數(shù)可以將讀取后的buf,重新放回采集圖像數(shù)據(jù)的隊(duì)列中。循環(huán)往復(fù),可以得到攝像頭連續(xù)的圖像數(shù)據(jù),供后續(xù)模塊使用。

        5.通過ioctl函數(shù)中VIDIOC_STREAMOFF參數(shù),停止攝像頭的圖像采集。

        6.通過系統(tǒng)I/O函數(shù)close,關(guān)閉攝像頭設(shè)備節(jié)點(diǎn)。

        (二)x264模塊

        如果直接將攝像頭采集的圖像數(shù)據(jù)進(jìn)行傳輸,圖片相對較大,對傳輸帶寬要求很苛刻。但是,如果提前將圖像數(shù)據(jù)進(jìn)行編碼壓縮,傳輸?shù)臄?shù)據(jù)就會(huì)相對較小。所以,引入x264,它是一個(gè)開源的H.264/MPEG-4 AVC視頻編碼函數(shù)庫,編碼速度相對較快,視頻數(shù)據(jù)的壓縮比也相對較高[4]。即使在網(wǎng)絡(luò)帶寬很差的情況下,依然可以正常傳輸圖像數(shù)據(jù)。簡要操作流程如下。

        1.通過x264_param_default函數(shù),給編碼器的參數(shù)設(shè)置初值。

        2.通過x264_param_parse()函數(shù),解析自定義配置的命令行編碼器的相關(guān)參數(shù)。

        3.通過x264_encoder_open函數(shù),開啟編碼器,將編碼器的初值,寫入編碼器。

        4.通過x264_encoder_encode函數(shù),將V4L2采集的圖像數(shù)據(jù),經(jīng)過數(shù)據(jù)存儲(chǔ)類型轉(zhuǎn)換,送到編碼器處理。編碼器可以輸出每幀編碼后的數(shù)據(jù),供后續(xù)模塊繼續(xù)處理。

        5.通過x264_encoder_close函數(shù),關(guān)閉編碼器,并且打印相關(guān)統(tǒng)計(jì)信息。

        (三)Live555模塊

        Live555的源代碼架構(gòu)設(shè)計(jì)簡潔,支持多種視頻編碼格式的流化、接收和處理[5]。簡要操作流程如下:

        初始時(shí),首先創(chuàng)建socket,綁定本地IP地址,將網(wǎng)絡(luò)端口設(shè)置為8554,監(jiān)聽連接請求事件。一旦播放端有socket連接請求時(shí),第一時(shí)間響應(yīng)并且創(chuàng)建RTSP連接,并且將實(shí)例化的句柄加入哈希表中,供后續(xù)操作繼續(xù)使用。Live555流媒體服務(wù)器將x264編碼后的視頻數(shù)據(jù)進(jìn)行流化處理,根據(jù)RTP協(xié)議把視頻編碼數(shù)據(jù)打包成RTP包,自適應(yīng)調(diào)節(jié)模塊來完成對視頻數(shù)據(jù)發(fā)送速率的動(dòng)態(tài)調(diào)節(jié)。當(dāng)收到播放端發(fā)送的DESCRIBE請求時(shí),就會(huì)獲取到對應(yīng)的流媒體信息描述發(fā)送給播放端;當(dāng)收到播放端發(fā)送的SETUP請求時(shí),就會(huì)建立新的數(shù)據(jù)Sink;當(dāng)收到播放端發(fā)送的PLAY請求時(shí),使用Sink獲得RTP包。Sink不斷地向Source請求視頻數(shù)據(jù),Source取得視頻數(shù)據(jù)后就調(diào)用回調(diào)函數(shù),把視頻數(shù)據(jù)給Sink處理,Sink就將視頻數(shù)據(jù)源源不斷的發(fā)送給播放端。

        五、結(jié)語

        本文闡述了一種基于Linux平臺的無線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)方法。詳細(xì)地介紹了系統(tǒng)的設(shè)計(jì):首先是硬件設(shè)計(jì)部分,分別從各個(gè)芯片的選型,到硬件電路的搭建和調(diào)試,確保硬件平臺可以穩(wěn)定的運(yùn)行;然后是軟件設(shè)計(jì)部分,視頻數(shù)據(jù)是V4L2架構(gòu)采集攝像頭的圖像數(shù)據(jù),先被送到x264編碼器進(jìn)行編碼壓縮,接著被送到Live555框架進(jìn)行流化處理,最后通過RTSP實(shí)時(shí)流傳輸協(xié)議發(fā)送出去。監(jiān)控端需要安裝VLC視頻播放軟件,就可以監(jiān)測攝像頭采集的圖像。本系統(tǒng)采用Linux開發(fā)平臺,它的可移植性和擴(kuò)展性都相對較好。

        參考文獻(xiàn)

        [1]王英吉,周鳳新.基于社區(qū)警務(wù)的公安視頻監(jiān)控系統(tǒng)建設(shè)研究[J].遼寧警察學(xué)院學(xué)報(bào),2022,24(02):68-71.

        [2]張寶龍,李丹,王靖云,等.基于OV9712的串行器解串器視頻編碼方案[J].液晶與顯示,2015,30(06):965-971.

        [3]陳二微.基于Linux V4L2子系統(tǒng)的ISP及Camera驅(qū)動(dòng)接口標(biāo)準(zhǔn)化方法及應(yīng)用[J].計(jì)算機(jī)與網(wǎng)絡(luò),2021,47(12):26-27.

        [4]王哲誠,葛萬成,吳曄.x264視頻編碼器中參數(shù)設(shè)置對編碼效率影響的研究[J].信息通信,2018(02):40-42.

        国产av一区二区毛片| 国产97在线 | 日韩| 女人高潮被爽到呻吟在线观看| 精品含羞草免费视频观看| 亚洲av无码成人精品国产| 国产激情视频在线观看的| 热久久国产欧美一区二区精品| 国语对白嫖老妇胖老太| 人人玩人人添人人澡| 99久久久精品免费香蕉| 成人不卡国产福利电影在线看| 国产丰满乱子伦无码专| 国产丝袜一区丝袜高跟美腿| 一区二区三区亚洲视频| 久久精品国产熟女亚洲| 把女人弄爽特黄a大片| 亚洲国产天堂一区二区三区| 国产在线观看入口| 二区三区亚洲精品国产| 久草手机视频在线观看| 国产三级久久久精品麻豆三级| 国产精品办公室沙发| 国产96在线 | 欧美| 日本免费人成视频播放| 亚洲综合久久久中文字幕| 亚洲综合国产精品一区二区| 日本超级老熟女影音播放| 国产精品兄妹在线观看麻豆 | 国产莉萝无码av在线播放| 国产精品日韩欧美一区二区区| 欧美日韩一二三区高在线| 人妻经典中文字幕av| 亚洲中文字幕日产无码| 日韩精品一区二区三区中文| 亚洲黄视频| 在线免费观看亚洲毛片| av新型国产在线资源| 亚洲男同gay在线观看| 99蜜桃在线观看免费视频网站| 久久精品日韩av无码| 婷婷综合缴情亚洲狠狠|