




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、現代電子技術 2() 17,21(40),23-26 doi: 10.16652/j.issn. 1 oo4-373x.2017.21.006基于嵌入式的農場智能監控系統研宄冉耀宗銅仁學院物理與電子信息工程系導出/參考文獻關注分享收藏打印摘要:由于利用有線網絡進行通信以及監控端體積過大,導致視頻監控系統的隱蔽性 差,視頻監控的威懾力和靈活性受到影響,基于此,利用davinci平臺的linux 嵌入式系統設計了一套網絡視頻傳輸系統,完成了基于davinci平臺的農場視 頻網絡傳輸系統設計,包括11. 264編碼、農場視頻的采集以及棊于rtp協議的網 絡傳輸等功能。嵌入式的農場智能監控系統運行成功
2、后,采用本地計算機上的 vlc播放器能對攝像機采集的視頻進行實時播放,通過對系統測試分析證明此 系統穩定可靠,完全滿足視頻網絡傳輸的需求。關鍵詞:監控系統;農場視頻監測;vlc播放器;視頻網絡傳輸;作者簡介:冉耀宗(1981),男,土家族,貴州松桃人,碩士,副教授。研究 方向為電路與系統、電子設計自動化。收稿日期:2017-04-05基金:貴州省科學技術基金(黔科合lh20147479)research on farm intelligent monitoring system based on embedded systemran yaozongdepartment of physics &
3、amp; electronic informationengineering, tongren university;abstract:the communication using wired network and oversize volume of monitoring terminal may result in the poor concealment of video surveillance system, and affect the deterrence and flexibility of video surveillance. therefore, a network
4、video transmission system based on linux embedded system of davinci platform is designed for farm video, which can realize the functions of h. 264 encoding, farm video acquisition and network transmission based on rtp protocol. after the successful operation of the embedded farm intelligent monitori
5、ng system, the vlc player in local computer can be used to play the video captured by camera in real time- the system test and analysis results verify that the system is stable and reliable,and can fully meet the reqirement of video network transmission.keyword:monitoring system; farm video monitori
6、ng; vlc player; video network transmi ssion;received: 2017-04-05近年來,隨著國民經濟的快速發展,城市中植物工廠、都市菜園、智能農場的數 量迅速增加,由此帶來的監控問題也日益凸顯,傳統有線網絡進行通信以及監 控端體積過大,導致視頻監控系統的隱蔽性差,視頻監控的威懾力和靈活性受 到影響111。本文的研究目標是設計一套智能的農場視頻監控系統,該系統能夠 將視頻采集、n. 264編碼以及棊于rtp協議的網絡傳輸等功能很好的實現,并對 農場植物的生長情況進行記錄和視頻分析處理,最終實現農場視頻監控的智能 化。1系統總體架構設計嵌入式的農場智
7、能監控系統分為視頻采集、視頻編碼、視頻顯示以及網絡傳輸四 個模塊,可以將網絡攝像頭收集的農場視頻信號經過h. 264編碼后,依照rtp rtcp網絡協議通過網絡傳輸到監控主機,四個模塊的具體功能如下:視頻釆集模塊:通過攝像頭將農場的視頻信號進行釆集,并且運用pal制式將信 號輸入到tvp5158視頻解碼芯片中,該解碼芯片可以將信號轉換為yuv格式的數 字信號,dm6446處理器接收yuv格式的數字視頻信號進行下一步的處理2。視頻編碼模塊:受網絡帶寬的限制,數字視頻信號要想實現網絡傳輸必須經過壓 縮編碼處理,木模塊釆用h. 264編碼技術,實現視頻的高效壓縮,為視頻的網 絡傳輸做好準備。視頻顯示
8、模塊:為方便調試,攝像頭采集的視頻能在本地的液晶屏上顯示,從而 實現對攝像尖采集視頻信號的實時觀察。同時,應用osd (on-screen display) 技術,arm核和dsp核的負載率、視頻編碼過程中的動態參數(如分辨率、比特 率、幀率等)也將顯示在木地lcd液晶屏上3。網絡傳輸模塊:此模塊為系統最為關鍵的部分,通過對h. 264編碼后的視頻數據 流進行分析,提取出11.264的嫩印(網絡抽象層單元),結合rtp協議的載荷 數據格式對壓縮后的視頻數據進行打包,然后發送到以太網上。在本地計算機上 將能夠播放攝像頭采集的實時視頻。2系統應用程序設計2.1系統主程序系統主程序由主線程main
9、0組成,主要負責對必要的初始化任務以及其他線 程的創建。首先,通過輸入輸出控制fb1o_getstd實現視頻標準的檢測;然后對 命令行參數解析、環境變量的設罝以及codec engine及其日志跟蹤模塊的初始 化;其次,初始化rendezvous對象和pause對象;再次,根據前面參數的解析結 果創建其他的4個線程;最后調用函數void*ctrl thread (void*arg),主線程 變成控制線程4-5。2.2視頻采集模塊視頻采集模塊調用視頻采集線程void*capture thread (void*arg),完成原始 視頻幀的采集并把它們發送給視頻顯示線程和編碼線程m。首先調用函數in
10、it capture dev ()完成對視頻捕捉設備的初始化。在此函數中,視頻輸入選擇了 復合視頻輸入,并能自動檢測視頻輸入標準(pal或ntsc)。然后,分配三個視 頻采集buffer,并把這些buffer映射到用戶空間。當完成初始操作之后會等待 其他線程全部完成初始化之后,再進行視頻采集線程的主循環程序,開始采集 視頻流。2.3視頻編碼模塊視頻編碼模塊調用視頻編碼線程void*video thread (void*arg),從采集線程 得到原始閣像buffer,并應用h. 264視頻編碼算法對其進行視頻編碼,然后, 經編碼的視頻幀被發送給網絡傳輸線程,發送到以太網上。其中,視頻編碼線程 的
11、初始化主要完成以下工作:(1) 使用函數engine_open ()打開一個codec engine,此函數返冋一個codec 引擎句柄。(2) 使用函數video encode alg create ()創建h. 264視頻編碼算法。(3) 分配與網絡傳輸線程數據交互的buffer首先使用函數memory_alloc ()分 配連續的buffer,然后使用函數fifo uti l_put ()把buffer發送到網絡俾輸 線程。(4) 分配與視頻采集線程數據交互的buffer。首先應用函數memory_contig alloc ()分配連續的buffer,之后通過函數fifo util_pu
12、t ()給視頻采集線 程發送buffer。當完成初始操作之后會等待其他線程全部完成初始化之后再進行視頻采集線程 的主循環程序,在循環的過程屮,只要任意一個地方報錯就會立即跳出循環,進行糾錯步驟。2.4視頻顯示模塊視頻顯示模塊包括實時視頻數據的木地顯示和圖像動態參數信息的0sd顯示,分別調用視頻顯示線程voi d*di splaythread (void*arg)和控制線程voi dctrl thread (void*arg) 7。(1) 視頻顯示線程為了在本地液晶屏幕上實時顯示攝像頭采集的視頻圖像,在原始視頻圖像被編 碼之前,視頻處理子系統前端所采集到的原始視頻數據會進行往視頻處理子系 統后端
13、復制的步驟。線程中調用函數tnit display dev ()初始化視頻顯示設備,設定視頻的分辨 率(d1格式,720x480)以及每個像素的位數(16位)m。視頻顯示線程完成 其初始化程序后,再通過運用rendezvous對象同步其他線程,等其他線程均己 完成初始化程序以后,視頻顯示線程便可以進入其主循環。(2) 控制線程控制線程主要負責完成osd顯示模塊的繪制和更新。除了初始化osd設備和在 0sd上創建并繪制靜態文本之外,控制線程還負責從其他的線程屮得到圖像的 性能參數(例如,比特率、幀率等),并把它們顯示在0sd上,這些數據每秒會 被更新一次。dm6446的arm核和dsp核的負載率
14、也會被顯示在osd上,圖1為 控制線程程序流程圖。閣1控制線程程序流程下載原閣2.5網絡傳輸模塊網絡傳輸模塊調用網絡傳輸線程voidinternet thread (voidarg),網絡傳 輸線程接收從視頻編碼線程中傳過來經h. 264編碼后的視頻幀buffer,對其解 析后,應用rtp協議把視頻幀發送到以太網上m。socket編程技術被用來進行網絡通信程序設計,socket能夠完成不同主機進程 之間的通信。socket通信分為面向無連接的通信以及面向連接的通信兩種,兩者均需要通過 相應socket對象的創建來實現,不過,兩者也冇區別,面向連接的tcp通信方 式需要雙方建立可信的數據連接后才
15、能通信,而面向無連接的udp通信方式則 只耍將數據發送到目的主機即可。系統采用的是面向無連接的ldp通信方式。首 先,調用函數rtp_init ()完成socket通信的會話初始化。此步主要目的是創 建socket,并完成服務器的連接,主要伍括服務器的ip地址、應用程序目的端 口及網絡通信協議簇的設置。其次,在等待其他線程完成初始化后進入網絡傳輸 線程主循環,從視頻編碼線程得到一個11. 264編碼后的視頻圖像buffer,并調 用rtp_h246_send ()函數進行發送,最后將此buffer返回到視頻編碼線程。 具體的網絡i輸線程程序流程如圖2所示。rtp會話初始化rip_hit()圖2
16、網絡傳輸線程程序流程下載原圖在視頻傳輸線程屮rtp_ii246_scnd ()函數的實現是程序的關鍵部分,此函數主 耍完成對h. 264數據流構的解析,提取出nalu,并根據nalu的大小對其進行 rtp協議打包并發送。通過檢測nalu的起始碼0x000001來提取出一個完整的 naluo根據nalu的大小來判斷是否對其進行分包發送,最后加上nalu單元頭和 rtp協議的包頭信息就可以發送了。在程序中要根據實際情況分別對nalu單元 頭和rtp協議包頭進行賦值填充。2.6線程間的交互視頻采集線程從視頻處理子系統前端設備得到原始的視頻buffer,使用fifo util_put ()函數把釆集到
17、的原始圖像buffer發送到視頻顯示線程,以便在視 頻編碼之前能顯示在本地屏幕上。之后視頻采集線程能夠在視頻編碼線程處得到 一個原始的空q buffer,采集到的原始視頻buffer可以復制到這個從編碼線程 得到的buffer中,用來進行視頻的編碼。視頻編碼線程接收到視頻采集線程捕 獲的原始視頻buffer,并使用函數fifoutil_get ()從視頻網絡傳輸線程取得 一個buffer,經過編碼后的視頻數據將會被放到這個buffer中。當運行在dsp 核的視頻編碼器完成視頻編碼后,這個buffer將會通過函數fifo udl_piit () 被發送到網絡傳輸線程。最后網絡傳輸線程完成對ii.
18、 264編碼數據的rtp網絡傳 輸。當視頻顯示線程復制原始視頻buffer到前端視頻顯示設備后,視頻編碼線程幵 始對原始視頻buffer進行編奶,編奶過程調用函數videnc_process (),在dsp 端進行。當運行在dsp核的h. 264視頻編碼器完成對采集圖幀的編碼后,編碼 后的buffer將通過fifo util_put ()函數傳送到網絡傳輸線程,原始的視頻 buffer將被返回到采集線程用于采集新一幀閣像。網絡傳輸線程從編碼線程得到編碼后的視頻buffer后,將會通過rtp協議發送, 完成后會把此buffer返冋到視頻編碼線程。3系統測試當系統程序設計完成以后,對其編譯、鏈接,
19、最終生成一個可執行文件 video_surveillance。把此文件拷貝到dm6446的根文件系統的文件目錄 homedm6446video_surveillance下。此文件夾下井包含如下文件:data/:此文件夾下存放用于0sd功能的字庫信息。cmemk. ko, dspl inkk. ko, loadmodules. sh, unioadmod-ules. sh:這四個文件用 于分配或釋放arm核和dsp核的共享內存池。encode combo. x64p:此文件為運行在dsp端的可執行程序,里邊包含用到的 h. 264編解碼算法。video_surveillance:此文件為arm端
20、運行的應用程序。運行此程序時可設置分 辨率、碼率等參數。默認分辨率為720x480。啟動系統后,進入/home/dm6446/video_surveillance/目榮下,依次運行如卜 命令啟動視頻的網絡傳輸系統程序:#cd/h()me/dni6446/video_surveillance#./loadmodules.sh#./video_surveillance-vrtp.264程序啟動后,在客戶端就可以通過播放器來査看監控視頻畫面了。本文設計的視 頻傳輸系統客戶端在windows xp系統,采用開源播放器vlc 2.0來接收11. 264 視頻碼流的rtp包。經測試當系統視頻分辨率為720
21、x480,幀率為25 f/s,比 特率/碼率為1 mb/s時,視頻播放十分流暢,也沒有出現馬賽克或者丟包等現 象。播放器播放的農場監控視頻現場畫面如圖3,圖4所示。i o 1回kwo 開uk技俸止翥控扭菊錄m現拜泊照締胳鱗狀轚挖中圖4視頻監控服務器端監控多畫面效果圖 下載原圖4系統運行結果分析系統運行0sd參數顯示如表1所示,其中伍括視頻分辨率、視頻編碼算法、arm 和dsp負載率、視頻幀率、視頻比特率等參數。在系統運行吋,分別設置不同視 頻分辨率以完成對dsp核以及arm核負載率的測試,測試結果如表2所示。從表 2中結果能夠得出,隨著視頻分辨率以及視頻閣像處理數據量的增大,arm和 cpu的
22、負載率會隨之增高,但離100%還有一定差距,也就是說即使分辨率達到 最大,即720x480時,dm6446 cpu處理速度也完全滿足系統要求。參教名稱參教值分辨率720x480編碼籜法h.264 bp videoarm核負我率49%l)sp核負我率64%視頻幀率25 f/s視頻比特率/碼率i 000 kb/s表2不同分辨率下cpu負載率比較下載原表視頻分辨率arm核負載率/%dsp720x48049540x36044320x240355結論本文完成了一個基于da vinci平臺的嵌入式農場裨能監控系統的設計,該監控 系統由視頻采集、視頻編碼、視頻顯示以及視頻網絡傳輸四個模塊組成。通過攝 像頭完成視頻采集模塊對農場視頻信號的采集,并且運用pal制式將信號輸入 到tvp5158視頻解碼芯片中,該解碼芯片可以將信號轉換為yuv格式的數字信號, 最后送入dm6446處理器進行處理。其屮,采用11. 264編碼技術完成視頻編碼模塊的設計,實現視頻的高效壓縮, 為視頻網絡傳輸做好準備。視頻顯示模塊將攝像頭采集的視頻實吋地顯示在本地 的液晶屏上,同時,應用osd技術顯示arm核和dsp核的負載率、視頻編碼過程 中的動態參數(如分辨率、比特率、幀率等)等動態信息。網絡傳輸模塊通過對h. 2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財務報表中的股權激勵計劃分析考核試卷
- 玻璃包裝容器安全生產與防護措施考核試卷
- 門診部臨終關懷服務質量考核試卷
- 打造卓越領導力的企業培訓計劃考核試卷
- 心臟驟停患者急救
- 預防甲狀腺病的科學手段
- 2025下半年有色金屬行業商品和金融屬性共振高景氣進一步擴散
- 游戲化教學在兒童學習心理輔導中的應用與效果報告2025
- 政策助力下的綠色農業:2025年農業綠色發展技術與農業生態環境保護體系建設
- 【高中語文】第三單元綜合檢測卷+高一語文統編版必修上冊
- 《2025-0015T-FZ 智能制造 服裝定制 人體測量實施要求》知識培訓
- 江西吉安市吉水縣吉瑞招商運營有限公司招聘筆試題庫2025
- 水質污染應急處理應急物資預案
- 停車位管理制度細則
- 《關稅政策解析》課件
- s標準管理制度
- 新材料與制造技術的研究與創新
- 武漢網約車從業資格證考試題庫及答案
- 鋁粉交易居間協議合同
- 2023海上風電場土建工程施工質量檢驗標準
- 2025江西南昌市江銅產融社會招聘1人筆試參考題庫附帶答案詳解
評論
0/150
提交評論