国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      嵌入式視頻監(jiān)控系統(tǒng)的設計方法

      文檔序號:9330925閱讀:547來源:國知局
      嵌入式視頻監(jiān)控系統(tǒng)的設計方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種嵌入式視頻監(jiān)控系統(tǒng)的設計方法,屬于視頻監(jiān)控技術(shù)領(lǐng)域。
      【背景技術(shù)】
      [0002]視頻監(jiān)控系統(tǒng)對于保障人們?nèi)粘Ia(chǎn)和生活具有重要意義,在國民經(jīng)濟的各個領(lǐng)域均有廣泛的應用。視頻監(jiān)控不僅應用于軍事、銀行、通信、電力、水利、交通等重要部門的監(jiān)視和報警,而且在博物館、商場超市、智能小區(qū)、家庭用戶和大型倉庫等日常生活環(huán)境中,也是必不可少的監(jiān)管和控制設備。
      [0003]視頻監(jiān)控系統(tǒng)目前已經(jīng)成為安全防范體系中的一個重要組成部分,它通過固定攝像機直接觀看被監(jiān)視場所,可以把監(jiān)視場所的圖像和聲音內(nèi)容通過通信線路傳送到監(jiān)控中心。同時,視頻監(jiān)控系統(tǒng)還可以與防盜報警等其他安全防范體系聯(lián)合運行,使得該監(jiān)控系統(tǒng)的安全保障能力更加強大。先進的視頻監(jiān)控系統(tǒng)通常以計算機技術(shù)為核心,綜合多媒體技術(shù)、網(wǎng)絡通信技術(shù)、數(shù)字圖像壓縮技術(shù),并且與信息管理系統(tǒng)融合在一起,形成一個有機而完整的現(xiàn)代化遠程視頻監(jiān)控系統(tǒng)。
      [0004]現(xiàn)有技術(shù)中視頻監(jiān)控系統(tǒng)存在的不足之處在于:現(xiàn)有視頻監(jiān)控系統(tǒng)的PC軟件設計應用比較廣泛,而嵌入式視頻監(jiān)控系統(tǒng)設計仍有較大發(fā)展空間。嵌入式視頻監(jiān)控系統(tǒng)的服務器端如果設計精簡,可以廣泛應用于智能農(nóng)業(yè)、工業(yè)以及軍事等領(lǐng)域,可將監(jiān)控范圍擴展至大規(guī)模無人地帶。目前視頻監(jiān)控系統(tǒng)設計在這方面的應用較少,系統(tǒng)設計比較復雜,無法做到小型嵌入式系統(tǒng)設計;同時,由于視頻壓縮方式選擇大部分不是開源的,導致生產(chǎn)成本較高。

      【發(fā)明內(nèi)容】

      [0005]本發(fā)明的目的在于針對現(xiàn)有技術(shù)中的不足,提供一種嵌入式視頻監(jiān)控系統(tǒng)的設計方法,可應用于實際監(jiān)控環(huán)境中,還能為視頻信號分離算法和傳輸方案提供一個理想的實踐驗證平臺,具有效率高、功能強大、設計成本低等優(yōu)點。
      [0006]為達到上述目的,本發(fā)明所采用的技術(shù)方案是:嵌入式視頻監(jiān)控系統(tǒng)的設計方法,包括服務器端設計和PC客戶端設計,
      [0007]所述服務器端設計包括如下步驟:
      [0008]步驟101:初始化設備并配置網(wǎng)絡數(shù)據(jù)幀的空間和視頻壓縮幀的大??;
      [0009]步驟102:采用socket編程實現(xiàn)視頻數(shù)據(jù)的網(wǎng)絡接收和網(wǎng)絡發(fā)送;
      [0010]步驟103:基于Video4Linux的API進行編程,采用內(nèi)存映射方式采集視頻圖像,并測試是否正確采集視頻圖像,若是,則進入步驟104 ;否則,返回步驟101 ;
      [0011]步驟104:設置視頻采集的參數(shù),將videodev的對象設置為全局變量,作為兩個線程的共享資源;
      [0012]步驟105:為服務器端創(chuàng)建兩個并行的線程,分別為:用于采集處理的視頻采集線程和用于網(wǎng)絡傳輸?shù)姆站€程;視頻采集線程創(chuàng)建完成后,判斷是否退出視頻采集線程,若退出則進入步驟106,否則循環(huán)運行視頻采集線程;服務線程創(chuàng)建前,先打開socket,將本地IP綁定端口號,實時監(jiān)聽是否有PC客戶端需要進行網(wǎng)絡傳輸,若有PC客戶端需要進行網(wǎng)絡傳輸,則建立網(wǎng)絡連接;服務線程創(chuàng)建完成后,判斷是否退出服務線程,若退出則進入步驟106,否則循環(huán)運行服務線程;
      [0013]步驟106:判斷是否有其他線程在工作,若有則進入等待,否則直接結(jié)束退出;
      [0014]所述PC客戶端設計包括如下步驟:
      [0015]步驟201:建立socket連接,測試該連接是否能正確傳輸數(shù)據(jù):若數(shù)據(jù)傳輸正常,就先發(fā)送PC客戶端的控制命令幀;
      [0016]步驟202:開始讀取網(wǎng)絡數(shù)據(jù)幀,接收壓縮視頻流;
      [0017]步驟203:判斷PC客戶端軟件是否為保存命令,若是保存命令,則將視頻流保存到文件中,執(zhí)行結(jié)束命令;若不是保存命令,就進入實時視頻播放階段,將視頻流放入緩沖區(qū),并進入下一步;
      [0018]步驟204:判斷緩沖區(qū)的視頻幀是否可解碼:若是,則采用XviD解碼器進行解碼,最后由SDL程序播放實時視頻圖像;若否,則返回步驟203繼續(xù)將視頻流放入緩沖區(qū),直至可以解碼,播放實時視頻圖像,最后執(zhí)行結(jié)束命令。
      [0019]步驟105中視頻采集線程的創(chuàng)建步驟如下:
      [0020]步驟a)捕獲視頻幀數(shù)據(jù),判斷當前網(wǎng)絡數(shù)據(jù)幀是否正在發(fā)送,若是,則循環(huán)等待,否則將線程互斥鎖上鎖;
      [0021]步驟b)采用XviD編碼器對視頻幀數(shù)據(jù)進行壓縮,并將壓縮后的數(shù)據(jù)放到網(wǎng)絡數(shù)據(jù)幀中,等待發(fā)送;
      [0022]步驟c)將線程互斥鎖解鎖,變換數(shù)據(jù)幀序列,準備下一次視頻圖像的采集和壓縮。
      [0023]步驟105中服務線程的創(chuàng)建步驟如下:
      [0024]步驟i)服務線程接收PC客戶端發(fā)送來的控制命令幀,并且根據(jù)控制命令幀設置米集參數(shù);
      [0025]步驟ii)查看線程互斥鎖是否上鎖,若已經(jīng)上鎖,則進入循環(huán)等待程序;若沒有上鎖,則將當前序號的數(shù)據(jù)幀上鎖,即設置framelocktframeout] = 1,進入網(wǎng)絡數(shù)據(jù)幀發(fā)送流程;
      [0026]步驟iii)網(wǎng)絡數(shù)據(jù)幀發(fā)送后,將當前序號的數(shù)據(jù)幀解鎖,即設置framelock [frameout] = 0,準備下一幀的網(wǎng)絡發(fā)送。
      [0027]與現(xiàn)有技術(shù)相比,本發(fā)明所達到的有益效果是:采用XviD進行編解碼,效率高、功能強大,且XviD是免費共享的資源,可在官方網(wǎng)站上直接下載使用,有利于降低嵌入式視頻監(jiān)控系統(tǒng)的設計成本;由SDL程序播放實時視頻圖像,編程簡單、穩(wěn)定、靈活,相比于Directshow具有更好的兼容性和可移植性;服務器端設計精簡,可以制作出多個小型的嵌入式服務器端,通過無線方式傳輸,達到大規(guī)模范圍的監(jiān)控效果;采用本發(fā)明方法設計的嵌入式視頻監(jiān)控系統(tǒng)可以廣泛應用于智能農(nóng)業(yè)、軍事等領(lǐng)域,監(jiān)控范圍較普通視頻監(jiān)控系統(tǒng)可擴展范圍更大,也可以與傳感器結(jié)合,進一步拓展了其與智能物聯(lián)網(wǎng)結(jié)合的兼容性。
      【附圖說明】
      [0028]圖1是嵌入式視頻監(jiān)控系統(tǒng)的服務器端的工作流程圖。
      [0029]圖2是嵌入式視頻監(jiān)控系統(tǒng)的PC客戶端的工作流程圖。
      [0030]圖3是嵌入式視頻監(jiān)控系統(tǒng)的服務器端的設計流程圖。
      [0031]圖4是圖3中視頻采集線程的設計流程圖。
      [0032]圖5是圖3中視頻采集線程的設計流程圖。
      [0033]圖6是嵌入式視頻監(jiān)控系統(tǒng)的PC客戶端的設計流程圖。
      [0034]圖7是嵌入式視頻監(jiān)控系統(tǒng)的服務器端的數(shù)據(jù)幀傳輸結(jié)果。
      [0035]圖8是嵌入式視頻監(jiān)控系統(tǒng)的PC客戶端的數(shù)據(jù)幀傳輸結(jié)果。
      【具體實施方式】
      [0036]嵌入式視頻監(jiān)控系統(tǒng)包括服務器端和PC客戶端,服務器端和PC客戶端之間通過無線網(wǎng)絡進行數(shù)據(jù)傳輸。
      [0037]服務器端的軟件程序采用C語言編寫,為了開發(fā)的方便,一般先在裝有Linux系統(tǒng)的PC機上用C語言編寫服務器端的程序,初步調(diào)試成功后再移植到嵌入式開發(fā)板中。服務器端需要實現(xiàn)的基本功能包括:
      [0038]I)實現(xiàn)數(shù)字視頻采集;
      [0039]2)實現(xiàn)XviD視頻流壓縮,此功能采用軟件實現(xiàn);
      [0040]3)將視頻數(shù)據(jù)和部分參數(shù)打包成一個數(shù)據(jù)幀,再由TCP/IP協(xié)議或RTP/RTCP協(xié)議,通過無線局域網(wǎng)發(fā)送到網(wǎng)絡;
      [0041]4)接收PC客戶端發(fā)送的控制命令幀,控制視頻采集的參數(shù)。
      [0042]如圖1所示,服務器端主要包括視頻采集、視頻壓縮、網(wǎng)絡發(fā)送三個部分。視頻采集程序從攝像頭采集到原始視頻圖像,經(jīng)過軟件視頻壓縮后,通過網(wǎng)絡發(fā)送到無線局域網(wǎng)。
      [0043]PC客戶端的操作系統(tǒng)為Linux,PC客戶端需要實現(xiàn)的基本功能有:
      [0044]I)無線網(wǎng)絡中接收TCP/IP協(xié)議或RTP/RTCP協(xié)議包,提取出其中的視頻壓縮數(shù)據(jù)包。
      [0045]2)將不斷接收到的視頻壓縮包放入一個視頻緩沖區(qū)內(nèi);
      [0046]3)實現(xiàn)視頻流的軟件解碼,解壓所需的視頻流和參考視頻流均在視頻緩沖區(qū)內(nèi);
      [0047]4)實現(xiàn)視頻流的實時播放功能;
      [0048]5)實現(xiàn)視頻壓縮流的保存和文件播放功能;
      [0049]6)可以在PC客戶端輸入一些控制命令,并將命令通過網(wǎng)絡發(fā)送到服務器端。
      [0050]如圖2所示,PC客戶端軟件由網(wǎng)絡接收程序得到網(wǎng)絡視頻幀,然后在視頻流緩沖區(qū)暫存,由相應的視頻解壓程序解壓視頻流后,最后由PC客戶端軟件實時播放。此外,PC客戶端還具有保存視頻壓縮流的功能,輸入文件播放命令可以播放保存在硬盤上的視頻流文件。通過視頻解壓模塊,可以實現(xiàn)文件播放,實現(xiàn)由顯示器播放視頻功能??刂泼钣蒔C客戶端鍵盤輸入,它的傳輸方向與視頻流相反??刂泼畎环掌鞫私邮盏胶?,由服務器端發(fā)送給視頻采集程序,用于控制服務器端的視頻分辨率、采集速率、亮度、色彩空間等參數(shù)。
      [0051]嵌入式視頻監(jiān)控系統(tǒng)的網(wǎng)絡發(fā)送和網(wǎng)絡接收采用socket編程實現(xiàn),socket接口是一種特殊的1/0,它也是一種文件描述符。每一個socket都用協(xié)議、本地地址、本地端口來描述。一般編程時應注意包含socket, h的頭文件,然后進入打開socket、建立鏈接、數(shù)據(jù)傳輸、關(guān)閉socket的基本流程完成網(wǎng)絡通信。
      [0052]下面結(jié)合附圖對本發(fā)明作進一步描述。以下實施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護范圍。
      [0053]嵌入式視頻監(jiān)控系統(tǒng)的設計方法,包括服務器端設計和PC客戶端設計。
      [0054]如圖3所示,服務器端設計包括如下步驟:
      [0055]步驟101:初始化設備并配置網(wǎng)絡數(shù)據(jù)幀的空間和視頻壓縮幀的大小;
      [0056]步驟102:采用socket編程實現(xiàn)視頻數(shù)據(jù)的網(wǎng)絡接收和網(wǎng)絡發(fā)送;
      [0057]步驟103:基于Video4Linux的API進行編程,采用內(nèi)存映射方式采集視頻圖像,并測試是否正確采集視頻圖像,若是,則進入步驟104 ;
      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1