MediaStreamTrackGenerator

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Kein Standard: Diese Funktion ist nicht standardisiert und befindet sich nicht im Standardisierungsprozess. Verwenden Sie sie nicht auf Produktionsseiten, die auf das Web ausgerichtet sind: Sie wird nicht für alle Benutzer funktionieren. Außerdem kann es große Inkompatibilitäten zwischen Implementierungen geben und das Verhalten kann sich in Zukunft ändern.

Die MediaStreamTrackGenerator-Schnittstelle der Insertable Streams for MediaStreamTrack API erstellt einen WritableStream, der als Quelle für einen MediaStreamTrack fungiert. Das Objekt verbraucht einen Strom von Medien-Frames als Eingabe, die entweder Audio- oder Video-Frames sein können.

Konstruktor

MediaStreamTrackGenerator() Experimentell Nicht standardisiert

Erstellt ein neues MediaStreamTrackGenerator-Objekt, das entweder VideoFrame- oder AudioData-Objekte akzeptiert.

Instanz-Eigenschaften

Diese Schnittstelle erbt auch Eigenschaften von MediaStreamTrack.

MediaStreamTrackGenerator.writable Experimentell Nicht standardisiert

Ein WritableStream.

Instanz-Methoden

Diese Schnittstelle implementiert keine spezifischen Methoden, erbt jedoch Methoden von MediaStreamTrack.

Beispiele

Das folgende Beispiel stammt aus dem Artikel Insertable streams for MediaStreamTrack und demonstriert eine Barcode-Scanner-Anwendung, die Barcodes verarbeitet und sie hervorhebt, bevor die transformierten Frames in den Writable Stream von MediaStreamTrackGenerator.writable geschrieben werden.

js
const stream = await getUserMedia({ video: true });
const videoTrack = stream.getVideoTracks()[0];

const trackProcessor = new MediaStreamTrackProcessor({ track: videoTrack });
const trackGenerator = new MediaStreamTrackGenerator({ kind: "video" });

const transformer = new TransformStream({
  async transform(videoFrame, controller) {
    const barcodes = await detectBarcodes(videoFrame);
    const newFrame = highlightBarcodes(videoFrame, barcodes);
    videoFrame.close();
    controller.enqueue(newFrame);
  },
});

trackProcessor.readable
  .pipeThrough(transformer)
  .pipeTo(trackGenerator.writable);

Spezifikationen

No specification found

No specification data found for api.MediaStreamTrackGenerator.
Check for problems with this page or contribute a missing spec_url to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Browser-Kompatibilität

BCD tables only load in the browser