• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      HVR系統(tǒng)中多路視頻接入和處理的軟件設(shè)計

      2015-06-22 14:40:00王曉東
      電視技術(shù) 2015年5期
      關(guān)鍵詞:視頻流會話板卡

      匡 艷,董 騫,王曉東

      (公安部第一研究所,北京 100048)

      HVR系統(tǒng)中多路視頻接入和處理的軟件設(shè)計

      匡 艷,董 騫,王曉東

      (公安部第一研究所,北京 100048)

      針對多路混合型硬盤錄像機系統(tǒng)中多路攝像機視頻的接入和處理問題,在基于服務器和編碼板卡構(gòu)架的HVR系統(tǒng)基礎(chǔ)上提出了可靠高效的多路視頻接入和處理軟件方案,并實現(xiàn)了此方案。在多路視頻接入和處理中,需對多通道視頻并行處理及同一視頻通道同時執(zhí)行多個功能,針對此過程中可能存在的資源沖突問題進行了優(yōu)化,提出了完善的多通道并發(fā)操作及視頻碼流分發(fā)機制、功能會話安全結(jié)束機制。測試結(jié)果表明,應用該軟件方案的系統(tǒng)可接入能力強,資源占用率低、系統(tǒng)穩(wěn)定可靠。

      混合型硬盤錄像機;視頻;接入

      隨著視頻編碼及網(wǎng)絡(luò)通信技術(shù)的發(fā)展,高清化和數(shù)字化的網(wǎng)絡(luò)視頻技術(shù)逐漸取代傳統(tǒng)的模擬視頻技術(shù),但由于高清網(wǎng)絡(luò)視頻技術(shù)成本以及發(fā)展成熟性的限制,在市場上的應用還存在一定的局限性。因此目前仍然是模擬視頻和高清網(wǎng)絡(luò)視頻并存的局面。針對目前視頻技術(shù)發(fā)展現(xiàn)狀,視頻存儲廠商推出了混合型硬盤錄像機(HVR)[1]產(chǎn)品模型。

      HVR既能接入模擬攝像機,又能接入高清網(wǎng)絡(luò)攝像機,實現(xiàn)了二者的并發(fā)接入和視頻存儲管理。因為其融合了DVR(數(shù)字硬盤錄像機)[2]產(chǎn)品成熟的功能,結(jié)合了NVR(網(wǎng)絡(luò)硬盤錄像機)高清和網(wǎng)絡(luò)的優(yōu)勢,逐漸成為市場的主流?,F(xiàn)有的錄像機分為基于PC服務器構(gòu)架的硬盤錄像機和嵌入式硬盤錄像機[3],由于基于PC服務器構(gòu)架的硬盤錄像機具有存儲容量大、存儲效率高、可接入性能強等優(yōu)勢,得到了越來越多的應用。

      本文介紹了基于服務器構(gòu)架的HVR的系統(tǒng)框架,提出高效可行的多路攝像機視頻接入和處理軟件方案并進行實現(xiàn)。

      1 HVR系統(tǒng)框架

      1.1 系統(tǒng)硬件框架

      本系統(tǒng)采用基于服務器的硬件構(gòu)架,該服務器采用INTEL 64位CPU處理器,處理性能優(yōu)越。此外,該服務器提供硬盤陣列的RAID管理,保證了視頻數(shù)據(jù)的高效安全存儲。通過服務器的PCIe接口插槽接入編碼板卡,實現(xiàn)模擬視頻數(shù)據(jù)的采集及模擬攝像機的接入,通過服務器的雙千兆以太網(wǎng)分別實現(xiàn)高清網(wǎng)絡(luò)攝像機的視頻接入和HVR設(shè)備的聯(lián)網(wǎng)功能。系統(tǒng)硬件框圖如圖1所示。

      圖1 系統(tǒng)硬件框圖

      該系統(tǒng)的硬件構(gòu)架和處理性能保證其具有對多路視頻的接入和運算處理能力,并利用RAID硬盤陣列技術(shù)實現(xiàn)圖像數(shù)據(jù)的可靠高效存儲。

      1.2 系統(tǒng)軟件框架

      系統(tǒng)軟件功能主要由模擬視頻采集和壓縮編碼、多路攝像機視頻接入和處理、圖像數(shù)據(jù)存儲三部分組成。模擬視頻采集和壓縮編碼功能軟件在服務器外接的編碼板卡上運行,其余功能軟件模塊均在服務器上運行。服務器和編碼卡通過PCIe接口通信,保證大量視頻數(shù)據(jù)的高速交換,在服務器端通過調(diào)用編碼板卡提供的接口函數(shù)和驅(qū)動實現(xiàn)對編碼板卡的控制。系統(tǒng)軟件框架如圖2所示。

      圖2 系統(tǒng)軟件框圖

      模擬視頻的采集和壓縮編碼軟件主要負責實現(xiàn)對模擬視頻數(shù)據(jù)的采集、預處理和壓縮編碼[4]。其可對接入的16路PAL制模擬視頻信號進行采集,對采集到的模擬視頻進行預處理,變換為YUV格式數(shù)字視頻信號,最后對預處理后數(shù)字視頻信號分別進行H.264格式的壓縮編碼。

      多路攝像機視頻接入和處理主要負責實現(xiàn)多路模擬攝像機和高清網(wǎng)絡(luò)攝像機視頻的接入[5],并對所接入的視頻數(shù)據(jù)進行相應處理,是系統(tǒng)功能實現(xiàn)的核心部分。該部分由模擬攝像機視頻接入和處理、高清網(wǎng)絡(luò)攝像機視頻接入和處理兩個模塊組成。

      圖像數(shù)據(jù)存儲主要負責將從多路攝像機視頻接入和處理軟件模塊獲取的處理后圖像數(shù)據(jù)按一定存儲規(guī)則寫入本地硬盤陣列,并按存儲規(guī)則建立視頻流索引文件,保證對存儲視頻數(shù)據(jù)的快速檢索回放。

      2 多路視頻接入和處理軟件的設(shè)計與實現(xiàn)

      2.1 多路模擬攝像機視頻接入和處理

      多路模擬攝像機視頻接入和處理部分主要通過調(diào)用編碼板卡接口函數(shù)對編碼板卡進行初始化配置、控制編碼板卡的視頻壓縮編碼、從編碼板卡獲取編碼后視頻數(shù)據(jù)流(Element Stream, ES)或YUV格式視頻數(shù)據(jù),完成多路模擬視頻的接入功能,并把多路ES數(shù)據(jù)流封裝為可以播放的節(jié)目流(Program Stream,PS)[6],最后對PS流進行相應處理和傳輸,為系統(tǒng)錄像、歷史視頻回放、視頻實時播放等功能提供符合特定流媒體格式要求的數(shù)據(jù)源。

      模塊啟動時主要完成讀取配置文件信息、對編碼板卡進行初始化設(shè)置工作。主要包括編碼板卡固件升級、編碼板參數(shù)設(shè)置、編碼板上各個視頻通道參數(shù)設(shè)置等。通過調(diào)用編碼板卡驅(qū)動對編碼板卡進行初始化。

      模塊啟動流程如圖3所示。

      圖3 啟動流程圖

      模塊初始化完成后,可接收外部會話消息,根據(jù)消息啟動對應線程執(zhí)行相應功能,實現(xiàn)系統(tǒng)中各個應用功能。在此創(chuàng)建外部消息會話接收處理線程,負責接收外部會話消息,并根據(jù)不同會話類型觸發(fā)相應事件處理線程。外部消息會話接收處理線程是軟件模塊的主線程,線程接收的主要會話類型包括實時點播會話、圖像數(shù)據(jù)存儲會話、歷史視頻回放會話。會話處理流程如圖4所示。

      2.2 多路高清網(wǎng)絡(luò)攝像機視頻接入和處理

      多路高清網(wǎng)絡(luò)攝像機視頻接入和處理主要實現(xiàn)高清網(wǎng)絡(luò)攝像機的接入,并通過網(wǎng)絡(luò)接口獲取高清網(wǎng)絡(luò)攝像機的視頻碼流,進行處理后發(fā)送給相應功能模塊進行存儲和播放控制。圖5為模塊主程序流程圖。

      圖4 外部會話接收處理線程

      圖5 模塊主程序流程圖

      為了能夠兼容不同廠商的網(wǎng)絡(luò)攝像機,對于高清網(wǎng)絡(luò)攝像機的接入采用GB/T 28181—2011標準規(guī)定的SIP協(xié)議[7]實現(xiàn),主要包括標準中規(guī)定的網(wǎng)絡(luò)攝像機的注冊、心跳報送、點播等功能。在模塊中根據(jù)配置的網(wǎng)絡(luò)攝像機基本信息實現(xiàn)對網(wǎng)絡(luò)攝像機的注冊認證,根據(jù)接收到的攝像機心跳信息,可判斷攝像機的在線狀態(tài)[7],實現(xiàn)網(wǎng)絡(luò)攝像機在系統(tǒng)中的接入。

      外部會話接收處理線程負責接收外部會話,并根據(jù)不同會話類型啟動相應子線程執(zhí)行不同處理,完成對網(wǎng)絡(luò)攝像機通道視頻流的獲取及點播、錄像、回放等操作。該模塊通過向在線網(wǎng)絡(luò)攝像機發(fā)送視頻點播SIP信令獲取碼流,然后創(chuàng)建RTP接收子線程接收網(wǎng)絡(luò)攝像機的RTP格式媒體流并根據(jù)不同會話類型對媒體流進行相應處理。

      2.3 多通道并發(fā)操作及視頻碼流分發(fā)機制

      在多路攝像機視頻接入過程中,需要同時獲取多個攝像機通道的視頻碼流,且對一路攝像機視頻流可能同時進行實時點播、視頻存儲、視頻回放操作,對會話和通道資源的管理不恰當,會造成通道視頻資源的沖突。針對以上問題,設(shè)計了一套完善的多通道并發(fā)操作[8]及視頻碼流分發(fā)機制。

      為了對多個攝像機通道及會話進行管理,定義以下幾個數(shù)據(jù)結(jié)構(gòu)和類:

      1)struct VRLSTRUCT,該數(shù)據(jù)結(jié)構(gòu)管理攝像機通道資源,一個該數(shù)據(jù)結(jié)構(gòu)對象對應一路攝像機通道資源,根據(jù)配置文件對該結(jié)構(gòu)體成員變量進行賦值,并對攝像機通道初始化,對該路攝像機通道初始化完成后將該通道資源提交到攝像機通道資源安全列表[9]中,由通道資源安全列表對多路攝像機通道資源進行統(tǒng)一管理。該結(jié)構(gòu)體包含以下關(guān)鍵成員變量:

      (1)CMyESSession *m_pMyESSession,該成員變量類負責管理相應通道視頻流的獲取和圖像數(shù)據(jù)處理操作,對該類的詳細說明見下文。

      (2)nt m_nCameraNo,該成員變量定義攝像機通道號,標識對應的攝像機通道內(nèi)部編號。

      2)class CMyESSession,該類負責對相應通道視頻流的獲取和圖像數(shù)據(jù)處理進行管理,包含以下關(guān)鍵成員變量及函數(shù):

      (1)LPVRLSTRUCT m_pVRL,該成員變量使得CMyESSession類和攝像機通道資源建立對應關(guān)系。

      (2)static UINT ProcessVideoQueue(),該成員函數(shù)為獲取相應通道編碼后視頻流并進行處理的線程函數(shù)。

      3)class CP2PSession,該類管理對攝像機通道的會話請求,對于一路攝像機通道資源中的每一個不同會話,創(chuàng)建一個CP2PSession類,該類是會話最小單元,同一攝像機通道資源的所有該會話類由會話資源列表統(tǒng)一管理。該類的成員變量及函數(shù)如下:

      (1)enum SessionType,該成員變量為枚舉類型,定義會話類型,主要包括實時播放、視頻存儲、視頻回放會話類型。

      (2)LPVRLSTRUCT m_pVRL,該成員變量使得視頻會話和對應攝像機通道資源建立對應關(guān)系。

      (3)m_nRequestID,需求ID,每一個不同會話請求都會有一個需求ID參數(shù),該ID是會話的唯一標識,用以對不同會話進行區(qū)分。

      (4)UINT ReadStreamThreadFunc(),該成員函數(shù)為線程處理函數(shù),負責從存儲模塊碼流共享隊列中獲取對應通道的檢索歷史視頻流。

      (5)void PushStreamData(),該成員函數(shù)負責對對應通道PS碼流進行RTP封裝及發(fā)送,實現(xiàn)實時點播及歷史視頻回放功能中的視頻流傳輸。

      通過以上幾個數(shù)據(jù)結(jié)構(gòu)和類,實現(xiàn)了不同攝像機通道資源和會話的關(guān)聯(lián)。圖6為攝像機視頻通道資源和會話關(guān)聯(lián)結(jié)構(gòu)圖。

      當有新的會話請求時,對于會話的處理過程如下:

      1)新建CP2PSession會話對象,根據(jù)會話請求信息實例化該對象的成員變量。

      2)根據(jù)會話請求的攝像機通道ID在攝像機通道資源列表中找到對應的攝像機通道資源。判斷會話類型,若為實時點播或視頻存儲會話,執(zhí)行過程3),若為歷史視頻回放會話,執(zhí)行過程5)。

      圖6 視頻通道資源和會話關(guān)聯(lián)結(jié)構(gòu)圖

      3)若為實時點播及視頻存儲會話,需共用從攝像機通道獲取的編碼后ES流,并進行視頻流分發(fā),對于這兩種類型會話,首先判斷對應攝像機通道資源pPVL有無實例化的m_pMyESSession成員變量類,若沒有則說明在該會話之前沒有獲取該通道視頻流記錄,需要新建CMyESSession類的對象并實例化該成員變量,將攝像機通道資源和m_pMyESSession對象綁定,然后執(zhí)行過程4)。

      4)啟動CMyESSession對象中的視頻處理線程,接收對應通道編碼后視頻數(shù)據(jù)并進行封裝及相應處理,然后輪詢查詢會話列表,根據(jù)不同會話個數(shù)及會話類型對視頻流進行分發(fā)。

      5)啟動CP2PSession對象中的ReadStreamThreadFunc()線程從存儲模塊獲取對應通道的歷史視頻流,并調(diào)用該對象中的PushStreamData()函數(shù)將碼流發(fā)送至顯示端口。

      通過以上多通道視頻資源和會話的關(guān)聯(lián),使多通道并發(fā)操作及碼流分發(fā)機制更加完善,避免了在多個視頻通道并發(fā)操作以及一個視頻通道同時進行多個會話時的資源沖突問題。

      2.4 會話安全結(jié)束機制

      如果同一攝像機通道有多個會話開啟時,在一個會話結(jié)束時,需安全有效地釋放為該會話申請的資源。如果對會話占用資源的釋放不徹底,會造成內(nèi)存泄漏,該情況的累積可能會使系統(tǒng)崩潰;另一方面,會話所占用資源的不當釋放又可能會影響其他會話功能。對此設(shè)計了一套會話的安全結(jié)束機制,該機制可保證系統(tǒng)對會話資源有效地釋放,既不影響其他會話功能又不會造成系統(tǒng)內(nèi)存泄漏。清除過程如下:

      1)從會話列表中清除該會話。

      2)判斷待結(jié)束的會話類型,如果為實時點播或視頻存儲,則執(zhí)行過程3),其余會話類型執(zhí)行過程4)。

      3)判斷會話列表中有無會話占用m_pMyESSession對象資源,若無會話占用該對象資源,則刪除該對象,釋放其占用的所有資源,停止對象中的視頻處理線程,并調(diào)用編碼卡驅(qū)動結(jié)束對應通道編碼。然后執(zhí)行過程4)。

      4)刪除該CP2PSession會話對象,釋放該對象占用的所有資源。

      3 結(jié)論

      經(jīng)過測試,基于該構(gòu)架的HVR系統(tǒng)存儲容量大、存儲效率高、可接入能力強,性能可靠穩(wěn)定,測試結(jié)果和預期基本吻合。上述多路攝像機接入和圖像數(shù)據(jù)處理軟件的設(shè)計保證系統(tǒng)具有以下優(yōu)勢:

      1)可同時接入16路模擬攝像機和32路高清網(wǎng)絡(luò)攝像機(等效128路數(shù)字D1)。

      2)可同時對模擬攝像機和網(wǎng)絡(luò)攝像機通道進行錄像和16路視頻預覽或回放操作,系統(tǒng)資源占用率僅為30%左右。

      3)對獲取的多路視頻進行處理后視頻畫質(zhì)清晰,預覽或回放效果良好,滿足安防行業(yè)監(jiān)控需求。

      由于其既可接入模擬攝像機,又可接入數(shù)字網(wǎng)絡(luò)攝像機,布局靈活,具有良好的應用前景。本文中多路視頻接入和處理軟件部分的設(shè)計與實現(xiàn)是系統(tǒng)功能和性能優(yōu)勢得以體現(xiàn)的核心部分,對于HVR系統(tǒng)開發(fā)具有一定的參考價值。

      [1]陳剛.視頻監(jiān)控系統(tǒng)常用存儲技術(shù)及發(fā)展趨勢[J].數(shù)字技術(shù)與應用,2013(3): 234-236.

      [2] 趙傳躍,彭宏.DVR系統(tǒng)中視頻采集壓縮的軟件設(shè)計[J].杭州電子科技大學學報,2010,30(5):145.

      [3]馬喜廷,孟榮芳.數(shù)字硬盤錄像機[J].電視技術(shù),2003,27(6):87-88.

      [4]李少龍.視頻數(shù)據(jù)采集及編碼技術(shù)的研究與實現(xiàn)[D].西安:西安電子科技大學,2012.

      [5]王健,宋穎慧,向建軍.遠程無線多路視頻處理系統(tǒng)設(shè)計與實現(xiàn)[J].測控技術(shù),2013,32(12):20-23.

      [6]尹睿男.音視頻采集與傳輸系統(tǒng)設(shè)計[D].北京:北方工業(yè)大學,2012.

      [7]GB/T28181—2011,安全防范視頻監(jiān)控聯(lián)網(wǎng)系統(tǒng)信息傳輸、交換、控制技術(shù)要求[S].2011.

      [8]楊開杰,劉秋菊,徐汀榮.線程池的多線程并發(fā)控制技術(shù)研究[J].計算機應用與軟件, 2010,27(1):168-170.

      [9]常奇峰.基于VC++的數(shù)字圖像處理軟件開發(fā)[M].南京:南京航空航天大學出版社,2010.

      匡 艷,女,工程師,主研智能信息處理、圖像處理與應用;

      董 騫,副研究員,主研智能信息處理、圖像處理與應用;

      王曉東,工程師,主研智能信息處理、圖像處理與應用。

      責任編輯:閆雯雯

      Software Design of Complex Channel Video Connecting and Processing in HVR System

      KUANG Yan,DONG Qian,WANG Xiaodong

      (FirstResearchInstituteoftheMinistryofPublicSecurityofPRC,Beijing100048,China)

      Point at the complex channel video connecting and processing question in Hybrid Video Record system, a reliably and high efficiency way to realize the complex channel video connecting and processing in the Hybrid Video Record system is given in this paper, which based on the hardware structure of server mainboard and encoding card.To deal with the problem of the resource conflicting while multi-channel video signal processing and performing several functions in one channel at the same time, a perfect mechanism of the parallel operation to multi-channel and the video stream distributing as well as how to exit one function safely is also designed in this paper.The actual test results prove that the system have high ability of the video connection, low occupancy rate of system resources, high quality of video and stability of performance.

      hybrid video record; video; connecting

      國家科技支撐計劃項目(2012BAH21B02)

      TN94

      A

      10.16280/j.videoe.2015.05.012

      2014-07-24

      【本文獻信息】匡艷,董騫,王曉東.HVR系統(tǒng)中多路視頻接入和處理的軟件設(shè)計[J].電視技術(shù),2015,39(5).

      猜你喜歡
      視頻流會話板卡
      邊緣實時視頻流分析系統(tǒng)配置動態(tài)調(diào)整算法研究
      基于視頻流傳輸中的擁塞控制研究
      基于PCI9054的多總線通信板卡的研制
      基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
      有意冒犯性言語的會話含義分析
      漢語教材中的會話結(jié)構(gòu)特征及其語用功能呈現(xiàn)——基于85個會話片段的個案研究
      美國視頻流市場首現(xiàn)飽和征兆
      一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
      一種通用模擬量及開關(guān)量信號采集板卡的設(shè)計
      沖突語的會話分析研究
      六枝特区| 中超| 台中县| 扎鲁特旗| 黄浦区| 尚志市| 溧水县| 上思县| 阿勒泰市| 瑞金市| 宜章县| 正宁县| 芦山县| 乌兰县| 桂阳县| 竹溪县| 三都| 阿勒泰市| 旺苍县| 新田县| 二连浩特市| 仲巴县| 铜川市| 威宁| 墨竹工卡县| 高台县| 吴堡县| 江门市| 长宁县| 宜城市| 桂平市| 乐都县| 北海市| 大化| 钦州市| 隆林| 贵港市| 威信县| 阜宁县| 乌拉特前旗| 手游|