2017-07-03 4 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

関連する問題