Media Capabilities API
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die Media Capabilities API ermöglicht es Entwicklern, die Dekodierungs- und Kodierungsfähigkeiten des Geräts zu ermitteln. Sie bietet Informationen darüber, ob Medien unterstützt werden und ob die Wiedergabe flüssig und energieeffizient sein sollte, mit Echtzeitrückmeldungen zur Wiedergabe, um adaptives Streaming besser zu ermöglichen, sowie Zugriff auf Anzeigeeigenschafteninformationen.
Konzepte
Es gibt eine Vielzahl von Video- und Audiocodecs. Verschiedene Browser unterstützen unterschiedliche Medientypen, und es werden ständig neue Medientypen entwickelt. Mit der Media Capabilities API können Entwickler sicherstellen, dass jeder Benutzer die beste Bitrate und Speicherersparnis für den jeweiligen Browser, das Gerät und das Betriebssystem erhält.
Ob ein Gerät Hardware- oder Software-Dekodierung verwendet, beeinflusst, wie flüssig und energieeffizient die Videodekodierung ist und wie effizient die Wiedergabe sein wird. Die Media Capabilities API ermöglicht es, festzustellen, welche Codecs unterstützt werden und wie leistungsfähig eine Mediendatei sowohl in Bezug auf Flüssigkeit als auch Energieeffizienz sein wird.
Die Media Capabilities API bietet leistungsstärkere Funktionen als beispielsweise MediaRecorder.isTypeSupported()
oder HTMLMediaElement.canPlayType()
, die nur die allgemeine Browserunterstützung ansprechen, nicht jedoch die Leistung. Die API bietet zudem Möglichkeiten, auf Anzeigeeigenschaften wie unterstützten Farbumfang (Gamut), Dynamikumfangsfähigkeiten und Echtzeitrückmeldungen zur Wiedergabe zuzugreifen.
Um Unterstützung, Flüssigkeit und Energieeffizienz für die Kodierung und Dekodierung von Video- oder Audioinhalten zu testen, verwenden Sie die Methoden encodingInfo()
und decodingInfo()
der MediaCapabilities
Schnittstelle.
Informationen über Medienfähigkeiten ermöglichen es Webseiten, adaptives Streaming zu aktivieren, um die Inhaltsqualität basierend auf der tatsächlich wahrgenommenen Benutzerqualität anzupassen und in Echtzeit auf einen Anstieg der CPU/GPU-Nutzung zu reagieren.
Schnittstellen
MediaCapabilities
-
Bietet Informationen über die Dekodierungsfähigkeiten des Geräts, Systems und Browsers basierend auf Codecs, Profilen, Auflösung und Bitraten. Die Informationen können verwendet werden, um dem Benutzer optimale Medienstreams bereitzustellen und zu bestimmen, ob die Wiedergabe flüssig und energieeffizient sein sollte.
Erweiterungen zu anderen Schnittstellen
-
Ein
MediaCapabilities
Objekt, das Informationen über die Dekodierungs- und Kodierungsfähigkeiten für ein bestimmtes Medienformat und die Ausgabefähigkeiten bereitstellen kann. -
Ein
MediaCapabilities
Objekt, das Informationen über die Dekodierungs- und Kodierungsfähigkeiten für ein bestimmtes Medienformat und die Ausgabefähigkeiten bereitstellen kann.
Beispiele
Unterstützung und erwartete Leistung einer Audiodatei erkennen
Dieses Beispiel definiert eine Audiokonfiguration und prüft dann, ob der User Agent in der Lage ist, diese Medienkonfiguration zu dekodieren und ob die Leistung in Bezug auf Flüssigkeit und Energieeffizienz gut sein wird.
if ("mediaCapabilities" in navigator) {
const audioFileConfiguration = {
type: "file",
audio: {
contentType: "audio/mp3",
channels: 2,
bitrate: 132700,
samplerate: 5200,
},
};
navigator.mediaCapabilities
.decodingInfo(audioFileConfiguration)
.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.`);
})
.catch(() => {
console.log(`decodingInfo error: ${contentType}`);
});
}
Spezifikationen
Specification |
---|
Media Capabilities # media-capabilities-interface |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Die Methode canPlayType() des HTMLMediaElement
- Die Methode isTypeSupported() des MediaSource
- Die Verwendung der Media Capabilities API