Так что у меня проблема с кодировкой AAC. Я пытаюсь кодировать некоторые синтетические звуковые волны, но это не работает должным образом. Файл, который я получаю, дает просто супер короткий звук при воспроизведении в VLC. Когда я играю в ffplay, я играю так, как я ожидаю, но он говорит «продолжительность: 00: 00: 00.05», который, я полагаю, составляет 5 мс. Но я кодирую намного больше, и это играло больше. Таким образом, VLC воспроизводит очень короткий звук, ffplay воспроизводит более длинный файл (ожидаемая длина), но отображает его с очень короткой продолжительностью, что происходит?aac encoding with ffmpeg result в суперкоротком файле
Источник: http://pastebin.com/M5MKkEL3
Одна из вещей, которая выглядит не так для меня это: Если вы посмотрите на переменную «audio_time», если останова и прочитал его каждый закодировать кадр, вы получите это:
..
Закодировать рама 8: +0,00010416666666666666
Закодировать рама 9: +0,00012500000000000000
(и так далее)
Разница заключается в следующем: ~ 0,00002085, что соответствует 1/1000 разностей, которые я ожидал от ~ 47 выборок кадров в секунду, что и требует кодер с частотой дискретизации 48k (48k/1024 = ~ 47).
Так почему же я получу тысячу ожидаемых данных в кодировке?
Не стесняйтесь указать что-нибудь подозрительное!
Заранее благодарен!