默认
打赏 发表评论 11
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
如何用最简单的方法测试你的实时音视频方案
阅读(88437) | 评论(11 收藏5 淘帖1 2
微信扫一扫关注!

前言


真正了解过实时音视频开发的同行都知道,实时音视频开发所需的技术储备和技能要求都是比较高的,当我们历尽折腾,自已捣鼓出的方案出声出图后,离产品化还有多远呢?为了避免出现测试不充分盲目上线导致用户体验不佳的情况,在没有更多专业知识、工具、设备的情况下,该如何就发取材,用最简单直观的方法来评估或评测一套实时音视频方案呢?

本文总结了一些有关实时音视频方案比较值得自测的要点,旨在没有生产环境反馈和丰富的测试资源情况下,用较低的成本来测试覆盖尽可能多的真实场景中可能遇到的网络和设备问题。

如何模拟测试真实网络中常见的丢包和带宽不足?


1方法概述


在真实通讯中,我们常常会遇到网络卡顿、通讯不流畅的情形,它所反映的问题很有可能是真实网络中所存在的丢包率高和带宽不足等问题。那么在没有专业的网损环境的情况下,如何快速地模拟测试不同丢包率和不同带宽限制下的音视频通话质量呢?这里我们推荐大家使用iOS自带网损模拟器做简单的丢包和限带宽测试。具体步骤如下面的小节中进行设置。

2点击“设置”---- 进入后,滑至“开发者”,点击进入


如何用最简单的方法测试你的实时音视频方案_1.png
(注:关于iOS上的开发者选项。想要打开这个功能,你需要将iPhone或iPad和一台Mac电脑相连接,然后在Mac上打开Xcode开发工具,此时iPhone的设置里就会出现“开发者”这个选项)

3点击进入“Status”(默认初始是off)---- 进入后,将菜单顶部的“Enable”打开(默认是关闭的)


如何用最简单的方法测试你的实时音视频方案_2.png     如何用最简单的方法测试你的实时音视频方案_3.png

4点击“Add a profile…”根据自己的测试需求,新建一个测试设置,可在“Name”中新建名称便于标记


如何用最简单的方法测试你的实时音视频方案_4.png     如何用最简单的方法测试你的实时音视频方案_5.png

还可以分别设置上行和下行的丢包率和带宽上限:
如何用最简单的方法测试你的实时音视频方案_6.png     如何用最简单的方法测试你的实时音视频方案_7.png

5设置完成之后点击“存储”,之后就可以根据需要进行丢包或带宽限制测试


如何用最简单的方法测试你的实时音视频方案_8.png

如何在非P2P网络、移动数据网络下,测试音视频质量是否有保证?


众所周之,网络带宽一直是非常昂贵的,目前主流的实时音视频方案的数据传输设计都是基于P2P的。但其复杂的互联网环境应对能力较低,传输质量难以保证。在测试这类通信产品时,我们常常遇到这样的问题,在公司内网测试时流畅清晰,但是一到了用户手里,通话就变得卡顿不流畅,甚至是难以通话。

事实上,不同运营商、地域、 移动数据类型的网络条件相差甚远,而在现实应用中跨运营商,跨地域,跨通讯网络的场景十分普遍。而在上线前的测试中,这部分的风险往往容易被忽略。

为了保证产品的使用质量,在对一个音视频产品进行实际测试时,建议在非P2P的网络环境中进行模拟测试,比如,在不同的网络运营商(移动、电信、联通)、不同地区之间、连接不同的移动数据网络(2G、3G、4G)通讯等。如果还要考虑到海外用户,全球应用的话,这个部分的测试更加需要重视。

在特殊机型上测试你的实时音视频工作是否正常


很多时候设备对音视频质量起着决定性的作用,然后这种影响因为不是很直观,容易被开发者忽视。WebRTC的音视频方案在中低端的安卓机存在一些明显的问题。

比如在红米2A、红米note1 3G版、华为荣耀3C等机型上用外放通话,会出现必现的回声。又比如iphone6s的外放状态下会有必现的电流声。这类问题比较不容易发现,但是出现后会对用户体验造成很大的影响。

(本文参考了:WebRTC音视频方案自测教程,内容有改动)

附录:更多实时音视频技术文章


[1] 开源实时音视频技术WebRTC的文章:
开源实时音视频技术WebRTC的现状
简述开源实时音视频技术WebRTC的优缺点
访谈WebRTC标准之父:WebRTC的过去、现在和未来
良心分享:WebRTC 零基础开发者教程(中文)[附件下载]
WebRTC实时音视频技术的整体架构介绍
新手入门:到底什么是WebRTC服务器,以及它是如何联接通话的?
WebRTC实时音视频技术基础:基本架构和协议栈
浅谈开发实时视频直播平台的技术要点
[观点] WebRTC应该选择H.264视频编码的四大理由
基于开源WebRTC开发实时音视频靠谱吗?第3方SDK有哪些?
开源实时音视频技术WebRTC中RTP/RTCP数据传输协议的应用
简述实时音视频聊天中端到端加密(E2EE)的工作原理
实时通信RTC技术栈之:视频编解码
开源实时音视频技术WebRTC在Windows下的简明编译教程
网页端实时音视频技术WebRTC:看起来很美,但离生产应用还有多少坑要填?
>> 更多同类文章 ……

[2] 实时音视频开发的其它精华资料:
专访微信视频技术负责人:微信实时视频聊天技术的演进
实时语音聊天中的音频处理与编码压缩技术简述
网易视频云技术分享:音频处理与压缩技术快速入门
学习RFC3550:RTP/RTCP实时传输协议基础知识
基于RTMP数据传输协议的实时流媒体技术研究(论文全文)
声网架构师谈实时音视频云的实现难点(视频采访)
浅谈开发实时视频直播平台的技术要点
还在靠“喂喂喂”测试实时语音通话质量?本文教你科学的评测方法!
实现延迟低于500毫秒的1080P实时音视频直播的实践分享
移动端实时视频直播技术实践:如何做到实时秒开、流畅不卡
如何用最简单的方法测试你的实时音视频方案
技术揭秘:支持百万级粉丝互动的Facebook实时视频直播
简述实时音视频聊天中端到端加密(E2EE)的工作原理
移动端实时音视频直播技术详解(一):开篇
移动端实时音视频直播技术详解(二):采集
移动端实时音视频直播技术详解(三):处理
移动端实时音视频直播技术详解(四):编码和封装
移动端实时音视频直播技术详解(五):推流和传输
移动端实时音视频直播技术详解(六):延迟优化
理论联系实际:实现一个简单地基于HTML5的实时视频直播
IM实时音视频聊天时的回声消除技术详解
浅谈实时音视频直播中直接影响用户体验的几项关键技术指标
如何优化传输机制来实现实时音视频的超低延迟?
首次披露:快手是如何做到百万观众同场看直播仍能秒开且不卡顿的?
Android直播入门实践:动手搭建一套简单的直播系统
网易云信实时视频直播在TCP数据传输层的一些优化思路
实时音视频聊天技术分享:面向不可靠网络的抗丢包编解码器
>> 更多同类文章 ……

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

本帖已收录至以下技术专辑

推荐方案
评论 11
不错不错
签名: read the fucking source code
谢谢分享
签名: 心情好
收藏了
签名: 好想把妹!
引用:码神 发表于 2016-09-30 11:06
原来iPhone还可以这样模拟网络。。。

同感,利器啊!
原来iPhone还可以这样模拟网络。。。
签名: 家里电脑坏了,还让不让人好好撸了。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部