轻量级RTSP服务模块和RTSP推流模块适用场景区别
Posted daniulivesdk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了轻量级RTSP服务模块和RTSP推流模块适用场景区别相关的知识,希望对你有一定的参考价值。
好多开发者一直搞不清轻量级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流 |
以上是关于轻量级RTSP服务模块和RTSP推流模块适用场景区别的主要内容,如果未能解决你的问题,请参考以下文章