天天看點

實作國标GB28181流媒體服務解決方案

實作國标GB28181流媒體服務解決方案

背景

28181協定全稱為GB/T28181《安全防範視訊監控聯網系統資訊傳輸、交換、控制技術要求》,是由公安部科技資訊化局提出,由全國安全防範報警系統标準化技術委員會(SAC/TC100)歸口,公安部一所等多家機關共同起草的一部國家标準(以下簡稱28181)。

28181協定在全國平安城市、交通、道路等監控中廣泛采用,若想做統一的大監控平台,則支援28181協定接入是必不可少的。如今很多客戶都是想在之前使用的28181平台的基礎上進行拓展。

說明

LiveGBS流媒體伺服器是LiveQing提供的流轉發服務,負責将GB28181裝置/平台推送的PS流轉成ES流,然後提供RTSP、RTMP、FLV、HLS多種格式進行分發,實作web浏覽器、手機浏覽器、微信、PC用戶端等各終端無插件播放。

同時,LiveGB流媒體伺服器對外提供HTTP API接口,通過接口可以獲知流媒體轉發服務的運作狀态資訊,轉發會話資訊,伺服器配置和版本資訊等;

LiveGBS GB28181流媒體伺服器提供以下功能:

  1. 接受和處理GB28181接入伺服器的推流請求;
  2. 接受和處理GB28181裝置的推流;
  3. 接受和處理GB28181接入伺服器的斷開推流請求;
  4. 實時流媒體處理,PS(TS)轉ES;
  5. 實時快照、視訊資料擷取;
  6. 裝置狀态監測;
  7. 雲台控制;
  8. 錄像檢索、回放;
  9. 提供RTSP、RTMP、HTTP-FLV、HLS等多種協定流輸出;
  10. 音視訊轉碼;
  11. 對外提供伺服器擷取狀态、資訊,控制等http API接口;
實作國标GB28181流媒體服務解決方案

流媒體點播詳細流程

LiveGBS分為接入管理服務LiveSIPCMS和流媒體服務LiveSIPSMS。

1 接入伺服器LiveSIPCMS發送Invite請求

接入伺服器LiveSIPCMS向流媒體伺服器LiveSIPSMS發送Invite請求,請求流媒體服務傳回攜帶SDP 消息體,消息體中

描述了媒體伺服器LiveSIPSMS接收媒體流的IP、端口、媒體格式等内容;

Invite請求代碼如下:

2 流媒體服務LiveSIPSMS接受Invite請求處理并ACK應答

我們在SDP消息體中提供了兩種流傳輸方式,分别是TCP和UDP,通過Invite請求所帶的 “rtpovertcp ”參數來控制,TCP方式因為其不丢包的傳輸方式在GB28181裝置推流到公網伺服器的方案中得以廣泛應用.

3 接入伺服器接收ACK應答并Invite請求裝置開始推流

在InviteDevice請求完成後,我們在傳回Response處理過程中做過一次特殊處理,即:如果TCP拉流時發現裝置拉流應答中傳回其推流模式依然是’RTP/AVP’的UDP模式,我們認為其裝置不支援TCP模式,進而向上層傳回700,不支援的流媒體傳輸方式。

4 Invite裝置正常傳回200應答并傳遞給流媒體伺服器

5 流媒體服務接受拉流請求成功應答

至此,整個拉流過程已經完成,成功通過LiveGBS流媒體軟體,使用GB28181協定擷取到監控的視訊流轉成可以在物聯網上直播的RTSP、RTMP、HTTP-FLV、HLS格式。