轻量级RTSP服务SDK
为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,大牛直播SDK在推送端发布了轻量级RTSP服务SDK:
简单来说,之前推送端SDK支持的功能,内置轻量级RTSP服务SDK后,功能继续支持。
轻量级RTSP服务解决的核心痛点是避免用户或者开发者单独部署RTSP或者RTMP服务,实现本地的音视频数据(如摄像头、麦克风),编码后,汇聚到内置RTSP服务,对外提供可供拉流的RTSP URL,轻量级RTSP服务,适用于内网环境下,对并发要求不高的场景,支持H.264/H.265,支持RTSP鉴权、单播、组播模式,考虑到单个服务承载能力,我们支持同时创建多个RTSP服务,并支持获取当前RTSP服务会话连接数。
具体参见下图“轻量级RTSP服务器SDK”关联部分:
功能说明:
- [基础功能]支持Windows/Linux(含x86_64|aarch64)/Android/iOS平台RTMP直播SDK除推送RTMP外的所有常规功能;
- [音频格式]AAC;
- [视频格式]H.264、H.265;
- [协议类型]RTSP;
- [传输模式]支持单播和组播模式;
- [端口设置]支持RTSP端口设置;
- [鉴权设置]支持RTSP鉴权用户名、密码设置;
- [获取session连接数]支持获取当前RTSP服务会话连接数;
- [多服务支持]支持同时创建多个内置RTSP服务;
- [RTSP url回调]支持设置后的rtsp url通过event回调到上层。
对应Demo:
- Windows测试程序:SmartPublisherDemo.exe;
- Windows C++工程:WIN-PublisherSDK-CPP-Demo;
- Windows C#工程:WIN-PublisherSDK-CSharp-Demo;
- Linux工程:rtspserverdemo;
- Android工程:SmartPublisherV2;
- iOS工程:SmartiOSPublisherV2。
技术对接文档(Android为例):
以Windows平台为例:
1. 在选择好需要推送出去的音视频数据类型、调整好码率后(以采集Windows桌面为例,设置好采集帧率,看是否用硬编码,码率如果不想自己配置的话,可以点击按钮“获取视频码率默认值”,如需采集麦克风或扬声器,选择即可),点击“配置查看RTSP服务”:
2. 根据需求,可以启动一路或者多路服务,每路服务,并可配置用户名密码信息(可选)。启动服务后,点击“确定”退出设置页面;
3. 配置流名称(可自定义),默认是 stream1;
5. 发布后,播放地址列表里面,会显示当前发布的url,拷贝其中一个或多个,用大牛直播直播播放器SDK,分别播放即可;
6.服务器负载查看:再次点击“配置查看RTSP服务”,即可看到每个服务连接的会话数:
7. 如需停止服务,点击页面的“停止RTSP流”即可;
视频展示:
经测试,整体延迟在200-300毫秒区间,在高稳定低CPU占用的前提下,也可能是行业内功能支持最全面,延迟最低的商用级内置RTSP服务方案。
Android平台启动轻量级RTSP服务和推送RTMP,Windows平台分别拉取RTSP流和RTMP流播放,毫秒级延迟体验:
相关博客:
- Windows平台RTMP直播推送集成简要说明
- Windows平台真实时毫秒级4K H264/H265直播技术方案探讨
- Windows平台RTMP推送|轻量级RTSP服务实现本地摄像头|屏幕|叠加数据预览
- Android对接实现内网无纸化会议|智慧教室|实时同屏功能
- Android平台RTSP轻量级服务|RTMP推送摄像头或屏幕之音频接口设计
- Android平台Camera2数据如何对接RTMP推流到服务器
- Android同屏或摄像头RTMP推送常用的数据接口设计探讨
- 如何在Android实现录屏直播
- 内网无纸化会议/智慧教室实时同屏RTSP组播技术方案思考
- 变废为宝:使用废旧手机实现实时监控方案
- Android平台屏幕/摄像头或外部数据采集及RTMP推送接口设计描述
- Windows平台RTMP多实例推送探讨
- Android平台RTMP推流或轻量级RTSP服务(摄像头或同屏)编码前数据接入类型总结
- Android投屏(屏幕共享)设计需要考虑的关键因素
- 面向内网无纸化会议/智慧教室/实时同屏,组播还是RTMP?
- 如何用轻量级RTSP服务本地生成RTSP测试URL
- 轻量级RTSP服务和内置RTSP网关的区别和联系
- 轻量级RTSP服务存在的意义
- 轻量级RTSP服务模块和RTSP推流模块适用场景区别
- 如何在Android推流端内置轻量级RTSP服务
- 如何在Android端实现轻量级RTSP服务(类似于IPC)
- 如何在Unity下采集音视频实现轻量级RTSP服务(类似于IPC)
- Windows平台如何实现RTSP拉流添加动态水印|视频处理后转推RTMP或轻量级RTSP服务
- Android平台RTSP流如何添加动态水印后转推RTMP或轻量级RTSP服务
- Linux平台x86_64|aarch64架构如何实现轻量级RTSP服务