技术优势
- 全自研框架,易于扩展,自适应算法让延迟更低、采集编码传输效率更高;
- 所有功能以SDK接口形式提供,所有状态,均有event回调,完美支持断网自动重连;
- SDK模块化,可和大牛直播播放器SDK组合实现流媒体数据转发、内置轻量级RTSP服务、连麦、一对一互动等场景;
- Windows推送端SDK以层级模式提供,开发者可以自行组合数据源(如多摄像头/屏幕/水印叠加);
- 支持外部YUV/RGB/H.264/AAC/SPEEX/PCMA/PCMU数据源接入;
- 所有参数均可通过SDK接口单独设置,亦可通过默认参数,傻瓜式设置;
- 推送、录像、内置轻量级RTSP服务模块完全分离,可单独使用亦可组合使用;
- 业内甚至很难找到效果接近的SDK。
demo说明
- 大牛直播SDK提供C++/C#两套接口,对外提供32/64位debug/release库,C++和C#接口一一对应,C#接口比C++接口增加前缀NT_PB_。
- WIN-PublisherSDK-CPP-Demo:推送端SDK对应的C++接口的demo;
- WIN-PublisherSDK-CSharp-Demo:推送端SDK对应的C#接口的demo;
- 推送端SDK支持Win7及以上系统。
- 本demo基于VS2013开发。
推送端集成demo界面展示
功能设计
- 音频编码: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及以上版本。
集成说明
C++头文件:
- [类型定义]nt_type_define.h
- [Log定义]smart_log.h
- [Log定义]smart_log_define.h
- [音视频类型定义]nt_common_media_define.h
- [base code定义]nt_base_code_define.h
- [publisher接口]nt_smart_publisher_define.h
- [publisher接口]nt_smart_publisher_sdk.h
C#头文件:
- [Log定义]smart_log.cs
- [Log定义]smart_log_define.cs
- [音视频类型定义]nt_common_media_define.cs
- [base code定义]nt_base_code_define.cs
- [publisher接口]nt_smart_publisher_define.cs
- [publisher参数定义]nt_smart_publisher_sdk.cs
相关Lib:
- SmartLog.dll
- SmartLog.lib
- SmartPublisherSDK.dll
- SmartPublisherSDK.lib
- NTSmartPublisherWinRTSDK.dll
- avcodec-56.dll
- avdevice-56.dll
- avfilter-5.dll
- avformat-56.dll
- avutil-54.dll
- postproc-53.dll
- swresample-1.dll
- swscale-3.dll
集成步骤:
把lib目录下debug/release库拷贝到需要集成的工程对应的debug或release目录下(确保32位/64位库debug/release目录一一对应);
lib目录如下:
(1)32位debug库:debug
(2)32位release库:release
(3)64位debug库:x64\debug
(4)64位release库:x64\release
2. 相关cs头文件,加入需要集成的工程,对应SmartPublisherDemo\SmartPublisherSDK目录下的头文件;
3. 在需要集成的工程,右键->Properties->Application->Assembly name,大牛直播SDK按照APP名称授权,未授权版本,此处请改成“SmartPublisherDemo”,如需授权,可直接联系商务:
接口示例,可以参考其他blog说明或官方集成文档。