整体架构
大牛直播SDK跨平台RTMP直播推送模块,始于2015年,支持Windows、Linux(x64_64架构|aarch64)、Android、iOS平台,支持采集推送摄像头、屏幕、麦克风、扬声器、编码前、编码后数据对接,功能强大,性能优异,配合大牛直播SDK的SmartPlayer播放器,轻松实现毫秒级的延迟体验,满足大多数行业的使用场景。
平台覆盖和架构支持
支持平台 | 支持架构 |
Windows平台 | x86 debug/release, x64 debug/release |
Linux(含麒麟操作系统) | x86_64、aarch64 |
Android平台 | armeabi-v7a, arm64-v8a, x86, x86_64 |
iOS平台 | arm64 |
技术特点和优势
- 全自研框架,易于扩展,自适应算法让延迟更低、采集编码传输效率更高;
- 所有功能以SDK接口形式提供,所有状态,均有event回调,完美支持断网自动重连;
- SDK模块化,可和大牛直播播放器SDK组合实现流媒体数据转发、内置轻量级RTSP服务、连麦、一对一互动等场景;
- Windows推送端SDK以层级模式提供,开发者可以自行组合数据源(如多摄像头/屏幕/水印叠加);
- 支持外部YUV/RGB/H.264/AAC/SPEEX/PCMA/PCMU数据源接入;
- 所有参数均可通过SDK接口单独设置,亦可通过默认参数,傻瓜式设置;
- 推送、录像、内置轻量级RTSP服务模块完全分离,可单独使用亦可组合使用;
- 业内甚至很难找到效果接近的SDK。
功能支持
Windows平台RTMP直播推送SDK
- 音频编码:AAC/SPEEX;
- 视频编码:H.264、H.265;
- 推流协议:RTMP;
- [音视频]支持纯音频/纯视频/音视频推送;
- [屏幕/摄像头]支持帧率、关键帧间隔(GOP)、码率(bit-rate)设置;
- [屏幕]支持屏幕裁剪,根据帧率和推送分辨率,自动推荐码流;
- [摄像头]支持摄像头选择、分辨率设置、帧率设置;
- [摄像头]摄像头支持水平反转、垂直反转、0° 90° 180° 270°旋转;
- [屏幕]支持DXGI采集设置、启/停用Aero;
- [音频]采集麦克风;
- [音频]采集扬声器;
- [预览]支持推送端实时预览;
- 支持实时静音、取消静音;
- [对接服务器]支持自建标准RTMP服务器或CDN;
- 支持断网自动重连、网络状态回调;
- 屏幕和摄像头合成/多层合成;
- 支持窗口采集(一般不建议使用);
- 支持实时动态水印;
- 支持实时快照;
- 支持降噪处理、自动增益控制、VAD端点检测;
- 支持扬声器和麦克风混音;
- 支持外部编码前音视频数据对接;
- 支持外部编码后音视频数据对接;
- 支持RTMP扩展H.265(需设备支持H.265特定机型硬编码)和Enhanced RTMP;
- 支持特定机型硬编码;
- 支持实时音量调节;
- 支持扩展录像模块;
- 支持Unity接口;
- 支持H.264扩展SEI发送模块;
- 支持Windows7及以上版本。
Linux平台x64_64架构|aarch64架构RTMP直播推送SDK
- 音频编码:AAC/SPEEX;
- 视频编码:H.264;
- 推流协议:RTMP;
- [音视频]支持纯音频/纯视频/音视频推送;
- 支持X11屏幕采集;
- 支持部分V4L2摄像头设备采集;
- [屏幕/V4L2摄像头]支持帧率、关键帧间隔(GOP)、码率(bit-rate)设置;
- [V4L2摄像头]支持V4L2摄像头设备选择(设备文件名范围:[/dev/video0, /dev/video63])、分辨率设置、帧率设置;
- [V4L2摄像头]支持水平反转、垂直反转、0° 90° 180° 270°旋转;
- [音频]支持基于alsa-lib接口的音频采集;
- [音频]支持基于libpulse接口采集本机PulseAudio服务音频;
- [预览]支持推送端实时预览;
- [对接服务器]支持自建标准RTMP服务器或CDN;
- 支持断网自动重连、网络状态回调;
- 屏幕和摄像头合成/多层合成;
- 支持窗口采集(一般不建议使用);
- 支持实时快照;
- 支持降噪处理、自动增益控制、VAD端点检测;
- 支持扬声器和麦克风混音;
- 支持外部编码前音视频数据对接;
- 支持外部编码后音视频数据对接;
- 支持实时音量调节;
- 支持扩展录像模块;
- 支持Unity接口;
- 支持H.264扩展SEI发送模块;
- 支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9);
Android平台RTMP直播推送SDK
- 音频编码:AAC/SPEEX;
- 视频编码:H.264、H.265;
- 推流协议:RTMP;
- [音视频]支持纯音频/纯视频/音视频推送;
- [摄像头]支持采集过程中,前后摄像头实时切换;
- 支持帧率、关键帧间隔(GOP)、码率(bit-rate)设置;
- 支持RTMP推送 live|record模式设置;
- 支持前置摄像头镜像设置;
- 支持软编码、特定机型硬编码;
- 支持横屏、竖屏推送;
- 支持Android屏幕采集推送;
- 支持自建标准RTMP服务器或CDN;
- 支持断网自动重连、网络状态回调;
- 支持实时动态水印;
- 支持实时快照;
- 支持降噪处理、自动增益控制;
- 支持外部编码前音视频数据对接;
- 支持外部编码后音视频数据对接;
- 支持RTMP扩展H.265(需设备支持H.265特定机型硬编码)和Enhanced RTMP;
- 支持实时音量调节;
- 支持扩展录像模块;
- 支持Unity接口;
- 支持H.264扩展SEI发送模块;
- 支持Android 5.1及以上版本。
iOS平台RTMP直播推送SDK
- 音频编码:AAC;
- 视频编码:H.264、H.265;
- 推流协议:RTMP;
- [音视频]支持纯音频/纯视频/音视频推送;
- [摄像头]支持采集过程中,前后摄像头实时切换;
- 支持帧率、关键帧间隔(GOP)、码率(bit-rate)设置;
- [RTMP协议]支持RTMP推送 live|record模式设置;
- 支持前置摄像头镜像设置;
- 支持软编码、特定机型硬编码;
- 支持实时静音、取消静音;
- 支持横屏、竖屏推送;
- [对接服务器]支持自建标准RTMP服务器或CDN;
- 支持断网自动重连、网络状态回调;
- 实时快照;
- 外部编码前音视频数据对接;
- 外部编码后音视频数据对接;
- 特定设备H.265硬编码;
- RTMP扩展H.265(需设备支持H.265特定机型硬编码);
- 扩展录像模块;
- H.264扩展SEI发送模块;
- 支持iOS 9.0及以上版本。
对应Demo
- Windows测试程序:SmartPublisherDemo.exe;
- Windows C++工程:WIN-PublisherSDK-CPP-Demo;
- Windows C#工程:WIN-PublisherSDK-CSharp-Demo;
- Linux工程:publisherdemo;
- Android工程:SmartPublisherV2;
- iOS工程:SmartiOSPublisherV2。
csdn相关博客
- 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扩展数据发送和接收解析
- 如何推送和播放RTMP H265流 (RTMP HEVC)
- 干货:如何实现RTSP推送H.264、RTSP推送H.265(hevc)
- 麒麟操作系统|Linux下低延时RTMP|RTSP直播播放实现
- Android平台音视频RTMP推送|GB28181对接之动态水印设计
- Android平台RTMP推送|轻量级RTSP服务能力封装代码实现
- 如何在RTMP推送端和RTMP播放端支持Enhanced RTMP H.265(HEVC)