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 und befindet sich nicht auf dem Weg zur Standardisierung. Verwenden Sie sie nicht auf Produktionsseiten, die dem Web ausgesetzt sind: Sie funktioniert nicht für alle Benutzer. Es kann auch 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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
MediaStreamTrackGenerator
ExperimentalNon-standard
MediaStreamTrackGenerator() constructor
ExperimentalNon-standard
writable
ExperimentalNon-standard

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
Non-standard. Check cross-browser support before using.