好多開發者一直搞不清輕量級RTSP服務SDK和RTSP推流SDK的區別(Github下載地址),如下是相關區別:html
1. 輕量級RTSP服務模塊:輕量級RTSP服務解決的核心痛點是避免用戶或者開發者單獨部署RTSP或者RTMP服務,實現本地的音視頻數據(如攝像頭、麥克風),編碼後,匯聚到內置RTSP服務,對外提供可供拉流的RTSP URL,輕量級RTSP服務,適用於內網環境下,對併發要求不高的場景,支持H.264/H.265,支持RTSP鑑權、單播、組播模式,考慮到單個服務承載能力,咱們支持同時建立多個RTSP服務,並支持獲取當前RTSP服務會話鏈接數。git
如下是接口詳解(以Android平臺爲例):github
Android內置輕量級RTSP服務SDK接口詳解服務器 |
||
---|---|---|
調用描述網絡 |
接口併發 |
接口描述ide |
常規功能編碼 |
Android RTMP推送端全部功能依然有效,亦可同時推送RTMPspa |
|
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流 |