MediaRecorder: MediaRecorder() Konstruktor

Der MediaRecorder()-Konstruktor erstellt ein neues MediaRecorder-Objekt, das einen angegebenen MediaStream aufzeichnet.

Das Objekt kann optional so konfiguriert werden, dass es mit einem bestimmten Mediencontainer (Dateityp) aufzeichnet, und es kann zusätzlich den genauen Codec und die Codec-Konfiguration(en) spezifizieren, indem der Parameter codecs angegeben wird.

Syntax

js
new MediaRecorder(stream)
new MediaRecorder(stream, options)

Parameter

stream

Der zu aufzeichnende MediaStream. Diese Quellmedien können aus einem Stream stammen, der mit navigator.mediaDevices.getUserMedia() erstellt wurde, oder aus einem <audio>, <video> oder <canvas>-Element.

options Optional

Ein Wörterbuchobjekt, das die folgenden Eigenschaften enthalten kann:

mimeType Optional

Ein MIME-Typ, der das Format für die resultierenden Medien spezifiziert; Sie können das Containerformat angeben (der Browser wählt seine bevorzugten Codecs für Audio und/oder Video aus), oder Sie können den Parameter codecs und/oder den profiles-Parameter verwenden, um detaillierte Informationen darüber bereitzustellen, welche Codecs verwendet werden sollen und wie sie zu konfigurieren sind. Anwendungen können im Voraus prüfen, ob ein mimeType vom Benutzer-Agenten unterstützt wird, indem MediaRecorder.isTypeSupported() aufgerufen wird. Standardwert ist ein Leerstring.

audioBitsPerSecond Optional

Die gewählte Bitrate für die Audiokomponente der Medien.

videoBitsPerSecond Optional

Die gewählte Bitrate für die Videokomponente der Medien.

bitsPerSecond Optional

Die gewählte Bitrate für die Audio- und Videokomponenten der Medien. Dies kann anstelle der beiden obigen Eigenschaften festgelegt werden. Wenn dies zusammen mit einer der anderen Eigenschaften angegeben wird, wird dies für die nicht angegebene Komponente verwendet.

audioBitrateMode Optional

Der Bitratenmodus, der zur Kodierung des Audios verwendet werden soll. Kann constant sein, was bedeutet, dass der Recorder mit einer konstanten Bitrate kodieren soll, oder variable, was bedeutet, dass der Recorder mit einer variablen Bitrate kodieren soll und somit mehr Platz für komplexe Signale und weniger Platz für weniger komplexe Signale verwendet werden kann. Standardwert ist variable.

videoKeyFrameIntervalDuration Optional

Das nominelle Intervall in Zeit zwischen Schlüsselbildern im kodierten Videostream. Der Benutzer-Agent steuert die Erzeugung von Schlüsselbildern basierend auf dieser Option und der Option videoKeyFrameIntervalCount.

videoKeyFrameIntervalCount Optional

Das Intervall in Anzahl der Bilder zwischen Schlüsselbildern im kodierten Videostream. Der Benutzer-Agent steuert die Erzeugung von Schlüsselbildern unter Berücksichtigung dieser Option sowie der Option videoKeyFrameIntervalDuration.

Hinweis: Wenn keine Bitratenwerte für Video und/oder Audio angegeben sind, beträgt der Standardwert für Video 2,5 Mbps, während der Standardwert für Audio adaptiv ist, abhängig von der Abtastrate und der Anzahl der Kanäle.

Hinweis: Videoauflösung, Bildrate und ähnliche Einstellungen werden als Einschränkungen beim Aufruf von getUserMedia() angegeben, nicht hier in der MediaStream Recording API.

Ausnahmen

NotSupportedError DOMException

Wird ausgelöst, wenn der angegebene MIME-Typ vom Benutzer-Agenten nicht unterstützt wird.

Beispiele

Dieses Beispiel zeigt, wie ein Media-Recorder für einen angegebenen Stream erstellt wird, dessen Audio-Bitrate auf 128 Kbit/s und dessen Video-Bitrate auf 2,5 Mbit/s festgelegt ist. Die aufgezeichneten Mediadaten werden in einem MP4-Wrapper gespeichert (wenn Sie also die Mediadaten sammeln und auf der Festplatte speichern, werden sie in einer MP4-Datei sein).

js
if (navigator.mediaDevices.getUserMedia) {
  const constraints = { audio: true, video: true };
  const chunks = [];

  const onSuccess = (stream) => {
    const options = {
      audioBitsPerSecond: 128000,
      videoBitsPerSecond: 2500000,
      mimeType: "video/mp4",
    };
    const mediaRecorder = new MediaRecorder(stream, options);
    m = mediaRecorder;

    // …
  };
}

Spezifikationen

Specification
MediaStream Recording
# dom-mediarecorder-mediarecorder

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch