EasyDarwin流媒體服務器RTSP拉模式流媒體轉發模塊設計


拉模式轉發

拉模式轉發,顧名思義就是服務器主動從源端(IPCamera、NVR、或者其他流媒體服務器)通過RTSP/RTP協議將流媒體音視頻數據拉取到流媒體轉發服務器,再通過內部分發調度機制,分發給請求轉發的客戶端的過程;
拉模式轉發的用途非常廣泛:內網直播、服務器級聯、NVR等各個方面,結合服務端存儲,還可以做成邊轉發直播、邊錄像的功能;

EasyDarwin拉模式流媒體轉發

EasyDarwin拉模式轉發

EasyDarwin的拉模式轉發需要做到幾點:

  1. 通用接入:接入市面上大部分的IPCamera及NVR;
  2. 按需拉取:只有在有用戶請求播放數據的時候,EasyDarwin才會向源端獲取數據;
  3. 無請求釋放:當某一路轉發的用戶觀看量減少為0時,EasyDarwin需要主動釋放對源端的拉取;
  4. 預配置:拉模式轉發模塊能夠讀取預配置的拉模式列表xml配置;
  5. RESTful接口:EasyDarwin支持RESTful接口調用,增加或者刪除拉模式轉發;

實現方案

我們為EasyDarwin新增一個模塊:EasyRelayModule,在EasyRelayModule中,我們為每一路源的轉發都建立一個由live555維護的RTSPClient線程,再由EasyRelayModule對線程進行HashMap維護,啟動與停止進行外部干預,從而維護整個EasyDarwin流媒體服務器所有接入的RTSP源;

這里有一個問題需要說明:我們采用live555進行RTSP流媒體數據的獲取(支持RTP over TCP || UDP),我們改造了live555通常的RTSP獲取流程,直接將live555的sink用simpleRTPSink,直接獲取到RTP數據,轉發給QTSSReflectorModule進行轉發;

EasyDarwin拉模式轉發設計

EasyDarwin Github

https://github.com/easydarwin

獲取更多信息

郵件:support@easydarwin.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2016

EasyDarwin


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM