JAVA音視頻解決方案----JTT1078-2016文檔梳理與一些難點梳理

序言

           這裏根據JTT1078-2016的文檔進行個梳理.相當於排個優先級.很人多做事情沒有優先級,總想一口吃個大胖子

           先梳理業務分個優先級,再把問題列出來就成功一大半了是不是這麼個意思.(我是這麼做事情的哈,[email protected]).然後要多總結,回頭看的話收穫不小.

 

從業務功能上

     業務是根本,很多半瓶不滿,來回晃盪的就知道聊架構.應該從業務上出發,分各優先級在去弄實現方案.

  1. 首先映入眼簾的是關於終端的通信協議分爲TCP和UDP.這個優先級最高

  2. 最基本的業務需求:  實時視頻,回放視頻,優先級最高

  3. 關於視頻控制的需求:這個是調整視頻質量和速度的關鍵點.這個的優先級是次高的

  4. 其它相關的需求::視頻文件上傳,雲臺控制,視頻文件檢索, 視頻字幕疊加設置,視頻報警(信號丟失,疲勞駕駛,打電話,抽菸,視頻遮擋)

  5. 政府平臺與企業平臺之間的通信,這個優先級最低.

      另外關於視頻控制的這個需求包含的內容很多,也多涉及到一些視頻的基本支持.這個要有點功底才能瞭解.主要的有如下幾個:

  1.  實時流編碼模式:固定碼率CBR,可變碼率VBR,平均碼率ABR
  2. 分辨率:QCIF,CIF,WCIF,D1,WD1,720P,1080P,
  3. 關鍵幀的間隔,實時流目標幀率,實時流目標碼率,字幕疊加,是否啓用音頻
  4. 實時視頻傳輸狀態可以知道    丟包率
  5. 視頻編碼:H264 H265 AVS SVAC
  6. 音頻編碼:G721 G722 G721 G723 G728 G729
  7. 聲道數 2.0 2.1 5.0

 

從具體實施上

終端層

  1. 廠家終端協議的不統一,需要針對每個廠家的推流協議進行兼容.且相同版本的協議但是內容格式與含義不統一
  2. 廠家終端協議的不統一會影響到視頻的卡頓,與音頻的同步.
  3. 廠家終端的一次升級也會帶來終端協議的推流的某些改變(暫未證實,但很有可能)
  4. 老設備與新設備的兼容的問題解決會很複雜

網絡接收層

         此網絡接收層是集羣部署,同時存在併發處理,熱備問題待解決

        1078協議要求的是同時支持TCP與UDP的數據推送.目前包括主流的的流服務都是支持TCP的.網絡接收層目前僅做協議解析工作.後期還有安全,推流,轉流,播放,等控制功能.

 

流媒體服務器

        目前流媒體服務器是使用開源的流服務,此流服務肯定會有缺陷需要調整.例如視頻卡頓,播放控制,轉流存儲,事件監控等流媒體服務器佔用帶寬,集羣部署,熱備功能等問題解決.這個我推薦2個Nginx-rtmp和SRS.(如果有其它的可以推薦給我[email protected])

 

視頻,音頻問題

         視頻,音頻問題主要是實現 實時播放視頻,減少卡頓或延遲.音頻主要是要與視頻進行同步播放.但是此問題的觸發可能在多個地方,比如終端協議的不同或者錯誤造成了延遲,卡段音視頻不同步. 或者是流媒體服務器的配置影響.又或者網絡接收層的程序效率不能實時播放或者同步(關於網絡層與帶寬暫時不考慮). 

 

前端插件

      前端插件的播放器可以做成簡單的視頻播放,但是如果需要提供截圖,下載,暫定,緩存等功能.還需要對開源的videojs進行二次封裝.

 

 企業平臺或者政府平臺

       如果要接入新的流媒體服務.則企業平臺,政府平臺需要梳理改動地方,並針對新的流服務方式進行新的控制於管理.如此 各平臺與流媒體服務之間肯定有業務數據上的交互.相互間的接口調用必不可少.

 

 

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