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

基于ARM9的嵌入式視頻監控系統的設計與實現

2015-12-19 03:12:56
海南熱帶海洋學院學報 2015年2期
關鍵詞:嵌入式系統

(瓊州學院 電子信息工程學院,海南 三亞572022)

0 引言

隨著網絡通信技術和圖像壓縮技術的快速發展,視頻監控系統以其信息獲取直觀,及時方便,真實可靠等優勢廣泛應用在日常生活中:門禁監控、電梯監控、車庫監控、銀行監控、火情監控及違章監控等.在視頻監控領域中,數字化和網絡化成為一種趨勢.

本文主要介紹了基于ARM9 的網絡遠程視頻監控系統的設計方法,在Linux 操作系統下開發環境下實現.系統采用B/S(Browser/Serve)方案,使用S3C2440 開發板和市面上常見的普通攝像頭,視頻服務器在開發板上搭建并運行,以開源軟件Mjpg-stream 為基礎,使用V4L2 接口標準,由USB 攝像頭輸入;視頻通過網絡傳輸到客戶端,客戶端可以是任意瀏覽器,用戶在瀏覽器輸入IP 地址即可訪問視頻動態實時監控畫面.該視頻監控系統采用并發服務器,支持多個客戶端同時顯示,易搭建、易配置、通用性較好.

1 系統實現原理與開發環境

1.1 實現原理

系統打開攝像頭設備文件fd=open(″/dev/video0″,O_RDWR),調用V4L2 初始化攝像頭,根據內核設置顯示屏的規格,設置捕獲視頻尺寸,并根據啟動參數配置輸出,比如主頁文件的目錄,使用的端口號等.抓圖函數uvcGrab 以阻塞方式等待圖像數據,當有一幀數據到達后先處理為JPEG 文件,對于YUYV 格式的圖像數據先要轉換成RGB 格式,再調用libpeg 壓縮為JPEG 文件[1];對于MJPEG 格式的輸入需要插入Huffman 數據表,捕獲并處理了一幀視頻之后再通知所有等待數據的客戶端線程.輸出線程分為兩大部分:并發服務器線程server_thread 和客戶端處理線程client_thread.前者負責監聽客戶端請求,一旦有請求就創建一個新的客戶端線程專門負責來自此客戶端的HTTP 請求[1].這樣服務器線程就可以一直監聽客戶端請求;后者只負責處理一個客戶端響應,也就是只響應一個IP 地址的請求,發送HTTP 響應頭,使服務器可以不斷地發送JPEG 數據給瀏覽器.

1.2 開發環境

硬件開發設備方面,一塊基于ARM9 架構的微處理器S3C2440 開發板TX2440A,該開發板低功能,高性能,集成有視頻音頻處理的硬件加速器,多格式編解碼器(MFC),支持編碼有MPEG4/H.263/H.264 等、且具備譯碼以及VCI 解碼功能,在實時視頻會議和TV 輸出等方面功能強大[2];同時還需要一任意型號的USB 攝像頭,市面上這種普通攝像頭使用方便,這類攝像頭的驅動程序通用且容易加載.

軟件開發主要在Linux 操作系統下完成,搭建支持eabi 的交叉編譯工具鏈arm920t-eabi-4.1.2,安裝Mjpg-streamer、Uvcvideo 基礎連接庫,配置V4L2 芯片的視頻服務軟件Mjpg-streamer 包,使用Linux-2.6.31 內核和Linux 自帶的萬能USB 攝像頭驅動程序Gspca,定制服務器于根文件系統中的嵌入式Linux操作系統,客戶端通過在PC 機上使用Web 瀏覽器或者其他客戶端程序.

2 系統安裝、配置與實現

2.1 搭建開發平臺

開發環境以Windows 7+VMWare 8.0+Linux CentOS 6.3 為例,平臺主要包括Windows 和Linux 相關軟件的安裝、配置與使用.首先在Linux 下安裝交叉編譯工具鏈arm920t-eabi-4.1.2,執行“exports PATH=/opt/toolchains/arm920t-eabi/bin:$PATH”,制作內核鏡像時必須加載好USB 攝像頭驅動.Windows 操作系統下平臺需要實現,一是主機與開發板的串口通信,常用超級終端、SecueCRT、DNW 等軟件(在Linux 下多以minicom);二是根據電腦是否有并口安裝并配置好對應的燒寫軟件,以便u-boot.bin 寫入到NorFlash 中;三是配置必要服務器,如實現Linux 與Windows 下文件共享,最好架設Samba 服務器,實現從宿主機Linux 下載文件到開發板,需要NFS 服務器,如果使用網絡下載根文件系統,還要搭建好TFTP服務器,否則需要安裝好USB 驅動,準備使用DNW 串口下載根文件系統.

2.2 安裝配置視頻處理文件

系統處理視頻和圖像必需要的庫文件有libjpeg 庫和SDL.前者是一個完全用C 語言編寫的庫,是專門用于jpeg 圖片格式解壓和壓縮的庫[3].后者是免費的跨平臺多媒體應用編程接口,專門為游戲和多媒體應用,針對能較高質量的圖形圖像數據.兩者安裝方法和步驟類似,即下載及解壓源碼包、后臺配置./configure、編譯make 和安裝make install、最后拷貝所需要庫文件到交叉編譯安裝目錄下(如/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi)的lib、bin 和include 目錄中,確保了視頻服務器運行及所需要的庫和頭文件.

Mjpg-streamer 軟件在該監控系統中功能強大,可實現視頻采集、格式轉變及視頻壓縮等,為此,移植Mjpg-streamer 到開發板上是搭建服務器的一個重點.原理比較簡單,即讓該軟件在嵌入式Linux 系統中正常運行便實現監控的目的,進一步說,就是確保Mjpg-streamer 軟件包中對應的可執行程序、運行時所需要的庫文件和頭文件等,拷貝到對應嵌入式Linux 根文件系統中,所以最后歸就于把Mjpg-streamer 相關文件制作到文件系統中.

如使客戶端支持CGI 程序調用還需要使用Boa 服務器,本系統實現最簡易視頻監控功能,可不必移植Boa 服務包.

2.3 定制嵌入式Linux 操作系統

因為Linux 開源,獲得最小根文件系統的源碼后,使用Buybox 工具制作好精簡的根文件系統,并在此基礎完善Mjpg-streamer 軟件包的視頻監控功能.主要操作是把源碼解壓編譯后生成的可執行程序uvc_stream、mjpg_streamer 復制到根文件系統下的usr/sbin 目錄下;把運行程序需要的相關庫文件input_uvc.so、output_http.so、libjpeg 庫和SDL 庫(交叉編譯器的lib 目錄下)拷貝到根文件系統下的lib 目錄下,最后使用工具mkyaffs2image 制作成yaffs2 類型的文件系統文件,并設定該文件最高權限777,等待下載到開發板.

如上,制作好的根文件系統中包括了視頻監控程序及其運行環境,因此只在硬件功能完善的開發板上成功定制并移植嵌入式Linux 2.6.31 操作系統,就可以運行監控程序了.開發環境運行良好,首先把制作好的u-boot.bin 燒寫到NorFlash 中,繼而在控制臺終端啟動開發板的U-boot 下載模式,根據下載模式中提供的菜單選項,依次下載內核zImage、下載制作好的根文件系統到開發板的NandFlash 中[4].以上操作所需要對應的驅動程序、配置文件及鏡像文件等,一般會隨開發板廠家提供,對應操作可在Windows 系統下輕松實現,這里不再贅述.

3 系統運行與測試

3.1 運行視頻監控服務器

正確好連接硬件,將攝像頭連到開發板USB 接口,串口(或USB 轉串口)與主機連接正確,開發板和主機分別接網線到交換機.接著打開開發板電源,在SecCRT 軟件(或其他串口終端軟件)界面,設置開發板與主機在同一個網段,以方便主機訪問開發板視頻服務器.

在開發板的串口終端,鍵入命令#webcam_ip,便可運行軟件Mjpg-streamer,從而調用視頻監控程序,因為已設置開發板的IP 地址是192.168.1.10,默認使用端口號是8080,服務器成功運行后,界面主要信息顯示如下:

MJPG-streamer[704]:starting application

MJPG Streamer Version.:2.0

i:Using V4L2 device.:/dev/video0

i:Desired Resolution:640 ×480

i:Frames Per Second.:5

i:Format………:YUV

i:JPEG Quality………:80[2]

o:www-folder-path…:192.168.1.10:8080/

o:HTTP TCP port……:8080

o:username:password.:disabled

o:commands……….:enabled

MJPG-streamer[704]:starting input plugin

MJPG-streamer[704]:starting output plugin:/lib/oupput_http.so(ID:00)

3.2 客戶端訪問測試

用戶可在客戶端瀏覽器端輸入http://192.168.1.10:8080,或者使用2.3 節中提到的Mjpg-streamer 軟件包解壓后的“mjpeg-client”中客戶端程序,輸入IP 地址和端口號,均可得到實時視頻監控畫面,如圖1所示.

圖1 視頻監控畫面

監控程序使用組合鍵【Ctrl+C】終止.

4 結語

本視頻實時監控系統實現原理清晰,實現方法詳盡.以S3C2440 為硬件核心,利用Mjpg-streamer 軟件包完成視頻采集、格式轉換及圖片壓縮處理,可直接接入以太網,安裝方便[5].同時系統具有較強的擴展性可輕松升級,如在此基礎上移植Boa 服務器并通過CGI 網頁編程可設計,可靈活增加的Web 服務頁面的拍照,錄相,錄音等監控子功能.

[1]徐曉峰,李臨生,閆慶森.ARM11 和Linux 在網絡視頻實時監控系統中的應用[J].云南民族大學學報:自然科學版,2013,22(5):364-368.

[2]劉雍.基于S3C6410 的嵌入式Web 視頻仿真門禁系統設計[J].軟件,2013,34(2):4-6.

[3]劉塵塵.基于ARM 的遠程視頻監控系統設計[J].計算機測量與控制,2012,20(8):27-29.

[4]韋東山.嵌入式Linux 應該開發完全手冊[M].北京:人民郵電出版社,2011.

[5]戴雯惠.基于嵌入式Web 技術的遠程視頻監控系統的研究[J].現代計算機,2012(7):78-80.

猜你喜歡
嵌入式系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
主站蜘蛛池模板: 国内精自视频品线一二区| 伊人中文网| 亚洲国产精品VA在线看黑人| 毛片网站在线播放| 精品1区2区3区| 久久久久久午夜精品| 亚洲一道AV无码午夜福利| 日韩在线2020专区| 无码免费视频| 久久国产黑丝袜视频| 亚洲无码不卡网| 五月天久久婷婷| 国产国拍精品视频免费看| 精品国产自| 久久香蕉国产线看观看亚洲片| 亚洲精品午夜天堂网页| 国产大片黄在线观看| 青青草一区二区免费精品| 亚洲不卡影院| 91成人试看福利体验区| 成人国内精品久久久久影院| 啊嗯不日本网站| 久久亚洲欧美综合| 国产91九色在线播放| 国产欧美一区二区三区视频在线观看| 精品国产网| 这里只有精品在线播放| 亚洲丝袜中文字幕| 国产91熟女高潮一区二区| 福利在线不卡一区| 91人妻日韩人妻无码专区精品| 国产麻豆福利av在线播放| 久久青草免费91观看| 91免费在线看| 欲色天天综合网| 9cao视频精品| 97se综合| 五月婷婷丁香综合| 欧美日本在线播放| 欧美高清日韩| 国产精品尤物铁牛tv| 欧美三级不卡在线观看视频| 国产三级视频网站| 99热免费在线| 国产凹凸视频在线观看| 真实国产乱子伦视频| 自拍欧美亚洲| 国产美女精品在线| 午夜老司机永久免费看片| 午夜福利视频一区| 婷婷六月在线| 国产高清在线观看| 亚洲中文字幕av无码区| 亚洲成a人片| 日韩天堂网| 制服丝袜一区二区三区在线| 美美女高清毛片视频免费观看| 无码福利视频| 天天综合网站| 国产精品对白刺激| 激情无码视频在线看| 成人在线亚洲| 制服丝袜国产精品| 久久精品人妻中文系列| 日本欧美视频在线观看| 一本大道无码日韩精品影视| 久久国产免费观看| 欧美高清三区| 国产精品成人久久| 成年女人18毛片毛片免费| 亚洲一欧洲中文字幕在线| 久久激情影院| 欧美国产精品不卡在线观看| 日韩亚洲高清一区二区| 免费视频在线2021入口| 日韩视频福利| 国产视频a| 伊人久综合| 99精品视频九九精品| 老司机午夜精品网站在线观看| 亚洲成人播放| 国产亚洲视频播放9000|