RTCEncodedVideoFrame: свойство type
Примечание: Эта функция доступна в Специализированных веб-воркерах.
Чтение только свойство type интерфейса RTCEncodedVideoFrame указывает, является ли этот кадр ключевым кадром, кадром-изменением или пустым кадром.
Значение
Тип может иметь одно из следующих значений:
key-
Это "ключевой кадр", который содержит всю информацию, необходимую для отрисовки изображения. Он может быть декодирован без ссылки на другие кадры.
delta-
Это "кадр-изменение", который содержит изменения в изображении относительно предыдущего кадра. Кадр нельзя декодировать без доступа к кадру(ам), на который он ссылается.
empty-
Этот кадр не содержит данных. Это значение неожиданно и может указывать на то, что преобразование хранит ссылку на кадры после их преобразования и передачи в
RTCRtpScriptTransformer.writable(после передачи обратно в главную нить WebRTC-потока, объект кадра со стороны воркера не будет содержать данных).
Примеры
Реализация функции transform() в WebRTC кодированном преобразовании может анализировать значение type и изменять код преобразования в зависимости от того, обрабатывается ли ключевой кадр или кадр-изменение:
const transformer = new TransformStream({
transform: async (encodedFrame, controller) => {
if (encodedFrame.type === "key") {
// Apply key frame transformation
} else if (encodedFrame.type === "delta") {
// Apply delta frame transformation
} else {
// Empty
// Check transform is not holding reference to frames after processing!
}
controller.enqueue(encodedFrame);
},
});
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
type |
86 | 86 | 117 | 72 | 15.4 | 86 | 117 | 61 | 15.4 | 14.0 | 86 |
См. также
© 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/RTCEncodedVideoFrame/type