MediaCapabilities: encodingInfo() Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die encodingInfo()
Methode des MediaCapabilities
Interfaces gibt ein Promise zurück, das mit den getesteten Medienkonfigurationsfähigkeiten für die Kodierung von Medien erfüllt wird. Dies enthält die drei booleschen Eigenschaften supported
, smooth
und powerefficient
, die beschreiben, wie kompatibel das Gerät mit der Art des Mediums ist.
Syntax
encodingInfo(configuration)
Parameter
configuration
-
Ein Objekt mit einer
type
-Eigenschaft und entweder einervideo
- oderaudio
-Eigenschaft, die eine Konfiguration des entsprechenden Typs enthält:type
-
Der Typ des getesteten Mediums. Dies nimmt einen von zwei Werten an:
record
-
Repräsentiert eine Konfiguration für die Aufzeichnung von Medien, z.B. unter Verwendung von
MediaRecorder
. webrtc
-
Repräsentiert eine Konfiguration, die über elektronische Mittel übertragen werden soll (z.B. unter Verwendung von
RTCPeerConnection
). Hinweis: Firefox verwendettransmission
für diesen Typ, undwebrtc
funktioniert nicht. transmission
Nicht standardisiert-
Das Synonym für
webrtc
, das in Firefox verwendet werden soll.
video
-
Konfigurationsobjekt für eine Video-Medienquelle. Dies hat die folgenden Eigenschaften:
contentType
-
String, der einen gültigen Video-MIME-Typ enthält und (optional) ein
codecs
Parameter. width
-
Die Breite des Videos.
height
-
Die Höhe des Videos.
bitrate
-
Die Anzahl der Bits, die verwendet werden, um eine Sekunde der Videodatei zu kodieren.
framerate
-
Die Anzahl der Bilder, die eine Sekunde der Videowiedergabe ausmachen.
audio
-
Konfigurationsobjekt für eine Audio-Medienquelle. Dies hat die folgenden Eigenschaften:
contentType
-
String, der einen gültigen Audio-MIME-Typ enthält und (optional) ein
codecs
Parameter. channels
-
Die Anzahl der Kanäle, die von der Audiospur verwendet werden.
bitrate
-
Die Anzahl der Bits, die verwendet werden, um eine Sekunde der Audiodatei zu kodieren.
samplerate
-
Die Anzahl der Audio-Samples, die eine Sekunde der Audiodatei ausmachen.
Rückgabewert
Ein Promise
, das mit einem Objekt erfüllt wird, das drei boolesche Attribute enthält:
supported
-
true
, wenn der Medieninhalt überhaupt kodiert werden kann. Andernfalls ist esfalse
. smooth
-
true
, wenn die Wiedergabe der Medien reibungslos (von hoher Qualität) erfolgen wird. Andernfalls ist esfalse
. powerEfficient
-
true
, wenn die Wiedergabe der Medien energieeffizient erfolgen wird. Andernfalls ist esfalse
.
Browser melden eine unterstützte Medienkonfiguration als smooth
und powerEfficient
, bis Statistiken auf diesem Gerät aufgezeichnet wurden.
Alle unterstützten Audio-Codecs gelten als energieeffizient.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn die an die
encodingInfo()
Methode übergebeneconfiguration
ungültig ist, was aus einem der folgenden Gründe der Fall sein kann:- der Typ ist nicht Video oder Audio,
- der
contentType
ist kein gültiger Codec-MIME-Typ, - es gibt einen anderen Fehler in der an die Methode übergebenen Medienkonfiguration, einschließlich des Weglassens eines der
configuration
-Elemente.
Beispiele
//Create media configuration to be tested
const mediaConfig = {
type: "record", // or 'transmission'
video: {
contentType: "video/webm;codecs=vp8.0", // valid content type
width: 1920, // width of the video
height: 1080, // height of the video
bitrate: 120000, // number of bits used to encode 1s of video
framerate: 48, // number of frames making up that 1s.
},
};
// check support and performance
navigator.mediaCapabilities.encodingInfo(mediaConfig).then((result) => {
console.log(
`This configuration is ${result.supported ? "" : "not "}supported,`,
);
console.log(`${result.smooth ? "" : "not "}smooth, and`);
console.log(`${result.powerEfficient ? "" : "not "}power efficient.`);
});
Spezifikationen
Specification |
---|
Media Capabilities # ref-for-dom-mediacapabilities-encodinginfo |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
encodingInfo |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- See implementation notes.