Jak przekonwertować serię MP3 do M4B w partii

10

Mam partię książek w formacie MP3. Niektóre z nich dzielą się na pliki zgodnie z własną strukturą książki: rozdziały i tak dalej. Niektóre z nich zostały właśnie podzielone na równie wydłużone części.

Więc. Kupiłem iPhone'a i chcę przekonwertować je wszystkie na format M4B. Jak mogę przekonwertować je w partii? Mam na myśli to, jak zimno przygotowałem proces dla każdej książki, a potem, po kilku tygodniach, otrzymałem całkowicie przekształconą bibliotekę.

Jedyny program do takiej konwersji, jaki znalazłem, to Audiobook Builder na komputery Mac. Ale jest dość powolny i zasadniczo nie obsługuje partii.

Poproszę rozwiązania dla dowolnej platformy.

Artem Tichomirow
źródło

Odpowiedzi:

7

Aby połączyć pliki MP3 z M4B, możesz użyć ffmpeg. Pobierz najnowszą wersję , a następnie uruchom:

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

Twoja ffmpeg mogła nie być fdk_aacwłączona; w takim przypadku możesz spróbować użyć

  • -c:a libfaac (wysoka jakość)
  • -c:a aac -strict experimental (przyzwoita jakość, ale używaj wyższych przepływności)
  • -c:a libvo_aacenc (raczej zła jakość)

Więcej informacji można znaleźć w przewodniku kodowania AAC .


Jeśli zamiast tego chcesz użyć neroAacEnc, możesz użyć:

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

Obawiam się, że żaden z nich nie doda metadanych rozdziału.

zła
źródło
@slhck kiedy używam „-c: a libfaac” pojawia się komunikat o błędzie „Nieznany koder„ libfaac ””, podobny do libfdk_aac, jakieś sugestie?
athos
@athos albo użyj jednej z innych opcji ffmpeg, albo pobierz neroAacEnc i skorzystaj z niego (polecam neroAacEnc, jeśli nie masz libfdk_aac).
evilsoup
@athos Koder aac powinien zawsze działać, ponieważ jest wbudowany w ffmpeg. Możesz także sam zbudować ffmpeg, jeśli korzystasz z Linuksa, lub zainstalować go przez Homebrew na OS X, który daje ci koder libfdk_aac, i to ten z najlepszą jakością.
slhck
@slhck czy istnieje rozwiązanie dla systemu Windows?
athos
@athos Jest to możliwe (patrz tutaj trac.ffmpeg.org/wiki/CompilationGuide#Windows ), ale prawdopodobnie nieco bardziej skomplikowane. Ale po prostu użyj wewnętrznego kodera aac - jest całkiem przyzwoity.
slhck
0

Otwórz terminal. Przejdź do katalogu, w którym znajdują się pliki MP3. Wpisz:

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

Oczywiście ffmpeg musi być zainstalowany.

Zauważ, że użyłem powyżej „m4a”. Format m4b wydaje się być taki sam, tylko ze zmienioną literą wskazującą, że jest to książka. Możesz zmienić ich nazwy później, jeśli różnica liter będzie Cię niepokoić. Grają tak samo.

EDYCJA: Zakładam, że używasz komputera Mac. Powyższe działa również na komputerze PC, jeśli używasz systemu operacyjnego typu Unix lub zainstalujesz Cygwin pod Windows.

CarlF
źródło
To nie doda metadanych rozdziału do pliku wyników, prawda?
Artem Tikhomirov
2
I nie połączy tych plików mp3 w jeden. Jaki jest sens?
Artem Tikhomirov
W twoim pierwotnym pytaniu nie widziałem wymogu łączenia rozdziałów. Chcesz połączyć wszystkie pliki MP3 każdego audiobooka w jeden plik, w tym dodać metadane, które oznaczają początek i koniec każdego rozdziału? To nie jest pytanie, które pierwotnie zadałeś. O ile metadane nie znajdują się w oryginalnych plikach MP3, jestem pewien, że będziesz musiał dodać je ręcznie.
CarlF,
Mój ffmpegna Ubuntu 12.04 nie wiedział, jak się przekonwertować, .m4bale .m4aobejrzałem to, zmieniając i zmieniając nazwę.
tripleee