Android提供了查詢支持的編碼配置文件的方法。但是,當設置一個編碼器時,我找不到指定要使用的所需配置文件的方式。使用MediaCodec API在Android中編碼視頻時設置AVC/H.264配置文件
查找支持配置文件/等級對
android系統中使用MediaCodec
API,您可以撥打getCodecInfo()
你一旦選擇一個編碼器組件。這將返回一個MediaCodecInfo
對象,該對象提供有關正在使用的編解碼器組件的詳細信息。 getCapabilitiesForType()
返回一個CodecCapabilities
對象,詳細說明編解碼器的功能。它包含一個數組CodecProfileLevel,詳細說明支持的受支持的配置文件和級別。
嘗試設置輪廓
我看不到一個字段設置天寒MedieCodec
或爲MediaFormat
。
對於MediaFormat
有KEY_AAC_PROFILE
,但在參考文獻中明確指出這僅用於aac音頻。
在MediaCodec
有一種方法可以使用setParameters()
將Bundle
的額外參數傳遞給編解碼器。這看起來好像沒有通用文檔,接受的參數在編解碼器(不同設備)之間會有所不同。
背景
檔案指定一組編碼功能來使用。簡單的配置文件計算量較小,但通常會因爲給定的比特率而犧牲質量。這些級別指定給定配置文件支持的最大分辨率/比特率。我期望的水平通常與解碼能力有關,但由於它描述了一個必須實時運行的硬件編碼器,因此具有最大的設置對我來說是合情合理的。
META:(我本來有很多更多的鏈接到我提到的每個類+功能,但我不得不刪除他們,因爲我還沒有在代表發佈超過2個鏈接)
選擇AVCProfileHigh,我應該選擇什麼水平? – dragonfly