媒體轉碼器

從 Android 10 (API 級別 29) 以上版本開始,您可以使用 MediaCodecInfo 顯示轉碼器的詳細資訊:

isSoftwareOnly()
如果轉碼器僅在軟體中執行,則傳回 true。軟體轉碼器則不會 保證算繪效能。
isHardwareAccelerated()
如果轉碼器透過硬體加速,則傳回 true。
isVendor()
如果裝置供應商提供轉碼器,則傳回 true 或 false (如有提供) Android 平台提供的資源
isAlias()
MediaCodecList 可能包含與相同基礎轉碼器的其他項目 使用替代轉碼器名稱 (別名/別名)。如果 這個項目的轉碼器是其他轉碼器的別名。

此外, MediaCodec.getCanonicalName()敬上 會傳回透過別名建立的轉碼器的基礎轉碼器名稱。

成效重點

效能點是指轉碼器在特定 包括高度、寬度和畫面更新率例如:UHD_60 效能點 代表以 60 個影格轉譯的 UHD 超高畫質影片 (3840x2160 像素) 內建高可用性、全域同步一致性 以及每秒都有大量的輸入和輸出作業

方法 MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()敬上 會傳回 PerformancePoint 編碼器可轉譯或擷取的項目

您可以呼叫,檢查特定 PerformancePoint 是否涵蓋其他 PerformancePoint PerformancePoint.covers(PerformancePoint)。 舉例來說,UHD_60.covers(UHD_50) 會傳回 true。

系統會為所有硬體加速轉碼器提供效能點清單。 如果轉碼器即使未達到最低標準,這個欄位也可能是空白清單 效能點

請注意,已升級至 Android 10 (API 級別 29) 以上版本的裝置 更新供應商圖片不會取得效能點資料,因為 數據來自廠商 HAL在本例中,getSupportedPerformancePoints() 會傳回空值。