Я пытаюсь записать, закодировать и, наконец, создать короткий фильм на Android (используя API 16) с комбинацией MediaCodec и Mp4Parser (для инкапсуляции в .mp4).
Все работает просто отлично, за исключением продолжительности .mp4: он всегда длится 3 секунды и работает примерно в два раза быстрее, чем «правильная» скорость.
- На вход кодировщика поступают 84 кадра (с интервалом 100 мс).
- Последний кадр устанавливает флаг «конец потока».
- Я установил время презентации для каждого кадра на
queueInputBuffer
Я пытался настроить все мыслимые параметры, но, похоже, ничего не изменилось — фильм всегда длится 3 секунды — и всегда проигрывался слишком быстро.
Так что же управляет воспроизведением? как создать фильм с «естественной» скоростью?