RTSP直播推流SDK
技术特点和优势:
- 全自研框架,易于扩展,自适应算法让延迟更低、采集编码传输效率更高;
- 所有功能以SDK接口形式提供,所有状态,均有event回调,完美支持断网自动重连;
- SDK模块化,可和大牛直播播放器SDK组合实现流媒体数据转发、内置轻量级RTSP服务、连麦、一对一互动等场景;
- Windows推送端SDK以层级模式提供,开发者可以自行组合数据源(如多摄像头/屏幕/水印叠加);
- 支持外部YUV/RGB/H.264/AAC/SPEEX/PCMA/PCMU数据源接入;
- 所有参数均可通过SDK接口单独设置,亦可通过默认参数,傻瓜式设置;
- RTMP推送、RTSP推送、录像、内置轻量级RTSP服务模块完全分离,可单独使用亦可组合使用;
- 业内甚至很难找到效果接近的SDK。
具体参见下图“RTSP推流SDK”关联部分:
功能支持:
如不单独说明,系Windows、Android、iOS全平台支持。
- [视频采集处理]Windows平台涵盖“Windows视频采集处理SDK”功能;
- [音频采集处理]Windows平台涵盖“Windows音频采集处理SDK”功能;
- [本地预览]Windows平台支持摄像头/屏幕/合成数据实时预览功能,Android/iOS平台支持本地前后置摄像头预览;
- [摄像头反转/旋转]Windows平台支持摄像头水平反转、垂直反转、0°/90°/180°/270°旋转;
- [摄像头采集]除常规YUV格式外,Windows平台还支持MJPEG格式的摄像头采集;
- [RTSP推流]超低延时的RTSP协议直播推流SDK;
- [视频格式]Windows/Android平台支持H.264/H.265编码(Android H.265硬编码),iOS平台支持H.264编码;
- [音频格式]Windows/Android/iOS平台支持AAC编码;
- [音量调节]Windows/Android平台采集端支持实时音量调节(其中,Windows平台混音模式下支持单独控制麦克风、扬声器音量);
- [H.264硬编码]Android/iOS平台支持H.264硬编码;
- [H.265硬编码]Android/iOS平台支持H.265硬编码;
- [硬编码自适应]Android/iOS平台支持硬编码自适应,如检测到硬编码不支持,自动切换到软编(iOS如H.265硬编,先切换到H.264硬编码,如不支持再尝试H.264软编);
- [RTSP鉴权]支持RTSP鉴权推送;
- [TCP/UDP模式]支持rtp over udp和rtp over tcp两种传输方式;
- [401事件处理]RTSP推送支持401事件上报;
- [视频格式]支持H.264/H.265(64位库)编码;
- [音频格式]支持AAC编码;
- [软硬编码参数配置]支持gop间隔、帧率、bit-rate设置;
- [软编码参数配置]支持软编码profile、软编码速度、可变码率设置;
- [多实例推送]支持多实例推送(如同时推送屏幕/摄像头和外部数据);
- [多分辨率支持]支持摄像头或屏幕多种分辨率设置;
- [Windows推屏]Windows平台支持屏幕裁剪、窗口采集、屏幕/摄像头数据合成等多种模式推送;
- [事件回调]支持各种状态实时回调;
- [水印]Windows平台支持文字水印、png水印、实时遮挡,Android平台支持文字水印、png水印;
- [复杂网络处理]支持断网重连等各种网络环境自动适配;
- [动态码率]支持根据网络情况自动调整推流码率;
- [实时静音]支持推送过程中,实时静音/取消静音;
- [实时快照]支持推流过程中,实时快照;
- [纯音频推流]支持仅采集音频流并发起推流功能;
- [纯视频推流]支持特殊场景下的纯视频推流功能;
- [降噪]Windows/Android平台支持降噪处理、自动增益、VAD检测;
- [回音消除]Android平台支持实时传递远端PCM数据,方便回音消除处理;
- [外部编码前视频数据对接]支持YUV数据对接;
- [外部编码前音频数据对接]支持PCM对接;
- [外部编码后视频数据对接]支持外部H.264数据对接;
- [外部编码后音频数据对接]外部AAC/PCMA/PCMU数据对接;
- [推送端休眠设置]Windows平台支持休眠接口(设置成休眠模式后CPU会适当降低);
- [扩展录像功能]完美支持和录像SDK组合使用,录像相关功能,可参见”Windows/Android/iOS录像SDK“;
- [服务器兼容]支持自建服务器(如Darwin Stream Server)。
对应Demo:
- Windows测试程序:SmartPublisherDemo.exe;
- Windows C++工程:WIN-PublisherSDK-CPP-Demo;
- Android工程:SmartPublisherV2;
- iOS工程:SmartiOSPublisherV2。
相关博客:
- Windows平台RTMP直播推送集成简要说明
- 跨平台屏幕/摄像头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投屏(屏幕共享)设计需要考虑的关键因素
- Android平台如何实现屏幕数据采集并推送至RTMP服务器
- Windows平台下如何实现Unity3D下的RTMP推送
- 面向内网无纸化会议/智慧教室/实时同屏,组播还是RTMP?
- Android平台RTMP多实例推送的几种情况探讨
- 如何在RTSP/RTMP直播过程中加入SEI扩展数据发送和接收解析