3G視頻監控系統中關(guān)鍵技術(shù)的研究與實(shí)現
摘要:描述了基于3G標準的無(wú)線(xiàn)視頻監控系統關(guān)鍵技術(shù)的研究與實(shí)現方案,主要包括基于H.264的雙碼流模塊、多線(xiàn)程、RTP打包等,它不僅具有傳統監控系統穩定性高、實(shí)時(shí)性好、免布線(xiàn)等優(yōu)點(diǎn),而且用戶(hù)可以隨時(shí)隨地通過(guò)3G網(wǎng)絡(luò )進(jìn)行視頻監控和視頻圖像錄制。測試結果表明,各模塊都達到預期指標,3G無(wú)線(xiàn)環(huán)境下可進(jìn)行實(shí)時(shí)視頻瀏覽,視頻質(zhì)量與有線(xiàn)局域網(wǎng)相比相差不大。
關(guān)鍵詞:視頻監控;3G網(wǎng)絡(luò );雙碼流;RTP
0 引言
經(jīng)過(guò)多年的發(fā)展,視頻監控技術(shù)已由早期模擬設備為主的第一代視頻監控系統發(fā)展到目前的數字視頻監控,人們已不再滿(mǎn)足于傳統的監控系統。隨著(zhù)3G技術(shù)難點(diǎn)的突破以及3G網(wǎng)絡(luò )的發(fā)展,使3G無(wú)線(xiàn)視頻監控的實(shí)現成為了可能。在此背景下提出了一個(gè)基于3G標準的無(wú)線(xiàn)視頻監控系統的設計方案并實(shí)現了基本功能,本文著(zhù)重介紹該系統關(guān)鍵技術(shù)的實(shí)現方法,包括雙碼流模塊、多線(xiàn)程通信、RTP封裝及改進(jìn),最后討論了無(wú)線(xiàn)網(wǎng)絡(luò )視頻傳輸健壯性的問(wèn)題以及解決方案。
1 雙碼流技術(shù)的實(shí)現
目前,困擾中國網(wǎng)絡(luò )視頻監控市場(chǎng)發(fā)展的主要因素就是缺乏良好的網(wǎng)絡(luò )基礎環(huán)境,而雙碼流正是針對這一問(wèn)題提出的解決方案,它是對安防行業(yè)的一次提速。
雙碼流,即在視頻編碼端中同時(shí)存在兩種碼流。雙碼流是通過(guò)在編碼端采用兩種格式或兩個(gè)不同的分辨率分別進(jìn)行編碼來(lái)實(shí)現的。該監控系統基于DM365硬件開(kāi)發(fā)平臺,由于DM365開(kāi)發(fā)板屬于DAVINCI系列,必須深入研究DM365應用層調用具體算法的結構,如圖1所示。由圖中可知,應用層調用的接口是DMAI(DaVinci Multimedia Application Interface),它是DSP提供給ARM端應用程序的調用接口。DMAI是各種模塊集合,應用程序可以從中選擇模塊來(lái)使用。此外DMAI提供了源碼,便于修改使用,以滿(mǎn)足應用要求。DMAI里面有各種接口實(shí)現方式,修改DMAI接口具體實(shí)現使其滿(mǎn)足雙碼流。
首先將DM365中兩個(gè)編碼通道全部使能,保證了開(kāi)發(fā)板對雙碼流的支持,然后,在應用程序中采集兩路的數據,分別調用DMAI中的編碼函數Vencl_create,進(jìn)而對兩路數據進(jìn)行兩次編碼,這樣就得到兩路不同分辨率大小的編碼數據流。本文實(shí)現了一路D1,一路是CIF大小(用于傳輸)的碼流,并且都達到20幀的速率,可以保證視頻流質(zhì)量。它在現有網(wǎng)絡(luò )瓶頸下兼顧了圖像質(zhì)量和傳輸實(shí)時(shí)性,可以突破網(wǎng)絡(luò )瓶頸,根據網(wǎng)絡(luò )帶寬靈活選擇碼流格式,達到本地高清存儲,同時(shí)保證一定遠程監控質(zhì)量的低碼流網(wǎng)絡(luò )傳輸。
2 多線(xiàn)程技術(shù)在3G無(wú)線(xiàn)視頻監控中的應用
由于視頻圖像傳輸需要做到實(shí)時(shí)性和良好的傳輸質(zhì)量,而系統需求的功能又比較復雜,包括視頻數據采集、視頻編碼、RTP打包發(fā)送、視頻數據流保存等工作,而它們的流程又不是簡(jiǎn)單的順序執行,所以這里引入了多線(xiàn)程。
本論文提出的方案中包括Capture,Video和Writer三個(gè)主要線(xiàn)程,分別完成原始數據YUV數據的采集、H.264數據壓縮、視頻數據的寫(xiě)文件,而在視頻采集線(xiàn)程中加入了異常檢測模塊(該模塊利用原始數據進(jìn)行檢測異常),在視頻數據壓縮線(xiàn)程中采用了雙碼流技術(shù),并將CIF分辨率的壓縮數據進(jìn)行RTP協(xié)議封裝,在Writer線(xiàn)程中實(shí)現了以時(shí)間為文件名的保存方式并將其保存到SD卡中。在此基礎上實(shí)現設防、拆防、異常檢測、客戶(hù)端與監控端通信,又引入了兩個(gè)線(xiàn)程,分別完成等待電話(huà)、客戶(hù)端與監控端的SOCKET通信完成命令傳輸功能。整個(gè)線(xiàn)程結構與通信方式如圖2所示。
采用了pipe管道進(jìn)行線(xiàn)程間通信,且設置為阻塞模式,整個(gè)流程即Capture線(xiàn)程得到數據,將地址送給Video線(xiàn)程,Video線(xiàn)程經(jīng)過(guò)H.264視頻壓縮把DI分辨率的地址送給Writer,而CIF分辨率根據發(fā)送標記來(lái)確定是否發(fā)送,Writer線(xiàn)程完成寫(xiě)文件操作后,將buffer指針?lè )祷?,完成一幀采集、編碼、發(fā)送、保存等工作,如此反復循環(huán)。而其他線(xiàn)程通信則采用全局變量來(lái)進(jìn)行傳輸標記位,而無(wú)需使用FIFO,降低了實(shí)現復雜度。
評論