【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

评论

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

AudioTracker实用封装

Changing Lin

8月日更

图分析在吴亦凡事件中的应用场景

6979阿强

图算法 图计算 GraphScope 吴亦凡 一站式图计算平台

LeetCode题解:173. 二叉搜索树迭代器,递归,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

高亮的架构毕业总结

高亮

架构训练营

1个月学会Java开发!2021年最新Java面试点梳理

策划Java工程师

Java 程序员 后端

鸿蒙内核之内存调测:动态内存池信息统计

华为云开发者联盟

鸿蒙 内存 动态内存池 内存信息

万字深入HarmonyOS ACE UI框架解析,带你看懂UI渲染流程

科技汇

面试官:你说说一条查询SQL的执行过程

艾小仙

高防云服务器 VS 云服务器

九河云安全

译文 | 四种产品经理成长框架,你是哪一种?

LigaAI

产品经理 产品管理 PM

Springboot 配置文件、隐私数据脱敏的最佳实践(原理+源码)

程序员小富

Java springboot 数据安全 数据脱敏

架构学习总结

c

架构实战营

kafka SpringBoot

Rubble

kafka springboot 8月日更

鬼知道我这一年是怎么过来的?Java 开发从二面被拒到收割阿里架构 offer!

Java 编程 面试 IT 计算机

重磅 | 用友《数字化中台》震撼上市!数智化转型和商业创新实践的企业级经验!

博文视点Broadview

【LeetCode】加一Java题解

Albert

算法 LeetCode 8月日更

Cocos Creator v3.2 正式支持 HarmonyOS 多设备协同能力

科技汇

阿里P8架构师又传喜讯!最新产出 Java 架构师 1575 道“完美圣经”,汇总十家互联网大厂面试题!

Java 编程 IT 计算机 知识

分布式性能测试框架用例方案设想(二)

FunTester

分布式 性能测试 接口测试 测试框架 测试开发

基于docker的分布式性能测试框架功能验证(二)

FunTester

分布式 性能测试 接口测试 测试框架 测试开发

PostgreSQL 中如何控制行级安全和列级安全

Qunar技术沙龙

sql postgresql 运维 安全 权限

Lucene 倒排索引原理

Qunar技术沙龙

数据库 全文检索 lucene 倒排索引 搜索

应对极端天气,百度智能云推出城市内涝智能监测预警系统

科技热闻

2021Java春招面试真题:记一次蚂蚁金服Java研发岗的面试经历

策划Java工程师

Java 程序员 后端

2021 年最全Java架构面试点+技术点标准手册:完全对准一线大厂,猛攻!

Java 编程 面试 IT 计算机

百度爱番番移动端网页秒开实践

百度Geek说

大前端 优化 网页加速 移动端

【Vue2.x 源码学习】第二十四篇 - 异步更新流程

Brave

源码 vue2 8月日更

知道ThreadLocal吗?一起聊聊到底有啥用

华为云开发者联盟

Java 架构 线程 ThreadLocal 链路

科技融合:Hightopo受邀参加厦门公安科技活动周

一只数据鲸鱼

数据可视化 智慧公安 智能化 安全态势

高防服务器选择注意的三大方面

九河云安全

香港服务器流量选择,该如何选择?高防服务器租用防御多少G合适呢?

九河云安全

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