写点什么

用这个开源工具,提前为你的 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:381188

评论

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

区块链Dapp开发:质押挖矿的各模式开发

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

ai智能体是什么?这6个AI智能体软件值得推荐!

职场工具箱

人工智能 在线白板 AIGC 效率软件 AI智能体

TiDB Chat2Query 深度解析:我们如何打造一款更高效、准确的智能 SQL 生成工具?

PingCAP

sql TiDB Chat2Query

Altair HyperWorks 2025 发布:再次升级AI驱动设计与仿真能力

Altair RapidMiner

机器学习 AI 仿真 CAE hyperworks

掌握这个API,让你的网页展示效果提升10倍

沉浸式趣谈

深度解读「高盛」人形机器人最新研报:核心供应链企业和投资机会分析

机器人头条

科技 大模型 人形机器人 具身智能

Vue3 性能优化十大技巧:打造高性能应用的终极指南

不在线第一只蜗牛

JavaScript vue.js 性能优化

财务规划的变革:如何推动数据科学的转型和分析

智达方通

企业管理 财务管理 财务管控 财务规划

星环科技推出DeepSeek全场景解决方案:即开即用、企业级部署、端侧智能三位一体

星环科技

开课倒计时 | 3月1-2日,DeepSeek时代下的可观测性(Observability)认证培训

雅菲奥朗

可观测性 Observability 可观测性认证 DeepSeek

Steinberg VST Live Pro for mac (终极现场演出系统) v2.2.0激活版

小玖_苹果Mac软件

Native Instruments Massive X for Mac(原始声音合成器) v1.4.6激活版

小玖_苹果Mac软件

ISIVISI SLURP for Mac(数字合成器) v1.1.4激活版

小玖_苹果Mac软件

国产远程软件用哪家?横向对比功能和流畅度,向日葵更优

编程猫

“NGINX邮件组历史”论坛上线了

通明湖

nginx 云原生 应用引擎

星环科技无涯·问知 AI PC版接入DeepSeek,一键部署 让你的AI永不掉线

星环科技

2025年,前端攻城狮要怎么整活?

伤感汤姆布利柏

『Python底层原理』--Python属性的工作原理

不在线第一只蜗牛

Python

Arturia Analog Lab V Pro for Mac(模拟实验室) v5.11.0直装激活版

小玖_苹果Mac软件

Kazrog Avalon VT-747SP for Mac(模拟动态处理器) v1.0.5激活版

小玖_苹果Mac软件

深思考发布鸿蒙系统TinyDongni&deepseek超小端侧多模态大模型

科技热闻

AI进化的终极目标:机器是否会拥有自由意志?

天津汇柏科技有限公司

人工智能 AI

等保测评是什么?要提前准备什么?

黑龙江陆陆信息测评部

等保测评

智能工单有哪些核心功能,2025年智能工单系统发展趋势

云智慧AIOps社区

工单 工单管理 工单系统 智能工单

BOE(京东方)重磅发布ADS Pro新品 携手创维打造比OLED更好的Mini LED电视新品A5F Pro

爱极客侠

大型复杂项目管理怎么结合传统与敏捷

易成研发中心

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