摘要:本文章將教你做一個用嵌入式開發板和端來實現的視頻監控系統。端功能設計采用等語言來實現,在網頁上實時顯示監控畫面,還有一些功能按鈕如播放暫停切換查看歷史等。
本文章將教你做一個用嵌入式linux開發板和web端來實現的視頻監控系統。
本項目是博主大學時的畢業設計題目,現分享給大家。
知識點:嵌入式 Linux V4L2 socket Web node.js html QT
硬件:
開發板:ARM開發板、樹莓派、jetson nano...等跑linux系統的開發板,連接一個攝像頭;
電腦:Web前端,可查看監控畫面;
功能介紹:
開發板與電腦通過網絡socket通信(網線、wifi均可),開發板獲取攝像頭的畫面,將通過網絡socket上傳到web端,在web端可實時觀看攝像頭畫面。
采用Linux內核的V4L2視頻驅動架構來驅動攝像頭獲取圖像數據,支持MJPEG、JPEG、YUV等格式圖像,采用socket與web端通信,將一幀幀的圖像發送給Web端,這就實現了捕獲攝像頭圖像的功能。若開發板是帶LCD屏的還可添加相應的畫面實時顯示、一些功能按鈕或標簽信息等,可用QT來實現。
采用node.js html等語言來實現,在網頁上實時顯示監控畫面,還有一些功能按鈕如播放、暫停、切換、查看歷史等。
應用程序通過V4L2進行視頻采集的原理
V4L2支持內存映射方式(mmap)和直接讀取方式(read)來采集數據,前者一般用于連續視頻數據的采集,后者常用于靜態圖片數據的采集,本文重點討論內存映射方式的視頻采集。
應用程序通過V4L2接口采集視頻數據分為五個步驟:
首先,打開視頻設備文件,進行視頻采集的參數初始化,通過V4L2接口設置視頻圖像的采集窗口、采集的點陣大小和格式;
其次,申請若干視頻采集的幀緩沖區,并將這些幀緩沖區從內核空間映射到用戶空間,便于應用程序讀取/處理視頻數據;
第三,將申請到的幀緩沖區在視頻采集輸入隊列排隊,并啟動視頻采集;
第四,驅動開始視頻數據的采集,應用程序從視頻采集輸出隊列取出幀緩沖區,處理完后,將幀緩沖區重新放入視頻采集輸入隊列,循環往復采集連續的視頻數據;
第五,停止視頻采集。
未完等續。。。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/118880.html
摘要:所以我必須基于自己現在的情況走出一條適合自己情況的成長路線。下位機上位機的思想下位機上位機這就是我自己探索出來的技術成長路線。對和嵌入式的朋友感興趣的朋友可以試一下我這條學習路線 ...
摘要:要想放到樹莓派上運行,需要官方提供的固件四下載直接下載我們所需的在文件夾中,將其中的復制到卡的分區中之前分區時大小為,格式為的那個,再將編譯好的一同復制進去。 2021SC@SDUSC 一、uboot的介紹 1.1、計算機系統的主要部件 (1)計算機系統就是以CPU為核心來運行的系統。典型的...
摘要:安全測試講全安全牛苑房宏是基于的發行版,設計用于數字取證操作系統。 Kali Linux安全測試(177講全) 安全牛苑房宏 Kali Linux是基于Debian的Linux發行版, 設計用于數字取證操作系統。由Offensive Security Ltd維護和資助。最先由Offensiv...
摘要:一交叉編譯概念什么是交叉編譯交叉編譯是在一個平臺上生成另一個平臺上的可執行代碼。也要樹莓派有時又是因為目的平臺還沒有建立,連操作系統都沒有,根本談不上運行什么編譯器。 ...
閱讀 2561·2021-11-22 09:34
閱讀 3539·2021-11-15 11:37
閱讀 2341·2021-09-13 10:37
閱讀 2105·2021-09-04 16:40
閱讀 1564·2021-09-02 15:40
閱讀 2456·2019-08-30 13:14
閱讀 3326·2019-08-29 13:42
閱讀 1902·2019-08-29 13:02