




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、視頻監控系統程序設計說明書視頻監控系統程序設計說明書1引言1.1編寫目的本文主要說明視頻監控系統的詳細設計和實現。本文詳細介紹了系統中 各個模塊的設計和實現細節以及關鍵技術的使用。其中,對每一個模塊會有相 應的文字說明以及相關設計流程圖給出。1.2項目背景本項目是對本實驗課程中所介紹的課程的綜合使用。本項目主要針對unix/linux系統編程和基于C+語言的GUI程序設計-QT進行針對性訓練。旨在加強學生對unix/linux系統編程的理解和使用,提高學生的實踐能力、編程能力以及分析問題和解決問題的能力。并且通過對本 系統中客戶端的設計和實現,讓學生體會和熟悉面向對象編程的思想和一般方 法。1
2、.3定義本系統=視頻監控系統本文=視頻監控系統設計說明書2總體設計2.1需求概述本系統是基于C/S架構的網絡視頻監控系統,主要由負責圖形采集和傳 輸的Server端和負責監控(顯示圖像)的 Client端構成。本系統Server端是基于Linux系統的網絡服務類軟件,主要由數據采 集和網絡服務兩部分構成。數據采集部分利用v4l2 (video for linux II )對網絡攝像頭進行控制和訪問并且獲取由攝像頭捕獲到的視頻數據,然后再由網 絡服務部分將獲取到的視頻數據進行封裝成http幀并利用http協議發送到客戶端。由于本系統Server端的數據發送是基于http協議的,所以本系統客戶 端
3、沒有平臺限制,只要支持http1.0以上的平臺就可以訪問本系統的服務。而且,本系統服務可以直接通過 web瀏覽器訪問(對firefox 瀏覽器支持最佳)。 為了提高傳輸效率我們還需要進行客戶端軟件的開發,由于對客戶端沒有平臺要求,所在 Win dows Li nux、An droid、等平臺都可以實現。本文主將以linux為例用Qt實現一個簡易的客戶端軟件。2.2軟件結構Il(v4l2)框架對設備進行設置和控制。其中包括一些特殊的結構體屬性的賦值 以及一些特殊控制標記的實際意義需要詳細查閱V4I2提供的API。3.1.3程序邏輯本節主要以流程圖的方式介紹Server端數據采集模塊的主要程序邏輯
4、設計。圖3.1.1 Server端數據采集流程圖3.1.1主要描述了服務端數據采集部分的主要流程和編程步驟I將對每一個步驟進行詳細的介紹:口函數open來對設備進行打開的操作。圖3.1.2對這一過程進行了詳細的描述2.查詢設備信息(或者叫獲取設備信息):查詢設備驅動相關信息以及和視頻采集相關的參數,根據獲取到的信息初步判斷設備類型以及將要處理的數據類型。利用ioctl函數以及V4I2提供的v4l2_capbility 和v4l2_format兩個結構體來保存獲取到的設備驅動信息和幀 信息。詳細流程見圖3.1.3。VIDIOC_G_FMT等屬性的含義需查詢v4l2提供的API。圖3.1.2打開設
5、備子圖圖3.1.3 獲取設備信息子圖3.設置采集方I 上L struct v4l2_capabilitycap設置視頻設備(這里扌指USB攝像頭)的采集方式,例如采集圖像的分辨 率,幀的采集速率(既每屮nv4l2_format 和 *v4l2_streamparm 兩個結構體以及 VIDIOC_S_PARM和 VIDIOC_SFMT兩個標記圖 3.1.4。等選項的設置。用到v4l2中的,相關介紹請查閱(哪4l2框架的時息。實現步驟詳見 memYet(&fmt, 0, sizjfo(fmt);fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE圖3.1.4 fm設置采集方
6、 式子圖 本模塊用到的宏定義 一_4.申請緩存 ioctl(fd, VIDIOC_QL #defi ne WIDTH 320向驅動申青幾塊緩沖dD虬 #defin用來存放設備采集到的數據。用到1腐回FIELD ANYCERYCAP, &cap)上struct v4l2_formatfmt區是由內核管理的,所以需要申請) svaequesmiffer結構體和實現步驟詳見圖314memset (&parm, 0, sizeof(parm);&fmtVIDIOC_REQBU標記來向設備驅斜申請緩沖區#defi ne FPS 5mr-、怖emset( &fmt, 0, sizefo(fmt);i圖31
7、.5申請緩存子圖本模塊用到的宏定義事5.設置緩存屬性I表示申請緩沖區的數請到的緩存進行設置,包括設置緩存LWNY方式(使用內存映射訪#defin可方式BUF對緩 存進行映infmt.type = V4L2_BUF_TYPE_VIDEO_CAPTUREstruct v4I2 requestbuffer rb緩存隊1DTHCmp、bmS_infotightrnemEeG&fb, 0, sizeof(rb);cap.vers ionparm.type rb.co unt =V4L2 BUTYPE VIDEO CAPTURENB BUFFER-ioctl(fd, VIDIOC S PARM, &par
8、m)視頻監控系統程序設計說明書4struct v4I2 buffer bufun sig ned char * mem_listmem list = (uchar *)calloc(NB BUFFER, sjzeof(uchar); 圖尙彳反蚩殛冷土閔p3.1.6設置緩存子圖山5.處理數據通過對設備設置VIDIOC 采集數據,在設置開 苦并對其進行處理(這里的數據處 作會在后面做詳細介紹)亍入f.ind出隊列的控制,從而獲得設備采集到的數據。詳始/停止 到的數據IOC STREAMO來控制設備換讀取獲得設備采集 做對圖像壓縮和傳輸兩部分工 通過利用 VIDlOC QRU和VIDIOC DQRU
9、兩個控制止之間通過對緩來對緩沖隊列進彳3.1.7。見圖buf.type = V4L2_BUF_TYPE_VIDEO_CAPTUREbuf.memory = V4L2_MEMORY_MMAP圖3.1.7數據處理子圖ioctl(fd, VIDIOC_QUERYBUF, & buf)struct v4I2 buffer buf3.2 Server:數據處理3.2.1功能完成圖像壓縮,建立web服務供sM客戶端訪問。SHARED, fd, buf.m.offset)七行一次 huffman編是瀏覽器不支持此種實現)對攝像頭采集到的數jpg格式(這個步驟也可以在客戶端完成,土、buf.type = V4
10、L2 BUF TYPE_VIDI 建立一個基基于fd, VIDCQsUFyib HTTF協議發送轉換好的數據_2_MEMORY_MMAPYI!圖片轉換成jpeg或者務器,當有客戶端連接本服務時利用ioctl(fd, VIDIOC_STREAMON, & buf)5視頻監控系統程序設計說明書對于網絡服務功能以及多任務的處理功能的實現都是本項目要涉及到的重要內 容,這里需要對基于C語言的TCP編程和多線程編程比較熟悉,可以參考UNIX環境高級編程。322程序邏輯本模塊的作用實際是上一個模塊中的“數據處理”部分。由于設備采集 到到的每一幀數據經過 huffman編碼以后會變成一張完整的圖片,所以我們
11、在 下面發送數據的部分要做一個簡單的封裝,下面分別給出程序流程圖(圖 3.2.1) 和數據封裝格式(圖3.2.2 )。332技術概要本模塊主要涉及到基于TCP的客戶端編程,關 靈活,在語言框架選擇方面也比較廣泛,像QT為例來實現客戶端程序。Java GU于各戶端編程的方法比較I、MFC QT等都可以實現。在這里我們3.3.3程序邏輯程比較程式化 送情況的來確3.3.2).據分割,TCP客戶端的編 要根據服務端數據發這里主要涉及到TCP客戶端編程和對服務器數:有統一的編程步驟和一般流程,數據分割需 自定。下面給出 TCP網絡編程流程(圖3.3.1 )和數據分割步驟(圖3.4 Clie ntE顯示3.4.1功能圖3.3.2 TCP網絡編程流程圖3.3.3客戶端 數據分割流程不斷刷新形成的叩獨的圖片,所以SERVER通過信號控制QT控與入數據我們看到連續的圖像是由一張IJ能是接收上一模塊的數據準備妊信號后將新的圖像數據加載到控 件并刷新控件,從而形成連本模塊主要功3.4.2技術概要本模塊主要CLIENT關閉過程讀取數據。kQT的編程和使用,包括對制和線程控制。由于循環顯示圖像時候會阻塞圖形界面,所以用一個單獨的線程來完成刷 新圖像工作。對于Q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國全自動圓筒機行業市場發展前景及發展趨勢與投資戰略研究報告
- 2022-2027年中國林業及木材加工行業發展監測及投資戰略研究報告
- 2024-2030年中國互聯網衛星制造行業市場競爭格局及投資前景展望報告
- “健康運動活力無限”青少年健康運動俱樂部商業計劃書
- 2020-2025年中國肉夾饃行業市場前景預測及投資戰略研究報告
- 培訓課件內容反饋
- 中國印刷用紙行業市場深度調查及發展前景研究預測報告
- 村級婦聯培訓課件
- 少兒財商培訓課件
- 2024年全球及中國一次性使用負壓引流敷料行業頭部企業市場占有率及排名調研報告
- 2025年山東將軍煙草新材料科技有限公司招聘筆試沖刺題(帶答案解析)
- 兵團開放大學2025年春季《公共關系學》終結考試答案
- 2025年中考語文押題作文范文10篇
- 打造重點專科協議書
- 細菌性結膜炎
- 紅木文化知到智慧樹期末考試答案題庫2025年廣西大學
- 2025-2030進口肉類市場發展分析及行業投資戰略研究報告
- 智慧醫院建設項目實施方案
- 項目協作與溝通過程中的沖突管理試題及答案
- 2025年軌道車司機(中級)職業技能鑒定參考試題庫(含答案)
- 生物必修1教師用書
評論
0/150
提交評論