Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

MediaRecorder: MediaRecorder() Konstruktor

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨April 2021⁩.

Der MediaRecorder() Konstruktor erstellt ein neues MediaRecorder Objekt, das einen angegebenen MediaStream aufzeichnen wird.

Das Objekt kann optional so konfiguriert werden, dass es unter Verwendung eines spezifischen Media-Containers (Dateityps) aufzeichnet und des Weiteren den genauen Codec und die Codec-Konfiguration(en) durch Angabe des codecs Parameters spezifizieren kann.

Syntax

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

Parameter

stream

Der MediaStream, der aufgezeichnet werden soll. Diese Quellmedien können von einem Stream stammen, der mit navigator.mediaDevices.getUserMedia() erstellt wurde, oder von 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 das resultierende Medium angibt; Sie können das Containerformat angeben (der Browser wählt seine bevorzugten Codecs für Audio und/oder Video), oder Sie können den codecs Parameter und/oder den profiles Parameter verwenden, um detaillierte Informationen darüber zu geben, welche Codecs verwendet werden sollen und wie sie zu konfigurieren sind. Anwendungen können im Voraus prüfen, ob ein mimeType vom User Agent unterstützt wird, indem sie MediaRecorder.isTypeSupported() aufrufen. Standardmäßig leerer String.

audioBitsPerSecond Optional

Die gewählte Bitrate für die Audiokomponente des Mediums.

videoBitsPerSecond Optional

Die gewählte Bitrate für die Videokomponente des Mediums.

bitsPerSecond Optional

Die gewählte Bitrate für die Audio- und Videokomponenten des Mediums. Diese kann anstelle der beiden oben genannten Eigenschaften angegeben werden. Falls diese zusammen mit einer oder beiden der oben genannten Eigenschaften angegeben wird, wird sie für diejenige verwendet, die nicht angegeben ist.

audioBitrateMode Optional

Der Bitratenmodus, der zum Kodieren des Audios verwendet werden soll. Kann constant sein, was bedeutet, dass der Rekorder mit einer konstanten Bitrate kodieren soll, oder variable, was bedeutet, dass der Rekorder eine variable Bitrate verwenden soll, um so komplexen Signalen mehr Platz zu geben und weniger komplexen Signalen weniger Platz. Standardmäßig variable.

videoKeyFrameIntervalDuration Optional

Das nominale Zeitintervall zwischen Keyframes im kodierten Videostream. Der User Agent steuert die Generierung von Keyframes basierend auf dieser Option und der videoKeyFrameIntervalCount Option.

videoKeyFrameIntervalCount Optional

Das Intervall in der Anzahl der Frames zwischen Keyframes im kodierten Videostream. Der User Agent steuert die Generierung von Keyframes unter Berücksichtigung dieser Option sowie der Option videoKeyFrameIntervalDuration.

Hinweis: Wenn Bitratenwerte für Video und/oder Audio nicht angegeben sind, beträgt die Standardbitrate für Video 2,5 Mbit/s, während die Standardbitrate für Audio je nach Abtastrate und der Anzahl der Kanäle adaptiv ist.

Hinweis: Videoauflösung, Bildrate und ähnliche Einstellungen werden als Einschränkungen festgelegt, wenn getUserMedia() aufgerufen wird, nicht hier in der MediaStream Recording API.

Ausnahmen

NotSupportedError DOMException

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

Beispiele

Dieses Beispiel zeigt, wie man einen Media Recorder für einen angegebenen Stream erstellt, dessen Audio-Bitrate auf 128 Kbit/s und dessen Video-Bitrate auf 2,5 Mbit/s festgelegt ist. Die aufgezeichneten Mediendaten werden in einer MP4-Hülle gespeichert (wenn Sie die Teile der Mediendaten sammeln und auf die 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

Siehe auch