王 明,何加銘,曾興斌
(1.寧波大學通信技術研究所,浙江寧波315211;2.浙江省移動網應用技術重點實驗室,浙江寧波315211;3.寧波大學縱橫智能軟件研究所,浙江寧波315211)
近年來,隨著互聯網的高速發展,以及智慧城市、安防、金融、道路交通、電力等監控項目的建設需要,遠程視頻監控技術已成為人們生活中不可或缺的一部分。視頻監控技術以其經濟實用、方便管理、質量可靠、技術先進等諸多特點被廣泛地應用于各種場合[4]。
視頻監控系統是一個集計算機處理技術、網絡通信技術和數字音視頻編解碼技術于一身的綜合系統。作為一種成熟的多媒體應用,視頻監控逐步走向數字化、網絡化、綜合化、無線智能化的潮流中。用戶普遍要求訪問地點不受地域限制,能隨時隨地訪問被監控地點[1],這就要求系統設計一個合理的服務機制,能夠實時提供給用戶可靠的服務。
提出了一種基于流媒體服務器的遠程視頻監控系統,較好地解決了上述問題。結合流媒體技術,就視頻監控系統中涉及到的一些關鍵技術進行討論,并提出實現方法,最終實現了該系統,取得了較好的應用效果。
遠程視頻監控的主要分為3大部分:監控端、服務器端和視頻采集端,如圖1所示,下面將分別介紹各個部分的功能。
視頻采集端主要由攝像機、電動鏡頭、云臺、WIFI模塊、SD卡等模塊組成,主要負責音視頻數據的采集和傳輸。主要功能如下:①采集編碼部分:將現場采集到的音視頻數據進行壓縮編碼;②數據傳輸部分:將壓縮完成的音視頻數據傳送到流媒體服務器;③移動偵測部分:進行移動偵測的功能,并將移動圖像存入到SD卡中;④PTZ控制部分:根據監控端的控制指令,進行PTZ控制;⑤報警部分:完成報警功能。

圖1 遠程視頻監控整體構架圖
服務器端主要完成音視頻數據的分組轉發、視頻數據存儲、設備管理、用戶管理、權限管理和日志管理等功能。
監控端主要實現視頻監控功能,分為PC監控端和移動監控端。用戶可以使用任何一臺聯網PC機或者移動端當做監控端,隨時隨地能調用本系統各監控點的視頻數據,并進行PTZ控制。
服務器端主要包括流媒體服務器、Web服務器以及存儲管理服務器。其中流媒體服務器主要提供視頻直播、點播等功能。Web服務器主要提供用戶統一的Web頁面和Web Service接口。存儲管理服務器負責視頻數據的存儲與調度。
2.1.1 流媒體服務器
流媒體服務器的主要功能是以流式協議(RTSP、MMS、RTMP等)將視頻文件以流媒體形式傳輸到客戶端,供用戶在線觀看;也可從視頻采集、壓縮軟件接收實時視頻流,再以流媒體形式直播給客戶端。流媒體應用系統的主要性能取決于流媒體服務器的性能和服務質量[7]。因此,流媒體服務器是流媒體應用系統的基礎,選擇一款性能優越的服務器是該系統的關鍵。
Wowza Media Server是一款高性能、多線程的流媒體服務器軟件。專為多種終端設備提供音視頻播放服務,支持 iOS、Windows、Android、BlackMerry 等主流系統的終端設備,開發者可以根據不同的應用環境,選擇RTSP、RTMP、HTTP Live Streaming等不同的傳輸協議;Wowza Media Server支持H.264編碼標準進行封裝的FLV、MP4、MOV、3GP等音視頻格式;Wowza Media Server能夠記錄實時流,同時允許用戶播放、暫停、恢復和實時回放直播流。
Wowza Media Server提供了強大的接口功能,可以方便實現二次開發。在本系統中,流媒體服務器需要主動接收采集端傳輸的視頻數據實現直播,并通過配置命令的形式,對數據進行存儲,該功能的實現是對Wowza Media Server流媒體服務器一個擴展的過程,實現方法如下:①攝像頭首先發送一個心跳包到流媒體服務器,表示此時在線;②攝像頭向流媒體服務器發送數據,流媒體服務器接收到數據之后,根據攝像頭序列號生成不同的映射文件,并將相應的數據寫入數據庫。如果攝像頭IP地址發生變化,會重復執行上述步驟;③流媒體服務器與存儲管理服務器交互,對視頻數據進行保存。
2.1.2 Web服務器
Web服務器主要提供用戶統一訪問入口以及Web Service接口功能。本系統采用Struts+Hibernate+Spring技術,結合ExtJS框架,開發了一套Web工程,實現了以下幾個功能:①用戶管理:包括添加、刪除、修改、查詢用戶的功能;②權限管理:包括添加、刪除、修改、查詢權限的功能;③設備管理:包括添加、刪除、修改、查詢攝像頭的功能;重啟重置攝像頭功能;PTZ控制功能;④日志管理:包括用戶所有操作日志存儲以及日志查詢功能;⑤直播列表獲取:獲取當前登陸用戶所有在線攝像頭列表,用于視頻直播;⑥點播列表獲取:根據用戶、IP攝像頭、文件創建日期查詢視頻點播列表,用于視頻點播;⑦在網頁中嵌入Flash播放器,用于播放視頻;⑧提供移動端Web Service訪問接口,用于移動監控。
2.1.3 存儲管理服務器
存儲管理服務器提供對監控系統下各種存儲方案的統一管理,是監控綜合平臺下的存儲系統的管理核心,簡稱VRM。VRM可管理前端設備存儲、網絡服務器存儲、嵌入式服務器存儲及iSCSI直寫存儲等多種存儲方式,并提供了快速高效的錄像數據的檢索、回放及備份功能。
VRM實現了錄像計劃的配置、錄像計劃的同步、錄像數據的查詢及回放、網絡存儲服務器的管理、IP-SAN設備的管理等功能。錄像計劃的配置、更新和刪除操作均由客戶端發送信令至Web服務器,再由Web服務器轉發至VRM,最后由VRM依據存儲類型等分發至其管理的各個存儲服務器。同時Web服務器與VRM之間實現了定時同步機制,保證了錄像計劃的一致性。
客戶端的回放可以從存儲設備直接取流或者通過VRM與流媒體服務器提供的點播服務來進行。回放請求時,客戶端不用明確了解系統采用的存儲方式,即可實現對錄像的查詢與回放,VRM服務器為客戶端和存儲設備之間架起了一座橋梁。
為了減輕監控端操作的負擔,增強系統的可維護性,本系統中將使用Flash Player作為PC端的播放器。為了實現基于Web服務器的B/S的監控機制,本系統將監控畫面做成JSP頁面,并且把所有網頁放入Web服務器用于用戶訪問。在JSP頁面中必須提供Flash Player插件的classid和文件路徑,如果本機的注冊表中查找到該classid,則不必下載。否則必須按照codebase指定的路徑下載該控件。標簽中的id是該Flash Player對象的名稱,用于訪問和設置對象屬性、調用對象方法,加載方法如下。
<object"width="636"height="470"id="liveOrVOD"align="middle"classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 " codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0”> < /object>。
視頻存儲模塊作為本系統的一個重要環節,主要負責將采集端傳送來的視頻數據,根據用戶工號、IP攝像頭編號、日期等因素存儲起來,以便響應客戶端的點播請求。監控平臺系統中常采用的存儲方案有以下4種:前端設備存儲、網絡服務器存儲、嵌入式服務器存儲以及iSCSI直寫存儲,選擇了iSCSI直寫存儲。iSCSI直寫存儲主要有NAS、SAN、IPSAN3種方式,本系統采用IP-SAN。IP-SAN結合了NAS與SAN的特點,實現了塊級數據在IP網絡上的傳輸。iSCSI直寫存儲方式是通過存儲管理服務器協調控制,在IP-SAN設備上劃分出指定大小的存儲空間用于音視頻信息保存。流媒體服務器將采集端傳輸的數據傳送到存儲服務器,存儲服務器通過iSCSI協議把音視頻數據直接寫到相應的存儲設備中,并把記載有音視頻信息相關的索引上報給存儲管理服務器用于視頻數據檢索。該存儲方式只需要存儲管理服務器協調,就可以完成視頻數據的存儲。iSCSI直寫存儲流程圖如圖2所示。

圖2 iSCSI直寫存儲流程圖
遠程監控系統采用流媒體技術,將聲音、影像等媒體信息經流媒體服務器向監控端用戶實時傳送,在本系統中監控端主要分為PC端和移動端。
PC監控端采用B/S結構,用戶使用系統自帶的瀏覽器訪問本系統,由于客戶端需要使用Adobe Flash Player播放器,所以PC端只需安裝Adobe Flash Player軟件,即可通過瀏覽器訪問該系統。
移動監控端采用C/S結構,通過Web Service接口獲得數據,實現移動監控。該客戶端主要由通訊模塊,解碼模塊以及視頻顯示模塊構成。其中通訊模塊用來接收來自Web服務器返回的json數據,并對數據進行解析,將數據顯示到客戶端。視頻解碼模塊通過移植vlc源代碼,實現H.264解碼,最后將解碼后的視頻數據顯示在屏幕上實現監控的目的。
實現了基于流媒體技術的遠程視頻監控系統,它采用計算機多媒體技術、數字視頻處理技術、網絡通信技術和音視頻編解碼技術,以計算機或移動端為平臺,以磁盤陣列為存儲介質,實現音視頻信號的實時采集、存儲以及播放功能,打破了傳統監控系統的限制。
隨著技術以及業務的不斷發展,基于流媒體技術的視頻監控系統對傳輸質量、傳輸速度以及其他各方面的要求更高。如何更好地綜合利用網絡通信、編解碼技術在大規模訪問中進行資源調度與管理,是本文需要進一步研究的目標。
[1]林晟.基于B/S模式的視頻監控系統的設計與實現[D].廈門:廈門大學,2008:70-75.
[2]曹曉芳.一種基于Android智能手機的遠程視頻監控的設計[J].電子器件,2011,34(6):710-712.
[3]徐正超.高清視頻監控在平安城市建設中的應用[J].智能建筑與城市信息,2013(2):81-82.
[4]李翔.交通視頻監控系統的構建[J].信息與通信技術,2013(1):78-81.
[5]西剎子.智能網絡視頻監控技術詳解與實[M].北京:清華大學出版社,2010:298-300.
[6]任建凱.計算機網絡遠程監控系統的應用[J].信息與電腦,2013(2):89-90.
[7]吳金策.B/S架構嵌入式視頻監控系統客戶端設計[J].電視技術,2013,37(3):188-190.
[8]楊萍.基于視頻監控的分發服務器的研究與實現[D].武漢:華中科技大學,2007:27-35.
[9]徐健.網絡視頻監控系統的設計與實現[D].大連:大連理工大學,2005:17-21.
[10]徐松.流媒體技術在網絡控制的應用研究[D].合肥:合肥工業大學,2003:38-44.
[11]李川.淺述視頻監控系統的經歷與發展[J].電大理工,2009(4):49-50.
[12]劉富強.數字視頻監控系統開發及應用[M].北京:機械工業出版社,2003.
[13]嚴峻.流媒體自適應播放技術的研究[M].清華大學:清華大學出版社,2007.
[14]韓德志,傅豐.高可用存儲網絡關鍵技術的研究[M].北京:科學出版社,2009.
[15]李剛.輕量級J2EE企業應用實戰[M].北京:電子工業出版社,2007.