王 明,何加銘,曾興斌
(1.寧波大學通信技術(shù)研究所,浙江寧波315211;2.浙江省移動網(wǎng)應用技術(shù)重點實驗室,浙江寧波315211;3.寧波大學縱橫智能軟件研究所,浙江寧波315211)
近年來,隨著互聯(lián)網(wǎng)的高速發(fā)展,以及智慧城市、安防、金融、道路交通、電力等監(jiān)控項目的建設需要,遠程視頻監(jiān)控技術(shù)已成為人們生活中不可或缺的一部分。視頻監(jiān)控技術(shù)以其經(jīng)濟實用、方便管理、質(zhì)量可靠、技術(shù)先進等諸多特點被廣泛地應用于各種場合[4]。
視頻監(jiān)控系統(tǒng)是一個集計算機處理技術(shù)、網(wǎng)絡通信技術(shù)和數(shù)字音視頻編解碼技術(shù)于一身的綜合系統(tǒng)。作為一種成熟的多媒體應用,視頻監(jiān)控逐步走向數(shù)字化、網(wǎng)絡化、綜合化、無線智能化的潮流中。用戶普遍要求訪問地點不受地域限制,能隨時隨地訪問被監(jiān)控地點[1],這就要求系統(tǒng)設計一個合理的服務機制,能夠?qū)崟r提供給用戶可靠的服務。
提出了一種基于流媒體服務器的遠程視頻監(jiān)控系統(tǒng),較好地解決了上述問題。結(jié)合流媒體技術(shù),就視頻監(jiān)控系統(tǒng)中涉及到的一些關(guān)鍵技術(shù)進行討論,并提出實現(xiàn)方法,最終實現(xiàn)了該系統(tǒng),取得了較好的應用效果。
遠程視頻監(jiān)控的主要分為3大部分:監(jiān)控端、服務器端和視頻采集端,如圖1所示,下面將分別介紹各個部分的功能。
視頻采集端主要由攝像機、電動鏡頭、云臺、WIFI模塊、SD卡等模塊組成,主要負責音視頻數(shù)據(jù)的采集和傳輸。主要功能如下:①采集編碼部分:將現(xiàn)場采集到的音視頻數(shù)據(jù)進行壓縮編碼;②數(shù)據(jù)傳輸部分:將壓縮完成的音視頻數(shù)據(jù)傳送到流媒體服務器;③移動偵測部分:進行移動偵測的功能,并將移動圖像存入到SD卡中;④PTZ控制部分:根據(jù)監(jiān)控端的控制指令,進行PTZ控制;⑤報警部分:完成報警功能。
圖1 遠程視頻監(jiān)控整體構(gòu)架圖
服務器端主要完成音視頻數(shù)據(jù)的分組轉(zhuǎn)發(fā)、視頻數(shù)據(jù)存儲、設備管理、用戶管理、權(quán)限管理和日志管理等功能。
監(jiān)控端主要實現(xiàn)視頻監(jiān)控功能,分為PC監(jiān)控端和移動監(jiān)控端。用戶可以使用任何一臺聯(lián)網(wǎng)PC機或者移動端當做監(jiān)控端,隨時隨地能調(diào)用本系統(tǒng)各監(jiān)控點的視頻數(shù)據(jù),并進行PTZ控制。
服務器端主要包括流媒體服務器、Web服務器以及存儲管理服務器。其中流媒體服務器主要提供視頻直播、點播等功能。Web服務器主要提供用戶統(tǒng)一的Web頁面和Web Service接口。存儲管理服務器負責視頻數(shù)據(jù)的存儲與調(diào)度。
2.1.1 流媒體服務器
流媒體服務器的主要功能是以流式協(xié)議(RTSP、MMS、RTMP等)將視頻文件以流媒體形式傳輸?shù)娇蛻舳?,供用戶在線觀看;也可從視頻采集、壓縮軟件接收實時視頻流,再以流媒體形式直播給客戶端。流媒體應用系統(tǒng)的主要性能取決于流媒體服務器的性能和服務質(zhì)量[7]。因此,流媒體服務器是流媒體應用系統(tǒng)的基礎,選擇一款性能優(yōu)越的服務器是該系統(tǒng)的關(guān)鍵。
Wowza Media Server是一款高性能、多線程的流媒體服務器軟件。專為多種終端設備提供音視頻播放服務,支持 iOS、Windows、Android、BlackMerry 等主流系統(tǒng)的終端設備,開發(fā)者可以根據(jù)不同的應用環(huán)境,選擇RTSP、RTMP、HTTP Live Streaming等不同的傳輸協(xié)議;Wowza Media Server支持H.264編碼標準進行封裝的FLV、MP4、MOV、3GP等音視頻格式;Wowza Media Server能夠記錄實時流,同時允許用戶播放、暫停、恢復和實時回放直播流。
Wowza Media Server提供了強大的接口功能,可以方便實現(xiàn)二次開發(fā)。在本系統(tǒng)中,流媒體服務器需要主動接收采集端傳輸?shù)囊曨l數(shù)據(jù)實現(xiàn)直播,并通過配置命令的形式,對數(shù)據(jù)進行存儲,該功能的實現(xiàn)是對Wowza Media Server流媒體服務器一個擴展的過程,實現(xiàn)方法如下:①攝像頭首先發(fā)送一個心跳包到流媒體服務器,表示此時在線;②攝像頭向流媒體服務器發(fā)送數(shù)據(jù),流媒體服務器接收到數(shù)據(jù)之后,根據(jù)攝像頭序列號生成不同的映射文件,并將相應的數(shù)據(jù)寫入數(shù)據(jù)庫。如果攝像頭IP地址發(fā)生變化,會重復執(zhí)行上述步驟;③流媒體服務器與存儲管理服務器交互,對視頻數(shù)據(jù)進行保存。
2.1.2 Web服務器
Web服務器主要提供用戶統(tǒng)一訪問入口以及Web Service接口功能。本系統(tǒng)采用Struts+Hibernate+Spring技術(shù),結(jié)合ExtJS框架,開發(fā)了一套Web工程,實現(xiàn)了以下幾個功能:①用戶管理:包括添加、刪除、修改、查詢用戶的功能;②權(quán)限管理:包括添加、刪除、修改、查詢權(quán)限的功能;③設備管理:包括添加、刪除、修改、查詢攝像頭的功能;重啟重置攝像頭功能;PTZ控制功能;④日志管理:包括用戶所有操作日志存儲以及日志查詢功能;⑤直播列表獲取:獲取當前登陸用戶所有在線攝像頭列表,用于視頻直播;⑥點播列表獲取:根據(jù)用戶、IP攝像頭、文件創(chuàng)建日期查詢視頻點播列表,用于視頻點播;⑦在網(wǎng)頁中嵌入Flash播放器,用于播放視頻;⑧提供移動端Web Service訪問接口,用于移動監(jiān)控。
2.1.3 存儲管理服務器
存儲管理服務器提供對監(jiān)控系統(tǒng)下各種存儲方案的統(tǒng)一管理,是監(jiān)控綜合平臺下的存儲系統(tǒng)的管理核心,簡稱VRM。VRM可管理前端設備存儲、網(wǎng)絡服務器存儲、嵌入式服務器存儲及iSCSI直寫存儲等多種存儲方式,并提供了快速高效的錄像數(shù)據(jù)的檢索、回放及備份功能。
VRM實現(xiàn)了錄像計劃的配置、錄像計劃的同步、錄像數(shù)據(jù)的查詢及回放、網(wǎng)絡存儲服務器的管理、IP-SAN設備的管理等功能。錄像計劃的配置、更新和刪除操作均由客戶端發(fā)送信令至Web服務器,再由Web服務器轉(zhuǎn)發(fā)至VRM,最后由VRM依據(jù)存儲類型等分發(fā)至其管理的各個存儲服務器。同時Web服務器與VRM之間實現(xiàn)了定時同步機制,保證了錄像計劃的一致性。
客戶端的回放可以從存儲設備直接取流或者通過VRM與流媒體服務器提供的點播服務來進行?;胤耪埱髸r,客戶端不用明確了解系統(tǒng)采用的存儲方式,即可實現(xiàn)對錄像的查詢與回放,VRM服務器為客戶端和存儲設備之間架起了一座橋梁。
為了減輕監(jiān)控端操作的負擔,增強系統(tǒng)的可維護性,本系統(tǒng)中將使用Flash Player作為PC端的播放器。為了實現(xiàn)基于Web服務器的B/S的監(jiān)控機制,本系統(tǒng)將監(jiān)控畫面做成JSP頁面,并且把所有網(wǎng)頁放入Web服務器用于用戶訪問。在JSP頁面中必須提供Flash Player插件的classid和文件路徑,如果本機的注冊表中查找到該classid,則不必下載。否則必須按照codebase指定的路徑下載該控件。標簽中的id是該Flash Player對象的名稱,用于訪問和設置對象屬性、調(diào)用對象方法,加載方法如下。
<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>。
視頻存儲模塊作為本系統(tǒng)的一個重要環(huán)節(jié),主要負責將采集端傳送來的視頻數(shù)據(jù),根據(jù)用戶工號、IP攝像頭編號、日期等因素存儲起來,以便響應客戶端的點播請求。監(jiān)控平臺系統(tǒng)中常采用的存儲方案有以下4種:前端設備存儲、網(wǎng)絡服務器存儲、嵌入式服務器存儲以及iSCSI直寫存儲,選擇了iSCSI直寫存儲。iSCSI直寫存儲主要有NAS、SAN、IPSAN3種方式,本系統(tǒng)采用IP-SAN。IP-SAN結(jié)合了NAS與SAN的特點,實現(xiàn)了塊級數(shù)據(jù)在IP網(wǎng)絡上的傳輸。iSCSI直寫存儲方式是通過存儲管理服務器協(xié)調(diào)控制,在IP-SAN設備上劃分出指定大小的存儲空間用于音視頻信息保存。流媒體服務器將采集端傳輸?shù)臄?shù)據(jù)傳送到存儲服務器,存儲服務器通過iSCSI協(xié)議把音視頻數(shù)據(jù)直接寫到相應的存儲設備中,并把記載有音視頻信息相關(guān)的索引上報給存儲管理服務器用于視頻數(shù)據(jù)檢索。該存儲方式只需要存儲管理服務器協(xié)調(diào),就可以完成視頻數(shù)據(jù)的存儲。iSCSI直寫存儲流程圖如圖2所示。
圖2 iSCSI直寫存儲流程圖
遠程監(jiān)控系統(tǒng)采用流媒體技術(shù),將聲音、影像等媒體信息經(jīng)流媒體服務器向監(jiān)控端用戶實時傳送,在本系統(tǒng)中監(jiān)控端主要分為PC端和移動端。
PC監(jiān)控端采用B/S結(jié)構(gòu),用戶使用系統(tǒng)自帶的瀏覽器訪問本系統(tǒng),由于客戶端需要使用Adobe Flash Player播放器,所以PC端只需安裝Adobe Flash Player軟件,即可通過瀏覽器訪問該系統(tǒng)。
移動監(jiān)控端采用C/S結(jié)構(gòu),通過Web Service接口獲得數(shù)據(jù),實現(xiàn)移動監(jiān)控。該客戶端主要由通訊模塊,解碼模塊以及視頻顯示模塊構(gòu)成。其中通訊模塊用來接收來自Web服務器返回的json數(shù)據(jù),并對數(shù)據(jù)進行解析,將數(shù)據(jù)顯示到客戶端。視頻解碼模塊通過移植vlc源代碼,實現(xiàn)H.264解碼,最后將解碼后的視頻數(shù)據(jù)顯示在屏幕上實現(xiàn)監(jiān)控的目的。
實現(xiàn)了基于流媒體技術(shù)的遠程視頻監(jiān)控系統(tǒng),它采用計算機多媒體技術(shù)、數(shù)字視頻處理技術(shù)、網(wǎng)絡通信技術(shù)和音視頻編解碼技術(shù),以計算機或移動端為平臺,以磁盤陣列為存儲介質(zhì),實現(xiàn)音視頻信號的實時采集、存儲以及播放功能,打破了傳統(tǒng)監(jiān)控系統(tǒng)的限制。
隨著技術(shù)以及業(yè)務的不斷發(fā)展,基于流媒體技術(shù)的視頻監(jiān)控系統(tǒng)對傳輸質(zhì)量、傳輸速度以及其他各方面的要求更高。如何更好地綜合利用網(wǎng)絡通信、編解碼技術(shù)在大規(guī)模訪問中進行資源調(diào)度與管理,是本文需要進一步研究的目標。
[1]林晟.基于B/S模式的視頻監(jiān)控系統(tǒng)的設計與實現(xiàn)[D].廈門:廈門大學,2008:70-75.
[2]曹曉芳.一種基于Android智能手機的遠程視頻監(jiān)控的設計[J].電子器件,2011,34(6):710-712.
[3]徐正超.高清視頻監(jiān)控在平安城市建設中的應用[J].智能建筑與城市信息,2013(2):81-82.
[4]李翔.交通視頻監(jiān)控系統(tǒng)的構(gòu)建[J].信息與通信技術(shù),2013(1):78-81.
[5]西剎子.智能網(wǎng)絡視頻監(jiān)控技術(shù)詳解與實[M].北京:清華大學出版社,2010:298-300.
[6]任建凱.計算機網(wǎng)絡遠程監(jiān)控系統(tǒng)的應用[J].信息與電腦,2013(2):89-90.
[7]吳金策.B/S架構(gòu)嵌入式視頻監(jiān)控系統(tǒng)客戶端設計[J].電視技術(shù),2013,37(3):188-190.
[8]楊萍.基于視頻監(jiān)控的分發(fā)服務器的研究與實現(xiàn)[D].武漢:華中科技大學,2007:27-35.
[9]徐健.網(wǎng)絡視頻監(jiān)控系統(tǒng)的設計與實現(xiàn)[D].大連:大連理工大學,2005:17-21.
[10]徐松.流媒體技術(shù)在網(wǎng)絡控制的應用研究[D].合肥:合肥工業(yè)大學,2003:38-44.
[11]李川.淺述視頻監(jiān)控系統(tǒng)的經(jīng)歷與發(fā)展[J].電大理工,2009(4):49-50.
[12]劉富強.數(shù)字視頻監(jiān)控系統(tǒng)開發(fā)及應用[M].北京:機械工業(yè)出版社,2003.
[13]嚴峻.流媒體自適應播放技術(shù)的研究[M].清華大學:清華大學出版社,2007.
[14]韓德志,傅豐.高可用存儲網(wǎng)絡關(guān)鍵技術(shù)的研究[M].北京:科學出版社,2009.
[15]李剛.輕量級J2EE企業(yè)應用實戰(zhàn)[M].北京:電子工業(yè)出版社,2007.