Medien-Codecs
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Ab Android 10 (API-Level 29) und höher gibt es Methoden in MediaCodecInfo
, die weitere Informationen zu einem Codec liefern:
isSoftwareOnly()
- Gibt „true“ zurück, wenn der Codec nur in Software ausgeführt wird. Software-Codecs bieten keine Garantie für die Rendering-Leistung.
isHardwareAccelerated()
- Gibt „true“ zurück, wenn ein Codec durch Hardware beschleunigt wird.
isVendor()
- Gibt „true“ zurück, wenn der Codec vom Geräteanbieter bereitgestellt wird, und „false“, wenn er von der Android-Plattform bereitgestellt wird.
isAlias()
MediaCodecList
kann zusätzliche Einträge für denselben zugrunde liegenden Codec mit einem alternativen Codec-Namen (Alias) enthalten. Diese Methode gibt „true“ zurück, wenn der Codec in diesem Eintrag ein Alias für einen anderen Codec ist.
Außerdem gibt MediaCodec.getCanonicalName()
den zugrunde liegenden Codec-Namen für Codecs zurück, die über einen Alias erstellt wurden.
Ein Leistungspunkt gibt an, wie gut ein Codec Videos mit einer bestimmten Höhe, Breite und Framerate rendern kann. Der Leistungspunkt UHD_60
steht beispielsweise für Ultra High Definition-Video (3.840 × 2.160 Pixel), das mit 60 Bildern pro Sekunde gerendert wird.
Die Methode
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
gibt eine Liste von
PerformancePoint
-Einträgen zurück, die der Codec rendern oder erfassen kann.
Sie können prüfen, ob ein bestimmtes PerformancePoint
ein anderes abdeckt, indem Sie PerformancePoint.covers(PerformancePoint)
aufrufen.
Beispiel: UHD_60.covers(UHD_50)
gibt „true“ zurück.
Für alle hardwarebeschleunigten Codecs ist eine Liste mit Leistungspunkten verfügbar.
Dies kann eine leere Liste sein, wenn der Codec nicht einmal den niedrigsten Standardleistungs-Punkt erfüllt.
Hinweis: Auf Geräten, die auf Android 10 (API-Level 29) und höher aktualisiert wurden, ohne dass das Anbieterimage aktualisiert wurde, sind keine Daten zu Leistungspunkten verfügbar, da diese Daten aus dem Anbieter-HAL stammen. In diesem Fall gibt getSupportedPerformancePoints()
„null“ zurück.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-08-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-27 (UTC)."],[],[],null,["Beginning with Android 10 (API level 29) and higher, there are methods in\n[`MediaCodecInfo`](/reference/android/media/MediaCodecInfo) that\nreveal more information about a codec:\n\n[`isSoftwareOnly()`](/reference/android/media/MediaCodecInfo#isSoftwareOnly)\n: Returns true if the codec runs in software only. Software codecs make no\n guarantees about rendering performance.\n\n[`isHardwareAccelerated()`](/reference/android/media/MediaCodecInfo#isHardwareAccelerated)\n: Returns true if a codec is accelerated by hardware.\n\n[`isVendor()`](/reference/android/media/MediaCodecInfo#isVendor)\n: Returns true if the codec is provided by the device vendor or false if provided\n by the Android platform.\n\n[`isAlias()`](/reference/android/media/MediaCodecInfo#isAlias)\n: `MediaCodecList` may contain additional entries for the same underlying codec\n using an alternate codec name/s (alias/es). This method returns true if the\n codec in this entry is an alias for another codec.\n\nIn addition,\n[`MediaCodec.getCanonicalName()`](/reference/android/media/MediaCodecInfo#getCanonicalName)\nreturns the underlying codec name for codecs created via an alias.\n\nPerformance Points\n\nA *performance point* represents a codec's ability to render video at a specific\nheight, width and frame rate. For example, the `UHD_60` performance point\nrepresents Ultra High Definition video (3840x2160 pixels) rendered at 60 frames\nper second.\n\nThe method\n[`MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()`](/reference/android/media/MediaCodecInfo.VideoCapabilities#getSupportedPerformancePoints())\nreturns a list of\n[`PerformancePoint`](/reference/android/media/MediaCodecInfo.VideoCapabilities.PerformancePoint)\nentries that the codec can render or capture.\n\nYou can check whether a given `PerformancePoint` covers another by calling\n[`PerformancePoint.covers(PerformancePoint)`](/reference/android/media/MediaCodecInfo.VideoCapabilities.PerformancePoint#covers(android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint)).\nFor example, `UHD_60.covers(UHD_50)` returns true.\n\nA list of performance points is provided for all hardware-accelerated codecs.\nThis could be an empty list if the codec does not meet even the lowest standard\nperformance point.\n\nNote that devices which have been upgraded to Android 10 (API level 29) and higher without\nupdating the vendor image will not have performance point data, because this\ndata comes from the vendor HAL. In this case, `getSupportedPerformancePoints()`\nreturns null."]]