技术分享| 如何做一款容纳百人的视频会议?

在视频通话或直播场景中,如果通信人数过多,设备性能消耗和下行带宽会持续升高,极大程度会带来通信卡顿、掉线、黑屏等问题,本文就该场景如何调用 API 进行优化展开叙述,内容采用 iOS 接口作为示例,其他端在文档中心可自行查找替换。

懒人法

在多人音视频通信过程中,设备的网络流量会出现间接性的波动(突发流量、网络信号问题),影响通话质量,开发者需要对当前通话的质量指标做统计分析,经过分析结果,自行调用API来解决问题,但业务频繁的进行切换或者API调用不当会导致通话异常等现象。anyRTC 从实际出发,根据内部多个指标对订阅用户的音视频质量进行分析,开发了自动音视频流回退功能。用户只需调用方法,监听状态回调,在视频的窗口中给予友好提醒即可。

前提

在使用音视频流回退功能之前,先调用 enableDualStreamMode 方法开启双流模式。下方的每种方式都需提前开启双流模式(小窗口拉取小流,大窗口拉取大流,可节省流量)。

音视频流回退方法

- (int)setRemoteSubscribeFallbackOption:(ARStreamFallbackOptions)option;

在加入频道之后,调用该方法即可。ARStreamFallbackOptions有三个选项:

  • ARStreamFallbackOptionDisabled:不使用音视频流回退功能
  • ARStreamFallbackOptionVideoStreamLow:在下行网络条件较差的情况下,SDK 将接收视频小流(低分辨率、低码率视频流)。
  • ARStreamFallbackOptionAudioOnly:下行网络较弱时,先尝试只接收视频小流(低分辨率、低码率视频流),如果网络环境无法显示视频,则再回退到只接收音频流

音视频流回退回调

-(void)rtcEngine:(ARtcEngineKit * _Nonnull)engine didRemoteSubscribeFallbackToAudioOnly:(BOOL)isFallbackOrRecover byUid:(NSString *_Nonnull)uid;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值