MediaRecorder: MediaRecorder() Konstruktor
Der MediaRecorder()
Konstruktor erstellt ein neues MediaRecorder
-Objekt, das einen angegebenen MediaStream
aufnehmen wird.
Das Objekt kann optional so konfiguriert werden, dass es ein spezifisches Mediencontainerformat (Dateityp) verwendet und kann darüber hinaus den genauen Codec und die Codec-Konfiguration(en) durch die Angabe des Parameters codecs
spezifizieren.
Syntax
new MediaRecorder(stream)
new MediaRecorder(stream, options)
Parameter
stream
-
Der
MediaStream
, der aufgenommen wird. Diese Quellmedien können von einem Stream stammen, der mitnavigator.mediaDevices.getUserMedia()
erstellt wurde, oder aus einem<audio>
,<video>
oder<canvas>
-Element. options
Optional-
Ein Wörterbuch-Objekt, das die folgenden Eigenschaften enthalten kann:
mimeType
Optional-
Ein MIME-Typ, der das Format für das resultierende Medium festlegt; Sie können das Containerformat angeben (der Browser wählt seine bevorzugten Codecs für Audio und/oder Video), oder Sie können den Parameter
codecs
verwenden und/oder den Parameterprofiles
, um detaillierte Informationen darüber zu geben, welche Codecs verwendet und wie sie konfiguriert werden sollen. Anwendungen können im Voraus prüfen, ob einmimeType
vom User-Agent unterstützt wird, indem sieMediaRecorder.isTypeSupported()
aufrufen. Standardmäßig ein 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. Dies kann anstelle der beiden obigen Eigenschaften angegeben werden. Wenn dies zusammen mit einer oder beiden der obigen Eigenschaften angegeben wird, wird dies 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, odervariable
, was bedeutet, dass der Rekorder mit einer variablen Bitrate kodiert, wodurch mehr Platz für komplexe Signale und weniger Platz für weniger komplexe Signale genutzt werden kann. Standardmäßigvariable
. videoKeyFrameIntervalDuration
Optional-
Das nominale Intervall in der Zeit zwischen Key-Frames im kodierten Video-Stream. Der User-Agent steuert die Key-Frame-Generierung basierend auf dieser Option und der Option
videoKeyFrameIntervalCount
. videoKeyFrameIntervalCount
Optional-
Das Intervall in der Anzahl der Frames zwischen Key-Frames im kodierten Video-Stream. Der User-Agent steuert die Key-Frame-Generierung unter Berücksichtigung dieser Option sowie der Option
videoKeyFrameIntervalDuration
.
Hinweis: Wenn keine Bits-per-Second-Werte für Video und/oder Audio angegeben sind, beträgt der Standardwert für Video 2,5 Mbit/s, während der Standardwert für Audio je nach Abtastrate und Anzahl der Kanäle adaptiv ist.
Hinweis: Videoauflösung, Bildrate und ähnliche Einstellungen werden als Einschränkungen angegeben, 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 ein Medienrekorder 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 Mediendaten werden in einem MP4-Container gespeichert (wenn Sie die Mediendatenstücke sammeln und auf Festplatte speichern, befinden sie sich in einer MP4-Datei).
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
- Verwendung der MediaStream Recording API
- Web Dictaphone: MediaRecorder + getUserMedia + Web Audio API Visualisierungs-Demo von Chris Mills (Quellcode auf GitHub.)
- simpl.info MediaStream Recording Demo von Sam Dutton.
MediaDevices.getUserMedia