(西安理工大學 自動化與信息工程學院, 西安 710048)
視頻監控平臺在人類的生產生活中充當著極其重要的角色,尤其是在當今這個快速發展的世界上,各個領域的安防問題都在視頻監控的管轄范圍,而視頻監控的發展也推動了世界安防的發展。近年來,隨著視頻監控的廣泛應用,人們開始在互通方面尋求突破,而當下的視頻監控平臺都是由不同的公司構建而成,每個公司都有自己的協議標準和控制要求,所以存在著很大的差異性。各個領域的視頻監控平臺由于開發商不同,沒有統一整體的架構和協議規范,從而形成了很多信息孤島,也使得所在區域的視頻監控資源無法進行整合。
在現代化技術高速發展的今天,犯罪分子的手段越來越智能化,他們學習并利用高科技手段去進行高智商犯罪,讓城市的安保工作越來越困難,如果能將這些監控資源的信息孤島連接起來,使得城市間的所有監控平臺形成一個整體的視頻監控網絡,實現密不透風的監控防護墻,可以讓犯罪分子無處遁形。而如何能將各個視頻監控平臺通過連接,使公安機關能夠共享這些視頻監控平臺的資源,成為安防領域的熱門話題。對于公安部門來說,甚至省市區這種上下級關系的安防平臺之間也因為這個原因難以相通。在這個背景下,中國公安部于2012年6月1日出臺了國標28181協議[1]在全國推廣,該協議基于SIP協議,有良好且詳盡的規范。該協議的出現,讓視頻監控平臺的互聯互通成為了可能。該協議標準規定了統一的協議規范,并在全國范圍內的平安城市項目建設中被普遍推廣應用。
由于SIP協議在系統互聯互通方面得到廣泛應用,尤其是該協議在網絡體系和數據通信等領域的優越性。故采用一種基于SIP協議的視頻監控互聯方案,該方案通過平臺代理的方式將兩個平臺的資源進行共享,以代理服務器作為傳輸媒介進行視頻流傳輸,從而達到平臺與平臺之間互聯互通的作用。實驗結果表明該方案在視頻監控平臺互聯中表現出了良好的效果。
信令網關(SG)[2]的主要功能是指能接收和發送No.7信令消息體,并與IP網的信令進行消息中繼等作用,進而實現信令承接層TDM形式與IP形式的轉換功能。其一般網絡結構如圖1所示。

圖1 信令網關的一般網絡結構
隨著信令網關功能發展的日益強大,開始向其他領域發展應用,例如在智能網,移動互聯網等電信業務開發中發展信令網絡的互通功能和訪問能力,同時在協議轉換范圍方面也取得了重大的進展,使得信令網關的應用前景變得豁然開朗,當然這也是信令網發展的必然趨勢。當前的信令網關已經支持到對SIP、H.323的等多信令協議的互通,其中廣泛的協議棧支持能力包括:
1)No.7信令:支持ANSI、ITU、中國等No.7信令變體,提供基本信令(MTO,SCCP),呼叫控制(ISUP、IUP、TUP)、面向業務的消息(TCAP、INAP、GSM MAP、ANSI-41 MAP)等處理功能。
2)數據通信:RTP/RTCP、H.323、SIP、MegacoH.248等。
3)SIGTRAN(Signling Transport,信令傳輸協議)協議簇:M3UA、M2UA、M2PA、IUA、SUA、TUCL等。
4)另外還支持ATM、幀中繼(Frame Relay)、ISDN、V5等的相關協議簇。
SIP[3](Session Initiation Protocol,會話初始協議)是基于IP網絡的應用信令協議,用于實時通信的會話建立、修改和多媒體會話終止。SIP協議的消息機制是將控制信令的信息放到消息體的頭字段中,再通過網絡傳遞消息來實現對會話連接和媒體傳輸的控制。此協議的特點的是靈活簡單且移動性好,在可擴展方面也有很好的效果,能夠高效地進行系統平臺間的信令交互,這點非常符合視頻監控平臺的應用要求,而且其擴展性也能支持大規模監控網絡的分布式部署的需要。因而采用SIP協議作為視頻監控平臺的信令控制協議,實現視頻監控平臺的互聯互通,已贏得安防各個領域的賞識。例如Internet電話,SIP可以邀請用戶進入已經存在的會話,并在多方會議中也可以隨時邀請其他用戶加入進來,同時在已建議的會話連接中隨時進行刪除和增加多媒體應用。此外,SIP還支持用戶名映射和重定向服務,此功能大多用于支持個人的移動業務需求。在建立會話和保持多媒體會話的連接方面,主要支持以下等5個功能:
1)名字翻譯和用戶定位: 找出通信用戶的IP地址,并將定位到的地址信息與描述信息進行映射連接,確保呼叫雙方無論在任何時候和任何場地都能進行會話,以支持呼叫雙方的信息交互。
2)用戶有效性:查看用戶是否愿意加入會話。任何呼叫一方都可以邀請加入其它用戶進行多方用戶呼叫連接,同時當用戶接收不到呼叫或應答時,可設置為等待連接。
3)用戶能力: 查驗媒體目錄和媒體參數。要求參與呼叫的組在行為特征上保持一致,例如媒體的鑒權許可信息等。
4)建立會話: 在呼叫方和被呼叫方之間建立會話參數,用于會話連接。
5)會話管理: 管理會話。對參與會話連接的參數以及狀態進行實時監管。
以SIP協議開發的視頻監控平臺,可通過IP網絡相互連接,且不需要進行協議轉換,然后在SIP協議的定位機制[5]下,參照SIP消息體的頭字段進行取值和數據庫的存儲,在不同的視頻監控網絡平臺之間傳遞SIP消息,建立會話連接和控制信令轉發,從而實現視頻監控的互聯互通。而當SIP消息體在平臺與平臺之間進行傳遞時,此時的中心管理相當于代理服務器。而非SIP協議的視頻監控平臺,則需要開發信令網關連接到IP網絡,完成其私有協議到SIP協議的轉換,進而進行互聯互通的工作。
一個監控域是指監控平臺及其所接入的所有監控設備,而SIP協議作為控制信令的基本協議,適用于不同的監控域拓撲結構,因此不同監控域的監控網絡可通過建立信令連接網以實現監控平臺的互聯互通。而一般的拓撲結構為扁平化和分層級聯式兩種,以SIP協議開發的網絡視頻監控平臺適用于這兩種拓撲結構[6]。而中心管理服務器本身繼承了SIP網絡服務器的功能,因此監控平臺直接可以直接進行通信,此外通過配置服務器可實現視頻監控網絡的分層級聯,此時的監控域之間就存在著嚴格的等級關系,監控平臺之間也不可以越級進行訪問。
代理服務器(Proxy Server)[7]可作為視頻監控平臺的中間服務器,用于代理平臺進行數據轉發服務。當用戶代理(User Agent,UA)進行會話連接時,首先發出INVITE命令,之后再進行查詢被呼叫端的網絡地址信息。而UA又分為代理客戶端(User Agent Client,UAC)和代理服務器(User Agent Server,UAS),其中代理客戶端是指首先發出呼叫命令的一方,而代理服務器則是被呼叫的一方。當用戶代理發起連接呼叫的時候,UA則以代理客戶端的角色工作,當用戶代理被呼叫時,UA則作為代理服務器的角色工作。這種方式類似于互聯網的 C/S(Client/Server,客戶端/服務器端)模式,因此通過客戶端—服務器協議來完成監控平臺對監控平臺的呼叫。所以采用搭建代理服務器的方法,建立平臺與平臺的連接媒介,進行媒體協商之后,建立會話連接。當一方平臺準備查看另一方平臺監控資源的的時候,可通過代理服務器以請求查看監控資源的視頻監控平臺為呼叫端,而被查看的視頻監控平臺則作為被呼叫端,從而建立平臺間的會話連接。UA模塊的結構圖如圖2所示。

圖2 UA結構圖
注冊服務器(Register Server)用于接收Register請求。將平臺的IP網絡地址與SIP URI一起存放于定位服務器上,以便于更方便的通過SIP URI查詢實際網絡地址。注冊服務器也可以接收視頻監控平臺的注冊請求,并將其IP地址存儲,當地址發生改變的時候,通過新的注冊請求來更改以往記錄的位置信息。因此采用搭建注冊服務器的方法建立各區域監控平臺的路由映射鏈表,各監控平臺通過注冊服務器將地址信息存入此鏈表,以進行平臺之間的連接服務和視頻流傳輸服務。
各級監控平臺通過注冊服務器將各自的URL地址存入位置服務器中,此時位置服務器中就會建立一個管理平臺的映射列表。當某一級監控平臺請求其他監控平臺視頻資源的時候,可通過位置服務器查詢此監控平臺的URL地址,然后通過代理服務器,以主叫端的身份去呼叫需要查看的監控平臺,并建立會話連接。經該監控平臺同意建立連接后,從而建立雙方監控平臺之間的視頻流傳輸通道,最后通過RTP/RTCP協議[9]控制視頻流的傳輸,用UDP/TCP傳輸協議傳輸媒體流。其中事件處理流程圖如3所示。

圖3 事件處理流程圖
網絡視頻監控系統通常由三部分組成,即配置模塊、SIP服務模塊以及平臺模塊,其體系結構如圖1所示。

圖4 平臺互聯系統框架圖
其中SIP服務模塊負責兩個監控平臺的連接以及視頻流的請求和接收服務, 配置模塊負責管理平臺的ID,端口以及媒體服務器的地址等信息,平臺服務模塊負責數據流的傳輸控制。
兩個信令網關之間是平級[10]關系,呼叫端的信令網關主動向被呼叫端信令網關發起注冊,經被呼叫端網關鑒權認證后才能進行系統間通信。信令網關之間采用SIP進行通信和消息傳遞。
呼叫端的監控平臺媒體服務器在信令控制服務器的控制下,直接與被呼叫端的監控平臺相連,采用實時傳輸協議RTP(Real-time Transport Protocol)進行接收或轉發媒體流。
雙方監控平臺建立連接通道以后,各模塊間配合系統進行數據傳遞。請求播放視頻流的模塊步驟如圖5所示。
其中視頻播放主要流程如下:
1)呼叫端平臺向被呼叫端平臺發送INVITE消息;
2)被呼叫端平臺收到請求后,回復200OK響應,攜帶SDP消息體,消息體描述了媒體流發送者的IP,端口等內容。
3)呼叫端平臺收到被呼叫端平臺的消息后,向被呼叫端平臺發送ACK消息,攜帶SDP消息體,消息體描述了媒體流接收者的IP,端口等內容。
4)被呼叫端平臺收到ACK消息后,可向呼叫端平臺發送實時監控視頻流。
5)呼叫端平臺想要停止接收視頻流失,向被呼叫端平臺發送BYE消息請求。被呼叫端平臺也可以向呼叫端平臺發送BYE請求來結束會話。
6)被呼叫端平臺收到BYE請求后,回復200OK結束會話。

圖5 視頻播放流程示意圖
整個系統是在LINUX CentOS系統下搭建運行的,系統使用QT和GSOAP聯合開發,協議棧采用Osip和exosip,并使用Yate模擬SIP服務器,系統搭建完成后,在調測軟件SPVMN協助下進行聯網測試。
首先搭建兩個初級監控平臺作為呼叫端和被呼叫端,并各自連接攝像頭等前端設備,將兩個初級監控平臺的IP地址和端口等信息通過XML文件配置到平臺代理程序的全局鏈表中,由呼叫端平臺網關向被呼叫端網關發起注冊認證,過程如下:
1)呼叫端平臺網關被呼叫端平臺網關發起注冊請求。
2)被呼叫端平臺網關接受到請求之后,向呼叫端平臺網關發起認證請求,并其攜帶認證體制和認證參數。
3)呼叫端平臺收到請求后,根據收到的認證體制和認證參數,并生成發送端的response值,并發送鑒權消息給被呼叫端平臺網關。
4)被呼叫端平臺網關收到鑒權消息后,對比認證后發送注冊認證成功。
代理服務器通過配置的全局鏈表,建立監控平臺之間的虛擬連接,使得呼叫端平臺與被呼叫平臺可以進行數據通信。測試流程如下:
1)首先呼叫端平臺通過代理服務器向被呼叫端平臺發起INVITE請求,此時代理服務器的UA模塊作為客戶端。代理服務器通過全局鏈表找到呼叫端的IP地址和媒體服務器端口等信息,然后發送請求給被呼叫端平臺。
2)被呼叫端平臺收到請求之后,發送響應回復并通過代理服務器將本平臺的前端攝像頭的NOTIF消息打包給呼叫端平臺,此時代理服務器的UA作為服務器端。
3)呼叫端平臺收到響應消息后,對NOTIF消息進行解析,并建立攝像頭與被呼叫端平臺之間的路由映射表,然后通過此表查詢監控攝像頭的目標資源,并通過代理服務器進行媒體連接。
4)被呼叫端平臺收到媒體連接的消息后,將媒體服務器的地址和視頻流的播放端口等信息通過代理服務器打包給呼叫端平臺。
5)呼叫端平臺收到媒體服務器的信息后,更新映射表,同時將己方的路由映射表通過代理服務器打包傳送給被呼叫端平臺。
6)雙方建立路由映射表之后,可進行視頻流的轉發與通信。
各系統模塊測試完成后,開始播放監控視頻流。以搭建的系統平臺作為呼叫端,地方平臺作為被呼叫端,并請求查看地方平臺的視頻監控錄像。選取本地的視頻監控平臺進行測試,最后在瀏覽器上播放此監控平臺視頻監控錄像。
視頻監控平臺廣泛應用于各個領域,其互聯互通問題也是當今安防領域發展的一大趨勢,因此必須得到有效的解決。而隨著平安城市的不斷推廣,各監控平臺間的互聯互通也成為了當下研究的熱門話題。本文采用平臺互聯代理的方法,成功連接了兩個視頻監控平臺的監控資源,使得互聯互通問題得到了相應的解決,但在資源訪問量方面未取得重大進展,這也是后續繼續研究的一大重點。