直播连麦怎么设置权限(解读直播连麦技术闭坑篇)

常见问题 2022-08-11 17:01:05 阅读:829

直播音质如何改善

1、在使用 anyRTC SDK 进行直播的时候,SDK 默认是打开 AEC (回声消除)功能的,该功能对音质有一定的损耗,所以在开播之前建议先关闭该功能,当跟其他人建立起直播连麦后在打开该功能,避免互动的时候产生回声现象,当连麦结束,可以继续关闭该功能。

// true:不使用内置AEC功能,false:使用内置AEC功能pEngine->setParameters("{\"Cmd\":\"SetExternAec\", \"Enable\": true}");

2、在开播之前,对音频属性进行设定,默认使用 32 KHz采样率,单声道,编码码率最大值为 18 Kbps,anyRTC 支持从8kHz(窄带)到48kHz(全频带)采样,最高支持 196K 的码率,开发者可以根据场景进行设定,设定的太大效果不见得好,要找到自己的适合的场景,一般直播场景使用48 KHz采样率,双声道,编码码率设定为 56 Kbps,人声和音乐效果达到最优,且效率最高。64Kbps的码率是超宽带,不管是人声通话还是音乐直播,这样的频宽都是足够的。

3、户外直播场景,建议打开 AI 降噪功能。该功能创新性地应用深度学习技术,实时分离语音和背景噪声,清晰提取人声,有效消除环境中的各类噪音,让用户畅享更清晰高效的在线音视频通话体验。

// 1:使用AI降噪功能,0:关闭AI降噪功能pEngine->setParameters("{\"Cmd\":\"SetAudioAiNoise\", \"Enable\": 1}");

美颜方案

直接集成第三方美颜 SDK ,使用第三方面美颜公司提供的相机功能,在配合anyRTC 自采集功能实现美颜+贴纸功能。

推流方案

购买各大云厂商的 CDN 服务,可以根据自身的体量以及产品的运营区域,对应选择。如果产品是出海的产品,建议使用网宿,如果产品在国内,各大厂商的 CDN 服务无大的差别。

主播旁路推流如何选择方案

anyRTC 在2016首次推出客户端4连麦功能就得到了客户的一致好评,随着跟客户的不停磨合,anyRTC 推出了客户端推流 CDN 组件和服务端推流 CDN ,两种方式相互结合,打造天衣无缝的旁路直播方案。

不管是客户端推流 CDN 组件还是服务端推流CDN,anyRTC 都秉承着功能简单,回调一致,无缝切换的原则去设计旁路推流组件。

  • 开始推流:支持推多个地址
  • 结束推流
  • 直播合流模式:存音频合流直播、视频直播音频合流直播、视频合流直播
  • 合流布局:自定义布局,根据业务场景自行布局:大小屏,PK屏幕等等
  • 合流背景:对推流的背景进行自定义设定
  • 水印:对合流的视图添加水印操作
  • SEI:支持在视频帧插入媒体附属信息,保证视频帧与媒体附属信息严格同步

客户端推流 CDN 组件

anyRTC 开发该组件的初衷是为了给企业减负,大家都知道市面上旁路推流的价格非常昂贵,创业者本身就处于缺少现金,但又想给自己的直播间添加互动连麦旁路玩法,顾客户端推流 CDN 组件肩负为企业肩负的任务而出世。

实现流程:

1.主播开始直播,并开启本地推流开始推流

2.观众进入直播间,以游客的角色进入 RTC 拉去主播的实时流

3.观众申请连麦,把角色更改为主播。主播端收到观众的流后,调用本地推流组件的"setLiveTranscoding"方法进行混流布局

4.观众挂断,把角色更改为游客的,主播端收到观众下麦的回调,调用本地推流组件的"setLiveTranscoding"方法进行更改布局

5.H5端可接入m3u8格式的视频流进行观看直播

优势:

  • 省钱:无需支付旁路推流的钱
  • 延迟小:主播端直接推流,减少了传输过程中的延迟损耗

劣势

  • 手机发烫:手机端直接推流,对手机端的性能有些损耗
  • 弱网环境下,影响直播的效果,主播端发两路流,考验主播端的上行网络。

服务端推流 CDN

在客户使用客户端推流 CDN 组件的过程中,遇到一些客户想使用 Web 端去做旁路直播;或者用户的终端手机类型鱼龙混杂,一些低端手机没办法直接使用客户端推流 CDN 组件;还有一些用户的网络环境极其恶劣,用客户端推流 CDN 组件影响直播效果。基于以上客户的诉求 anyRTC 给出了第二种旁路解决方案:服务端推流CDN。

服务端推流 CDN,主播端调用接口,让服务端去完成合流并转推 CDN 的功能,对本地没有任何影响。

实现流程:

1.主播开始直播,并开启服务端旁路推流

2.观众进入直播间,以游客的角色进入 RTC 拉去主播的实时流

3.观众申请连麦,把角色更改为主播。主播端收到观众的流后,调用服务端接口"setLiveTranscoding"方法进行混流布局

4.观众挂断,把角色更改为游客的,主播端收到观众下麦的回调,调用服务端接口"setLiveTranscoding"方法进行更改布局

5.H5端可接入m3u8格式的视频流进行观看直播

  • 优势:性能差的手机,也能作为主播端进行旁路直播当客户端网络情况不好的时候,对直播的影响较小Web端也能进行直播劣势客户成本增加延迟大:音视频流经过服务端中转并在旁路推流服务中进行合成转码在进行推流。

最佳实践

1.Web当主播的时候使用服务端推流 CDN 功能即可

2.如果用户终端的设备是低端设备的主播,使用服务端推流CDN功能,反之使用客户端旁路推流插件

3.客户端使用RTC实时检测网络情况,如果网络情况出现持续不好的情况,关掉本地旁路推流组件,调用服务端推流 CDN 接口进行无缝替换

4.如果是语音连麦场景,建议直接使用客户端旁路推流

5.如果是2人PK直播场景,使用客户端旁路推流 CDN 组件,并

其他问题

房间内跟主播连麦怎么实现?

申请连麦流程:

1.使用RTM SDK 发送点对点消息,向主播发送连麦请求,如果需要展示连麦列表,需要跟自己的业务服务进行上报连麦事件

2.主播同意连麦请求

通信流程:

1.游客开启本地摄像头并调用 RTC 切换角色的接口,设置为主播

2.主播收到游客成为主播的回调,本地更改布局,根据当前模式


相关推荐

热门文章

立即加入,领取您的专属解决方案

电话咨询免费试用