如何拉取公網RTSP/RTMP流在內網多客戶端播放


好多情況下,一路RTSP或RTMP網絡流過來后,想共享給更多局域網內的客戶端播放,一般來說,有兩種設計方案:

1. 拉取的RTSP或RTMP流,回調后的數據,轉推RTMP服務器,內網部署一台RTMP服務器(如NGINX或者SRS)即可;

2. 拉取后的RTSP或RTMP流,回調后的數據,匯聚到內置RTSP服務模塊,內網其他終端,只要拉RTSP流即可,無需再二次部署流媒體服務器。

方案一的好處在於,NGINX或者SRS等RTMP服務器,性能強勁,支持的並發更多,如果小並發的場景,用方案2比較合適,無需單獨部署服務,即可實現技術方案,這就是我們要介紹的:內置RTSP網關模塊。

內網RTSP網關模塊功能

內網RTSP網關模塊,系內置輕量級RTSP服務模塊擴展,完成外部RTSP/RTMP數據拉取並注入到輕量級RTSP服務模塊工作,多個內網客戶端直接訪問內網輕量級RTSP服務獲取公網數據,無需部署單獨的服務器,支持RTSP/RTMP H.265數據接入。

內置輕量級RTSP服務模塊和內置RTSP網關模塊共同點:

內置輕量級RTSP服務模塊和內置RTSP網關模塊,核心痛點是避免用戶或者開發者單獨部署RTSP或者RTMP服務,數據匯聚到內置RTSP服務,對外提供可供拉流的RTSP URL,適用於內網環境下,對並發要求不高的場景,支持H.264/H.265,支持RTSP鑒權、單播、組播模式,考慮到單個服務承載能力,我們支持同時創建多個RTSP服務,並支持獲取當前RTSP服務會話連接數。

內置輕量級RTSP服務模塊和內置RTSP網關模塊不同點:數據來源不同

1. 內置輕量級RTSP服務模塊,數據源來自攝像頭、屏幕、麥克風等編碼前數據,或者本地編碼后的對接數據;

2. 內置RTSP網關模塊,實際上是RTSP/RTMP拉流模塊+內置輕量級RTSP服務模塊組合出來的。數據源來自RTSP或RTMP網絡流,拉流模塊完成編碼后的音視頻數據回調,然后,匯聚到內置輕量級RTSP服務模塊。

整體設計方案如下:

下載Demo源碼測試:

Github 下載Windows平台轉發DEMO,對應( Windows平台多路RTSP|RTMP轉RTMP推送模塊SDK(C++) Demo工程),DEMO基於VS2013開發,如下圖配置:

播放端,用SmartPlayer.exe 或者 VLC播放 即可。


免責聲明!

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



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