2016-11-29 18 views
0

こんにちは、私はエンコードにAndroid MediaCodecを使用しようとしています。私は "grafika"のコードに従っていますが、私はエンコードビデオがいくつかのフレームをドロップすることがわかります。私は自分の入力を確認し、すべてのフレームは互いに異なりますが、私のエンコード出力ビデオでは、例えば、フレーム71はフレーム72と同じであり、フレーム99はフレーム100と同じです。他のフレームは入力シーケンスと同じです。android mediacodecはドロップフレームをエンコードします

私はOpenGL ESを使用し、エンコードでサーフェスを使用します。フレームレートは30、ビットレートは1920 * 1080 * 30、Iframe intervelは1です。

mediacodecエンコードに問題がありますか?

答えて

0

Surfaceを使用してエンコーダにフレームを送信する場合、エンコーダが適切なプレゼンテーション時間を得られない可能性があるため、フレームごとに正しいプレゼンテーション時間を渡す必要があります。言い換えれば、MediaCodecから出力バッファを取り出した後に、出力バッファ情報のpresentationTimeUsの値を修正することができます。

関連する問題