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
new MediaRecorder(stream)
new MediaRecorder(stream, options)
Parameter
stream
-
Der
MediaStream
, der aufgezeichnet werden soll. Diese Quellmedien können von einem Stream stammen, der mitnavigator.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 denprofiles
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 einmimeType
vom User Agent unterstützt wird, indem sieMediaRecorder.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, odervariable
, 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äßigvariable
. 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).
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
Loading…
Siehe auch
- Verwendung der MediaStream Recording API
- Web Dictaphone: MediaRecorder + getUserMedia + Web Audio API Visualisierungs-Demo, von Chris Mills (Quelle auf GitHub.)
- simpl.info MediaStream Recording Demo, von Sam Dutton.
MediaDevices.getUserMedia