2017-04-05 11 views
0

MediaCodecを使用して、カメラからh264にビデオをエンコードしています。私は30のFPSを持っていた、これは私がなっていた出力ですが、今私は、25fpsのとMediaFormatラインに切り替える必要があります:私も(私は常にこの値に関係なく30fpsのを取得:AndroidでKEY_FRAME_RATEが無視されています

format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE); 

機能していません5 fpsを入れようとしましたが、ビデオはまだ滑らかです)。

希望のfps値を達成するために他に必要なことはありますか?

答えて

1

MediaFormat.KEY_FRAME_RATEはフレームをドロップするようにエンコーダに指示しません。 Visit for more information。あなたは、手動でフレームをドロップします(結果は長いビデオがどうなるかので、おそらくない)、ご希望のFPSに合わせて、タイムスタンプを修正するためにどちらかの必要があり、全体のフレームレートを減らすために

方法についての非常に基本的な良いドキュメント(悲しいほとんど率を増加させる)フレームレートを操作するためにフレームをwriteSampleData介しMediaMuxerに供給されるようにあなたは、タイムスタンプを補正することができる@MichelReap here

挨拶

+0

を見出すことができます()。 – nyttimangus

+0

これはビデオを不安定にしませんか? – MichelReap

関連する問題