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. optionsOptional-
Ein Wörterbuchobjekt, das die folgenden Eigenschaften enthalten kann:
mimeTypeOptional-
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
codecsParameter und/oder denprofilesParameter 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 einmimeTypevom User Agent unterstützt wird, indem sieMediaRecorder.isTypeSupported()aufrufen. Standardmäßig leerer String. audioBitsPerSecondOptional-
Die gewählte Bitrate für die Audiokomponente des Mediums.
videoBitsPerSecondOptional-
Die gewählte Bitrate für die Videokomponente des Mediums.
bitsPerSecondOptional-
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.
audioBitrateModeOptional-
Der Bitratenmodus, der zum Kodieren des Audios verwendet werden soll. Kann
constantsein, 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. videoKeyFrameIntervalDurationOptional-
Das nominale Zeitintervall zwischen Keyframes im kodierten Videostream. Der User Agent steuert die Generierung von Keyframes basierend auf dieser Option und der
videoKeyFrameIntervalCountOption. videoKeyFrameIntervalCountOptional-
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
NotSupportedErrorDOMException-
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
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