Come convertire serie di MP3 in un M4B in un batch


9

Ho una serie di libri basati su MP3. Alcuni si dividono in file in base alla struttura del libro: capitoli e così via. Alcuni di essi erano appena divisi in parti ugualmente allungate.

Così. Ho comprato un iPhone e voglio convertirli tutti in formato M4B. Come potrei convertirli in un batch? Voglio dire quanto freddo ho impostato una procedura una volta, per ogni libro, e poi, dopo un paio di settimane, ricevo una biblioteca totalmente convertita.

L'unico programma capace per tale conversione che ho trovato era Audiobook Builder per Mac. Ma è piuttosto lento e in linea di principio non supporta il batch.

Soluzioni per qualsiasi piattaforma, per favore.

Risposte:


6

Per concatenare gli MP3 in un M4B, è possibile utilizzare ffmpeg. Scarica una versione recente , quindi esegui:

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

Il tuo ffmpeg potrebbe non essere fdk_aacabilitato; in tal caso, puoi provare a utilizzare

  • -c:a libfaac (alta qualità)
  • -c:a aac -strict experimental (qualità decente, ma usa bitrate più alti)
  • -c:a libvo_aacenc (qualità piuttosto scadente)

Consultare la guida di codifica AAC per maggiori informazioni.


Se invece vuoi usare neroAacEnc, puoi usare:

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

Nessuno di questi aggiungerà metadati di capitolo, temo.


@slhck quando uso "-c: a libfaac" appare il messaggio di errore "Encoder sconosciuto 'libfaac'", simile a libfdk_aac, qualche suggerimento?
athos,

@athos usa una delle altre opzioni di ffmpeg o scarica neroAacEnc e usalo (raccomanderei neroAacEnc se non lo hai libfdk_aac).
evilsoup,

@athos L'encoder aac dovrebbe sempre funzionare poiché è incorporato in ffmpeg. Puoi anche creare ffmpeg da solo se sei su Linux o installarlo tramite Homebrew su OS X, che ti dà l'encoder libfdk_aac, ed è quello con la migliore qualità.
slhck,

@slhck esiste una soluzione Windows?
athos,

@athos È possibile (vedi qui trac.ffmpeg.org/wiki/CompilationGuide#Windows ) ma probabilmente un po 'più complicato. Ma basta usare l'encoder aac interno: è abbastanza decente.
slhck,

0

Apri un terminale. Passare alla directory in cui si trovano i file MP3. Digitare:

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

Naturalmente, è necessario installare ffmpeg .

Nota che ho usato "m4a" sopra. Il formato m4b sembra essere lo stesso, solo con una lettera modificata per indicare che si tratta di un libro. Puoi rinominarli tutti in seguito se la differenza di una lettera ti infastidisce. Giocano allo stesso modo.

EDIT: presumo che tu usi un Mac. Quanto sopra funzionerà anche su un PC se si esegue un sistema operativo simile a Unix o si installa Cygwin su Windows.


Questo non aggiungerà metadati di capitolo al file dei risultati, vero?
Artem Tikhomirov,

2
E non unirà quei file mp3 in uno solo. Qual e il punto?
Artem Tikhomirov,

Non ho visto l'obbligo di combinare i capitoli nella tua domanda originale. Vuoi combinare tutti i file MP3 per ciascun audiolibro in un singolo file, inclusa l'aggiunta di metadati che segnano l'inizio e la fine di ogni capitolo? Questa non è la domanda che hai posto inizialmente. A meno che i metadati non siano nei file MP3 originali, sono abbastanza sicuro che dovrai aggiungerli manualmente.
CarlF

Il mio ffmpegsu Ubuntu 12.04 non sembrava sapere come convertirlo, .m4bma ho lavorato su quello convertendolo in .m4ae quindi rinominando.
Tripleee

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.