999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于V4L2移動視頻監控系統的研究與設計

2012-06-26 09:52:44黃俊偉
電視技術 2012年17期
關鍵詞:系統

黃俊偉,巴 義

(重慶郵電大學通信與信息工程學院,重慶 400065)

隨著信息化產業的高速發展,人們對自己的生活居住環境也提出了更高的需求。在智能家居大力推廣下,視頻監控作為其中的一個重要模塊也已經備受關注。移動視頻監控是指用戶通過3G手機上網方式隨時隨地觀看遠程監控端的視頻。目前市面上主要存在著兩種視頻監控系統類型,一種是以數字錄像設備為核心的傳統視頻監控系統,另一種是以嵌入式技術為核心的視頻監控系統。本文所設計的視頻監控系統正是基于后者,該系統與傳統的相比較,不需要復雜布線,實時性強、性能穩定、成本低廉,并且整體架構簡潔,客戶端由手機代替傳統的PC監控,方便用戶使用[1]。因此這種以嵌入式技術為核心,將嵌入式技術、流媒體技術、網絡技術結合為一體的監控系統具有很強的研究意義。而監控前端一體化也正是未來發展的方向。

V4L2(Video for Linux 2)是Linux中關于視頻設備的內核驅動,并已成為Linux 2.6的標準接口。目前V4L2可以支持多種設備,并提供了視頻采集接口、視頻輸出接口、直接傳輸視頻接口等。基于V4L2的視頻采集采用流水線方式,操作極為簡單方便,應用程序通過調用V4L2提供API完成對攝像頭的基本操作[2]。很多操作都是通過調用iotcl函數來實現設備的打開、關閉,以及設置圖像格式等。

1 系統總體架構及實現方案

本文設計理念是基于家庭智能化而提出的設想。通過在家中門窗等重要位置安裝攝像頭,用戶只要在有手機信號覆蓋的范圍下,通過手機上網的方式就可以對家庭的情況進行實時監控[3]。本系統借鑒傳統的C/S設計模式,提出了一種更輕巧更簡便的系統。本系統包括采集端和監控端兩部分,采集端是一個ARM11開發板,開發板上集成了視頻采集模塊、壓縮編碼模塊、數據傳輸模塊、云臺控制模塊。此設計避免了建立大型服務器對數據進行處理,而是利用嵌入式技術與流媒體技術有效結合,將前端對視頻數據的處理都集中在ARM開發板上。系統實物架構如圖1所示。

圖1 系統架構實物圖

本系統硬件平臺以C6310作為核心處理器。在此芯片中集成了ARM1176核、ZSP800核等,同時在此還集成了LCD控制器、Camera控制器,ImageDMA模塊。攝像頭選擇OV2655,支持RGB/YUV兩種輸出格式;客戶端選用Android操作系統的智能手機。客戶端通過3G上網的方式與視頻采集端建立連接,用于獲取實時視頻流,并且在手機客戶端處發出簡單的控制指令,對前端的云臺進行操作,從而達到控制攝像頭角度轉動的效果。圖2為移動視頻監控系統軟件架構,整個系統工作流程如下:

1)前端攝像頭采集視頻流,以YUV442格式放置到申請的buffer中。

2)應用程序調用ZSP模塊讀取YUV buffer里的視頻流按照H.264標準壓縮進行硬件編碼,將已經編碼后的數據存放在緩沖區中。

3)從緩沖區中提取H.264視頻流進行RTP封包,采用RTP/RTCP協議,最終通過socket通信將數據報發送出去。

4)在客戶端Android手機上設計視頻數據接收軟件,對傳來的視頻流解碼后播放。

圖2 移動視頻監控系統軟件框圖

2 軟件設計

本文工作重心在于系統的軟件設計,主要包括開發環境搭建和移動視頻監控采集端軟件設計兩大方面。在采集端分為系統軟件和應用軟件,系統軟件主要包括Bootloader、嵌入式Linux操作系統移植,驅動程序移植;應用軟件包括視頻采集,H.264編碼壓縮、RTP/RTCP協議傳輸應用程序設計編寫。

2.1 嵌入式ARM-Linux開發平臺搭建

嵌入式開發采用交叉編譯方式,需要1臺宿主機和1個開發板,開發過程在宿主機上完成,將編譯后的可執行文件通過串口下載到開發板上。本系統主要涉及到Bootloader、Linux內核移植、根文件系統的構建及相關的應用程序設計。開發環境搭建流程如下:

1)下載Linux內核源碼、交叉編譯器。內核版本為Linux-2.6.36.tar.bz,交叉編譯器選擇版本為 arm920teabi-4.1.2.tar.gz。

2)打開ubuntu虛擬機,將下載的壓縮包放置到指定目錄下,打開終端解壓縮。

3)根據使用的硬件平臺修改Makefile文件。Makefile記錄了編譯所要遵守的規則,它決定哪些文件要編譯、哪些文件先編譯等,也決定了文件之間的依賴關系。

4)參照硬件手冊修改并移植驅動程序,本系統中主要完成了攝像頭驅動的移植,并將驅動編譯成模塊形式加載到內核中。

5)打開config文件夾,修改C6310_deconfig配置文件,將需要的驅動模塊加載進去,不需要的屏蔽掉。

6)進入到內核目錄下,執行make編譯。

2.2 V4L2視頻采集流程

Linux設備驅動,外圍的硬件都被當作一個設備文件來看,通過調用驅動程序提供的接口,用打開文件的方式對硬件設備進行操作。設備文件存放在/dev目錄下,視頻設備文件存放完整路徑為:/dev/video0,主設備號為81[3]。本系統中視頻采集端主要用到了Camera控制器、ImageDMA、ZSP三大模塊。Camera控制器驅動按照應用程序的要求通過I2C總線向攝像頭發送各種控制命令;ImageDMA模塊主要完成的功能是將緩沖區的數據取出來,并可以對圖像的尺寸進行改變;ZSP模塊主要完成對數據的編解碼功能。視頻采集基本步驟如下:接收到指令后調用Camera驅動程序打開視頻設備,設置圖像數據大小、格式以及每秒獲取的幀數;申請內存緩沖區,視頻數據入列、出列,輸入輸出隊列都采用環形隊列;采集完成畢后關閉視頻設備。

本系統視頻采集基于V4L2架構,用到V4L2驅動下重要結構體和提供的接口函數,應用程序發送控制命令使用ioctl操作,因此系統對每一種控制命令都要定義相應的ioctl控制命令和參數[4]。本設計流程用到的ioctl函數控制命令如下:

1)CAMERA_OPEN_SENSOR:該操作用于打開攝像頭傳感器并初始化。

2)VIDIOC_REQBUFS:用戶向照相機驅動程序注冊buffer。

3)VIDIOC_QBUF:編碼器通知buffer編碼完畢。

4)CAMERA_GET_VIDEO_MEMSIZE:獲取視頻數據使用內存的大小。

5)CAMERA_SET_VIDEO_MODE:設置圖像輸出幀參數。

6)CAMERA_GET_VIDEO_MODE:獲得圖像輸出幀參數。

7)CAMERA_RELEASE:釋放當前使用的攝像頭。

本系統視頻采集設計是以硬件為基礎。前端的攝像頭使用的是OV2655,該攝像頭本身輸出格式支持RGB565和YUV422兩種格式,本文將攝像頭原始輸出格式設置為YUV422格式,因為該種格式便于以H.264標準壓縮。圖3為采集流程圖。

圖3 視頻采集流程

視頻采集流程描述為:

1)打開視頻設備:接收到指令后,調用sensor驅動中的int powerup(void)接口函數,此函數表示攝像頭傳感器上電。并且這里使用非阻塞模式打開,使用非阻塞模式調用視頻設備,即使沒有捕獲到信息,驅動程序依舊會把緩沖區里的視頻流返回給應用程序。對應代碼為:

2)當攝像頭作為設備文件打開后,讀取設備信息,選擇視頻輸入,調用ioctl函數設置視頻格式。本系統選用的攝像頭輸出格式為YUV422,圖像大小設置為176×144。調用的主要函數為:

3)用戶空間申請分配內存,通過VIDIOC_REQBUFS控制命令向驅動程序注冊buffer,在這里并沒有采用read,write等傳統方式對數據操作,而是調用mmap內存映射函數把內核空間內存映射到用戶空間。程序就可以直接對緩沖區中數據進行操作,極大地減少了數據交互時間,提高了效率。

4)啟動視頻采集命令,應用程序調用ioctl(cam_fd,VIDIOC_STREAMON,&type),攝像頭開始采集,并把采集的原始數據存放到申請的YUV buffer中。

5)應用程序調用ioctl(cam_fd,VIDIOC_STREAMOFF,&type)函數,視頻設備驅動程序即不再采集視頻數據,并調用CAMERA_RELEASE釋放當前使用的攝像頭。

2.3 基于RTP/RTCP協議視頻傳輸

本移動視頻監控系統對實時性要求非常高,因此該系統必須具有低時延和低丟包率特性。TCP/IP是一種提供面向連接和可靠傳輸服務的協議,但重傳和擁塞機制導致在本系統中實時性很難滿足,影響了傳輸質量[5]。如果使用UDP,雖然其不保證提供可靠傳輸,甚至還有丟包的情況,但實時性可以保證,雖然丟了一些數據包,對用戶整體感覺影響不大。

隨著流媒體技術日益成熟,RTP/RTCP是目前解決流媒體實時傳輸的最好辦法。RTP/RTCP協議是由實時傳輸協議RTP和實時傳輸控制協議RTCP兩部分組成。RTP負責實時性數據傳輸,工作在UDP/IP之上。RTCP主要負責監測數據傳輸并管理控制信息,監視延遲并周期性地發送數據包和通知發送端。因此本系統采用RTP和RTCP配合使用,這樣在保證視頻流實時傳輸的同時也保證了QoS,達到傳輸效率的最優化。圖4表示流媒體協議棧各個協議之間的關系。

圖4 RTP/RTCP流媒體協議棧

本系統采用的是H.264壓縮標準,實現H.264流媒體視頻流傳輸的關鍵在于如何將媒體封裝成RTP包。本文采用開源JRTPLIB庫,JRTPLIB對RFC3550的實現進行了封裝,將此開源庫移植到采集端的開發板中。該庫提供大量的API接口,應用程序通過調用接口函數,完成壓縮數據的封包,并傳輸出去[6]。傳輸流程如下:

1)由客戶端發出申請,服務器接收請求后給客戶端一個響應,同時建立起連接。

2)按照RTP協議要求進行封裝,將H.264碼流封裝成RTP包,RTP包封裝在UDP包內并通過socket通信發送出去。

3)采集端周期性地發送RTCP包,并接收來自客戶端含有客戶統計信息的RTCP包。

客戶端收到采集端的數據包后,分別經過IP/UDP/RTP層解析后,經手機解碼后即可正常播放。系統的QoS基于RTCP協議實現,根據客戶端的反饋信息動態調整視頻發送速率。接收端生成反饋信息,封裝成RTCP RR包發送到發送端。發送端根據反饋信息,來控制H.264碼流封裝RTP的速率,從而能夠在帶寬有限的網絡條件下更好地傳輸。圖5為視頻流傳輸流程圖。

圖5 視頻流傳輸過程

3 實驗及結果分析

本文提出了一個基于V4L2的移動視頻監控系統解決方案,系統采用Linux 2.6內核作為操作系統,采用C6310作為主控制器。系統以嵌入式技術為核心,將視頻采集、傳輸、控制功能都集成在前端的開發板上,用戶只須在手機上安裝特定軟件即可進行實時監控。將圖像幀率設置為15幀/秒(f/s),用局域網模擬公網,圖像清晰度能達到基本要求。圖6為客戶端顯示的監控圖像。本系統的最大優勢在于避免建立大型服務器來對視頻數據處理,極大地降低了硬件成本,非常適用于家居安防。在此系統上可以進行二次開發,利用傳感器技術對家中的溫度、濕度等各項指標實時查看,達到家庭智能化的效果。

圖6 客戶端監控畫面

[1]盧秋波.視頻監控技術簡介與發展趨勢[J].安防科技,2007(5):21-23.

[2]李珊珊,王緒國.基于V4L2的遠程視頻采集系統設計與實現[D].武漢:武漢理工大學,2011.

[3]姜璐.基于ARM的嵌入式移動視頻監控的設計[D].上海:華東師范大學,2008.

[4]Sasoritattoo.基于Linux的V4L2視頻架構驅動編寫[EB/OL].[2011-12-20].http://www.linuxidc.com/Linux/2011-03/33022.htm.

[5]STEVENS R W.TCP/IP協議詳解卷一:協議[M].北京:北京大學出版社,1999.

[6]張溢華,萬曉榆,樊自甫.3G視頻監控系統傳輸部分的設計[J].電視技術,2009,33(2):61-62.

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 8090成人午夜精品| 久久www视频| 国产成人久久777777| 日本黄色不卡视频| 免费看一级毛片波多结衣| h网址在线观看| 成人综合在线观看| 最新日本中文字幕| 亚洲成人高清无码| 久久亚洲国产一区二区| 性视频一区| 亚洲欧美日韩中文字幕一区二区三区 | 日本成人在线不卡视频| 9966国产精品视频| 色哟哟国产精品一区二区| 在线国产你懂的| 农村乱人伦一区二区| 中国美女**毛片录像在线| h视频在线播放| 久久精品国产国语对白| lhav亚洲精品| 日本亚洲国产一区二区三区| 欧美区一区二区三| 91视频99| 亚洲首页国产精品丝袜| 日本人妻一区二区三区不卡影院| 四虎永久在线| 国产精品成人一区二区| 亚洲国产亚洲综合在线尤物| 成人韩免费网站| 911亚洲精品| 亚洲无码熟妇人妻AV在线| 欧美成人免费午夜全| 色成人综合| 99爱视频精品免视看| 亚洲区视频在线观看| 精品人妻系列无码专区久久| 国产香蕉97碰碰视频VA碰碰看| 色婷婷在线播放| 九九热精品免费视频| 国产成人久视频免费| 伊人久综合| 久操中文在线| 人妻免费无码不卡视频| 宅男噜噜噜66国产在线观看| 91在线精品麻豆欧美在线| 国产日韩欧美中文| 中文字幕久久亚洲一区| 国产九九精品视频| 亚洲乱强伦| 中文字幕欧美日韩| 国产视频你懂得| a级毛片免费网站| 欧美日韩综合网| 18禁高潮出水呻吟娇喘蜜芽| 国产永久在线观看| 日本国产一区在线观看| 精品国产香蕉在线播出| 九九九九热精品视频| 国产在线97| 99re精彩视频| 亚欧乱色视频网站大全| 欧美一级黄片一区2区| 高清无码不卡视频| 在线日韩一区二区| 久草青青在线视频| 91视频免费观看网站| 国产成人资源| 午夜视频www| 欧洲亚洲欧美国产日本高清| 久久综合丝袜长腿丝袜| 台湾AV国片精品女同性| 在线看片中文字幕| 伊伊人成亚洲综合人网7777| 国产免费网址| 伊人AV天堂| 国产色爱av资源综合区| 亚洲成a人在线播放www| 青青青国产视频| 中文字幕日韩丝袜一区| 人人爱天天做夜夜爽| 国产69囗曝护士吞精在线视频|