MediaStreamTrackGenerator

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Hinweis: Ziehen Sie in Betracht, stattdessen VideoTrackGenerator zu verwenden.

Das MediaStreamTrackGenerator-Interface der Insertable Streams for MediaStreamTrack API erstellt einen WritableStream, der als Quelle für einen MediaStreamTrack dient. Das Objekt verbraucht einen Stream von Medienrahmen als Eingabe, die Audio- oder Videorahmen sein können.

Konstruktor

MediaStreamTrackGenerator() Experimentell Nicht standardisiert

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

Instanz-Eigenschaften

Dieses Interface erbt auch Eigenschaften von MediaStreamTrack.

MediaStreamTrackGenerator.writable Experimentell Nicht standardisiert

Ein WritableStream.

Instanz-Methoden

Dieses Interface 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 sie die transformierten Rahmen in den beschreibbaren Stream von MediaStreamTrackGenerator.writable schreibt.

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);

Siehe auch

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