EasyNVR無插件網頁攝像機直播流媒體服務器對接海康8700平臺視頻出現RTSP視頻無法接入的問題解決

近期EasyNVR無插件可視化視頻服務在接入某市軌道交通地鐵線路實時視頻時,遇到一個極不常見的情況:

  • 整個軌道交通多條線路,視頻基礎設備及初級接入平臺,均由海康威視建設,視頻設備統一接入到海康8700平臺,並統一對外進行視頻輸出;
  • EasyNVR通過與海康8700平臺的對接,向上級可視化調度系統進行可視化無插件的視頻能力輸出;
  • 這時,出現了一條特殊線路的平臺,這條線路的海康8700平臺輸出的視頻流,在進行RTSP流轉RTMP流輸出時,出現了無法正常對接和播放的情況;

前後,我們經歷了一整天的流程和數據的分析:

  1. 我們通過EasyRTSPClient將數據獲取,並進行本地的存儲,發現完全沒有問題,通過Elecard StreamEye Tools等工具分析,視頻數據完全正常。

EasyNVR視頻數據可視化

  1. 我們再將獲取到的H.264數據採用EasyRTMP-File進行直接文件推流,也是完全沒有問題,推流效果也非常好,一切正常。

EasyNVR視頻數據無插件可視化

  1. 但是,只要將EasyRTSPClient + EasyRTMP(也就是我們的EasyRTMPLive)兩個過程連接起來,推出去的視頻有數據,但是怎麼播放都播放不出來,視頻錄像也不能正常播放。

RTSP轉RTMP不成功

  1. 我們綜合了前面幾步的流程,在進行逐步排查的時候,將問題鎖定在了InitMetadata上,在RTMP的init metadata流程,我們會將視頻的sps、pps等參數傳遞給RTMP流媒體服務器,RTMP流媒體服務器在收到這個參數後,後續的視頻就會按照這個參數進行解析和flv/ts封裝,那麼,我們以文件爲中介進行數據交換沒有問題,而以內存實時流爲交換出問題,很可能問題就出現在了EasyRTMP_InitMetadata這一步;

EasyRTMP推流

  1. 我們進而分析了EasyRTSPClient從海康8700平臺取流所獲取到的sps和pps數據,果然,問題找到了,海康8700平臺在RTSP DESCRIBE響應中,sdp數據的sps、pps數據是錯的!而正確的數據是在後面的RTP數據關鍵幀中!!!

EasyNVR接入海康8700平臺視頻
EasyNVR接入海康8700平臺視頻

  1. 那麼,既然找到了問題,我們就可以規避問題了(我們沒辦法直接解決海康8700平臺的問題):我們在該項目的後續實施上,不再選用海康8700平臺返回的sdp數據,而是選擇最可靠的關鍵幀數據作爲提取sps、pps參數的原料。

一起來體驗一下EasyNVR在平安工地方面的成果:

EasyNVR平安工

EasyNVR安防攝像機網頁流媒體服務

EasyNVR是一款擁有完整、自主、可控知識產權,同時又能夠具備軟硬一體功能的安防互聯網化流媒體服務器,能夠通過簡單的網絡攝像機通道配置,將傳統監控行業裏面的高清網絡攝像機IP Camera、NVR等具有RTSP、Onvif協議輸出的設備接入到EasyNVR,EasyNVR能夠將這些視頻源的音視頻數據進行拉取,轉換爲RTMP/HLS,進行全平臺終端H5直播(Web、Android、iOS),並且EasyNVR能夠將視頻源的直播數據對接到第三方CDN網絡,實現互聯網級別的直播分發。詳情可訪問EasyNVR官網:http://www.easynvr.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章