Android の MediaMuxer と MediaCodec を使用して MP4 ビデオを作成しようとしています。
writeSampleData() を呼び出してコーデックから直接マルチプレクサにフレームを排出すると、すべてが正常に機能し、正しいビデオが生成されます。
しかし、最初にこれらのフレームを配列に保存しようとして、後でそれらをマルチプレクサに送信することにした場合、プレゼンテーションのタイムスタンプが正しい場合でも、動作するビデオを作成できません。
何らかの理由で、mediamuxer の出力は、プレゼンテーションのタイムスタンプだけでなく、「writeSampleData」が呼び出された実際の時間にも依存しているように見えますが、正しいタイムスタンプがあれば十分であることは理解しています。
誰でもこの問題に光を当てることができますか?