一、GB28181規範
儘管在國標GB28181中並沒有對“平臺”進行明確的定義,但在規範中卻多次提到“系統平臺”、“管理平臺”等詞彙,在具體項目中、網絡上的交流學習中,平臺概念也是無處不在。筆者認爲,GB28181平臺就是視頻聯網系統中的上級平臺、中間平臺或下級平臺,用於實現信令、音視頻數據的接收和轉發。因此,在一個GB28181平臺中至少應包含一個SIP信令服務器和一個流媒體服務器,這兩個(類)服務器和攝像頭、播放終端等設備一起組成一個監控域。對於絕大多數項目,平臺中還應包括針對具體業務的業務平臺,如指揮控制中心等,我這裏只重點將信令服務器和流媒體服務器。
平臺示意圖
SIP信令服務器
SIP信令服務器負責對平臺中的控制指令進行接收和轉發,具有向SIP客戶端、SIP設備、媒體服務器和網關等提供註冊、路由選擇以及邏輯控制等功能。具體指令包括註冊、實時視頻播放、歷史視頻播放、設備控制、信息查詢、報警事件通知等。具體的實現遵循SIP協議規範,會話控制採用IETFRFC3261規定的Register、Invite等請求和響應方法實現,歷史視音頻回放控制採用SIP擴展協議IETFRFC2976規定的INFO 方法實現,前端設備控制、信息查詢、報警事件通知和分發等應用的會話控制採用SIP擴展協議IETFRFC3428規定的Message方法實現。SIP消息的傳輸支持採用UDP和TCP兩種傳輸協議。
無論採用UDP還是TCP協議,在信令交互流程上是一致的,我們以註冊和播放實時視頻爲例,實現流程如下:
註冊流程
實時視頻播放流程
流媒體服務器
流媒體服務器的作用是接收和轉發音視頻流,包括接收監控設備發送攜帶音視頻的數據包,向播放終端或其他平臺發送音視頻包等。視音頻傳輸協議要求採用RTP協議,視頻推薦使用H264編碼,音頻G711/G723。傳輸層協議同樣最好同時支持UDP協議和TCP協議,UDP協議帶來更好的實時性和更低的延遲,TCP協議則提供更可靠的傳輸。
儘管標準對視頻的上行和下行(播放)都明確定義要RTP協議,但是在實際應用中存在向各種終端(手機、瀏覽器)、各種業務平臺轉發音視頻的需求,因此流媒體服務器的實現應當提供更多的靈活性,在採用RTP協議接收和轉發音視頻的同時,應當支持更多播放協議,以支持更廣泛的終端集成播放需求。一些流媒體服務器平臺,如雲視睿博的NTV Media Server G3和SRS項目,都在支持RTP協議的同時提供了更多的播出協議支持。
NTV Media Server G3聯網示意圖
二、平臺實現和配置
有了上述的基礎規範介紹,在做具體設備和平臺配置的時候就相對明確多了,在攝像頭或DVR中,應當平臺的IP地址、域和平臺編碼等信息。而在平臺端,則可以提前註冊設備編號,已提供更安全的設備接入管理(平臺提前註冊設備編號是可選的,規範並沒有約定)。
平臺配置
平臺端的配置差別稍大,我們以NTV Media Server爲例,配置流程如下:
進入NTV Media Server G3後臺管理界面,點擊菜單項“gb28181設備”:
然後在設備管理界面點擊“添加”按鈕:
添加攝像頭的操作比較簡單,只要輸入攝像頭名稱,點擊“確定”按鈕即可:
這樣,一個攝像頭的配置就做好了,在攝像頭管理界面中,將生成的配置信息配置到攝像頭中,參見下一節的介紹。
終端配置
攝像頭的配置界面,不同品牌的配置界面稍有差別,但需要配置的項目基本一致,我們以海康威視的攝像頭爲例進行配置。
以海康威視的攝像頭爲例,登錄攝像頭的Web管理界面,如下圖:
具體配置流程:
點擊左側測單“網絡”-->“高級配置”,顯示界面如上圖。點擊“平臺接入”按鈕,出現配置界面,平臺接入方式選擇“28181”,會出現和上圖一致的配置界面。
將上一小節中流媒體服務器上生成的攝像頭配置信息配置到攝像頭中,注意要逐項比對配置,避免輸入錯誤。記着點開最下面“視頻編碼通道ID”配置框,將正確的視頻通道編碼填入進去,否者無法正常發送視頻。
配置完畢後,點擊“保存”按鈕。
這樣就完成了攝像頭和流媒體服務器的對接配置,如果攝像頭的網絡沒有問題,攝像頭就會註冊到流媒體服務器上。