Як конвертувати серію MP3 в M4B в партії


10

У мене є група книг на основі MP3. Деякі з них діляться на файли відповідно до власної структури книги: глави тощо. Деякі з них були просто розділені на однаково подовжені частини.

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

Єдиною програмою для такого перетворення, яку я знайшов, був Audiobook Builder для Mac. Але це досить повільно і в принципі не підтримує пакетну групування.

Будь ласка, рішення будь-якої платформи.

Відповіді:


7

Щоб об'єднати 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, будь-яка пропозиція pls?
athos

@athos або скористайтеся одним з інших варіантів ffmpeg, або завантажте neroAacEnc і використовуйте це (я б рекомендував neroAacEnc, якщо у вас немає libfdk_aac).
evilsoup

@athos Кодер Aac повинен працювати завжди, оскільки він вбудований у ffmpeg. Ви також можете створити ffmpeg самостійно, якщо ви працюєте в Linux, або встановити його через Homebrew на OS X, який дає вам кодер libfdk_aac, і це той, який найкращої якості.
slhck

@slhck є рішення для Windows?
athos

@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, здається, такий самий, лише із зміненою буквою, яка вказує, що це книга. Ви можете перейменувати їх пізніше, якщо однозначна різниця вас помилить. Вони грають так само.

EDIT: Я припускаю, що ви використовуєте 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.