在 Javascript 中监控 WebRTC 视频(媒体)流质量

Posted

技术标签:

【中文标题】在 Javascript 中监控 WebRTC 视频(媒体)流质量【英文标题】:Monitor WebRTC video (media) stream quality in Javascript 【发布时间】:2014-09-22 00:20:23 【问题描述】:

我正在使用 WebRTC 在对等方之间流式传输视频,但某些客户端的网络条件变化通常会导致接收到的视频流的质量发生变化。人们将这些质量下降归咎于服务,显然我(服务)对他们的网络状况无能为力。但是显示由于客户端的网络状况导致质量下降的迹象很可能会缓解此问题。

我已经在 Google 和 *** 上搜索了一段时间,但没有看到任何与传入音频或视频流的质量检测相关的问题。有没有办法在直播期间监控质量(当前比特率或丢帧等)?

【问题讨论】:

如果他们使用 Chrome,您可以使用chrome://webrtc-internals/。我在how to read the data dump 上回答了一个类似的问题,你从那里抓取。 【参考方案1】:

如果您想以编程方式实时访问信息,您正在寻找getStats() API。 webrtc-internals 是一个单独的网页,它为您提供比 getstats 更多的信息,因为它可以访问 chrome 内部,但最终这些信息中的大部分将提供给 getstats,以便人们可以从他们的应用程序中访问它们。

【讨论】:

最近有 getStats() 的例子吗?我最近一直在玩它,但结果与预期的行为不符。 chrome 中的实现也不同于 getStats() 链接中的实现 getStats 仍在进行中,因此您暂时应该预料到规范和实现之间的差异。这是 getStats() 的官方示例:googlechrome.github.io/webrtc/samples/web/content/constraints

以上是关于在 Javascript 中监控 WebRTC 视频(媒体)流质量的主要内容,如果未能解决你的问题,请参考以下文章

流媒体服务器海康威视 大华摄像头实现视频监控直播解决方案

宇视监控云平台不能调画面

低延时/高质量/高并发视频直播技术WebRTC在安防视频监控中的应用实践

使 WebRtc 应用程序的用户能够通过 javascript 下载 webrtc 日志

VUE+webrtc-streamer实现实时视频播放(监控设备-rtsp)

WebRTC对你意味着什么