Здравствуйте все!
Подниму темку, т.к. у меня почти та же проблема. Форум перерыл, гугл почитал,
мануал вот этот - тоже, и он, кстати, содержит гору ошибок.
Началось всё с того, что я с помощью youtube-dl скачал с ютуба звук с конвертацией в mp3. Но возникла проблема, которую я ниже опишу.
Очевидно, проблема возникает при конвертации посредством ffmpeg, поэтому взялся с ним экспериментировать. Так что вопрос - именно по ffmpeg, а не по youtube-dl.
Проблема возникает при проигрывании полученного mp3. Я использую для этого VCL на компе или телефон (не китайский, если что, сонька, но не андроид).
VCL при проигрывании не понимает длительность файла и в процессе она постоянно меняется. В инфо о файле VCL говорит, что это 32k вне зависимости от того, сколько килобит я указывал при кодировании.
Телефон при проигрывании тоже не понимает длительность записи, в результате - проблемы с прокруткой и возобновлением воспроизведения после паузы.
Что работает корректно:
ffmpeg -i in.m4a -acodec libmp3lame -ab 32k -f mp3 out.mp3
Без вопросов, всё замечательно.
А вот если указать другой битрейт, то наблюдаются вышеуказанные проблемы:
ffmpeg -i in.m4a -acodec libmp3lame -ab 64k -f mp3 out.mp3
Ну или любые другие
k.
При этом VLC в обоих случаях показывает одинаковую информацию о кодеке. В реальности качество звука и размер файла получаются разные, но что-то, видать, в заголовках неверно прописано.
Пробовал брать не m4a, а webm (ютуб даёт эти два формата) - без разницы.
Файл, закодированный с битрейтом 64k. Просто первое попавшееся короткое видео