Как конвертировать серию MP3 в M4B в серии


9

У меня есть партия книг в формате MP3. Некоторые из них делятся на файлы в соответствии с собственной структурой книги: главы и так далее. Некоторые из них были просто разделены на одинаково удлиненные части.

Так. Я купил iPhone, и я хочу конвертировать их все в формат M4B. Как я мог преобразовать их в пакет? Я имею в виду, как холодно я настраивал процесс один раз для каждой книги, а затем, через пару недель, получаю полностью преобразованную библиотеку.

Единственной программой для такого преобразования, которую я нашел, был Audiobook Builder для Mac. Но это довольно медленно и не поддерживает пакетирование в принципе.

Решения для любой платформы, пожалуйста.

Ответы:


6

Чтобы объединить MP3 в M4B, вы можете использовать ffmpeg. Загрузите последнюю версию и запустите:

ffmpeg -i "concat:input0.mp3|input1.mp3|input2.mp3" -c:a libfdk_aac -b:a 64k -f mp4 output.m4b

Возможно, ваш ffmpeg не fdk_aacвключен; если это так, вы можете попробовать использовать

  • -c:a libfaac (высокое качество)
  • -c:a aac -strict experimental (достойное качество, но используйте более высокие битрейты)
  • -c:a libvo_aacenc (довольно плохое качество)

См. Руководство по кодированию AAC для получения дополнительной информации.


Если вы хотите использовать вместо этого neroAacEnc, вы можете использовать:

ffmpeg -i "concat:input0.mp3|input1.mp3|input2.mp3" -f wav - | neroAacEnc -if - -ignorelength -q 0.3 output.m4b

Боюсь, ни один из них не добавит метаданные главы.


@slhck, когда я использую «-c: libfaac», появляется сообщение об ошибке «Неизвестный кодировщик« libfaac »», похожее на libfdk_aac, какие-либо предложения, пожалуйста?
athos

@athos либо используйте один из других параметров ffmpeg, либо загрузите neroAacEnc и используйте его (я бы порекомендовал neroAacEnc, если у вас его нет libfdk_aac).
evilsoup

@athos Aac-кодировщик всегда должен работать, так как он встроен в ffmpeg. Вы также можете собрать ffmpeg самостоятельно, если вы работаете в Linux, или установить его через Homebrew в OS X, который дает вам кодировщик libfdk_aac, и это тот, который имеет лучшее качество.
Slhck

@slhck есть ли решение для Windows?
Афон

@athos Это возможно (см. здесь trac.ffmpeg.org/wiki/CompilationGuide#Windows ), но, возможно, немного сложнее. Но просто используйте внутренний кодировщик AAC - это вполне прилично.
Slhck

0

Откройте Терминал. Перейдите в каталог, в котором находятся файлы MP3. Тип:

for i in *mp3 ; do ffmpeg -i $i -qscale 0 $i.m4a ; done

Конечно, ffmpeg должен быть установлен.

Обратите внимание, что я использовал "m4a" выше. Формат m4b, кажется, тот же самый, только с измененной буквой, чтобы указать, что это книга. Вы можете переименовать их все позже, если вас смущает разница в одну букву. Они играют одинаково.

РЕДАКТИРОВАТЬ: я предполагаю, что вы используете Mac. Вышеуказанное также будет работать на ПК, если вы используете Unix-подобную ОС или устанавливаете Cygwin под Windows.


Это не добавит метаданные главы в файл результатов, не так ли?
Артем Тихомиров

2
И он не объединит эти mp3-файлы в один. В чем смысл?
Артем Тихомиров

Я не видел требования объединить главы в вашем первоначальном вопросе. Вы хотите объединить все файлы MP3 для каждой аудиокниги в один файл, включая добавление метаданных, обозначающих начало и конец каждой главы? Это не тот вопрос, который вы изначально задавали. Если эти метаданные не содержатся в исходных файлах MP3, я уверен, что вам придется добавить их вручную.
CarlF

Мой ffmpegна Ubuntu 12.04, похоже, не знал, как преобразовать в, .m4bно я обошел это, преобразовав .m4aи затем переименовав.
tripleee

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.