VideoPlaybackQuality: свойство totalVideoFrames
Базовая Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она поддерживается браузерами с февраля 2020 года.
Интерфейс VideoPlaybackQuality с помощью totalVideoFrames только для чтения возвращает общее количество видеокадров, которые были отображены или пропущены с момента загрузки медиаданных.
Значение
Общее количество кадров, которые элемент <video> отобразил или пропустил с момента загрузки медиа в него. По существу, это количество кадров, которое элемент должен был отобразить, если бы не возникло проблем.
Это значение сбрасывается при повторной загрузке или замене медиа.
Примеры
В этом примере вызывается getVideoPlaybackQuality() для получения объекта VideoPlaybackQuality, а затем определяется, какой процент кадров был потерян из-за повреждения или пропуска. Если этот процент превышает 10% (0,1), вызывается функция lostFramesThresholdExceeded(), которая, возможно, обновит индикатор качества, чтобы показать увеличение потерь кадров.
const videoElem = document.getElementById("my_vid");
const quality = videoElem.getVideoPlaybackQuality();
if (
(quality.corruptedVideoFrames + quality.droppedVideoFrames) /
quality.totalVideoFrames >
0.1
) {
lostFramesThresholdExceeded();
}
Аналогичный алгоритм может быть использован для переключения на видео с более низким разрешением, которое требует меньше пропускной способности, чтобы избежать пропуска кадров.
Спецификации
Совместимость браузеров
| Десктопные | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
totalVideoFrames |
23 | 12 | 42 | 15 | 8 | 25 | 42 | 14 | 12.2 | 1.5 | 4.4.3 |
См. также
- Метод
HTMLVideoElement.getVideoPlaybackQuality()для построения и возвращения этого интерфейса.
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/VideoPlaybackQuality/totalVideoFrames