本文转载自https://github.com/daniulive/SmarterStreaming
视沃科技-大牛直播SDK daniusdk.com
业内为数不多致力于极致体验的超强全自研跨平台(windows/android/iOS)流媒体内核,通过模块化自由组合,支持实时RTMP推流、RTSP推流、RTMP/RTSP直播播放(支持RTSP/RTMP H.265)、实时录像、多路流媒体转发(RTSP转RTMP,RTMP转RTMP)、音视频导播、动态视频合成、音频混音、一对一互动直播、内置轻量级RTSP服务、RTSP网关服务等,比快更快,业界真正靠谱的超低延迟直播SDK(1秒内,低延迟模式下200~400ms)。
适用于在线教育、智慧教室|无纸化推屏|会议、运营商视频云平台、远程医疗、金融双录、智能可视门禁对讲、智慧安防、智能家居、物联网、智能车载、传统硬件领域、媒体移动直播、应急指挥调度(针对保险、城管、交警、消防、公安等职能管理部门的单兵应急执法系统)、远程专家诊断、可视化巡检、(如电信/电力线路/铁路沿线/水利设施/油田/消防设施巡检)、移动视频安防监控,企业内训、监控对接、活动现场直播等场景。
For English introduction, please click here;
视沃科技关于“大牛直播SDK”产品通告
视沃科技(大牛直播SDK)官方测试版获取流程
latest release note
平台扩展
除了Windows/Android/iOS Native SDK,大牛直播SDK播放端还支持Unity3d(Windows/Android/iOS)二次封装,也可能是Unity3D平台下首款真正功能强大的高稳定、超低延迟的RTMP/RTSP直播播放器。
Unity3D RTSP/RTMP播放SDK相关(支持Windows/Android/iOS)
windows/android/iOS播放器SDK(V2)Unity3D调用说明(更新于2020/03/25)
Unity3d RTSP/RTMP直播播放端SDK视频演示
Unity3D-Windows RTSP/RTMP播放端exe下载(更新于2020/04/29)
Unity3D-Android RTSP/RTMP播放端APK下载(更新于2020/05/27)
模块概览
RTSP/RTMP推拉流SDK概览图
多路RTSP/RTMP转RTMP推送SDK概览图
支持平台架构
支持平台 | 支持架构 |
---|---|
Windows平台 | x86 debug/release, x64 debug/release |
Android平台 | armeabi-v7a, arm64-v8a, x86, x86_64 |
iOS平台 | armv7, arm64, i386, x86_64 |
Windows端
- RTMP直播推流SDK RTMP推送SDK(支持同时推多路url,支持RTMP扩展H.265推送(64位库)));
- RTSP直播推流SDK 支持RTSP H.264/H.265推送,音频支持AAC格式,支持TCP/UDP模式推送,支持RTSP鉴权,支持重连和异常网络处理,超低延迟;
- RTMP直播播放器SDK 业内首屈一指的RTMP超低延迟直播播放器SDK(支持RTMP H.265扩展播放);
- RTSP直播播放器SDK 支持RTSP H.265播放及扩展录像、业内为数不多真正好用的RTSP播放器SDK,支持IE浏览器OCX控件接口调用;
- Unity3D RTMP/RTSP直播播放器SDK 业内首家Windows支持Unity3D的超低延迟RTMP/RTSP直播播放器SDK,支持快照、录像、实时静音、view旋转、快速切换URL等特性;
- RTMP/RTSP多路流媒体转RTMP推送SDK 支持同时多路拉取rtmp/rtsp流/本地flv文件,并分别转发到服务器,支持转发过程中,拉取的rtsp/rtmp或本地flv文件实时内容切换,业内为数不多支持RTSP/RTMP H.265拉流转发的SDK(提供配套RTMP扩展H.265服务器);点击查看多路RTSP/RTMP流转RTMP流官方定制版
- 轻量级RTSP服务SDK 为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,大牛直播SDK在推送端支持轻量级RTSP服务SDK,推送端SDK支持的功能,内置轻量级RTSP服务SDK后,功能继续支持,windows端64位库支持RTSP H.265视频输出,支持单播和组播模式;
- 内网RTSP网关SDK 内网RTSP网关SDK,系内置轻量级RTSP服务SDK扩展,完成外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务SDK工作,多个内网客户端直接访问内网轻量级RTSP服务获取公网数据,无需部署单独的服务器,支持RTSP/RTMP H.265数据接入,支持单播和组播模式;
- 导播SDK 数据源:1. rtmp/rtsp音视频流;2. 本地屏幕/摄像头/音频数据;3.本地flv文件;多路流合成一路实时导播推送;
- 录像SDK 支持拉取rtmp/rtsp流实时录像模块/实时快照功能,支持纯音频、纯视频、音视频录制模式,支持音频(PCMU/PCMA,Speex等)转AAC后再录像,业内为数不多的支持RTSP/RTMP H.265录制到MP4文件的录像SDK;
- RTMP/RTSP一对一互动SDK 基于标准协议(RTMP或RTSP)的跨平台(Windows/Andriod/iOS)一对一互动SDK,支持回音消除,完美支持一对一互动场景;
- 连麦SDK 以标准协议为基础,完美支持Windows连麦;
- SEI扩展数据发送/接收SDK 支持推送端通过H.264 SEI信息扩展,实时传输文本/二进制数据信息(如实时字幕/时间戳/题目分发/公告广播等),播放端做相应解析和回显;
- 视频处理SDK 屏幕/多摄像头/水印/遮挡区域多层自由合成模块;
- 音频处理SDK 多路混音、回音消除、噪音抑制、自动增益、VAD检测模块;
Android端
- RTMP直播推流端SDK Android屏幕、摄像头RTMP推流SDK,支持RTMP扩展H.265推送(H.265硬编码);
- RTSP直播推流SDK 支持RTSP H.264/H.265推送,音频支持AAC格式,支持TCP/UDP模式推送,支持RTSP鉴权,支持重连和异常网络处理,超低延迟;
- RTMP直播播放器SDK 业内首屈一指的RTMP超低延迟直播播放器SDK(支持RTMP H.265扩展播放);
- RTSP直播播放器SDK 支持RTSP H.265播放及扩展录像、业内为数不多真正好用的RTSP播放器SDK;
- Unity3D RTMP/RTSP直播播放器SDK 业内首家Android支持Unity3D的超低延迟RTMP/RTSP直播播放器SDK,支持快照、录像、实时静音、view旋转、快速切换URL等特性;
- 录像SDK 支持拉取rtmp/rtsp流实时录像模块/实时快照功能,支持纯音频、纯视频、音视频录制模式,支持音频(PCMU/PCMA,Speex等)转AAC后再录像,业内为数不多的支持RTSP/RTMP H.265录制到MP4文件的录像SDK;
- RTMP/RTSP多路流媒体转RTMP推送SDK 支持实时拉取的rtmp/rtsp流转发到指定rtmp url;
- 轻量级RTSP服务SDK 为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,大牛直播SDK在推送端支持轻量级RTSP服务SDK,推送端SDK支持的功能,内置轻量级RTSP服务SDK后,功能继续支持(支持H.265);
- RTMP/RTSP一对一互动SDK 基于标准协议(RTMP或RTSP)的跨平台(Windows/Andriod/iOS)一对一互动SDK,支持回音消除,完美支持一对一互动场景;
- SEI扩展数据发送/接收SDK 支持推送端通过H.264 SEI信息扩展,实时传输文本/二进制数据信息(如实时字幕/时间戳/题目分发/公告广播等),播放端做相应解析和回显;
- 视频处理SDKAndroid文字水印、png图片水印;
- 音频处理SDKAndroid回音消除、噪音抑制、自动增益、VAD检测模块;
iOS端
- RTMP直播推流端SDK iOS屏幕(基于ReplayKit)、摄像头RTMP推流SDK;
- RTSP直播推流SDK 支持RTSP H.264/H.265推送,音频支持AAC格式,支持TCP/UDP模式推送,支持RTSP鉴权,支持重连和异常网络处理,超低延迟;
- RTMP直播播放器SDK 业内首屈一指的RTMP超低延迟直播播放器SDK(支持RTMP H.265扩展播放);
- RTSP直播播放器SDK 支持RTSP H.265播放及扩展录像、业内为数不多真正好用的RTSP播放器SDK;
- Unity3D RTMP/RTSP直播播放器SDK 业内首家iOS支持Unity3D的超低延迟RTMP/RTSP直播播放器SDK,支持快照、录像、实时静音、view旋转、快速切换URL等特性;
- 录像SDK 支持拉取rtmp/rtsp流实时录像模块/实时快照功能,支持纯音频、纯视频、音视频录制模式,支持音频(PCMU/PCMA,Speex等)转AAC后再录像,业内为数不多的支持RTSP/RTMP H.265录制到MP4文件的录像SDK;
- RTMP/RTSP多路流媒体转RTMP推送SDK 支持实时拉取的rtmp/rtsp流转发到指定rtmp url;
- 轻量级RTSP服务SDK 为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,大牛直播SDK在推送端支持轻量级RTSP服务SDK,推送端SDK支持的功能,内置轻量级RTSP服务SDK后,功能继续支持;
- 内网RTSP网关SDK 内网RTSP网关SDK,系内置轻量级RTSP服务SDK扩展,完成外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务SDK工作,多个内网客户端直接访问内网轻量级RTSP服务获取公网数据,无需部署单独的服务器,支持RTSP/RTMP H.265数据接入;
- RTMP/RTSP一对一互动SDK 基于标准协议(RTMP或RTSP)的跨平台(Windows/Andriod/iOS)一对一互动SDK,支持回音消除,完美支持一对一互动场景;
- SEI扩展数据发送/接收SDK 支持推送端通过H.264 SEI信息扩展,实时传输文本/二进制数据信息(如实时字幕/时间戳/题目分发/公告广播等),播放端做相应解析和回显;
本地下载
很多开发者反应,由于项目庞大,github下载整个工程很慢,我们已经把相关demo文件和使用说明,全部上传到QQ群共享(加群请简要描述使用场景/需求):
或者直接从私有服务器下载(Windows提供C#/C demo, android提供android studio demo,iOS提供xcode demo):
大牛直播SDK相关demo本地下载
1. Windows平台测试EXE:
- [SmartPublisherDemo.exe] RTMP|RTSP推送、轻量级RTSP服务、扩展SEI发送、采集录像演示程序;
- [SmartPlayer.exe] RTMP|RTSP播放SDK、扩展SEI接收、拉流录像演示程序;
- [SmartStreamRelayDemo.exe] 多路RTSP|RTMP转RTMP推送演示程序;
- [SmartMixStreamDemo.exe] RTMP|RTSP拉流然后和本地摄像头或屏幕合流演示程序;
- [SmartEchoCancellation.exe] 基于标准RTMP服务的一对一互动演示程序(demo源码以C#为例);
- [Windows平台RTMP|RTSP推送、播放程序(32位)] Windows平台RTMP|RTSP推送、RTMP|RTSP播放、轻量级RTSP服务、扩展SEI发送|接收SDK、合成、导播、连麦Demo(32位)本地下载(更新于2020/04/29)
- [Windows平台RTMP|RTSP推送、播放程序(64位)] Windows平台RTMP|RTSP推送、RTMP|RTSP播放、轻量级RTSP服务、扩展SEI发送|接收SDK、合成、导播、连麦Demo(64位)本地下载(更新于2020/04/29)
- [Windows平台RTMP|RTSP 4路播放演示程序(32位)] Windows 4路RTSP/RTMP播放Demo(32位)本地下载(更新于2020/04/29)
- [Windows平台RTMP|RTSP 4路播放演示程序(64位)] Windows 4路RTSP/RTMP播放Demo(64位)本地下载(更新于2020/04/29)
- [Windows平台IE浏览器OCX控件RTMP|RTSP播放测试程序] Windows平台RTMP|RTSP播放SDK OCX控件(更新于2020/05/26) 右键另存为下载OCX控件使用说明和SDK集成文档
- [Windows平台多路RTSP|RTMP转RTMP推送官方定制版] Windows多路RTSP-RTMP转RTMP官方定制版 (更新于2020-04-29) 右键另存为下载使用说明
2. Windows平台集成对接DEMO:
- [Windows平台C SDK demo工程代码] Windows平台RTMP|RTSP推送SDK、内置RTSP服务SDK、录像SDK(C ) Demo工程本地下载(更新于2020/04/29)
- [Windows平台C SDK demo工程代码] Windows平台RTMP|RTSP播放SDK(C ) Demo工程本地下载(更新于2020/04/29)
- [Windows平台C SDK demo工程代码] Windows平台多路RTSP|RTMP转RTMP推送模块SDK(C ) Demo工程本地下载(更新于2020/04/29)
- [Windows平台C SDK demo工程代码] Windows平台混流SDK(C ) Demo工程本地下载(更新于2020/04/29)
- [Windows平台C# SDK demo工程代码] Windows平台RTMP|RTSP推送SDK、内置RTSP服务SDK、录像SDK(C#) Demo工程本地下载(更新于2020/04/29)
- [Windows平台C# SDK demo工程代码] Windows平台RTMP|RTSP播放SDK(C#) Demo工程本地下载(更新于2020/04/29)
- [Windows平台C# SDK demo工程代码] Windows平台多路RTSP|RTMP转RTMP推送模块SDK(C#) Demo工程本地下载(更新于2020/04/29)
- [Windows平台一对一互动SDK demo工程代码(以C#为例)] 基于标准RTMP服务的一对一互动demo,可扩展RTSP一对一互动(更新于2020/04/29);
3.Android平台集成对接DEMO:
3.1 相关集成DEMO下载:
- [Android SDK demo工程代码] Android平台RTMP|RTSP推送、RTMP|RTSP播放、RTMP|RTSP转RTMP推送、轻量级RTSP服务、一对一互动、后台推摄像头/屏幕Demo(V2接口,建议采用)(Android Studio工程)(更新于2020/07/06)
3.2 对应Android Studio DEMO工程说明:
- SmartPlayerV2: RTMP|RTSP直播播放SDK demo,涵盖实时录像、快照、扩展SEI数据接收等功能;
- SmartPublisherV2: RTMP直播推送SDK、RTSP直播推送SDK、轻量级RTSP服务SDK、扩展SEI发送SDK、实时录像SDK多合一demo;
- SmartEchoCancellationV2: 基于RTMP的一对一互动demo(可扩展RTSP一对一互动);
- SmartServiceCameraPublisherV2: 后台摄像头RTMP直播推送SDK;
- SmartServicePublisherV2: 智慧教室|无纸化会议等屏幕采集(推屏) 、RTMP直播推送demo;
- SmartRelayDemoV2: RTMP|RTSP直播播放SDK、RTMP|RTSP转RTMP推送SDK、RTMP|RTSP实时录像、轻量级RTSP服务四合一demo。
4.iOS平台集成对接DEMO:
4.1 相关测试、集成DEMO下载(更新于2020/07/07):
- SmartiOSPlayerV2: RTMP|RTSP直播播放SDK demo,涵盖实时录像、快照、扩展SEI数据接收等功能,本地下载;
- SmartiOSPublisherV2: RTMP直播推送SDK、RTSP直播推送SDK、轻量级RTSP服务SDK、扩展SEI发送SDK、实时录像SDK多合一demo,本地下载;
- SmartiOSEchoCancellation: 基于RTMP的一对一互动demo(可扩展RTSP一对一互动),本地下载;
- SmartiOSScreenPublisherV2: 基于ReplayKit采集的智慧教室|无纸化会议等屏幕采集(推屏) 、RTMP直播推送demo,本地下载;
- SmartiOSRelayDemoV2: RTMP|RTSP直播播放SDK、RTMP|RTSP转RTMP推送SDK、RTMP|RTSP实时录像、轻量级RTSP服务四合一demo,本地下载。
NOTE: Windows平台,以C SDK Demo为最新,C# Demo更新速度稍滞于C Demo。
大牛直播SDK集成和调用说明
右键“链接另存为(K)…”下载文档即可。
- Android、iOS平台RTMP/RTSP直播推送、RTMP/RTSP播放、内置RTSP服务、转发SDK(V2)调用说明(更新于2020/02/12)
- Windows平台RTMP/RTSP直播推送、RTMP/RTSP播放、内置RTSP服务、转发SDK调用说明(以C#为例)(更新于2020/04/02)
- Windows平台多路RTMP/RTSP流媒体转RTMP推送SDK调用说明(以C 为例)(更新于2020/02/11)
- Windows平台多路RTMP/RTSP流媒体转RTMP官方定制版使用说明(更新于2019/11/07)
大牛直播SDK Demo使用说明
- 大牛直播Windows RTMP推流端使用说明
- 大牛直播SDK-Windows RTMP/RTSP/本地FLV播放器使用说明
- 大牛直播跨平台多路RTSP/RTMP转RTMP推送SDK
- 大牛直播Android推流端使用说明
- 大牛直播Android后台推送摄像头、屏幕数据使用说明
- 大牛直播Android播放器使用说明
- 大牛直播iOS推流端使用说明
- 大牛直播 iOS端边推流边录像使用说明
- 大牛直播iOS推流端使用说明
- 大牛直播iOS播放器使用说明
- 大牛直播连麦使用说明(windows windows或windows与android/iOS)
上层源码目录
- android推流 SmartPublisherV2 https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/AndroidStudio/SmartPublisherV2
- android推流 SmartServicePublisherV2(后台service推送屏幕) https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/AndroidStudio/SmartServicePublisherV2
- android推流 SmartServiceCameraPublisherV2(后台service推送摄像头) https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/AndroidStudio/SmartServiceCameraPublisherV2
- android一对一互动demo SmartEchoCancellationV2 https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/AndroidStudio/SmartEchoCancellationV2
- android播放器 SmartPlayerV2: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/AndroidStudio/SmartPlayerV2
- android转发-录像-播放三合一 SmartRelayDemoV2: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/AndroidStudio/SmartRelayDemoV2
- iOS推流 SmartiOSPublisherV2: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSPublisherV2
- iOS后台推屏 SmartiOSScreenPublisherV2: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSScreenPublisherV2
- iOS播放器 SmartiOSPlayerV2: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSPlayerV2
- iOS转发-录像-播放三合一 SmartiOSRelayDemoV2: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSRelayDemoV2
- iOS RTSP/RTMP一对一互动Demo SmartiOSEchoCancellation: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSEchoCancellation
功能支持
1. Windows视频采集处理SDK
- 支持视频源
- 支持Windows屏幕采集、屏幕裁剪、屏幕缩放、特定窗口采集、摄像头采集、扩展外部H.264数据对接;
- 摄像头和屏幕合成
- [摄像头和屏幕实时切换]支持推送过程中,摄像头和屏幕互相切换,单画面显示摄像头或屏幕;
- [摄像头叠加到屏幕] 支持摄像头按照设置坐标,叠加到屏幕指定位置,并支持实时关闭叠加层;
- [屏幕叠加到摄像头] 支持屏幕按照设定坐标,叠加到摄像头指定位置,并支持实时关闭叠加层;
- 水印和透明度遮挡
- [实时水印]支持动态水印设置,完美支持
文字水印、实时时间水印和图片水印
; - [透明度]可以设置透明度处理(设置遮盖);
- 对应Demo:
- 测试程序:SmartPublisherDemo.exe;
- C 工程:WIN-PublisherSDK-CPP-Demo;
- C#工程:WIN-PublisherSDK-CSharp-Demo。
2. Windows音频采集处理SDK
- 支持音频源
- 支持Windows采集麦克风、扬声器和外部AAC, Speex WB, PCMA, PCMU数据接口输入;
- 音频合成
- [音频]支持扬声器和麦克风音频混音输出(同时选择“采集扬声器”和“采集麦克风”);
- 音频处理
- 支持音频“端点检测(VAD)”,自适应码流,音频码流更节省;
- 支持回音消除功能;
- 支持噪音抑制功能;
- 支持自动增益控制。
- 对应Demo:
- 测试程序:SmartPublisherDemo.exe;
- C 工程:WIN-PublisherSDK-CPP-Demo;
- C#工程:WIN-PublisherSDK-CSharp-Demo。
3. Windows/Android/iOS RTMP直播推流SDK
如不单独说明,系Windows、Android、iOS全平台支持。
- [视频采集处理]Windows平台涵盖“Windows视频采集处理SDK”功能;
- [音频采集处理]Windows平台涵盖“Windows音频采集处理SDK”功能;
- [本地预览]Windows平台支持摄像头/屏幕/合成数据实时预览功能,Android/iOS平台支持本地前后置摄像头预览;
- [摄像头反转/旋转]Windows平台支持摄像头水平反转、垂直反转、0°/90°/180°/270°旋转;
- [摄像头采集]除常规YUV格式外,Windows平台还支持MJPEG格式的摄像头采集;
- [RTMP推流]超低延时的RTMP协议直播推流SDK(Windows/Android/iOS支持RTMP扩展H.265推送);
- [视频格式]Windows/Android平台支持H.264/H.265编码(Android H.265硬编码),iOS平台支持H.264编码;
- [音频格式]Windows/Android/iOS平台支持AAC编码,Windows/Android平台支持Speex编码;
- [音频编码]Windows/Android平台支持Speex推送、Speex编码质量设置;
- [音量调节]Windows/Android平台采集端支持实时音量调节(其中,Windows平台混音模式下支持单独控制麦克风、扬声器音量);
- [H.264硬编码]Android/iOS平台支持H.264硬编码;
- [H.265硬编码]Android/iOS平台支持H.265硬编码;
- [硬编码自适应]Android/iOS平台支持硬编码自适应,如检测到硬编码不支持,自动切换到软编(iOS如H.265硬编,先切换到H.264硬编码,如不支持再尝试H.264软编);
- [软硬编码参数配置]支持gop间隔、帧率(Windows最高限定120帧)、bit-rate设置;
- [软编码参数配置]支持软编码profile、软编码速度、可变码率设置;
- [多实例推送]支持多实例推送(如同时推送屏幕/摄像头和外部数据);
- [RTMP扩展H.265]Windows/Android/iOS推送SDK支持RTMP扩展H.265推送,Windows针对摄像头采集软编码,使用H.265可变码率,带宽大幅节省,效果直逼传统H.265编码摄像头,Android/iOS平台支持H.265硬编码;
- [横竖屏推流]Android/iOS平台支持支持横屏、竖屏推流;
- [多分辨率支持]支持摄像头或屏幕多种分辨率设置;
- [Windows推屏]Windows平台支持屏幕裁剪、窗口采集、屏幕/摄像头数据合成等多种模式推送;
- [移动端推屏]Android平台支持后台service推送摄像头或屏幕(推送屏幕需要5.0 版本);
- [移动端推屏]iOS平台支持后台推送屏幕(基于ReplayKit,需要iOS 10.0 版本);
- [事件回调]支持各种状态实时回调;
- [水印]Windows平台支持文字水印、png水印、实时遮挡,Android平台支持文字水印、png水印;
- [RTMP推送模式]支持RTMP推送 live|record模式设置(需服务器支持);
- [镜像]Android/iOS平台支持前置摄像头实时镜像功能;
- [前后摄像头实时切换]Android/iOS平台支持采集过程中,前后摄像头切换;
- [复杂网络处理]支持断网重连等各种网络环境自动适配;
- [动态码率]支持根据网络情况自动调整推流码率;
- [实时静音]支持推送过程中,实时静音/取消静音;
- [实时快照]支持推流过程中,实时快照;
- [纯音频推流]支持仅采集音频流并发起推流功能;
- [纯视频推流]支持特殊场景下的纯视频推流功能;
- [降噪]Windows/Android平台支持环境音、手机干扰等引起的噪音降噪处理、自动增益、VAD检测;
- [回音消除]Android平台支持实时传递远端PCM数据,方便回音消除处理;
- [外部编码前视频数据对接]支持YUV数据对接;
- [外部编码前音频数据对接]支持PCM对接;
- [外部编码后视频数据对接]支持外部H.264数据对接;
- [外部编码后音频数据对接]外部AAC/PCMA/PCMU/SPEEX数据对接;
- [推送端休眠设置]Windows平台支持休眠接口(设置成休眠模式后CPU会适当降低);
- [编码后数据输出]Android平台支持输出编码后的H264/AAC数据到上层,方便对接第三方平台(如GB28181)对接;
- [扩展录像功能]完美支持和录像SDK组合使用,录像相关功能,可参见"8. Windows/Android/iOS录像SDK";
- [基础美颜]iOS平台自带基础美颜功能;
- [裁剪模式]Android/iOS平台支持特定分辨率摄像头裁剪模式设置;
- [服务器兼容]支持自建标准RTMP服务器(如Nginx、SRS)或CDN。
对应Demo:
- Windows测试程序:SmartPublisherDemo.exe;
- Windows C 工程:WIN-PublisherSDK-CPP-Demo;
- Windows C#工程:WIN-PublisherSDK-CSharp-Demo;
- Android工程:SmartPublisherV2;
- iOS工程:SmartiOSPublisherV2。
4. Windows/Android/iOS 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平台采集端支持实时音量调节(混音模式下支持单独控制麦克风、扬声器音量);
- [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组合使用,录像相关功能,可参见"8. Windows/Android/iOS录像SDK";
- [服务器兼容]支持支持自建服务器(如Darwin Stream Server)。
对应Demo:
- Windows测试程序:SmartPublisherDemo.exe;
- Windows C 工程:WIN-PublisherSDK-CPP-Demo;
- Android工程:SmartPublisherV2;
- iOS工程:SmartiOSPublisherV2。
5. Windows/Android/iOS RTMP、RTSP直播播放器SDK
如不单独说明,系Windows、Android、iOS全平台支持。
- [支持播放协议]高稳定、超低延迟(一秒内,行业内几无效果接近的播放端)、业内首屈一指的RTMP/RTSP直播播放器SDK;
- [多实例播放]支持多实例播放(如同时播放多路RTMP/RTSP流);
- [事件回调]支持网络状态、buffer状态等回调;
- [视频格式]支持RTSP H.265、RTMP扩展H.265,RTSP/RTMP H.264,此外,还支持RTSP MJPEG播放;
- [音频格式]RTMP/RTSP支持AAC/PCMA/PCMU,此外RTMP还支持Speex;
- [H.264/H.265软解码]支持H.264/H.265软解;
- [H.264硬解码]Windows/Android/iOS支持H.264硬解,Windows平台硬解码播放效果展示(超低CPU占用);
- [H.265硬解]Windows/Android/iOS支持H.265硬解;
- [H.264/H.265硬解码]Android支持设置Surface模式硬解和普通模式硬解码;
- [硬解码自适应]Windows/Android/iOS平台支持硬解码码自适应,如检测到硬解码不支持,自动切换到软解;
- [RTSP模式设置]支持RTSP TCP/UDP模式设置;
- [RTSP TCP/UDP自动切换]支持RTSP TCP、UDP模式自动切换;
- [RTSP超时设置]支持RTSP超时时间设置,单位:秒;
- [RTSP 401认证处理]支持上报RTSP 401事件,如URL携带鉴权信息,会自动处理;
- [缓冲时间设置]支持buffer time设置;
- [首屏秒开]支持首屏秒开模式;
- [低延迟模式]支持超低延迟模式设置;
- [复杂网络处理]支持断网重连等各种网络环境自动适配;
- [快速切换URL]支持播放过程中,快速切换其他URL,内容切换更快;
- [音视频多种render机制]Windows平台支持D3D和GDI绘制模式(如不支持D3D,会自动切换到GDI模式);
- [音视频多种render机制]Android平台,视频:surfaceview/OpenGL ES,音频:AudioTrack/OpenSL ES;
- [实时静音]支持播放过程中,实时静音/取消静音;
- [实时快照]支持播放过程中截取当前播放画面;
- [只播关键帧]Windows平台支持实时设置是否只播放关键帧;
- [渲染角度]支持0°,90°,180°和270°四个视频画面渲染角度设置;
- [渲染镜像]支持水平反转、垂直反转模式设置;
- [等比例缩放]支持图像等比例缩放绘制;
- [实时下载速度更新]支持当前下载速度实时回调(支持设置回调时间间隔);
- [ARGB叠加]Windows平台支持ARGB图像叠加到显示视频(参看C 的DEMO);
- [解码前视频数据回调]支持H.264/H.265数据回调;
- [解码后视频数据回调]支持解码后YUV/RGB数据回调;
- [解码后视频数据缩放回调]Windows平台支持指定回调图像大小的接口(可以对原视图像缩放后再回调到上层);
- [解码前音频数据回调]支持AAC/PCMA/PCMU/SPEEX数据回调;
- [音视频自适应]支持播放过程中,音视频信息改变后自适应;
- [扩展录像功能]完美支持和录像SDK组合使用,录像相关功能(支持RTSP H.265流录制,支持PCMA/PCMU转AAC后录制,支持设置只录制音频或视频),可参见"8. Windows/Android/iOS录像SDK";
- [全屏]Windows平台双击画面进入全屏模式;
- [Windows本地FLV播放器]支持本地FLV文件播放(支持获取FLV文件的duration(时长);支持显示当前播放位置;
- [Windows本地FLV播放器]支持开始播放或播放过程中seek(跳转播放位置),也许是行业内seek最快的flv点播播放器)。
对应Demo:
- Windows测试程序:SmartPlayer.exe;
- Windows C 工程:WIN-PlayerSDK-CPP-Demo;
- Windows C#工程:WIN-PlayerSDK-CSharp-Demo;
- Android工程:SmartPlayerV2;
- iOS工程:SmartiOSPlayerV2。
6. Windows/Android/iOS内置轻量级RTSP服务SDK
如不单独说明,系Windows、Android、iOS全平台支持。
- [基础功能]支持Windows/Android/iOS平台RTMP直播SDK除推送RTMP外的所有常规功能;
- [音频格式]AAC;
- [视频格式]H.264、H.265;
- [协议类型]RTSP;
- [传输模式]支持单播和组播模式;
- [端口设置]支持RTSP端口设置;
- [鉴权设置]支持RTSP鉴权用户名、密码设置;
- [获取session连接数]支持获取当前RTSP服务会话连接数;
- [多服务支持]支持同时创建多个内置RTSP服务;
- [H.265支持]支持发布H.265视频(Windows平台需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。
7. 内网RTSP网关SDK
如不单独说明,系Windows、Android、iOS全平台支持。
内网RTSP网关SDK,系内置轻量级RTSP服务SDK扩展,完成外部RTSP/RTMP数据拉取并注入到轻量级RTSP服务SDK工作,多个内网客户端直接访问内网轻量级RTSP服务获取公网数据,无需部署单独的服务器,支持RTSP/RTMP H.265数据接入。 简单来说:内置轻量级RTSP服务SDK和内置RTSP网关SDK的区别在于数据来源不同,内置轻量级RTSP服务SDK数据来源于终端设备自带摄像头数据/屏幕数据/外部编码前后数据,内置RTSP网关SDK的数据源是RTSP/RTMP流数据。
- [音频格式]AAC;
- [视频格式]H.264、H.265;
- [接入协议]支持内外网RTMP/RTSP流接入;
- [输出协议]RTSP,拉取的RTSP/RTMP流,注入轻量级RTSP服务SDK;
- [传输模式]Windows支持单播和组播模式,Android/iOS平台支持单播模式;
- [音频转码]支持音频(PCMU/PCMA,Speex等)转AAC后注入;
- [端口设置]支持RTSP端口设置;
- [鉴权设置]支持RTSP鉴权用户名、密码设置;
- [获取session连接数]支持获取当前RTSP服务会话连接数;
- [多服务支持]支持同时创建多个内置RTSP服务;
- [H.265支持]Windows内置rtsp server支持发布H.265视频(64位库);
- [RTSP url回调]支持设置后的rtsp url通过event回调到上层;
对应Demo:
- Windows测试程序:SmartStreamRelayDemo.exe;
- Windows C 工程:WIN-RelaySDK-CPP-Demo;
- Windows C#工程:WIN-RelaySDK-CSharp-Demo。
8. Windows/Android/iOS RTMP/RTSP多路流媒体转RTMP推送SDK
如不单独说明,系Windows、Android、iOS全平台支持。
- [拉流]支持拉取RTSP流;
- [拉流]支持拉取RTMP流;
- [预览]支持拉取到的RTMP/RTSP随时本地预览、关闭预览;
- [拉流音频调节]支持拉取的RTMP/RTSP流静音;
- [音频转码]支持拉取的RTMP/RTSP的PCMA/PCMU/SPEEX音频格式转AAC后再转发到RTMP服务器;
- [url切换]支持转发过程中,拉取的RTMP/RTSP实时内容切换;
- [转发]超低延迟转发拉取的rtsp/rtmp流到rtmp server;
- [H.265支持]业内首家支持RTSP/RTMP H.265转RTMP推送的SDK(提供配套RTMP扩展H.265服务器);
对应Demo:
- Windows测试程序:SmartStreamRelayDemo.exe;
- Windows C 工程:WIN-RelaySDK-CPP-Demo;
- Windows C#工程:WIN-RelaySDK-CSharp-Demo;
- Android工程:SmartRelayDemoV2;
- iOS工程:SmartiOSRelayDemoV2。
大牛直播SDK Windows平台已发布基于转发SDK的官方定制版系统: 点击查看多路RTSP/RTMP流转RTMP流官方定制版
9. Windows/Android/iOS RTMP/RTSP一对一互动SDK
如不单独说明,系Windows、Android、iOS全平台支持。
- 基于官方现有RTMP、RTSP推送、或内置RTSP服务、播放SDK,产品稳定度高,行业内首屈一指的超低延迟特性;
- 加入噪音抑制、回音消除、自动增益控制等特性,确保通话效果;
- 采用通用的RTMP和RTSP服务器,如nginx、SRS或 Darwin Stream Server(原生版本),更有利于私有部署;
- 支持H.264的扩展SEI消息发送机制;
- 支持H.265编码(Windows 64位库,Android/iOS硬编码)和H.264可变码率设定,换句话说,之前大牛直播SDK推送端支持的功能,都可以同步支持;
- 支持H.265解码,直播播放器支持的功能,一对一互动模块都可以有选择的支持;
- Windows平台支持双流合成大小屏录制;
- Windows支持摄像头、屏幕合成、水印等各种组合模式,扩展度高;
- 适用于应急指挥、教育培训等领域。
对应Demo:
- 以C#为例,对应SmartEchoCancellation.exe(WIN-EchoCancellation-CSharp-Demo);
- Android工程:SmartEchoCancellationV2;
- iOS工程:SmartiOSEchoCancellation。
10. Windows导播SDK
- [拉流]支持拉取RTSP流;
- [拉流]支持拉取RTMP流;
- [混音合成]支持本地采集到屏幕或摄像头数据,和远程拉取得RTSP或RTMP流做合成、混音输出;
- [导播]支持导播过程中,随时切断某一路音视频或音频;
- [混音]支持音频混音(同时选择“采集麦克风” “采集扬声器”);
- [合成]多路流合成一路流后,推送到RTMP服务器;
- [扩展录像快照]多路合成后的流,支持本地录像、快照。
对应Demo:
- 测试程序:SmartMixStreamDemo.exe;
- C 工程:WIN-MixStreamSDK-CPP-Demo;
11. Windows/Android/iOS录像SDK
- [拉流]支持拉取RTSP流录像;
- [拉流]支持拉取RTMP流录像;
- [推流端录像]支持RTMP|RTSP推送端同步录像;
- [轻量级RTSP服务录像]支持轻量级RTSP服务SDK同步录像;
- [推流端录像实时暂停/恢复]支持推送端录像过程中实时暂停录像、恢复录像;
- [逻辑分离]大牛直播录像SDK不同于普通录像接口,更智能,和推送、播放、转发、内置轻量级RTSP服务SDK功能完全分离,支持随时录像;
- [url切换]在录像过程中,支持切换不同URL,如两个URL配置一致,则可以录制到同一个MP4文件,如不一致,可自动分割到下一个文件;
- [参数设置]支持设置单个录像文件大小、录像路径等,并支持纯音频、纯视频、音视频录制模式;
- [音频转码]支持音频(PCMU/PCMA,Speex等)转AAC后再录像;
- [265支持]支持RTSP/RTMP H.265录制到MP4文件;
- [推送端265录像]推送端SDK支持H265录像;
- [推送端外部编码数据对接录像]支持推送端外部编码后数据(H.264/AAC)对接录像;
- [事件回调]从开始录像,到录像结束均有event callback上来,网络堵塞、音视频同步均做了非常友好的处理。
对应Demo:
- Windows测试程序:SmartPlayer.exe;
- Windows C 工程:WIN-PlayerSDK-CPP-Demo;
- Windows C#工程:WIN-PlayerSDK-CSharp-Demo;
- 测试程序:SmartPublisherDemo.exe;
- C 工程:WIN-PublisherSDK-CPP-Demo;
- C#工程:WIN-PublisherSDK-CSharp-Demo。
- Android工程:SmartPlayerV2;
- iOS工程:SmartiOSPlayerV2;
- Android工程:SmartPublisherV2;
- iOS工程:SmartiOSPublisherV2。
12. Windows/Android/iOS SEI扩展数据发送/接收SDK
- [RTSP SEI]支持内置RTSP服务SDK携带SEI扩展信息(H.264);
- [RTMP SEI]支持RTMP推送SDK携带SEI扩展信息(H.264);
- [自定义数据]持发送自定义用户数据(如自定义utf8字符串);
- [二进制数据]支持发送二进制数据;
- [播放端解析]RTSP/RTMP直播播放端SDK支持utf8文本、二进制、和原SEI数据解析。
对应Demo:
- Windows测试程序:SmartPlayer.exe;
- Windows C 工程:WIN-PlayerSDK-CPP-Demo;
- Windows C#工程:WIN-PlayerSDK-CSharp-Demo;
- 测试程序:SmartPublisherDemo.exe;
- C 工程:WIN-PublisherSDK-CPP-Demo;
- C#工程:WIN-PublisherSDK-CSharp-Demo。
- Android工程:SmartPlayerV2;
- iOS工程:SmartiOSPlayerV2;
- Android工程:SmartPublisherV2;
- iOS工程:SmartiOSPublisherV2。
编译注意事项
- iOS平台支持真机和模拟器编译运行.
- iOS播放端编译时找不到 libSmartPlayerSDK.a 时,请先到 SmartiOSPlayer/SmartiOSPlayer/libs 目录, 解压libSmartPlayerSDK.zip.
- iOS推送端编译时找不到 libSmartPublisherSDK.a 时,请先到 SmartiOSPublisher/SmartiOSPublisher/libs 目录, 解压libSmartPublisherSDK.zip.
- 未授权版本,限制app-name,如果需要集成到自己工程里面调试,可以用以下名字:
Windows推送端:SmartPublisherDemo
Windows播放端:SmartPlayer
Windows转发端:SmartStreamRelayDemo
Windows合流导播端:SmartMixStreamDemo
android推送端:SmartPublisherSDKDemo
android后台Service推送:SmartServicePublisherSDKDemo
android一对一互动:SmartEchoCancellation
android播放器:SmartPlayerSDKDemo
iOS推送端:SmartiOSPublisher
iOS转发端:SmartiOSRelayDemo
iOS播放器:SmartiOSPlayer
iOS一对一互动:SmartiOSEchoCancellation
- 集成到自己工程,如何改名字(以推送端为例):
android:strings.xml:
<string name="app_name">SmartPublisherSDKDemo</string>
代码语言:javascript复制iOS:Info.plist-->右键Open As-->Source Code,添加或者编辑
<key>CFBundleName</key>
<string>SmartiOSPublisher</string>