索旭東,林 琳,李康華,李冀川,蕭潤明
(智能移動機器人(中山)研究院,廣東 中山 528400)
隨著智能移動機器人、攝像頭、人工智能、無線通信等相關產業技術的發展[1],市面上許多監控室采用固定攝像頭和有線網絡,這種系統架構缺點被不斷放大,視頻監控技術由此開始向無線低延時、智能化、多功能、可拓展發展。傳統的人工巡邏和固定攝像頭監控容易出現監控死角、遠程查看監控存在視頻延時高的問題。
需要針對現有監控終端架構缺陷[2],給出可行性的解決方案。提出一種硬件功能拓展性高、監控可靠低延時、監測異常智能化的方案,基于WebRTC視頻流傳輸技術的搭載可移動機器人攝像頭的智能監控安防系統。采用WebRTC(Web Real-Time Communication)進行跨平臺低延時通信,保證監控畫面的實時性。用戶可以直接通過瀏覽器Web 端看到監控室畫面。本文主要介紹關于WebRTC 的技術特點以及低延時智能監控系統的設計與實現。
傳統視頻輸出為rtsp 流,提供視頻兼容性和視頻傳輸穩定性。要打造適合的低延時監控系統,重點是要明確用戶觀看到的攝像頭畫面延時產生的組成。傳統監控系統采用B/S 結構開發。用戶觀看監控視頻產生的延時會由以下四個部分組成:
●攝像頭壓制編碼的時間;
●視頻網絡傳輸服務器的時間;
●視頻網絡傳輸到瀏覽器的時間。
低延時監控系統可以優化除了第一點外的流程。總的來說,低延時的關鍵在于怎么提高視頻傳輸速度和解碼效率。
WebRTC 技術采用點對點的通信技術,把延時的組成再次改寫為三部分:
●攝像頭壓制編碼的時間;
●視頻從網絡傳輸到客戶端的時間。
●視頻渲染解碼的時間。
1.2 腹膜反折懸吊裝置的設計 自制腹膜反折懸吊裝置由 Hem-o-lok 夾和與之連接的穿刺器、固定裝置及施夾鉗組成,施夾鉗用于將懸吊裝置置入體腔,并將 Hem-o-lok 夾夾閉固定于腹膜反折上;穿刺器及其附屬連接線用于調整腹膜反折懸吊的牽引方向及高度;固定裝置用于固定連接線,保持腹膜反折懸吊的高度和方向(圖1)。
WebRTC(Web Real-Time Communications)是一項實時通訊技術,它允許網絡應用或者站點,在不借助中間媒介的情況下,建立瀏覽器之間點對點(Peerto-Peer)的連接,實現視頻流、音頻流或者其他任意數據的傳輸。
WebRTC 技術框架的接口層核心是RTCPeer-Connection,分為兩部分:Web API和WebRTC C++API。Web API 是由W3C 維護的一組JavaScript 接口[6],提供了API 方便開發者直接使用,在瀏覽器中創建實時通信應用程序。
核心引擎層分為音頻引擎模塊、網絡傳輸模塊和視頻引擎模塊。音頻引擎模塊是WebRTC 最具有價值的技術之一,包含從視頻采集卡到網絡傳輸段的整個一系列的音頻多媒體處理框架。
WebRTC的網絡傳輸涉及多種協議用于同時支持音頻、視頻、自定義應用數據的傳輸。WebRTC傳輸的所有數據都是基于加密信道DTLS 進行傳輸的,DTLS讓通信雙方握手生成一對密鑰[7],發送方負責通過UDP 傳輸對數據進行加密,再由接收方對加密數據做解密處理。簡單來說就是在UDP 的基礎上讓通信雙方協商密鑰進行加密解密。音視頻數據通過RTP/SRTP(Realtime Transport Protocol/Secure Realtime Transport Protocol)進行傳輸。綜上所述,WebRTC 在底層使用UDP,在上層使用RTP。
視頻引擎模塊包括:攝像頭采集視頻通過視頻信息網絡實現視頻顯示的過程。
WebRTC 技術有三種架構:Mesh、MCU、SFU[8],本系統使用的是Mesh 架構,是基于端到端的直連設計。三種通訊架構如圖1所示。

圖1 WebRTC通訊架構圖
Mesh 架構:客戶端進行相互間音視頻流數據傳輸采用P2P 連接。Mesh 架構的優點是不需要中心服務器進行轉發,由于視頻編碼解碼過程都在客戶端,對于客戶端的上行帶寬消耗比較大。
MCU架構:該架構的視頻信息流是在服務端進行編碼,對于不同接收端不需要進行轉碼。但是抖動緩沖區較大,而且對服務器的CPU 消耗大,點與點之間需要通過服務器,造成兩點之間的延時增加。每個客戶端只需要向服務器上傳一路信息流,從服務端接收一路音頻視頻流,對于客戶端的帶寬消耗較少,但是對于服務器性能要求較高CPU資源消耗較大。
SFU 架構:通過服務器對音頻視頻等信息流進行直接轉發,不需進行編碼操作。相比MCU 架構,SFU架構對數據傳輸更安全、服務器的壓力較小。
對于客戶端的下行帶寬消耗較大,不適合用在網絡條件較差的環境。
本系統監控看板主要是使用在遠程監控室,屬于端點和信息量較小的場景,為了增加數據的低延時和實時性,將Mesh架構做為最佳選型使用。
本論文的低延時方案是基于WebRTC 視頻技術實現的。與傳統視頻rtsp 流。WebRTC 能建立點對點的連接,減少了視頻傳送服務器的時間,能有效降低視頻的延時。
測試實驗使用海康威視攝像頭。分別使用海康威視Web 端,低延時智能系統,某商用視頻中間件,開源FFMPEG+JSMPEG 技術四個方案進行測試對比。
海康威視Web 端,以JavaScript 接口形式提供用戶集成,支持網頁上實現預覽、回放、云臺控制等基本視頻相關功能,用于BS 網頁開發,適用于特定的網絡環境。
某商用視頻中間件,采用的是VLC 內嵌網頁播放程序,通過底層去調用VLC 的ActiveX 控件實現在Web端內嵌播放RTSP實時視頻流。
FFMPEG+JSMPEG 技術,是目前國際上較為流行的用于實現視頻編碼、解碼、轉碼、封裝、解封裝、流、鏡、播放等功能的多媒體框架,對rtsp 流進行解析,開啟rtsp 流經視頻音頻解封裝器,解析去除無關的報文信息,提取出真正的視音頻數據流。
使用海康威視攝像頭,與PC 網卡直連,同時打開海康威視Web 端與低延時智能系統,某商用視頻中間件,與開源FFMPEG+JSMPEG 技術三個方案中的其中一個作為參照物進行北京時間對比分析。
第一個測試的是低延時監控系統與海康威視。兩者進行多次延時對比采樣,把測試結果記錄下來求一個平均數。其實如圖2為其中一次測試結果。左側是本機與攝像頭使用低延時系統的延時,右側則是海康威視官方系統的延時,可以看到在相同的硬件配置與網絡配置下,使用低延時遠程監控系統與使用海康威視官方系統的延時只差110毫秒左右。

圖2 測試結果對比
其他方案與按同等網絡環境與攝像頭進行。其延時對比結果如表1所示。海康威視攝像頭的官方拉流平均延時在90ms,本系統采用的WebRTC方案平均延時在200ms,采用第三方中間件的平均延時在750ms,基于FFmpeg解碼技術的拉流方案平均延時在1000ms。

表1 不同方案延時對比
通過實驗對比,某商用中間件,FFmpeg和WebRTC三種方案的得出平均延時數據得出,WebRTC 方案相較于FFmpeg 和第三方中間件在低延時效果上更加突出。
低延時智能監控系統通過軟件架構的設計提高傳輸速率,把后臺信息管理系統、機器人通信網關系統、視頻推送分離開來[9]。讓視頻和用戶的業務數據獨立處理的同時,又可以做到統一的數據管理。這樣的架構設計,讓本系統相較其他智能監控系統更靈活方便,適用范圍更廣。
基于WebRTC 實時通訊技術的低延時智能監控系統優點在于底層基于UDP 協議具有毫秒級的低延時具有更好的交互效果。在不需要額外的中間媒介就能直接通過Web 端訪問,大大提高了用戶使用的便捷度。隨著技術的不斷發展,WebRTC 的兼容性越來越強大,支持跨平臺方便日后集成二次開發。相較于傳統監控系統,WebRTC 使用的信令傳輸具有穩定性好、可擴展性強、帶寬利用率高等特點。WebRTC存在的缺點是:架構方案多,對不同場景的選型難度高,相對復雜,開發難度高。
結合地圖與遠程視頻監控,可以及時了解機器人附近的情況,根據利用遠程監控及時反饋環境,利用系統的低延時,可以讓相關負責人實現遠程管理多臺機器人的效果,如圖3所示。

圖3 遠程監控頁面圖
結合數據反饋的異常數據與及時利用視頻實時對機器人環境進行更好地監控,如圖4所示。

圖4 監控看板頁面
本論文分析了基于WebRTC 開發的低延時智能監控系統的設計與實現。打造一個用戶使用簡便,遠程低延時監控系統。對市場上機器人等遠程實時性要求高的場景提供一個低延時的解決方案。為機器人遠程監控系統,擴大應用范圍提供一個很好的方向。可以配合對安保監控行業不同場景條件需求分析。也可配置上移動智能機器人相關產業進行需求,實現適用范圍廣、視頻延時低、檢測智能化的目標。提供標準無差低延時、多端可視的視頻流服務。相信未來新一代的機器人,人工智能,無線通信等技術的發展能讓系統得到更加有力的支持與發展[10]。