产品百科 |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


相关文章
|
2天前
|
存储 安全 云计算
云上防线:云计算时代的网络安全策略
云上防线:云计算时代的网络安全策略
13 4
|
2天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
5天前
|
存储 安全 网络安全
云计算与网络安全:保护数据的新策略
【10月更文挑战第28天】随着云计算的广泛应用,网络安全问题日益突出。本文将深入探讨云计算环境下的网络安全挑战,并提出有效的安全策略和措施。我们将分析云服务中的安全风险,探讨如何通过技术和管理措施来提升信息安全水平,包括加密技术、访问控制、安全审计等。此外,文章还将分享一些实用的代码示例,帮助读者更好地理解和应用这些安全策略。
|
8天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
10天前
|
SQL 安全 算法
网络安全漏洞与加密技术:保护信息安全的关键策略
【10月更文挑战第23天】在数字化时代,网络安全漏洞和信息安全问题日益突出。本文将探讨网络安全漏洞的概念、类型以及它们对信息系统的潜在威胁,并介绍加密技术如何成为防御这些安全威胁的有力工具。同时,强调安全意识的重要性,并提出加强网络安全教育和培训的建议。最后,通过一个代码示例,展示如何在网络应用中实现基本的加密措施,以增强读者对网络安全实践的认识。
|
13天前
|
机器学习/深度学习 计算机视觉 网络架构
【YOLO11改进 - C3k2融合】C3k2融合YOLO-MS的MSBlock : 分层特征融合策略,轻量化网络结构
【YOLO11改进 - C3k2融合】C3k2融合YOLO-MS的MSBlock : 分层特征融合策略,轻量化网络结构
|
18天前
|
供应链 安全 网络安全
云计算时代的网络安全挑战与策略
【10月更文挑战第15天】随着云计算技术的飞速发展,企业和个人用户越来越依赖云服务来存储和处理数据。然而,这种便利性也带来了新的网络安全风险。本文将探讨云计算环境中的网络安全挑战,并提出相应的防御策略,以保护数据不受威胁。
30 4
|
20天前
|
存储 监控 安全
如何实施有效的网络安全策略?
【10月更文挑战第13天】如何实施有效的网络安全策略?
57 5
|
19天前
|
运维 监控 安全
连锁药店网络优化策略:一站式融合方案提升竞争力
在数字化浪潮下,线上药店通过技术创新和线上线下融合,正重塑购药体验,提供24小时服务和医保结算便利。面对激烈竞争,连锁药店和中小药店纷纷通过优化网络架构、提升服务质量和加强合规管理来增强竞争力,实现高效、安全的数字化转型。
|
24天前
|
算法 计算机视觉 Python
YOLOv8优改系列二:YOLOv8融合ATSS标签分配策略,实现网络快速涨点
本文介绍了如何将ATSS标签分配策略融合到YOLOv8中,以提升目标检测网络的性能。通过修改损失文件、创建ATSS模块文件和调整训练代码,实现了网络的快速涨点。ATSS通过自动选择正负样本,避免了人工设定阈值,提高了模型效率。文章还提供了遇到问题的解决方案,如模块载入和环境配置问题。
63 0
YOLOv8优改系列二:YOLOv8融合ATSS标签分配策略,实现网络快速涨点