好多開發者一直搞不清輕量級RTSP服務SDK和RTSP推流SDK的區別(Github下載地址),以下是相關區別:
1. 輕量級RTSP服務模塊:輕量級RTSP服務解決的核心痛點是避免用戶或者開發者單獨部署RTSP或者RTMP服務,實現本地的音視頻數據(如攝像頭、麥克風),編碼后,匯聚到內置RTSP服務,對外提供可供拉流的RTSP URL,輕量級RTSP服務,適用於內網環境下,對並發要求不高的場景,支持H.264/H.265,支持RTSP鑒權、單播、組播模式,考慮到單個服務承載能力,我們支持同時創建多個RTSP服務,並支持獲取當前RTSP服務會話連接數。
以下是接口詳解(以Android平台為例):
Android內置輕量級RTSP服務SDK接口詳解 |
||
---|---|---|
調用描述 |
接口 |
接口描述 |
常規功能 |
Android RTMP推送端所有功能依然有效,亦可同時推送RTMP |
|
SmartRTSPServerSDK |
||
初始化RTSP Server |
InitRtspServer |
Init rtsp server(和UnInitRtspServer配對使用,即便是啟動多個RTSP服務,也只需調用一次InitRtspServer,請確保在OpenRtspServer之前調用) |
創建一個rtsp server |
OpenRtspServer |
創建一個rtsp server,返回rtsp server句柄 |
設置端口 |
SetRtspServerPort |
設置rtsp server 監聽端口, 在StartRtspServer之前必須要設置端口 |
設置鑒權用戶名、密碼 |
SetRtspServerUserNamePassword |
設置rtsp server 鑒權用戶名和密碼, 這個可以不設置,只有需要鑒權的再設置 |
獲取rtsp server當前會話數 |
GetRtspServerClientSessionNumbers |
獲取rtsp server當前的客戶會話數, 這個接口必須在StartRtspServer之后再調用 |
啟動rtsp server |
StartRtspServer |
啟動rtsp server |
停止rtsp server |
StopRtspServer |
停止rtsp server |
關閉rtsp server |
CloseRtspServer |
關閉rtsp server |
UnInit rtsp server |
UnInitRtspServer |
UnInit rtsp server(和InitRtspServer配對使用,即便是啟動多個RTSP服務,也只需調用一次UnInitRtspServer) |
SmartRTSPServerSDK供Publisher調用的接口 |
||
設置rtsp的流名稱 |
SetRtspStreamName |
設置rtsp的流名稱 |
給要發布的rtsp流設置rtsp server |
AddRtspStreamServer |
給要發布的rtsp流設置rtsp server, 一個流可以發布到多個rtsp server上,rtsp server的創建啟動請參考OpenRtspServer和StartRtspServer接口 |
清除設置的rtsp server |
ClearRtspStreamServer |
清除設置的rtsp server |
啟動rtsp流 |
StartRtspStream |
啟動rtsp流 |
停止rtsp流 |
StopRtspStream |
停止rtsp流 |
2. RTSP推流模塊:RTSP推流模塊,和RTMP推流模塊類似,適用於內網或公網環境下,主要適用於第三方RTSP服務對接,如darwin stream server,或者第三方RTSP服務平台,如視頻分析平台等特定場景的服務器,支持H.264/H.265,支持TCP、UDP傳輸模式設定,也支持鑒權服務,RTSP協議的優勢主要在於UDP這塊,但是UDP數據包,公網容易被block住,而且,網絡不穩定容易丟包,所以,能用RTMP推流的場景,一般建議走RTMP,需要特定系統對接的,再走RTSP。
以下是接口詳解(以Android平台為例):
調用描述 |
接口 |
接口描述 |
---|---|---|
設置推送RTSP傳輸方式 |
SetPushRtspTransportProtocol |
transport_protocol:1表示UDP傳輸rtp包; 2表示TCP傳輸rtp包 |
設置推送RTSP的URL |
SetPushRtspURL |
設置推送RTSP的URL |
開始RTSP推送 |
StartPushRtsp |
啟動推送RTSP流 |
停止RTSP推送 |
StopPushRtsp |
停止推送RTSP流 |