写点什么

用这个开源工具,提前为你的 WebRTC 应用排个雷(一)

  • 2019-11-30
  • 本文字数:1012 字

    阅读完需:约 3 分钟

用这个开源工具,提前为你的 WebRTC 应用排个雷(一)

这样的情况,基于 WebRTC 开发产品的你是不是也曾遇到过?


一个基于 WebRTC 的视频通话是否能成功建立起来,直接影响它的不一定是代码质量、服务端稳定性,还可能是用户端那些你难以察觉的软硬件兼容性问题,还有谜一样的用户操作。但用户却不会管那么多。他们的第一反应绝对是“你这个应用有 Bug 啊!”


我们声网的工程师们也曾一度为之困扰。直到,他们自己写了个 Troubleshooting 小工具。现在这个小工具开源了。它不仅适用于 Agora 开发者,同样适用于 WebRTC 开发者和他们的用户。

Agora WebRTC Troubleshooting

这个工具可以运行于 PC 端浏览器和手机端浏览器,可以帮助你自动检测设备浏览器是否能正常运行 WebRTC 应用。可检测的项目包括:


  • 浏览器兼容性

  • 麦克风录音是否正常

  • 扬声器播放是否正常

  • 目前设备可支持哪些分辨率

  • 网络连接及当前网络下的音视频码率、丢包率

  • 摄像头(用户可选)


测试工具地址在这里,可以给自己的浏览器做做“体检”:https://webdemo.agora.io/agora_webrtc_troubleshooting/


这个小工具使用起来很简单,可以说老少咸宜,只需要按照页面提示一步步操作即可。为了大家直观了解使用方法,我们还是录了一个 2 分钟的小视频。


如果你是基于 WebRTC 开发应用的独立开发者,可以让你的用户通过这个 Web demo 地址测试以上项目。只不过,在测试“网络连接”这一项时,该工具是测试用户端与 Agora 服务端的网络连接状态与丢包情况,仅此测试项可能会与未集成 Agora SDK 的 WebRTC 应用的实际体验不同。


如果你是 Agora 开发者,那么你还可以更进一步,可以基于源代码修改出一份适用于自己 App 的测试工具,还可以将它集成到产品中。我们已经有部分 Agora 开发者这么去做了。下面,我们简单讲解一下源代码,并告诉你如何修改。

代码原理解析

测试工具中调用了多个 Agora SDK 接口,例如通过 AgoraRTC.checkSystemRequirements 接口来检测浏览器兼容性;利用 stream.getStats 来获取网络连接状态数据;使用 stream.getAudioLevel 来检测当前的音量等。开发者也可以在自己的应用中,利用起这些接口,将相应功能加入到产品中。

浏览器兼容性

这里使用了 Agora Web SDK 的 AgoraRTC.checkSystemRequirements 接口来自动检测浏览器是否支持当前的语音、视频通话。


/** whether your browser fully supports Agora Web SDK */AgoraRTC.checkSystemRequirements(): boolean/** * some browser info got from * object `navigator` in BOM */navigator.appVersionnavigator.appName
复制代码


2019-11-30 22:381393

评论

发布
暂无评论
发现更多内容

【云原生】k8s 环境快速部署(一小时以内部署完)

Java你猿哥

Java 学习 k8s Spring Boot ssm

国产操作系统应用开发的趋势与挑战

没有用户名丶

量化交易(机器人)开发系统现货合约策略

薇電13242772558

量化策略

家电类投诉高居榜首,拿什么拯救“投诉了个寂寞”的消费者?

Openlab_cosmoplat

工业互联网 开源社区 家电

实践Pytorch中的模型剪枝方法

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜

Spring Boot 集成 Liquibase,数据库也能做版本控制!

Java你猿哥

Java spring Spring Boot java 编程

跨平台开发成为移动应用程序开发趋势

没有用户名丶

Spring源码解析-Spring 事务

Java你猿哥

Java spring Spring Boot ssm spring 源码

跟清华大佬用18个要点带你一步步学习springboot2微服务项目实战

Java你猿哥

Spring Boot 面经 校招 春招 java

虎牙SRE谈可观测:如何做到比用户和老板更早发现业务异常?

TakinTalks稳定性社区

请求响应--MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 订阅 企业号 3 月 PK 榜

从企业数据产品的演进,看指标平台发展趋势

Kyligence

数据分析 指标平台

支付宝小程序-MQTT模拟器体验阿里云IoT开发——设备接入类

阿里云AIoT

物联网

利用 ModelScope 社区开源模型,实现低资源场景下的零样本文本分类

阿里技术

深度学习 自然语言模型

功能强大的数据库管理工具:DBeaverEE 激活版

真大的脸盆

Mac 数据库管理工具 数据库管理 Mac 软件 数据库分析

国家中心城市手机银行发展洞察

易观分析

金融 经济 手机银行 城市

你值得拥有的IoT 物联网平台开发实用技巧(一)——数据价值类

阿里云AIoT

经验总结!朋友的阿里面经分享(内附题目+解析)

Java你猿哥

Java 校招 春招 阿里面经 Java八股文

设备使用HTTPS协议接入IoT物联网平台——设备接入类

阿里云AIoT

2023年浸没液冷智算产业发展高峰论坛:OPPO发布两项白皮书

安第斯智能云

创新 OPPO 论坛 高新技术

报名开启!KunlunBase今年首场线下MeetUP,期待与您的见面!

KunlunBase昆仑数据库

Meetup kunlunbase 内核技术

CTO问我如何规避MyBatis使用过程中带来的全表更新风险

Java永远的神

Java 程序员 面试 后端 mybatis

2023年3月中国数据库排行榜:开源OTO揽获前三,传统达梦、GBase触机便发

墨天轮

数据库 opengauss TiDB oceanbase 国产数据库

Refit — 让Http请求变得更简单

青柚1943

微服务 REST API NET6 Refit

中国流程挖掘迎来新“启点”,望繁信科技全面升级

ToB行业头条

Spring源码解析-Spring AOP

Java你猿哥

Java 源码 云原生 Spring Boot ssm

业务系统故障率居高不下:有哪些非常有效的治理大招?

TakinTalks稳定性社区

图片无损放大:Topaz Gigapixel AI 激活版

真大的脸盆

Mac Mac 软件 图片无损放大 图片编辑 图片放大

DSC:数仓SQL脚本迁移的神奇工具

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

用这个开源工具,提前为你的 WebRTC 应用排个雷(一)_文化 & 方法_RTE开发者社区_InfoQ精选文章