導出視頻編碼統計信息

從 Android 13 開始,應用程式用戶端可以請求視訊編碼器匯出每個編碼視訊幀的編碼統計資訊。利用從視訊編碼器獲得的統計數據,應用程式可以優化其視訊編碼任務,例如多通道編碼和編碼前的幀預處理。

要匯出視訊編碼統計訊息,SoC 供應商必須更改視訊編碼器驅動程序,如視訊編碼器驅動程式更新所述。

視訊編碼統計數據

在 Android 13 中,視訊編碼器會匯出統計數據,如下表所示。

編碼器統計名稱描述
每幀平均塊QP視訊畫面中編碼到位元流中的所有區塊 QP 的平均值
圖片類型I 型或 P 型或 B 型

開發人員可以使用MediaFormat開發人員類別檢索每個幀的統計資訊。

視訊編碼器驅動程式更新

為了支援視訊編碼統計資料的匯出,SoC供應商必須更改視訊編碼器驅動程式。 Android 13 的 Codec 2.0 基礎中加入了以下按鍵:

請參閱VideoEncodingStatisticsTest以取得參考實作。

驗證

執行VideoEncodingStatisticsTest CTS 測試以驗證視訊編碼統計資訊的平均 QP 部分是否正常運作:CTS 對相同輸入視訊執行兩種編碼,一種具有較高的位元率,另一種具有較低的位元率。然後,CTS 比較兩個編碼導出的兩個平均 QP 值。如果較低位元速率編碼的平均 QP 高於較高位元速率編碼的平均 QP,則 CTS 通過。

若要驗證在啟用時關閉匯出視訊編碼統計功能,請使用VIDEO_ENCODING_STATISTICS_LEVEL_NONE鍵,如下所示:

format.setInteger(MediaFormat.KEY_VIDEO_ENCODING_STATISTICS_LEVEL, MediaFormat.VIDEO_ENCODING_STATISTICS_LEVEL_NONE);