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 April 2022.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die encodingInfo()-Methode der MediaCapabilities-Schnittstelle gibt ein Promise zurück, das sich mit den getesteten Medienkonfigurationen für das Encodieren von Medien erfüllt. 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

js
encodingInfo(configuration)

Parameter

configuration

Ein Objekt mit einer Eigenschaft type und entweder einer video- oder audio-Eigenschaft, die eine Konfiguration des entsprechenden Typs enthält:

type

Der Typ des getesteten Mediums. Dies nimmt einen der beiden Werte an:

record

Repräsentiert eine Konfiguration für die Aufnahme von Medien, z. B. unter Verwendung von MediaRecorder.

webrtc

Repräsentiert eine Konfiguration, die zur elektronischen Übertragung gedacht ist (z. B. unter Verwendung von RTCPeerConnection). Hinweis: Firefox verwendet transmission für diesen Typ und webrtc funktioniert nicht.

transmission Nicht standardisiert

Das Synonym für webrtc, das in Firefox verwendet werden soll.

video

Konfigurationsobjekt für eine Videomedienquelle. Dieses hat die folgenden Eigenschaften:

contentType

Zeichenfolge, die einen gültigen Video-MIME-Typ und (optional) einen codecs-Parameter enthält.

width

Die Breite des Videos.

height

Die Höhe des Videos.

bitrate

Die Anzahl der Bits, die zum Encodieren einer Sekunde der Videodatei verwendet werden.

framerate

Die Anzahl der Frames, die eine Sekunde der Videowiedergabe ausmachen.

audio

Konfigurationsobjekt für eine Audiomedienquelle. Dieses hat die folgenden Eigenschaften:

contentType

Zeichenfolge, die einen gültigen Audio-MIME-Typ und (optional) einen codecs-Parameter enthält.

channels

Die Anzahl der Kanäle, die von der Audiospur verwendet werden.

bitrate

Die Anzahl der Bits, die zum Encodieren einer Sekunde der Audiodatei verwendet werden.

samplerate

Die Anzahl der Audio-Samples, die eine Sekunde der Audiodatei ausmachen.

Rückgabewert

Ein Promise, das sich mit einem Objekt erfüllt, das drei boolesche Attribute enthält:

supported

true, wenn der Medieninhalt überhaupt encodiert werden kann. Andernfalls ist es false.

smooth

true, wenn die Wiedergabe des Mediums reibungslos (hoher Qualität) ist. Andernfalls ist es false.

powerEfficient

true, wenn die Wiedergabe des Mediums energieeffizient ist. Andernfalls ist es false.

Browser melden eine unterstützte Medienkonfiguration als smooth und powerEfficient, bis Statistiken auf diesem Gerät aufgezeichnet wurden. Alle unterstützten Audio-Codecs werden als energieeffizient gemeldet.

Ausnahmen

TypeError

Ausgelöst, wenn die an die encodingInfo()-Methode übergebene configuration ungültig ist, was aus einem der folgenden Gründe der Fall sein kann:

  • der Typ ist weder Video noch 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 Auslassens eines der configuration-Elemente.

Beispiele

js
// 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

Siehe auch