1. Web
  2. Web-APIs
  3. RTCEncodedVideoFrame
  4. data

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.

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

Siehe auch

Help improve MDN

Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.

AltStyle によって変換されたページ (->オリジナル) /