适用于音视频的弱网测试整理

这篇具有很好参考价值的文章主要介绍了适用于音视频的弱网测试整理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、什么是弱网环境

对于弱网的定义,不同的应用对弱网的定义是有一定的差别的,不仅要考虑各类型网络最低速率,还要结合业务场景和应用类型去划分。按照移动的特性来说,一般应用低于2G速率的都属于弱网,也可以将3G划分为弱网。除此之外,弱信号的Wifi通常也会被纳入到弱网测试场景中。随着国内移动端迅猛发展,大大增加用户碎片化使用移动端的概率,用户可能会在地铁上,高铁上,巴士上,甚至是电梯,电梯间,楼梯间,隧道,车库,大型活动现场等空间使用互联网应用。
音视频测试,音视频

二、音视频受网络限制的原理

Q1:当请求从客户端发出,最后服务器响应请求并返回,看似简单的流程,中间经过了些什么呢,又是有哪些流程会受到弱网情况的影响呢?
音视频测试,音视频
首先,简要介绍一下传输层协议,TCP/IP协议族是一个四层协议系统。

  • 从下到上分别为 数据链路层、网络层、传输层、应用层,每一层都通过若干协议实现完成不同的功能。
  • 其中数据链路层实现了网卡接口的网络驱动程序,处理数据在物理媒介上的传输,并隐藏了各个物理媒介之间的区别,为上层协议提供了统一的接口;网络层 通常网络上的两台主机之间不是直接相连接的,两种之间存在多个中间节点(路由器)。它的的作用就是在众多的节点中选择中间节点,使两台主机能够通信,确定两台主机的的地址管理和路由选择;传输层为两台主机上的应用提供端到端(end to end)的通信。与网络层不同的是,传输层只关心通信的起始端和目的端的可靠数据传输,而不在乎数据包的中转过程;应用层负责处理应用程序的逻辑(比如文件传输、名称查询和网络管理等)作用于用户层。而数据链路层、网络层和传输层负责处理网络通信细节,这部分必须稳定而高效,因此它们都在内核空间中实现。
  • 而刚提到的数据通信,从应用层发送一段数据时,需要将该数据通过协议栈从上往下依次传递,同时每一层协议都会在上一层数据的基础上加上自己的头部信息 (比如我们常见的TCP/UDP协议,在接收到我们要发送的数据时,就会在我们要发送的数据前面加上自己的头部信息)。完成所有数据封装后,当帧达到目的主机后,重新沿着协议栈自低而上依次传递,各层协议依次处理帧中本层负责的头部,获取到所需信息,并最终将处理后的数据分用交给应用程序。由此底层经过繁琐的数据处理后,完成一次数据的直接通信,而不同阶段客户端和服务器处于不同网络环境,每一层协议均会受网络状况的影响。

音视频测试,音视频
Q2:已知数据在网络层、数据传输层、应用层等都会受到网络影响,那具体会存在哪些网络问题呢?又是如何去对抗解决这些网络问题呢?

1、影响网络传输质量有很多原因,比如目标网站所在的服务器带宽不足或负载过大、网线问题导致网速变慢、防火墙的过多使用、系统资源不足等都会影响网络质量,其中最主要的是 网络拥塞、网络丢包、网络抖动 等问题,这些问题会是造成音视频卡顿、实时性不佳的主要原因。

2、解决这些核心网络问题,主要由上层 网络层(部分网络层无法解决,也会由 应用层 参与解决)。

其中,网络传输层主要协议有 TCP 和 UDP ,传输层协议在 TCP/IP 分层协议中位于应用层之下,一般在操作系统内部提供实现。其中,TCP 是面向连接的可靠传输协议,为数据传输的完整性和有序性提供了保障;UDP 是无连接的不可靠传输协议,数据传输的可靠性完全交由应用层处理。

音视频测试,音视频
实时音视频应用场景下,UDP 会作为优先选择已经是广泛共识。原因主要包括以下几点:

1、TCP 协议并非为音视频实时应用场景设计,其内部的拥塞控制和差错控制等机制为了可靠性和高吞吐量而导致延时的增加,在弱网环境下延时的恶化更为明显。ITU StandardG.114 对延时的定义是,端到端延时大于 400ms 时,用户的交互体验将受到明显的影响。

2、TCP 的拥塞控制机制和差错控制机制 位于操作系统内部实现,应用层无法优化,无法应对不同场景需求进行调整,严重 缺乏灵活性。

3、UDP 协议本身开销比 TCP 小,传输控制策略完全交由应用层来实现,具有足够的灵活性。

拥塞问题:
当网络中传输的数据流量超过网络瓶颈容量,就会产生拥塞问题。

拥塞的直接影响是突发丢包或者突发抖动,如果不及时预测拥塞的发生,及时降低发送数据量,接收端将会出现卡顿、延时大、画质差等等问题。

拥塞产生的原因有两点:

接收方容量不够
网络内部有瓶颈
那作为测试,我们一是 需要快速准确地进行网络拥塞探测;二是 观测是否可以 避免拥塞以及尽可能快地从拥塞状态恢复。

拥塞探测 根据观测数据的差异可用分为两类:

基于丢包的算法(Loss-based):通过丢包事件来检测网络拥塞。

基于延时的算法(Delay-based):通过对延时的测量来判断网络拥塞。

丢包问题:
如上所述,实时交互式媒体传输基于 RTP/UDP 协议,丢包问题由应用层处理。

网络传输方面的对抗丢包技术手段主要包括 重传(ARQ)、前向纠错(FEC)。

信源编码方面根据数据以及编码方的不同也可以提供某些特定的抗丢包能力,比如视频编码中采用 B 帧降低丢包的影响。

抖动问题:
概括而言,抖动问题就是 网络传输延时变化问题,抖动越大表示网络传输延时变化越大。

抖动问题会造成接收端卡顿、播放快进等严重影响音视频沟通体验的问题。造成抖动问题的原因是多方面的,比如新的流加入造成网络资源竞争加剧、源端数据发送速率本身不平稳以及其他网络原因。

目前处理抖动的通用策略是 接收端建立抖动缓冲区(JitterBuffer)来消除抖动。接收端通过增加抖动延时来吸收不均匀的延时,达到均匀播放的目的。

三、弱网测试保障适用场景

  1. 弱网测试对 直播应用 和 音视频应用 都是刚需,他们所面对的网络环境具有较强的 复杂性、异构型,用户可能会在任何地方任何网络条件下进行直播或者视频会议。特别是视频直播,用户可能会在地铁里观看直播,可能在高铁上观看直播,主播有可能在户外信号弱的地方进行推流,也有可能在大型活动的现场进行推流。而视频会议的员工可能在全球的任何地方,有可能当地的网络条件较差。
  2. 但是直播和视频会议等实时音视频应用,对视频的 连续性、图像质量、音频质量、连接的稳定性 要求都是非常高的,在不同环境下的严重程度也存在很大差异,任何一方面做得不尽人意都可能影响到用户对产品的使用感受,可能会导致用户流失。因此非常有必要针对各种可能遇到的弱网环境,对应用的各方面进行优化和调整。这样一来,如何检测复杂网络下音视频的体验,是音视频测试关注的重点问题。

四、弱网测试工具分享

  • 通过对市面上8种测试工具进行调研,考虑到平台兼容性、最终选中Charles/Qnet两种弱网检测工具。音视频测试,音视频
    其中包括 charles、Qnet 两种弱网检测工具的使用,测试工具弱网场景的模拟原理了话,就是通过实时将系统接受和发出的网络数据包拦截下来,人工的造成延迟、掉包和篡改操作后再进行发送。无论是要复现网络异常造成的程序错误,还是评估应用程序在不良网络状况下的表现,都可以在不需额外搭建环境的情况下,在系统层次达到想要的效果。

五、弱网参数设置参考值

  1. 在各种各样的弱网环境中,网络对应用的影响因素大致分为:可用带宽、丢包、时延、时延抖动等。
  2. 通过对实地网络参数进行测速,如电梯、地铁场景等,参照运营商输出的14种弱网场景,给出大家对于不同弱网场景,参数设定的一个参考值,下面附件中也提供了可直接用于charles导入的网络参数文件。

ps:实地测速使用app端的网络测速工具:appstore 测网速

音视频测试,音视频
名词解释:

上行速率:上行速率是指移动终端给基站发送信息时的数据传输速率,
下载速度:比如手机、笔记本等无线终端给基站传输数据速率;下行速率是指基站向移动终端发送信息时的传输速率,比如手机或笔记本等无线终端从基站或者网络下载数据的速率。
丢包率:丢包率(Loss Tolerance或Packet Loss Rate)是指测试中所丢失数据包数量占所发送数据组的比率。
时延:是指一个报文或分组从一个网络的一端传送到另一个端所需要的时间。它包括了发送时延,传播时延,处理时延,排队时延。(时延=发送时延+传播时延+处理时延+排队时延)一般,发送时延与传播时延是我们主要考虑的。
EDGE:由于EDGE是一种介于现有的第二代移动网络与第三代移动网络之间的过渡技术,因此也有人称它为"二代半"技术。

网络时延参考自百度百科:
上述数据参考自:https://blog.csdn.net/mao834099514/article/details/79456881

六、音视频的极限网络

通过对线上音视频的竞品调研,探索应用于不同场景下音视频的极限网络网端。

快剪辑平台【抖音,快手,秒剪】
编辑器功能平台【剪映,快影,度咔,必剪(参考)】
智能成片【秒剪,抖音,快手,度咔,畅片】

1、常规UI展示:通过对 抖音,快手,秒剪 APP进行弱网检测,【2G弱网】是极端网段。

2、智能成片:通过对 秒剪,抖音,快手,度咔,畅片、粉APP 六种APP 进行弱网检测,【3G弱网】是智能成片功能的极限网段;低于该弱网限制,对应功能的高、中、低端机型,业务功能无法正常应用。

3、ASR 语音识别+导出等操作:通过对 剪映,快影,度咔,必剪(参考)、粉 六种APP 进行弱网检测,【3G弱网】是ASR功能/导出操作的极限网段,低于该弱网限制,对应功能的高、中、低端机型,业务功能无法正常应用。

七、弱网用例场景设计

实际需要进行弱网场景覆盖场景,需根据业务 P0 核心场景划分,以及 新增/产品关注 业务场景进行弱网的覆盖。

八、弱网经典问题分享

针对直播、剪辑视频场景,遇到的客户端弱网问题、以及对应的弱网解决方案进行分享:

音视频测试,音视频
3、串行接口请求失败,一个接口失败导致全部失败

1、根据业务进行排查 / 性能调优

2、根据素材进行素材瘦身

3、拆分减少串行处理的接口,数据异步返回后针对性刷新

持续更新…

九、单位换算分享

冷知识:bps kbps mbps 换算规则

Mbps 即 百万位每秒,Kbps 即 千位每秒,bps 位每秒

速度单位,bit即比特,通常用b(小写)表示,指一位二进制位,1Mbps=1000Kbps=1000000bps;

所以1Mbps=1000 000bps;

这是通常用来衡量带宽的单位,指每秒钟传输的二进制位数

MB即百万字节也称兆字节;

KB即千字节;

B即字节;

之间关系为1MB=1024KB=1024*1024B;

1B=8b

附:charles网络设置xml文件(可直接导入)

十、Q & A

音视频测试,音视频文章来源地址https://www.toymoban.com/news/detail-763158.html

到了这里,关于适用于音视频的弱网测试整理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 音视频学习—音视频理论基础(2)

      音频是一种模拟信号,它是由声波转化而来的电信号。声波是通过气体、液体或固体传播的机械波,代表了声音的震动。在录制过程中,声音被转换成电信号,然后被储存在数字格式中。   声音的三要素是频率、振幅和波形   频率是指声波的振动次数,通常使用赫

    2024年04月29日
    浏览(42)
  • ffmpeg@音视频工具@音视频合并

    FFmpeg中文网 (github.net.cn) FFmpeg 是一款强大的开源跨平台音视频处理工具集,它包含了一系列命令行工具以及用于音频和视频编码解码、格式转换、抓取、流化等功能的库。FFmpeg 支持多种视频、音频格式和编解码器,能够进行音视频的压缩、封装、转码、分割、合并、过滤、抓

    2024年03月17日
    浏览(79)
  • 【音视频】ffplay解析-音视频同步

    主要解析:以音频为基准,让视频同步音频 思路 视频慢了则丢掉部分视频帧(视觉-画⾯跳帧) 视频快了则继续渲染上⼀帧 具体实现 ffplay具体源码

    2024年02月07日
    浏览(51)
  • 音视频 ffmpeg命令提取音视频数据

    保留封装格式 提取视频 提取音频 推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家: 零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核) https://xxetb.xet.tech/s/VsFMs

    2024年02月10日
    浏览(62)
  • linux 音视频架构 linux音视频开发

    转载 mob6454cc65110a 2023-07-26 22:27:01 文章标签 linux 音视频架构 ci QT 视频教程 文章分类 架构 后端开发 阅读数 117 目录 前言 1、软件工具准备 a. 录音软件 b. 录屏软件 c. 摄像头软件 d. 安卓屏幕操作软件 e. 视频剪辑软件

    2024年02月07日
    浏览(76)
  • WebRTC音视频通话(二)简单音视频通话

    本篇不详细介绍websocket,只针对websocket整合rtc。 webrtc是P2P通信,也就是实际交流的 只有两个人 ,而要建立通信,这两个人需要 交换一些信息来保证通信安全 。而且, webrtc必须通过ssh加密 ,也就是使用https协议、wss协议。 借用一幅图 1.1 创建端点的解析 以下解析不包括we

    2023年04月09日
    浏览(63)
  • 抖音视频解析,无水印解析下载抖音视频

    抖音视频解析,你是否经常遇到这样的情况,看到一些非常精彩的抖音视频,想要保存下来,但因为下载速度慢或者视频带有水印而感到困扰?那么,这款(抖音无水印解析工具)将是你的得力助手!它可以轻松解决这些问题,使你能够更轻松、更便捷地批量解析和下载抖音

    2024年01月20日
    浏览(62)
  • 【音视频原理】音视频 “ 采样 - 编码 - 封装 过程 “ 和 “ 解封装 - 解码 - 播放 过程 “ 分析 ( 视频采集处理流程 | 音频采集处理流程 | 音视频文件解封装播放流程 )

    本篇文件主要分析 音视频文件 是怎么产生的 , 以及 音视频文件是如何播放的 ; 视频文件从录像到生成文件的全过程 : 采集图像帧 : 摄像头 硬件 负责 采集画面 , 采集的 初始画面 称为 \\\" 图像帧 \\\" , 一秒钟 采集 的 图像帧 数量 称为 \\\" 帧率 \\\" , 如 : 60 帧 就是 一秒钟采集 60 个画

    2024年02月11日
    浏览(80)
  • Qt音视频开发45-音视频类结构体参数的设计

    视频监控内核组件重构和完善花了一年多时间,整个组件个人认为设计的最好的部分就是各种结构体参数的设计,而且分门别类,有枚举值,也有窗体相关的结构体参数,解码相关的结构体参数,同时将部分常用的结构体参数的获取和设置单独提供了函数,参阅海康大华等大

    2024年02月05日
    浏览(75)
  • uniapp对接腾讯云IM+音视频。音视频含UI集成

    提示:作者已经实现uniapp集成腾讯云IM+音视频到android和ios平台,如有疑问可在下方留言。音视频为含ui集成 uniapp腾讯云音视频插件地址 官方插件显示的ios版本为9-15,本人ios版本号为16.1,亲测可行 uniapp 腾讯云音视频文档 uniapp 腾讯云IM文档 注意这个是uni的v3+ts版本,如果是v2版

    2024年02月07日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包