2017-07-03 45 views
0

我正在使用MediaCodec Native API來壓縮視頻。我的要求是,我還需要向用戶顯示視頻壓縮的可用分辨率格式列表(假設用戶選擇任何分辨率格式,輸出文件應小於5MB)。所以,我需要能夠根據用戶在實際壓縮之前選擇的分辨率選項來計算壓縮視頻大小。這在Android中可能嗎?我已經廣泛搜索,但無法找到任何答案。任何線索都會非常有幫助。謝謝!在Android中基於多重分辨率格式選項壓縮視頻文件

回答

0

您可以通過將輸出比特率(每秒位數)與視頻的長度(秒)相乘來計算輸出大小。

+0

謝謝Tomer。我怎樣才能得到這些參數? MediaExtractor的getTrackFormat()會給我這個信息嗎?再次感謝 – sdk

+0

您可以使用getTrackFormat()獲取的MediaFormats中的KEY_DURATION獲取視頻的長度; 輸出比特率是你在MediaCodec中選擇和配置的東西。 例如,如果您有60秒的視頻,並且您想將其大小限制爲5 MB。 計算結果如下: 最大比特率= 5,000,000(字節)* 8(比特每字節)/ 60(秒)= 666 kbps –

+0

感謝這工作完美! – sdk