MediaRecorder: MediaRecorder() Konstruktor
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2021 browserübergreifend verfügbar.
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 bestimmten Mediencontainers (Dateityps) aufzeichnet und es kann weiter spezifizieren, welcher Codec und welche Codec-Konfiguration(en) verwendet werden sollen, indem der codecs-Parameter angegeben wird.
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örterbuch-Objekt, das die folgenden Eigenschaften enthalten kann:
mimeTypeOptional-
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
codecs-Parameter und/oder denprofiles-Parameter verwenden, um detaillierte Informationen darüber zu liefern, 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 leer. audioBitsPerSecondOptional-
Die gewählte Bitrate für die Audiokomponente der Medien.
videoBitsPerSecondOptional-
Die gewählte Bitrate für die Videokomponente der Medien.
bitsPerSecondOptional-
Die gewählte Bitrate für die Audio- und Videokomponenten der Medien. Dies kann anstelle der obigen beiden Eigenschaften angegeben werden. Wenn dies zusammen mit einer der obigen Eigenschaften angegeben wird, wird dies für die nicht spezifizierte Eigenschaft verwendet.
audioBitrateModeOptional-
Der Bitratenmodus, der zum Codieren des Audios verwendet werden soll. Kann
constantsein, was angibt, dass der Rekorder mit einer konstanten Bitrate codieren soll, odervariable, was angibt, dass der Rekorder mit einer variablen Bitrate codieren soll, um so mehr Platz für komplexe Signale und weniger Platz für weniger komplexe Signale zu verwenden. Standard istvariable. videoKeyFrameIntervalDurationOptional-
Das nominale Zeitintervall zwischen Keyframes im codierten Videostream. Der User-Agent steuert die Keyframe-Erzeugung basierend auf dieser Option und der
videoKeyFrameIntervalCountOption. videoKeyFrameIntervalCountOptional-
Das Intervall in der Anzahl der Frames zwischen Keyframes im codierten Videostream. Der User-Agent steuert die Keyframe-Erzeugung unter Berücksichtigung dieser Option sowie der
videoKeyFrameIntervalDurationOption.
Hinweis: Wenn keine Bitraten für Video und/oder Audio angegeben sind, wird standardmäßig für Video 2,5 Mbps oder 10 Mbps angenommen, je nach Browser. Der Audio-Standard ist adaptiv, 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
NotSupportedErrorDOMException-
Ausgelöst, wenn der angegebene MIME-Typ vom User-Agent nicht unterstützt wird.
Beispiele
Dieses Beispiel zeigt, wie man einen Medienrekorder für einen angegebenen Stream erstellt, dessen Audio-Bitrate auf 128 Kbit/s und dessen Video-Bitrate auf 2,5 Mbit/s eingestellt ist. Die aufgezeichneten Mediendaten werden in einem MP4-Container gespeichert (wenn Sie die Medien-Datenblöcke 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
| Spezifikation |
|---|
| MediaStream Recording> # dom-mediarecorder-mediarecorder> |
Browser-Kompatibilität
Siehe auch
- Verwendung der MediaStream Recording API
- Web-Diktiergerät: MediaRecorder + getUserMedia + Web Audio API Visualisierungs-Demo, von Chris Mills (Quelle auf GitHub.)
- simpl.info MediaStream Recording Demo, von Sam Dutton.
MediaDevices.getUserMedia- MediaRecorder Video Bitrates