轻量级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流

原文地址:https://www.cnblogs.com/daniulivesdk/p/12242584.html

时间: 2024-08-29 15:34:34

轻量级RTSP服务模块和RTSP推流模块适用场景区别的相关文章

Spydroid还是大牛直播内置RTSP服务SDK

废话不多说,先列二者功能: 1. Spydroid: The stream can be directly read by VLC which is great because VLC is a very powerful tool, for example you can really easily record the stream in a file. [FAQ See the FAQ to find out how]. You can enable/disable sound or vi

[自动化] 部署Ansible服务及其常用的命令模块

Ansible简介: Ansible基于Python开发,默认通过SSH协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,可同时支持多台主机进行管理.ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是ansible所运行的模块,能够实现批量运行命令.部署程序.配置系统等功能. Ansible的基本架构主要包括: (1)Ansible core核心引擎.(2)Host inventory 主机清单:用来定义Ansible管理的主机,默认是在Ansible配置文件

Puppet模块(四):HOST模块及host资源

作用:自动配置客户端的hosts文件,解决网络内的计算机之间计算机名称解析问题,适用于没有部署DNS服务器的内网环境. 1.服务端配置puppet模块 (1)模块清单 [[email protected] ~]# tree /etc/puppet/modules/host/ /etc/puppet/modules/host/ ├── files ├── manifests │   └── init.pp └── templates (2)定义host主类 [[email protected] ~

Puppet模块(五):SSH模块及ssh资源

作用:通过SSH模块管理客户端的ssh远程服务,并用key认证方式替代密码认证方式,提高安全性: 本例分两阶段,首先是ssh的安装.配置及服务管理,然后是使用如何转换成key认证方式. #第一阶段 1.服务端配置ssh模块 (1)模块清单 [[email protected] ~]# tree /etc/puppet/modules/ssh/ /etc/puppet/modules/yum/ ├── files │   └── sshd_config ├── manifests │   ├── 

Puppet模块(六):zabbix模块及server资源

作用:Zabbix是一款强大的自动化监控软件,通过puppet自动部署zabbix客户端.  1.服务端配置zabbix模块 (1)模块清单 [[email protected] ~]# tree /etc/puppet/modules/zabbix/ /etc/puppet/modules/zabbix/ ├── files │   ├── discovertcpport.sh │   └── zabbix-2.2.5.tar.gz ├── manifests │   ├── config.p

Puppet模块(二):YUM模块及Yumrepo资源和Mount资源

作用:自动为客户端配置YUM源,为使用yum安装软件包提供便捷. 1.服务端配置yum模块 (1)模块清单 [[email protected] ~]# tree /etc/puppet/modules/yum/ /etc/puppet/modules/yum/ ├── files │   ├── yum.conf │   └── RPM-GPG-KEY-CentOS-6 ├── manifests │   ├── config.pp │   ├── init.pp │   ├── instal

Puppet模块(三):puppet模块及file资源

作用:通过puppet模块自动控制客户端的puppet配置,当需要修改客户端的puppet配置时不用在客户端一一设置. 1.服务端配置puppet模块 (1)模块清单 [[email protected] ~]# tree /etc/puppet/modules/puppet/ /etc/puppet/modules/puppet/ ├── files ├── manifests │   ├── config.pp │   ├── init.pp │   ├── install.pp │   ├

第三百二十三节,web爬虫,scrapy模块以及相关依赖模块安装

第三百二十三节,web爬虫,scrapy模块以及相关依赖模块安装 当前环境python3.5 ,windows10系统 Linux系统安装 在线安装,会自动安装scrapy模块以及相关依赖模块 pip install Scrapy 手动源码安装,比较麻烦要自己手动安装scrapy模块以及依赖模块 安装以下模块 1.lxml-3.8.0.tar.gz (XML处理库) 2.Twisted-17.5.0.tar.bz2 (用Python编写的异步网络框架) 3.Scrapy-1.4.0.tar.gz

ldd3-2 构造和运行模块:Hello World模块笔记

实验环境: 按照之前的搭建方法,已经在Ubuntu 5.04版本上构建了linux原始的2.6.10版本内核树: GCC是用的安装镜像自带的版本: 一切准备就绪后对虚拟机做了快照,防止内核损坏: 因为Ubuntu 5.04虚拟机下编程很麻烦,所以编码和调试都不在虚拟机下运行了: 编辑在windows下运行,然后把代码文件通过Xftp传输到虚拟机里: 调试的话通过Xshell: 笔记基本是按照书上小结的标题来的,每个标题能做实验的就做实验,理论性的就小结一下,不易过多记忆,因为没代码实践,理论也理