大牛直播跨平臺RTSP/RTMP轉RTMP轉發SDK

一個好的轉發模塊,首先要低延遲!其次足夠穩定靈活、有狀態反饋機制、資源占用低,如果可以跨平臺,還能以SDK形式提供,會給開發者提供更大的便利!

大牛直播跨平臺RTSP/RTMP轉RTMP轉發SDK目前已全面覆蓋Windows、Android和iOS平臺,行業內以高穩定、低延遲、超低資源占用和強大的功能拓展能力深受開發者歡迎。

整體設計如下:

1. 拉流:通過RTSP直播播放SDK的數據回調接口,拿到音視頻數據;

2. 轉推:通過RTMP直播推送SDK的編碼后數據輸入接口,把回調上來的數據,傳給RTMP直播推送模塊,實現RTSP數據流到RTMP服務器的轉發;

3. 錄像:如果需要錄像,借助RTSP直播播放SDK,拉到音視頻數據后,直接存儲MP4文件即可;

4. 快照:如果需要實時快照,拉流后,解碼調用播放端快照接口,生成快照,因為快照涉及到video數據解碼,如無必要,可不必開啟,不然會額外消耗性能。

5. 拉流預覽:如需預覽拉流數據,只要調用播放端的播放接口,即可實現拉流數據預覽;

6. 數據轉AAC后轉發:考慮到好多監控設備出來的音頻可能是PCMA/PCMU的,如需要更通用的音頻格式,可以轉AAC后,在通過RTMP推送;

7. 轉推RTMP實時靜音:只需要在傳audio數據的地方,加個判斷即可;

8. 拉流速度反饋:通過RTSP播放端的實時碼率反饋event,拿到實時帶寬占用即可;

9. 整體網絡狀態反饋:考慮到有些攝像頭可能會臨時或異常關閉,RTMP服務器亦是,可以通過推拉流的event回調狀態,查看那整體網絡情況,如此界定:是拉不到流,還是推不到RTMP服務器。

多路RTSP/RTMP轉RTMP推送SDK設計架構圖:

多路RTSP/RTMP轉RTMP推送SDK概覽圖

多路RTMP/RTSP轉RTMP推送SDK功能支持:

  1. 支持拉取rtmp流;
  2. 支持拉取rtsp流;
  3. Windows支持本地flv文件轉發(支持制定文件位置轉發,或轉發過程中seek);
  4. 支持本地預覽;
  5. 支持轉發過程中,實時靜音;
  6. 支持轉發過程中,切換rtmp/rtsp url,此外,windows平臺還支持切換本地flv文件;
  7. 支持錄像模塊擴展,可邊轉發邊錄制,每個文件錄制開始結束,均有狀態回饋;
  8. 支持內網RTSP網關模塊擴展,拉取的流數據,可以流入到內網RTSP網關模塊,對外微型RTSP媒體流服務(RTSP url),便于內網訪問;
  9. 音頻:AAC,并支持拉流后的音頻(PCMU/PCMA,Speex等)轉AAC后再轉發;
  10. 視頻:H.264、H.265,支持h265轉發(rtsp/rtmp h265轉rtmp h265推送)

對應Demo:

  • ?Windows測試程序:SmartStreamRelayDemo.exe;
  • ?Windows C++工程:WIN-RelaySDK-CPP-Demo;
  • ?Windows C#工程:WIN-RelaySDK-CSharp-Demo;
  • ?Android工程:SmartRelayDemoV2;
  • ?iOS工程:SmartiOSRelayDemoV2。

[Windows平臺多路RTSP|RTMP轉RTMP推送集成說明]

Windows平臺多路RTMP/RTSP流媒體轉RTMP推送SDK調用說明(以C++為例)(更新于2020/02/11)

[Windows平臺多路RTSP|RTMP轉RTMP推送官方定制版]

目前,大牛直播SDK Windows平臺已發布基于轉發SDK的官方定制版系統,相關鏈接

污污直播app-污污直播破解版永久免费版