为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,大牛直播SDK在推送端发布了轻量级RTSP服务SDK:
简单来说,之前推送端SDK支持的功能,内置轻量级RTSP服务SDK后,功能继续支持。
一、支持功能
如不单独说明,系Windows、Android、iOS全平台支持。
- [基础功能]支持Windows/Android/iOS平台RTMP直播SDK除推送RTMP外的所有常规功能;
- [音频格式]AAC;
- [视频格式]H.264、H.265;
- [协议类型]RTSP;
- [传输模式]支持单播和组播模式;
- [端口设置]支持RTSP端口设置;
- [鉴权设置]支持RTSP鉴权用户名、密码设置;
- [获取session连接数]支持获取当前RTSP服务会话连接数;
- [多服务支持]支持同时创建多个内置RTSP服务;
- [H.265支持]Windows内置rtsp server支持发布H.265视频(64位库);
- [RTSP url回调]支持设置后的rtsp url通过event回调到上层。
对应Demo:
- Windows测试程序:SmartPublisherDemo.exe;
- Windows C++工程:WIN-PublisherSDK-CPP-Demo;
- Windows C#工程:WIN-PublisherSDK-CSharp-Demo;
- Android工程:SmartPublisherV2;
- iOS工程:SmartiOSPublisherV2。
数据源:
1. 视频源相关:
[屏幕/摄像头]支持帧率、关键帧间隔、码率、编码profile、编码速度等设置;
[屏幕]支持屏幕裁剪,根据帧率和推送分辨率,自动推荐码流;
[摄像头]支持摄像头选择、分辨率设置、帧率设置。
2. 音频源相关
[音频]采集麦克风;
[音频]采集扬声器。
3. 摄像头和屏幕合成数据
[摄像头和屏幕实时切换]支持推送过程中,摄像头和屏幕互相切换,单画面显示摄像头或屏幕;
[摄像头叠加到屏幕] 支持摄像头按照设置坐标,叠加到屏幕指定位置,并支持实时关闭叠加层;
[屏幕叠加到摄像头] 支持屏幕按照设定坐标,叠加到摄像头指定位置,并支持实时关闭叠加层。
音视频处理:
1. 支持类型
[视频]H.264;
[音频]AAC;
2.水印和透明度遮挡
[实时水印]支持动态水印设置,完美支持文字水印、实时时间水印和图片水印
;
[透明度]可以设置透明度处理(设置遮盖)。
3.音频合成
[音频]支持扬声器和麦克风音频混音输出(同时选择“采集扬声器”和“采集麦克风”)。
4. 音频处理
[音频]支持音频“端点检测(VAD)”,自适应码流,音频码流更节省;
[音频]支持噪音抑制功能;
[音频]支持自动增益控制。
静音、快照、录像等:
[音视频]支持纯音频、纯视频、音视频;
[音频]实时静音/取消静音;
[对接服务器]在内置RTSP服务的同时,完美支持同步推送RTMP流到自建RTMP服务器或CDN;
[录像]录像和内置RTSP服务完全分离,完美支持“边推送边录像”、“先推送、后录像”、“先录像,后推送;
[录像]支持设置录像文件前缀、录像文件大小,录像文件增加日期、时间;
[快照]支持随时快照。
二、如何操作内置RTSP服务
1. 在选择好需要推送出去的音视频数据类型、调整好码率后,点击“配置查看RTSP服务”:
2. 根据需求,可以启动一路或者多路服务,每路服务,并可配置用户名密码信息(可选)。启动服务后,点击“确定”退出设置页面;
3. 配置流名称(可自定义),默认是 stream1;
4. 发布RTSP流:
5. 发布后,播放地址列表里面,会显示当前发布的url,拷贝其中一个或多个,用大牛直播直播播放器SDK,分别播放即可;
6.服务器负载查看:再次点击“配置查看RTSP服务”,即可看到每个服务连接的会话数:
7. 如需停止服务,点击页面的“停止RTSP流”即可;
8. 如需启动RTSP服务的同时,还需要把数据推到其他RTMP服务,输入推送的RTMP url,点击“推送”即可。
整体效果展示,以采集桌面左上角640×480区域为例,同时播放9路,并分别连不同的服务:
视频展示:
经测试,整体延迟在200-300毫秒区间。