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
new MediaRecorder(stream)
new MediaRecorder(stream, options)
Parameter
stream
-
Der zu aufzeichnende
MediaStream
. Diese Quellmedien können aus einem Stream stammen, der mitnavigator.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 denprofiles
-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 einmimeType
vom Benutzer-Agenten unterstützt wird, indemMediaRecorder.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, odervariable
, 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 istvariable
. 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).
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
- Verwendung der MediaStream Recording API
- Web Diktiergerät: MediaRecorder + getUserMedia + Web Audio API Visualisierungsdemo, von Chris Mills (Quellcode auf GitHub.)
- simpl.info MediaStream Recording Demo, von Sam Dutton.
MediaDevices.getUserMedia