劉曉江 趙可心
摘要:突發自然災害時,應急通信對搶險救災工作至關重要。為了使基層救援隊快速獲取災區的實際情況并安排下一步救援方案,設計并實現了基于網頁實時通信(Web Real-Time Communication,WebRTC)的應急指揮調度系統,在救援現場通過服務級聯的方式快速構建前后方通信指揮體系,通過采集終端實時獲取現場位置及音視頻信息并回傳給指揮部。介紹了系統總體架構,對客戶端、前方服務和后方服務進行了闡述,給出了各模塊功能及軟件實現方案。
關鍵詞:應急通信;網頁實時通信;指揮調度
中圖分類號:TN91文獻標志碼:A文章編號:1008-1739(2022)17-57-04

近年來,隨著一些突如其來災害的侵襲,各級政府越來越意識到應急能力建設的重要性,其中,應急通信是災害來臨后重要的一環,加強信息能力,有利于提高決策質效[1]。
但是,目前基層應急管理部門仍有一些急需解決的問題。例如,如何使基層先遣救援隊伍快速、準確地獲取災區的實際受災情況,從而迅速安排下一步救援方案。基于此現狀,設計了基于網頁實時通信(Web Real-Time Communication,WebRTC)的應急指揮調度系統,在救援現場通過服務級聯的方式快速構建前后方通信指揮體系。
應急指揮調度系統將業務與現場通信場景深度融合,提供設備定位、一鍵通信、現場信息回傳和音視頻組會等應急指揮功能,支持在救援現場迅速展開,實現分鐘級開設,從根本上解決了區縣級救援部門技術人員不足、裝備便攜性差、設備配置繁瑣以及建設資金短缺等問題,提高現場應急通信[2-3]保障效率,為救援指揮提供網絡支撐。
本系統由客戶端、前方服務和后方服務3部分組成,如圖1所示。從部署場景來看,分為后方指揮中心、現場指揮部和一線救援現場。當災害發生,救援人員首先會攜帶部署了前方服務的便攜式現場指揮平臺趕赴現場,搭建現場指揮部。救援現場通過自組網[4]形成一個局域網,前方服務和所有采集終端通過此局域網連接起來,一線救援人員攜帶安裝了客戶端的各種采集終端(執法記錄儀、單兵和無人機)奔赴一線救援現場,客戶端實時采集救援現場音視頻,再通過WebRTC技術回傳給現場指揮部,實現現場指揮部和一線救援現場音視頻的互通。除了現場指揮部,本系統還包含后方指揮中心,后方指揮中心和前方指揮部經互聯網實現互聯互通,前方服務搭建完成后根據需要通過路由器和后方服務建立連接,然后前方指揮部通過私網穿越技術將現場視頻推送給后方指揮中心。系統的主要功能———音視頻傳輸是基于WebRTC進行設計。WebRTC是一種Web瀏覽器原生支持的點對點進行實時音視頻通信及通用數據傳輸的技術。媒體的傳送部分使用ICE(Interactive Session Establishment)技術,支持對4種類型NAT(Network Address Translation)或防火墻的穿透,實現點對點、點對多點等多種方式媒體通路的建立和傳送[5]。

客戶端是呈現系統業務的上層應用,分為后方指揮客戶端、指揮客戶端和移動客戶端,分別部署于指揮中心、現場指揮部和救援現場3個場景。
2.1后方指揮客戶端
后方指揮客戶端部署于后方應急管理用戶的指揮中心,用于對現場的統一指揮和協調調度。后方指揮客戶端功能主要是和前方建立通信、查看現場視頻。
2.2前方指揮客戶端
前方指揮客戶端包含指揮客戶端和移動客戶端,部署于現場指揮部,即根據災害事故需要,臨時開設的用于災害事故現場附近的指揮場所,用于指揮調度應急救援力量和資源。指揮客戶端運行于現場指揮平臺,包含“GIS調度”和“監控調度”2個界面,“GIS調度”基于百度離線地圖實現,地圖上通過添加標注來顯示終端位置和在線離線狀態,點擊標注發起調閱;“監控調度”可以同時調閱4路移動端視頻。指揮員使用前方指揮客戶端可根據需要隨時調配現場終端資源,掌控現場指揮的全要素。
指揮客戶端基于VUE框架開發,移動客戶端通過原生+H5混合開發,2種客戶端共用前端部分,與服務端通過websocket[6]連接。
2.3移動客戶端
移動客戶端安裝在多模終端或者單兵圖傳設備,單兵終端可以通過HDMI外接無人機。移動客戶端承擔了現場災情匯報、指令接收等任務。功能主要包含上報位置和采集現場視頻向服務端傳輸高清視頻。音視頻編解碼采用硬編碼,支持主流視頻格式和音頻格式。
前方服務為現場各類客戶端提供業務支撐,主要包含終端配置模塊、業務控制模塊和媒體服務模塊。
3.1終端配置模塊
終端配置模塊主要負責對終端賬號進行配置和管理。不同的客戶端軟件通過賬號注冊到服務器上,才能進行各項業務流程,賬號分為業務調度類、指揮終端類和移動終端類,可進行分組管理,不同組的賬號互相不可見,互不影響。指揮終端類可設置優先級,同一組內,在鏈路資源緊張的情況下,高級別指揮客戶端可以強拆低級別的視頻調閱業務。
本系統配置模塊基于SpringMVC框架開發,可通過Web界面實現對終端賬號資源的管理與維護。
3.2業務控制模塊
業務控制模塊是系統的核心模塊,主要負責業務的邏輯控制、實現視頻調閱和組會等業務功能。
業務控制模塊分為坐席接入層和業務控制層。坐席接入層實現調度臺的接入、賬號管理及權限管理,完成業務控制層和不同賬號之間的消息轉發;業務控制層提供業務邏輯處理服務,采用room機制管理業務單元,使用有限狀態機控制業務邏輯。
視頻調閱和組會均采用會議模型的設計思想,調閱是和一個移動終端組會,分發移動終端的視頻,會議是和多個移動終端組會,分發所有在會終端的混屏畫面。
視頻調閱主要分為指揮端調閱多個采集終端(各調閱相互獨立)和多個指揮端調閱一個采集終端2種場景,基于此需求,采用資源池化機制,增加視頻調閱標識。當調閱資源標識相同時,業務控制模塊通過媒體服務增加一路視頻調閱資源的分發(多調一)。若當前業務控制模塊中沒有該視頻調閱標識,媒體服務在業務控制模塊的控制下拉取一次視頻調閱資源(一調一或一調多)。
調閱一個移動客戶端的基本流程如圖2所示。

①指揮客戶端發送調閱請求,業務控制模塊收到請求后向媒體服務器申請資源,申請資源成功后,將申請的room ID返回給指揮客戶端。
②業務控制模塊向媒體服務器申請成員資源,申請資源成功后,將①中的room ID發送給移動客戶端。
③指揮客戶端收到room ID后,與媒體服務器進行媒體協商,設置sdp offer為發送音頻,接收音視頻,協商完成后將指揮客戶端的媒體元素的ID發送給業務控制模塊。
④移動客戶端收到room ID后,與媒體服務器進行媒體協商,設置sdp offer為發送音視頻,接收音頻,協商完成后將移動客戶端的媒體元素的ID發送給業務控制模塊。
⑤業務控制模塊收到2個媒體元素的ID后,向媒體服務器發送消息連接2個媒體元素。
⑥2個客戶端媒體流連接成功,調閱完成。
當一個指揮客戶端調閱多個移動客戶端,即進行多次如圖2所示的流程。當多個指揮客戶端調閱一個移動客戶端,在指揮客戶端發送調閱請求后,業務控制模塊不再向媒體服務器申請資源,而是將移動客戶端已在的room ID返回給指揮客戶端,并向指揮客戶端分發移動客戶端的視頻。
組會流程和調閱流程基本相同,主要區別是第②步,組會會向多個移動客戶端發送room ID,多個移動客戶端收到room ID后,各自和媒體服務進行媒體協商然后入會,媒體服務模塊將入會成功的移動終端的視頻進行混屏,業務控制模塊再把混屏畫面分發給指揮端。
3.3媒體服務模塊
媒體服務是系統的媒體核心,接收以SIP為載體的控制核心的指令,對音視頻進行匯聚、處理和分發,媒體服務器功能包括群組通信、轉碼、混合和視聽流的路由。媒體服務器中的一個重要概念是媒體管道,媒體管道是一系列媒體元素的鏈接,其中一個媒體元素的輸出流被送到一個或多個其他媒體元素,媒體元素是封裝特定媒體功能的模塊,例如RTP媒體元素和WebRTC媒體元素等,本系統用到的主要是WebRTC媒體元素。
媒體服務中關于音視頻處理的關鍵技術有MCU布局算法、語音降噪算法、語音活性檢測算法和動態幀率調整策略。會議中將多個成員的畫面合成為一個畫面輸出,媒體引擎采用的自調整算法根據參與混屏的成員數,自動調整畫面的布局。語音降噪算法由基于WebRTC插件開發的音頻優化組件實現,將帶有噪聲的音頻流送入組件,對音頻流進行降噪,實現了對音頻流的優化處理,提升了音頻質量。語音活性檢測算法通過音頻過濾組件和語音活動檢測(Voice Activity Detection,VAD)模塊實現,音頻過濾組件用于音頻流的實時監測,VAD模塊用于初步的語音活性檢測,上層模塊依據音頻過濾組件提供的實時音頻參數和VAD模塊提供的語音決策,執行混音優選算法進行混音,并進行說話者上報及說話者的實時更新。動態幀率調整策略是視頻發送端根據接收端的帶寬估計等參數動態調整視頻發送的碼率和幀率,當網絡條件好時,碼率和幀率會增大;反之,碼率和幀率則會降低,以快速且高解析度地適應不斷變化的網絡環境。另外,媒體服務采用靜態JitterBuffer,將緩存報文個數設置為無限大的固定值,以優化網絡帶寬低的時候視頻卡頓的情況,保證媒體流順暢平穩處理。
后方服務和前方服務的組成基本相同,但是后方服務部署于互聯網,只管理后方指揮客戶端,不直接和現場各類終端通信,而是和前方服務建立連接,由前方服務推送現場的音視頻。前后方服務首先通過TCP建立連接,后方服務作為TCP Server,前方服務作為TCP Client,前方服務和后方服務建立連接后,后方服務根據前方服務的IP信息發起調閱。
3.3節中介紹了媒體服務器的一個特征———媒體管道,前后方媒體流的傳輸就是利用這種特性,將前后方媒體服務器鏈接成一個包含多個媒體元素的媒體管道來傳輸音視頻,如圖3所示。后方指揮中心調閱前方視頻的關鍵流程,如圖4所示。


①后方指揮客戶端向后方服務發送調閱請求,后方業務控制模塊收到請求后向媒體服務器申請資源,申請資源成功后,將申請的room ID返回給指揮客戶端。
②指揮客戶端收到room ID后和后方媒體服務器進行媒體協商,生成代表本端的WebRTC媒體元素,然后將ID發送后方業務控制模塊。
③后方業務控制模塊收到媒體元素的ID后,通過轉發服務發送給前方業務控制模塊。
④前方業務控制模塊收到后向媒體服務器申請資源,申請資源成功后,將申請的room ID發送給前方指揮客戶端。
⑤前方指揮客戶端收到room ID后,與前方媒體服務器進行媒體協商,生成代表本端的WebRTC媒體元素,然后將ID發送前方業務控制模塊。
⑥前方業務控制模塊再通過轉發服務將媒體元素ID發送給后方業務控制模塊,轉發服務將前后方2個媒體元素連接,然后通過ICE技術進行私網穿越[7],至此前后方2個指揮客戶端媒體流連接成功。
⑦最后,前方指揮客戶端邀請前方移動客戶端入會,前方服務端將混屏后的媒體流發送給后方。
應急指揮調度系統在救援現場通過服務級聯的方式快速構建前后方通信指揮體系,實現了在低帶寬、高時延、高抖動的不穩定鏈路情況下的音視頻高質量穩定傳輸,保證了指揮部和救援現場的實時通信。系統重平臺、輕前端,終端輕松便攜,操作簡單,一張圖實現指揮,滿足應急通信的大部分使用需求,在應急通信行業中有廣泛地應用前景。
但是,系統還有一些不足,目前支持的終端資源類型較單一,后續將接入更多類型的終端,例如監控攝像頭和手環等,豐富業務場景。
[1]翟琳.加強應急能力建設,守護城市安全[N].中國應急管理報,2022-03-10(2).
[2]楊東曉.信息化技術在消防指揮中的應用[J].消防界(電子版),2022,8(3):52-54.
[3]周雄偉.新一代應急通信系統發展展望[J].通信技術,2022,55(1):1-6.
[4]李溯,魏書精,羅斯生,等.窄帶無線自組網在森林火災現場應急通信中的應用研究[J].新農業,2021(14):56-59.
[5]付斌,楊鑫,王松,等.WebRTC技術研究及其應用[J].電信科學,2013,29(9):108-112.
[6]邵其專,蔣迪,莫熙.基于WebSocket技術面向電力調度的即時通信系統[J].電子設計工程,2020,28(6):144-148.
[7]楊金花.STUN技術通信問題的研究[J].電子設計程,2015,23(6):92-94.