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

基于ARM11的視頻監控系統設計

2013-09-25 14:12:38王寶珠
電子設計工程 2013年3期
關鍵詞:設備系統設計

王寶珠,程 杰

(河北工業大學 信息與工程學院,天津 300401)

由于網絡與信息技術的不斷發展,遠程視頻監控技術得到了廣泛的推廣,同時對視頻傳輸的效率、功耗、實時性、分辨率以及傳輸設備的體積大小等方面提出了更高的要求。自從H.264編碼標準發布以來,因其具有優異的壓縮性能、很好的網絡親和性,獲得了極大地支持與應用。但在很多應用場合是通過調用H.264編碼庫,實現了軟件方式的編解碼。本文采用擁有強大的多媒體處理能力ARM11芯片進行開發,它內部集成了專門處理多媒體數據的位處理器,通過ARM內部的MFC模塊完成了對H.264的硬件方式的編解碼。本論文視頻服務器建立在具有豐富的網絡協議、較強的穩定性的Linux系統上,完成了視頻數據的采集、壓縮,然后發送到Boa中,然后通過以太網發送到上位機進行顯示,實現了遠程的實時監控[1]。

1 視頻監控系統的總體設計

1.1 硬件總體設計

本系統主要以友善之臂Tiny6410開發板作為視頻服務器平臺。Tiny6410核心板采用ARM1176JZF-S核設計的CPU,S3C6410內部集成了強大的多媒體處理單元,支持Mpeg4、H.264等格式的硬件編解碼,核心板集成了256M的DDRRAM、1GB Nand Flash存儲器,通過豐富的接口資源與外圍電路相連接。本論文所涉及的主要接口包括標準DB9串口、SD卡接口、JTAG接口、USB串口以及網絡接口。整個硬件系統框圖如圖1所示。

圖1 硬件系統結構圖Fig.1 Structure diagram of hardware system

在該硬件系統中現代的v500攝像頭通過usb接口與開發板相連,向S3C6410提供YUY2格式的視頻幀。目標板通過串口與宿主機連接,通過超級終端與目標板進行通信,對目標板進行控制和文件的傳輸。JTAG接口連接Jlink仿真器,通過宿主機上的rvds軟件進行程序的調試。SD卡用于燒寫superboot,然后完成整個linux系統的移植工作與應用軟件的復制工作。服務器通過DM900網卡與遠程客戶端進行通信。

1.2 軟件總體設計

整個軟件系統包括引導裝入程序、Linux內核、文件系統、各種驅動程序以及應用軟件組成。圖2為視頻服務器的軟件結構框圖。

圖2 軟件系統結構圖Fig.2 Structure diagram of software system

在進行系統移植之前,首先在宿主機上建立開發環境,安裝linux虛擬操作系統,安裝編譯調試軟件RVDS,建立與目標板通信的超級終端,建立交叉編譯環境等相關操作。

本系統首先在SD卡中燒寫superboot,然后將Uboot引導程序移植到Nand Flash中,然后移植版本為Linux 2.6.38的內核,接著移植根文件系統Rootfs,這樣整個操作系統環境就搭建完成了。在編譯Linux內核之前,要配置本系統所需的驅動模塊,將MFC驅動和萬能攝像頭驅動集成到內核中[2]。

2 采集與壓縮模塊的設計

2.1 基于V4L2的視頻采集模塊設計

V4L2是集成在Linux系統中的一個虛擬的設備驅動。主要功能是使應用程序發現多媒體設備,然后對設備進行操作管理。它提供了各種API接口,在本系統中完成了對攝像頭視頻流的捕獲與輸出,如圖3為數據幀采集流程圖[3]。

圖3 數據采集流程Fig.3 Flow diagram of data capture

1)打開設備文件。 fd=open(Devicename,mode);第一個參數是注冊在/dev/目錄下的設備名,打開模式可分為阻塞和非阻塞模式。

2)獲取設備屬性。通過調用 ioctl(fd,VIDIO_QUERYCAP,&cp)獲取打開設備相關參數存放到cp結構中。

3)設置捕獲格式。 調用 ioctl(fd,VIDIOCS_FMT,&fmt)設置捕獲圖像的存儲格式、寬帶、高度、像素大小等。

4)為視頻幀分配內存。 通過 ioctl(fd,VIDIOC_REQBUFS,&req)向內核申請req.count個緩存。

5)映射緩存。首先通過VIDIOC_QUERBUF獲取緩存地址,然后mmap到用戶空間。

6)視頻幀的采集。調用read()將數據存放到緩存中。

7)處理采集數據。V4L2的數據緩存采用FIFO的方式,當應用程序將最先采到的一幀數據取走時,將重新采集最新的數據。

8)關閉視頻設備。調用close()實現設備的關閉。

2.2 基于MFC的編碼模塊設計

本系統通過S3C6410內部多媒體編解碼模塊實現H.264標準的視頻壓縮。采用硬壓縮不占用CPU資源而且速度更快,為視頻的實時傳輸做好了準備[4]。如圖4為MFC編碼流程圖。

圖4 h.264編碼流程圖Fig.4 Flow diagram of h.264 encoder

1)初始化H.264編碼環境。調用SsbSipH264 EncodeInit(Width, Height, Framerate, Bitrate, GOPNum) 來打開 MFC設備并且對編碼結構參數進行初始化。

2)設置編碼參數。調用SsbSip H264 EncodeS et Config(open Handle,type,value)對編碼的各種參數進行配置。

3)獲得視頻輸入地址。通過SsbSipH264EncodeGetInBuf(openHandle,size)獲取視頻輸入地址。

4)通過 memcpy(p_inbuf, in_addr, frame_size)將需要編碼視頻幀復制到編碼時存放原始數據的緩存中。

5)通過 SsbSipH264EncodeExe(handle)函數進行編碼壓縮。

6)關閉設備,調用 SsbSipH264 EncodeDeInit(handle)函數釋放占用資源并且關閉設備。

3 視頻傳輸與顯示模塊的設計

3.1 基于boa服務器的傳輸模塊設計

本系統將boa移植到運行在ARMM11開發板上的Linux系統中,建立了嵌入式web服務器,為遠程客戶端提供基于HTTP協議的網絡接入方式。Boa支持基于CGI的動態網頁,因此采用編寫CGI腳本對遠程客戶端的請求進行響應,發送經過編碼的視頻數據包。如圖5為boa中視頻傳輸的流程圖[5]。

圖5 數據傳輸流程圖Fig.5 Flow diagram of data transmission

1)完成boa服務器的初始化工作。

2)通過socket創建流式套接字,并獲得套接字描述符。

3)通過bind將套接字與服務器地址綁定。

4)通過listen對端口進行監聽。

5)通過accept等待來自客戶端的連接請求。

6)建立相互的連接,分析客戶端命令。

7)執行CGI腳本程序,發送數據。

8)關閉套接字,結束通信。

3.2 視頻數據的解碼與顯示模塊設計

工作在pc機上的遠程客戶端從網絡接收視頻數據包,然后對視頻幀進行解碼與在屏幕上顯示圖像。本系統采用基于開源的SDL與FFmpeg庫提供的API接口,實現對視頻的解碼與播放[6]。

1)首先進行初始化操作。avcodec_register_all();avdevice_register_all();av_register_all();通過以上函數注冊所有的編解碼器,復用分離器,文件格式的注冊。

2)設置 AVFormatContext結構體,對整個編碼過程所需要的各種參數進行設置。

3)從以上結構體中找到相關解碼器的上下文。

4)調用avcodec_open()函數打開 H.264解碼器。

5)調用avcodec_alloc_frame()函數分配內存來存儲解碼后得到的yuv數據。

6)通過 avcodec_decode_video(p Codec Ctx, Inbuf, &count,outbuf, sizeof(outbuf))函數對數據進行解碼,pCodecCtx 是解碼器的上下文,Inbuf指向解碼后數據的位置,count是已完成的幀數,outbuf指向被解碼解碼的原始數據。最后調用SDL庫中的函數來實現視頻的顯示。

4 結 論

本文完成了遠程視頻監控包括數據采集、數據壓縮、數據傳輸、數據顯示的整個模塊設計。采用了性價比很高的ARM11作為整個服務器的數據處理核心,搭載了開源的具有很好的網絡親和性和穩定性的Linux操作系統,使得應用軟件有一個高效和穩定的運行環境。實現了對視頻數據的H.264標準的硬壓縮,極大提高了數據的處理與傳輸效率,使得整個系統具有較好好的實時性。在該系統的基礎上,可以進行功能的增加和優化,實際應用于各種監控場合。

[1]葉俊華.ARM11的嵌入式視頻處理終端設計[D].長沙:中南大學,2009.

[2]楊牟剛.基于嵌入式Linux的網絡視頻監控系統設計與實現[D].桂林:桂林電子科技大學,2008.

[3]張建江.基于嵌入式Linux的H.264視頻接收系統設計[D].西安:西安電子科技大學,2008.

[4]羅智勇.針對視頻會議應用的H264視頻編碼器研究與實現[D].廣州:暨南大學,2005.

[5]黃恒強.基于ARM和Linux的嵌入式遠程視頻監控系統設計[D].南京:南京理工大學,2008.

[6]胡杰.基于ARM的嵌入式視頻監控終端的研究[D].武漢:武漢理工大學,2008.

猜你喜歡
設備系統設計
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 一区二区三区国产精品视频| 成人福利一区二区视频在线| 青青草原国产av福利网站| 波多野结衣一区二区三区四区| 亚洲欧美日韩综合二区三区| 国产成人精品高清不卡在线| 免费在线看黄网址| 在线视频97| 久久久久无码精品| 日本精品影院| 国产精品自在自线免费观看| 丁香六月综合网| 国产网站一区二区三区| 欧美乱妇高清无乱码免费| 2021最新国产精品网站| 尤物亚洲最大AV无码网站| 在线无码九区| 就去吻亚洲精品国产欧美| 沈阳少妇高潮在线| 国产日本视频91| 国产免费久久精品99re丫丫一| 天堂中文在线资源| 亚洲国产无码有码| 天天躁夜夜躁狠狠躁图片| 中文字幕第4页| 亚洲区视频在线观看| 国产精品美人久久久久久AV| 少妇精品在线| 国产精品无码一区二区桃花视频| 91欧洲国产日韩在线人成| 五月天福利视频| 欧美黄网在线| 天天综合网色中文字幕| 高清亚洲欧美在线看| 四虎在线观看视频高清无码| 香蕉蕉亚亚洲aav综合| 亚洲熟女偷拍| 欧美成人影院亚洲综合图| 91丨九色丨首页在线播放| 高潮毛片无遮挡高清视频播放| 久久国产黑丝袜视频| 亚洲欧美人成人让影院| 久久久久久国产精品mv| 亚洲精品国产乱码不卡| 精品视频在线观看你懂的一区| 高清色本在线www| 女同久久精品国产99国| 国产乱子伦一区二区=| 热久久这里是精品6免费观看| 国产不卡国语在线| 国产 在线视频无码| 精品国产91爱| 欧美一级高清视频在线播放| 亚洲欧洲免费视频| 亚洲无码电影| 97视频在线观看免费视频| 亚洲天堂精品视频| 色婷婷视频在线| 欧美黄网在线| 亚洲第一视频网站| 日本成人精品视频| 国产拍揄自揄精品视频网站| 国产凹凸视频在线观看| 精品一區二區久久久久久久網站| 亚洲精品国产自在现线最新| 亚洲欧美自拍中文| 久久久久国产精品免费免费不卡| 在线精品欧美日韩| 亚洲精品你懂的| 国产精品亚洲专区一区| 久久国产精品嫖妓| 亚洲高清在线播放| 白浆视频在线观看| yjizz视频最新网站在线| 国产成人狂喷潮在线观看2345| 一级香蕉人体视频| 久久人搡人人玩人妻精品| 久久77777| 日韩在线网址| 久久综合婷婷| 精品三级网站| 麻豆精品在线播放|