日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

基于Linux的嵌入式网络视频监控系统研究与设计

發布時間:2023/12/20 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Linux的嵌入式网络视频监控系统研究与设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://www.nesr.lingd.net/article-4364839-1.html

摘 要:網絡視頻監控已經在嵌入式領域得到了發展,但目前視頻監控硬件設施比較昂貴,不能普遍使用。本文提出了一種以ARM9處理器為開發硬件平臺和嵌入式Linux系統為軟件開發環境的新方法,采用中星微ZC301攝像頭作為視頻前端采集,利用TCP/IP協議技術實現網絡通信。系統內部嵌入移植的Web服務器,用戶可以通過瀏覽器進行遠端訪問。該系統實現了局域網的環境監控,開發成本低,使用方便而且性能高。 關鍵詞:嵌入式 視頻采集 Web服務器 視頻監控 瀏覽器 1 引言 隨著嵌入式處理器和開源Linux系統的廣泛應用,網絡視頻監控向著嵌入式方向發展已經成為一種趨勢。目前已經在該領域得到了初步發展,但是由于前端監控系統的硬件設施昂貴,成本較高,不能普便使用。低廉的設備又不能滿足用戶的動態可視化以及穩定性和可靠性的要求。針對用戶的需求,本論文設計了低成本高效能的方案,運用當前的網絡技術、視頻壓縮技術和嵌入式技術等設計基于嵌入式Linux系統的網絡視頻監控系統。該系統以嵌入式Linux系統和嵌入式控制器S3C2410為核心平臺,在這個平臺上建立web服務器和視頻服務器。利用TCP/IP協議技術實現網絡通信,把USB數字攝像頭采集到的圖像進行JPEG壓縮, 然后通過網絡程傳輸到遠計算機客戶端。客戶端方采用Java Applet技術實現圖像的接收并完成顯示功能。客戶端的用戶可以通過具有java插件的瀏覽器實現監控。實驗證明該系統的穩定性、可靠性較高。 2 系統整體模塊設計 本系統主要由嵌入式系統和網絡通信兩大系統組成。嵌入式系統由嵌入式處理器S3C2410和linux系統組成,網絡系統由web服務器和客戶端以及實現通信的通道組成。系統的設計采用模塊化設計,本系統由嵌入式系統模塊、視頻采集模塊、網絡通信模塊和客戶端組成。各個模塊之間的關系如圖1所示。 嵌入式處理器S3C2410是一款基于ARM920T內核的16/32位RISC微處理器。內部帶有全性能的MMU(內存處理單元),它適用于設計移動手持設備類產品,具有高性能、低功耗、接口豐富和體積小等優良特性。該處理器集成了64M SDRAM、64M NAND FLASH 、1M BOOT FLASH、RJ - 45網卡、音頻輸入與輸出、USB HOST、USB SLAVE、標準串口、SD卡插座等。用戶可以將代碼存放在NAND FLASH中,并從NAND FLASH啟動。內置的NAND FLASH將訪問控制端口,并將引導代碼(vivi)自動加載到內部SRAM運行,之后SRAM中的引導代碼將操作系統內核映像(zlmage)以及根文件系統加載到SRAM并運行。 3 系統軟件的設計實現 3.1 視頻采集模塊實現 Linux內核驅動里面已經支持了諸如ov511芯片的攝像頭,但是這些攝像頭采集的效果不好。本系統采用中星微zc0301芯片的攝像頭,該攝像頭采用cmos傳感器,價格低廉,性能高,usb接口協議靈活,同時具有同步和異步數據傳輸,兼容性好,而且提供了良好的圖像處理及對外接口功能。目前linux驅動里面不支持該類芯片的驅動。為了使攝像頭能夠在系統中工作,需要加載該驅動。驅動的下載地址http://mx-haard.free.fr/spaca50x/embedded/KernelPatch/。系統linux內核版本使用的是linux 2.6.11,需要下載2.6版本的內核補丁。然后對內核進行打補丁,這樣內核就支持該芯片的驅動。 在USB攝像頭被驅動后,只需要再編寫視頻采集的應用程序就可以了,視頻圖像的采集是通過Vide04linux實現的。視頻采集程序的流程如圖2所示。 Video4linux是linux中關于視頻設備的內核驅動,它為針對視頻設備的應用程序編程提供一系列接口函數。在視頻采集中,應用程序首先通過open()函數打開視頻采集設備并返回一個文件描述符號,這個文件描述符就代表了捕獲的設備硬件。成功開啟設備檔后,調用 ioctl()取的設備文件的相關信息,并且將取的信息放到video capability結構中,同樣調用 ioctl()將視頻窗口信息放到video picture結構中。視頻設備的關閉通過close()函數實現的。通過這些函數,可容易打開、讀寫、關閉等基本操作。 3.2 網絡通信模塊實現 網絡通信模塊負責將攝像頭采集的視頻圖像數據通過網絡傳輸到遠端計算機。監控系統在實現方式上采用了“瀏覽器—服務器”結構,即在視頻采集端建立嵌入式Web服務器,在客戶端的Web瀏覽器上輸入IP地址就能接收到從服務器端傳過來的視頻信息,它包括嵌入式Web服務器設計和視頻應用程序的開發。 3.2.1嵌入式Web服務器設計 Web服務器和客戶端的瀏覽器是通過超文本傳送協議HTTP進行通信的。其工作原理大致可分為三個步驟,第一步,Web瀏覽器向一個特定的服務器發出Web頁面請求;第二步,Web服務器接收到Web頁面請求后,尋找所請求的Web頁面,并將所請求的Web頁面傳送給Web瀏覽器;第三步,Web服務器接收到所請求的Web頁面,并將它顯示出來。Web服務器工作原理如圖3所示。 嵌入式Web服務器是移植Web服務器到嵌入式領域的一種服務器。它仍然是以TCP/IP為底層的通信協議。嵌入式Web服務器簡化了系統結構,將信息采集和信息發布都繼承到嵌入式設備中,具有標準的接口形式和通信協議,內嵌的Web服務器同樣可以基于瀏覽器方式的操作和控制界面。 目前嵌入式領域中最典型的Web服務器有boa和thttpd。boa是一個非常小巧的Web服務器,可執行代碼只有約60kb,占用系統的資源少,而且速度快和安全性能好。本系統采用的就是boa服務器,就是把boa服務器的移植到本系統中。首先從www.boa.org下載boa源代碼, 目前最新版本boa-0.94.13。解壓到linux系統目錄下,修改makefile。只需要把CC=gcc改成CC=arm-linux-gcc和CPP=gcc-E改成CPP=arm-linux-gcc-E就可以了。然后進行編譯,把生成的Web應用程序下載到開發板上linux系統中的/bin目錄下, 讓boa在系統啟動時候自動運行,這樣在開發板上就移植了boa服務器。 3.2.2網絡視頻應用開發 視頻信息通過攝像頭采集到的圖像需要通過網絡傳送另一端通過瀏覽器顯示出來,因而網絡視頻應用的開發包含視頻服務器端程序設計和客戶端程序設計。 (1)視頻服務器端程序設計視頻服務器端工作主要是與客戶端建立連接,并根據客戶端用戶的指令,調用相應的函數處理客戶端的控制要求。服務器端程序由C語言開發。主程序的設計首先初始化監控設備的數據結構,包括采集模式、顯示模式和端口初始化設置等,初始化并分配內存并以可讀寫的方式打開視頻設備。然后系統創建了一個grab線程,grab函數通過調用v4lGrab()采集圖像并傳輸到緩沖區。然后創建一個Socket對象并監聽,然后用Accept方法監聽是否有客戶端的連接請求。如果沒有客戶端連接則進程阻塞,繼續監聽,當有客戶端連接請求則創建一個新的socket對象,然后啟動視頻服務線程service來與客戶端通信。視頻服務器工作流程如圖4所示。 (2)客戶端程序設計 在本系統中,遠程的web用戶查看視頻采集的圖像信息是通過applet與視頻服務器進行交互的。applet是能夠在web網頁中運行的應用程序,它具有安全,功能強和跨平臺等特性。 applet主要完成視頻播放的功能。applet的程序代碼是保存在web服務器上的,當web用戶通過瀏覽器請求視頻監控要求時,該程序下載到web用戶瀏覽器上運行。用戶通過該程序進行現場動態監控。applet程序是由java語言實現的。applet運行時首先調用init()函數進行一些初始化工作,然后自動調用start()與視頻服務器建立連接,將視頻圖像顯示在web 用戶的瀏覽器上。 3.3 web網頁設計 web網頁設計是用HTML語言設計的。HTML語言是一種超文本標記語言,它包含了文檔數據和顯示格式兩個部分,其中文檔數據是顯示在瀏覽器中數據內容,顯示格式則規定了這些內容在瀏覽器中以格式呈現給用戶的。HTML能夠用來表示超文本消息、郵件、文檔、超媒體和數據庫查詢等,以及有內嵌圖形的簡單結構文檔,還有已存在的信息的超文本視圖。當用戶請求web網頁時,瀏覽器就把HTML的數據顯示給用戶。 本系統網頁的設計主要是通過<applet>標記的方式將applet引入到html文檔中。在<applet>和</applet>之間標記一些參數屬性。這個標記之間的程序代碼設計如下。 其中codebase和code屬性配合給出applet類的完整路徑,code給出文件的名字,codebase指出包含文件的路徑。width和height是applet窗口的大小。align是applet窗口顯示的位置。上述的這些代碼完成了視頻顯示的主體工作。 4 實驗測試 系統測試是在實驗室內局域網進行的。客戶端使用radhat enterprise linux AS4操作系統,瀏覽器使用的是firefox瀏覽器,由于服務器端的web網頁包含java控件, 默認安裝的firefox瀏覽器不支持java插件,需要安裝java環境,讓瀏覽器支持java插件。硬件平臺使用的是友善之臂S3C2410板。把本系統制作出來的內核映象和文件系統映像下載到開發板。把攝像頭插入到USB接口以及通過網線把開發板接入到本地局域網。重啟開發板,通過終端把開發板IP設置為本地網址202.193.74.220。運行web服務器和視頻服務器。客戶端通過安裝java環境的firefox瀏覽器輸入http://202.193.74.220/webcam/webcam.html即可實現現場動態的監控。如圖5所示實現監控本地實驗室的情況。 5 結論 本系統的設計是在以數字信息技術和網絡技術發展的前提下,運用當前的嵌入式技術和ARM技術設計網絡視頻監控系統,具有一定的創新性。該系統由于采用了高性能的ARM9處理器和嵌入式linux操作系統組合,具有一定的可擴展性,可以通過適當的功能擴展來滿足用戶更高的要求。此外,可以針對不同的實際應用和硬件平臺對linux內核進行定制,以滿足不同嵌入式平臺用戶的需要。本系統具有功能強,可靠性高,穩定性好和具有一定的擴展性特點,對嵌入式開發有一定的借鑒意義。

總結

以上是生活随笔為你收集整理的基于Linux的嵌入式网络视频监控系统研究与设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。