← 返回首页
RTCEncodedVideoFrame: data-Eigenschaft - Web-APIs | MDN

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

RTCEncodedVideoFrame: data-Eigenschaft

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit August 2023 browserübergreifend verfügbar.

Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.

Die data-Eigenschaft des RTCEncodedVideoFrame-Interfaces gibt einen Puffer zurück, der die Frame-Daten enthält.

In diesem Artikel

Wert

Ein ArrayBuffer.

Beispiele

Dieses Beispiel WebRTC encoded transform zeigt, wie Sie die Frame-Daten in einer transform()-Funktion eines TransformStream abrufen und alle Bits negieren könnten.

Die transform()-Funktion erstellt eine DataView auf dem Puffer in der Frame-data-Eigenschaft und erstellt auch eine Ansicht auf einem neuen ArrayBuffer. Dann schreibt sie die invertierten Bytes in den ursprünglichen Daten in den neuen Puffer, weist den Puffer der codierten Frame-data-Eigenschaft zu und reiht das modifizierte Frame in den Stream ein.

js
addEventListener("rtctransform", (event) => { const transform = new TransformStream({ async transform(encodedFrame, controller) { // Reconstruct the original frame. const view = new DataView(encodedFrame.data); // Construct a new buffer const newData = new ArrayBuffer(encodedFrame.data.byteLength); const newView = new DataView(newData); // Negate all bits in the incoming frame for (let i = 0; i < encodedFrame.data.byteLength; ++i) { newView.setInt8(i, ~view.getInt8(i)); } encodedFrame.data = newData; controller.enqueue(encodedFrame); }, }); event.transformer.readable .pipeThrough(transform) .pipeTo(event.transformer.writable); });

Beachten Sie, dass der hier gezeigte umgebende Code in Using WebRTC Encoded Transforms beschrieben wird.

Spezifikationen

Spezifikation
WebRTC Encoded Transform
# dom-rtcencodedvideoframe-data

Browser-Kompatibilität

JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.

Siehe auch