产品百科 |Ali RTC iOS 网络环境监控与弱网策略

简介: 阿里云RTC提供网络质量监控功能,您可以通过使用AliRtcNetworkQuality回调来获取网络质量评价。

音视频通信 RTC(Real-Time Communication)是阿里云覆盖全球的实时音视频开发平台,依托核心音视频编解码、信道传输、网络调度技术,提供高可用、高品质、超低延时的音视频通信服务,让用户快速搭建多端实时应用,适用于在线教育、视频会议、互动娱乐、音视频社交等场景。


产品链接:https://www.aliyun.com/product/rtc


阿里云 RTC 提供网络质量监控功能,您可以通过使用 AliRtcNetworkQuality 回调来获取网络质量评价。

功能简介

在网络质量不理想的情况下,音视频通信的质量受客观因素影响会下降。当监控到弱网环境时,为保证基础通信体验,建议您使用 SDK 对应的方法分别在发布端和订阅端进行如下优化。

  • 调整视频流规格:通过设置较低档位规格的 VideoProfile,减少视频通信的网络资源占用。
  • 切换视频为小流:小流有着与大流相同的宽高比,但是分辨率和码率相对较低,网络资源占用的需求较低。
  • 仅发布音频流:在极端网络环境下,可以选择只发送音频流,从而保证通信的持续。

通过使用 AliRtcNetworkQuality 回调获取的网络评价如下所示。

枚举名 描述
AlivcRtcNetworkQualityExcellent 网络极好,流程度清晰度质量好
AlivcRtcNetworkQualityGood 网络好,流畅度清晰度和极好差不多
AlivcRtcNetworkQualityPoor 网络较差,音视频流畅度清晰度有瑕疵,不影响沟通
AlivcRtcNetworkQualityBad 网络差,视频卡顿严重,音频能正常沟通
AlivcRtcNetworkQualityVeryBad 网络极差,基本无法沟通
AlivcRtcNetworkQualityDisconnect 网络中断
AlivcRtcNetworkQualityUnknow 未知

实现方法

在实现该功能之前,需要您已经搭建 AppServer、实现基本功能等操作。详情请参见入门概述

具体实现方法如下所示。

您可以通过 onNetworkQualityChanged(网络状况变化时回调)方法获得网络质量,然后在根据实际策略进行优化。

- (void)onNetworkQualityChanged:(NSString *)uid 
        upNetworkQuality:(AliRtcNetworkQuality)upQuality             
        downNetworkQuality:(AliRtcNetworkQuality)downQuality;
参数 类型 描述
uid NSString * 网络质量发生变化的用户 ID
upQuality AliRtcNetworkQuality 上行网络质量
downQuality AliRtcNetworkQuality 下行网络质量
  • 您可以调用 setVideoProfile 设置视频流规格。

    说明 通过设置较低规格的视频流,减少视频通信的网络资源占用。
AliRtcVideoProfile vp = AliRtcVideoProfile_Default;
[self.engine setVideoProfile:vp forTrack:AliRtcVideoTrackCamera];
参数 类型 描述
profile AliRtcVideoProfile 视频流参数。
track AliRtcVideoTrack 需要设置的视频 Track 类型。
  • 调用 configRemoteCameraTrack 将订阅视频切换为小流。说明当网络质量恢复优良状态时,请您根据实际需求决定是否切换至优先订阅大流(即默认的订阅模式)。
- (void)configRemoteCameraTrack:(NSString *)uid preferMaster:(BOOL)master enable:(BOOL)enable;
参数 类型 描述
uid String 用户 id
master boolean 是否大流
enable boolean 是否可用
  • 调用 subscribe 重新订阅:
[self.engine subscribe:view.userID onResult:^(NSString *uid, AliRtcVideoTrack vt, AliRtcAudioTrack at) {}];
  • 切换为小流可以编写如下代码:
[self.engine configRemoteCameraTrack:view.userID preferMaster:NO enable:YES];
[self.engine subscribe:view.userID onResult:^(NSString *uid, AliRtcVideoTrack vt, AliRtcAudioTrack at) {}];
  • 切换为大流可以编写如下代码:
[self.engine configRemoteCameraTrack:view.userID preferMaster:YES enable:YES];
[self.engine subscribe:view.userID onResult:^(NSString *uid, AliRtcVideoTrack vt, AliRtcAudioTrack at) {}];
  • 调用 configLocalCameraPublish 方法实现仅发布音频流。

    说明 当网络质量恢复优良状态时,请您根据实际需求决定是否重新发布音视频流。
- (void)configLocalCameraPublish:(BOOL)enable;
参数 类型 说明
enable boolean true 为允许发布相机流,false 表示不允许
  • 示例代码如下:
[self.engine configLocalCameraPublish:NO];
[self.engine publish:nil];

获得更多功能实现方法,请参见 AliRtcEngine 接口


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

image.png


相关文章
|
7月前
|
安全 Linux 虚拟化
Cisco IOS XRv 9000 Router IOS XR Release 7.11.2 MD - 思科 IOS XR 网络操作系统
Cisco IOS XRv 9000 Router IOS XR Release 7.11.2 MD - 思科 IOS XR 网络操作系统
417 3
Cisco IOS XRv 9000 Router IOS XR Release 7.11.2 MD - 思科 IOS XR 网络操作系统
|
7月前
|
监控 安全 网络协议
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
739 1
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
|
运维 监控 算法
解读 C++ 助力的局域网监控电脑网络连接算法
本文探讨了使用C++语言实现局域网监控电脑中网络连接监控的算法。通过将局域网的拓扑结构建模为图(Graph)数据结构,每台电脑作为顶点,网络连接作为边,可高效管理与监控动态变化的网络连接。文章展示了基于深度优先搜索(DFS)的连通性检测算法,用于判断两节点间是否存在路径,助力故障排查与流量优化。C++的高效性能结合图算法,为保障网络秩序与信息安全提供了坚实基础,未来可进一步优化以应对无线网络等新挑战。
|
7月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
326 4
|
9月前
|
机器学习/深度学习 数据采集 运维
匹配网络处理不平衡数据集的6种优化策略:有效提升分类准确率
匹配网络是一种基于度量的元学习方法,通过计算查询样本与支持集样本的相似性实现分类。其核心依赖距离度量函数(如余弦相似度),并引入注意力机制对特征维度加权,提升对关键特征的关注能力,尤其在处理复杂或噪声数据时表现出更强的泛化性。
463 6
匹配网络处理不平衡数据集的6种优化策略:有效提升分类准确率
|
9月前
|
安全 KVM 虚拟化
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
518 2
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
|
人工智能 安全 网络安全
网络安全领导者有效缓解团队倦怠的四步策略
网络安全领导者有效缓解团队倦怠的四步策略
|
8月前
|
监控 安全 Devops
DevOps 流水线的网络安全盲区与防御策略
在软件研发中,DevOps流水线加速了开发与交付,但也带来严重安全风险。自动化节点和第三方集成成为攻击入口,凭证泄露、供应链渗透、配置错误和依赖混乱等问题频发。企业需构建全流程安全体系,嵌入自动化安全策略,强化访问控制与监控,提升全员安全意识,实现效率与安全的协同发展。
600 1
|
8月前
|
传感器 数据采集 存储
【无线传感器】使用 MATLAB和 XBee连续监控温度传感器无线网络研究(Matlab代码实现)
【无线传感器】使用 MATLAB和 XBee连续监控温度传感器无线网络研究(Matlab代码实现)
270 0
|
10月前
|
存储 监控 算法
基于 Python 跳表算法的局域网网络监控软件动态数据索引优化策略研究
局域网网络监控软件需高效处理终端行为数据,跳表作为一种基于概率平衡的动态数据结构,具备高效的插入、删除与查询性能(平均时间复杂度为O(log n)),适用于高频数据写入和随机查询场景。本文深入解析跳表原理,探讨其在局域网监控中的适配性,并提供基于Python的完整实现方案,优化终端会话管理,提升系统响应性能。
257 4