大牛直播SDK-Windows RTMP/RTSP推送端使用说明
由于大牛直播SDK Demo主要侧重于SDK接口展示,不必说自研,哪怕demo使用,庞大的功能让好多开发者望而却步,以下是Windows推送端SDK简单的介绍:
大牛直播SDK推送端提供C++/C#两套接口,对外提供32/64位debug/release库。
对应Demo:
- Windows测试程序:SmartPublisherDemo.exe;
- Windows C++工程:WIN-PublisherSDK-CPP-Demo;
- Windows C#工程:WIN-PublisherSDK-CSharp-Demo;
使用说明:
1视频采集设置
说明:
1. 屏幕和摄像头相互切换:用于在线教育或者无纸化等场景,推送或录像过程中,随时切换屏幕或摄像头数据(切换数据源),如需实时切换,点击页面“切换到摄像头”按钮即可;
2. 设置遮盖层,用于设定一个长方形或正方形区域(可自指定区域大小),遮盖不想给用户展示的部分;
3. 水印:添加PNG水印,支持推送或录像过程中,随时添加、取消水印;
4. 摄像头叠加到屏幕:意在用于同屏过程中,主讲人摄像头悬浮于屏幕之上(可指定叠加坐标),实现双画面展示,推送或录像过程中,可以随时取消摄像头叠加;
5. 屏幕叠加到摄像头:同4,效果展示,实际根据需求实现;
6. 采集桌面:可以通过点击“选择屏幕区域”获取采集区域,并可在采集过程中,随时切换区域位置,如不设定,默认全屏采集;
7. 使用DXGI采集屏幕,采集时停用Aero;
8. 采集窗口:可设定需要采集的窗口,窗口放大或缩小,推送端会自适应码率和分辨率;
9. 采集帧率(帧/秒):默认屏幕采集5帧,可根据实际场景需求设定到10-25帧;
10. 缩放屏幕大小缩放比:用于高清或超高清屏,通过设定一定的比例因子,缩放屏幕采集分辨率;
11. 采集摄像头:可选择需要采集的摄像头、采集分辨率、帧率、是否需要水平或者垂直反转、是否需要旋转;
追加提问:
问题[确认数据源]:采集桌面还是摄像头?如果桌面,全屏还是部分区域?
回答:
- 如果是摄像头:可以选择摄像头列表,然后分辨率、帧率。
- 如果是屏幕:默认帧率是5帧,可以根据实际场景调整,选取屏幕区域,可以实时拉取选择需要采集或录像区域;
- 如果是叠加模式:可选择摄像头叠加到屏幕,还是屏幕叠加到摄像头;
- 更高需求的用户,可以设置水印或应用层遮盖。
问题:如果是摄像头,采集到的摄像头角度不对怎么办?
回答:我们支持摄像头镜像和翻转设置,摄像头可通过SDK接口轻松实现水平/垂直翻转、镜像效果。
2 视频码率控制
我选可变码率还是平均码率?
回答:可变码率的优势在于,如果屏幕或摄像头变化不大,码率超低,特别是H.265编码,平均码率,码率比较均匀,需设置平均码率+最大码率,一般摄像头采集建议选择可变码率,屏幕采集选择平均码率,如需采用可变码率,请取消“使用平均码率”选项。
265编码还是H.264编码?
回答:Windows 64位库支持H.265编码,如果推RTMP流,需要服务器支持RTMP H.265扩展,播放器SDK,也需要同步支持RTMP H.265扩展播放。
如果是轻量级RTSP服务SDK对接的话,只需要播放器支持RTSP H.265即可。
如果推摄像头数据,建议采用可变码率+H.265编码。
如何设置码率参数更合理?
回答:
关键帧间隔:一般来说,设置到帧率的2-4倍,比如帧率20,关键帧间隔可以设置到40-80;
平均码率:可以点击“获取视频码率默认值”,最大码率是平均码率的2倍;
视频质量:如果使用可变码率,建议采用大牛直播SDK默认推荐视频质量值;
编码速度:如高分辨率,建议1-3,值越小,编码速度越快;
H.264 Profile:默认baseline profile,可根据需要,酌情设置High profile;
NOTE:点击“推送”或“录像”或启动内置RTSP服务SDK之前,请务必设置视频码率,如不想手动设置,请点击“获取视频码率默认值”!!!
3 音频采集设置
问答式:采集音频吗?如果采集,采集麦克风还是扬声器的,亦或混音?
回答:
- 如果想采集电脑输出的音频(比如音乐之类),可以选择“采集扬声器”;
- 如果想采集麦克风音频,可以选择“采集麦克风”,并选择相关设备;
- 如果两个都想采集,可以两个都选择,混音输出。
4 音频编码
问题:是AAC还是SPEEX?
回答:我们默认是AAC编码模式,如果需要码率更低,可以选择SPEEX编码模式,当然我们的AAC编码码率也不高。
5 音频处理
问题:我想过滤背景噪音怎么办?
回答:选中“噪音抑制”,“噪音抑制“请和“自动增益控制”组合使用,“端点检测(VAD)”可选设置。
问题:我想做一对一互动怎么办?
回答:选中“回音消除”,可以和“噪音抑制”、“自动增益控制”组合使用。
问题:我推送或者录像过程中,随时静音怎么办?
回答:推送过程中,随时选择或取消选择“静音”功能。
6多路推送
问题:我想同时推送到多个url怎么办(比如一个内网服务器,一个外网服务器)?
回答:同时填写多个url,然后点推送即可。
7 截图(快照)
问题:我想推送或者录像过程中,截取当前图像怎么办?
回答:那就设置好截图路径,推送或录像过程中,随时点击“截图”。
8 录像
问题:我还想录像,怎么办?
回答:设置录像文件存放目录,文件前缀、单个文件大小,是否加日期、时间,随时录制即可。
9 实时预览
问题:我还想看看视频特别是合成后的效果,怎么办?
回答:点击页面的“预览”按钮,就可以看到。
我是外行,我想快速测试推屏怎么办?
回答:
1. 推屏幕:
2. 推摄像头: