如何在Safari浏览器上获取WebRTC日志

22

我一直在尝试获取在Safari浏览器上运行的Web应用程序的webrtc日志,类似于我们在Firefox中通过访问页面about:webrtc和在Chrome中使用chrome://webrtc-internals所得到的内容。

或者,是否有JS API可以使webrtc在控制台本身上记录日志,类似于我们在使用RTCLogger的本机Android和iOS应用程序中使用的内容。

提前感谢。


我有同样的问题。我们可以看到Android和iOS的日志,但在Web上却不能。 - Yang Peiyong
3
寻找相同的日志,如果你发现了什么,请告诉我们。 - Humoyun Ahmad
Aagman,请检查下面的解决方案。 - mgyky
3个回答

2
在 Safari 版本 15.4 (17613.1.17.1.13) 上,可以通过以下方式获取有用的信息:
  • 偏好设置... -> 高级 中,确保启用了 在菜单栏中显示“开发”菜单
  • 在“开发”菜单的设置中,选择 控制台 选项卡,然后确保 WebRTC 日志记录 不是 关闭(因此选择 基本详细)。
此时,控制台将显示 WebRTC 事件和数据结构。
例如:

enter image description here


在 Safari 16.4 中,开发菜单下没有 控制台 选项卡,也没有任何设置。 - user93114

2

解决方案

如果您打开Safari并打开控制台应用程序,可以使用以下过滤器过滤WebRTC日志:

  • 类别:WebRTC
  • 进程:safari(可选)

只需将它们逐个复制粘贴到控制台应用程序的搜索栏中即可。实际上,第二个是可选的(进程:safari)。

我不确定其他内容,但至少您可以看到:

  • SDP提供和回答
  • ICE候选者
  • WebRTC统计信息
  • 传入和传出视频帧计数器

趣闻

根据WebRTC的官方文档,您无法在Safari上查看日志:)

有用信息

  • 您知道Safari中有一个WebRTC菜单。检查开发 > WebRTC子菜单
  • 检查Safari技术预览应用程序以获取更多选项和标志
  • 如果您没有以管理员身份登录,则需要输入管理员名称和密码来搜索和查看日志消息。

是否有其他需要启用的Safari选项,以使这些功能正常工作?按照说明操作,我没有看到任何WebRTC日志(例如ICE候选者等)。 - logidelic

0
首先,按照以下步骤启用 Safari > 设置 > 高级 > 在菜单栏中显示“开发”菜单

然后,点击 Safari > Develop > Show JavaScript Console 如下所示:

接下来,点击“设置”图标,选择“控制台”选项卡,将“WebRTC 日志记录”设置为“基本”,如下所示:

回到JavaScript控制台,有WebRTC日志,如下所示:

在Safari 16.6上进行测试


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接