car-eye GB28181平臺中 web和視頻服務器開發已經開始進入到發布版本階段,在平臺開程序中遇到過很多問題,下面整理下分享給各位開發者,同時也作為備份,
1. 平臺框架和通信,
一般來說我們做一個平臺的用戶界面,通常用java,C#這些工具,而視頻服務通常采用C++或go這類語言,所以基本要一個通信來實作資料共享和業務串聯,通常的通信不外乎是采用底層的TCP通信,上層的http通信等,在JB28181專案中我們采用了mq訊息佇列作為通信方式,之所以采用這個中間件是因為MQ在各種作業系統,語言都有自己成熟的版本,同時他比開發基于TCP協議的通信協議要簡單,又比如http協議這類協議要實時性好,
2. 流媒體服務器和SIP服務器模型
為了加快開發速度,我們采用了第三方的rtmp服務器作為拉流服務器,在JB28181服務器中同時開發支持ws-flv拉流方式,
成熟的nginx-RTMP服務器在其基礎上進行擴展實作了多種的視頻流格式的拉取,如rtmp,http-flv,ws-flv,hls等,滿足不同客戶端的播放需要,這部分和JT1078視頻服務器基本是保持一致的
3. SIP服務器的諸多疑問
一. RTP資料流的分發,采用多個埠接收設備流還是一個埠
設備一般采用UDP協議來發送資料到視頻服務器,采用一個埠的好處是服務器的管理更加方便,采用多個埠的時候
處理起來更加方便,我們目前采用埠段的方式,動態分配埠給需要上傳視頻服務器
二. 音頻流處理
GB28181的設備音頻流通常使用G711.A 或者G726的這些格式,這在移動端,web網頁播放會有問題,所以采用ffmpeg或者海思庫將音頻格式轉化再發送到RTMP服務器
三 針對公網的設備通信
一般來說28181-2016版本是支持TCP協議的,如果是2011版本只支持UDP協議,建議將資料通信轉發下,尤其是服務器級聯的時候,資料應該從本地服務器轉發到上級視頻服務器,
car-eye JB28181和JT1078 視頻服務器在不斷升級和優化當中,有關開源代碼和平臺體驗請參考獲取
https://github.com/Car-eye-team
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/172439.html
標籤:其他
下一篇:視頻會議的應用
