Bagaimana mengkonversi serangkaian MP3 ke M4B dalam satu batch

9

Saya punya banyak buku berbasis MP3. Beberapa dari mereka membaginya menjadi file sesuai dengan struktur buku itu sendiri: bab dan sebagainya. Beberapa dari mereka hanya dibagi menjadi bagian yang sama-sama memanjang.

Begitu. Saya telah membeli iPhone, dan saya ingin mengonversikan semuanya ke format M4B. Bagaimana saya bisa mengubahnya dalam satu batch? Maksud saya, betapa dinginnya saya mengatur proses satu kali, untuk setiap buku, dan kemudian, setelah beberapa minggu, menerima perpustakaan yang benar-benar telah bertobat.

Satu-satunya program yang mampu untuk konversi seperti yang saya temukan adalah Audiobook Builder untuk Mac. Tapi itu sangat lambat dan pada prinsipnya tidak mendukung batching.

Solusi untuk platform apa pun , silakan.

Artem Tikhomirov
sumber

Jawaban:

6

Untuk menggabungkan MP3 ke M4B, Anda bisa menggunakan ffmpeg. Unduh versi terbaru , lalu jalankan:

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

Ffmpeg Anda mungkin belum fdk_aacdiaktifkan; jika itu masalahnya, Anda dapat mencoba menggunakan

  • -c:a libfaac (kualitas tinggi)
  • -c:a aac -strict experimental (kualitas yang layak, tetapi gunakan bitrate lebih tinggi)
  • -c:a libvo_aacenc (kualitas agak buruk)

Lihat panduan pengodean AAC untuk info lebih lanjut.


Jika Anda ingin menggunakan neroAacEnc, Anda dapat menggunakan:

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

Tak satu pun dari ini akan menambah bab metadata, saya khawatir.

Evilsoup
sumber
@ slhck ketika saya menggunakan "-c: a libfaac" pesan kesalahan "Encoder tidak dikenal 'libfaac'" muncul, mirip dengan libfdk_aac, ada saran, mohon?
athos
@athos gunakan salah satu opsi ffmpeg lainnya, atau unduh neroAacEnc dan gunakan itu (saya akan merekomendasikan neroAacEnc jika Anda tidak punya libfdk_aac).
evilsoup
@athos Encoder aac harus selalu berfungsi karena sudah ada di dalam ffmpeg. Anda juga dapat membangun ffmpeg sendiri jika Anda menggunakan Linux, atau menginstalnya melalui Homebrew pada OS X, yang memberi Anda enkoder libfdk_aac, dan itulah yang dengan kualitas terbaik.
slhck
sslhck apakah ada solusi Windows?
athos
@athos Mungkin (lihat di sini trac.ffmpeg.org/wiki/CompilationGuide#Windows ) tetapi mungkin sedikit lebih rumit. Tetapi cukup gunakan internal aac encoder — ini cukup baik.
slhck
0

Buka Terminal. Ubah ke direktori tempat file-file MP3 dimasukkan. Ketikkan:

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

Tentu saja, ffmpeg harus diinstal.

Perhatikan bahwa saya telah menggunakan "m4a" di atas. Format m4b tampaknya sama, hanya dengan huruf yang diubah untuk menunjukkan bahwa itu adalah buku. Anda dapat mengganti nama mereka semua nanti jika perbedaan satu huruf mengganggu Anda. Mereka bermain sama.

EDIT: Saya berasumsi Anda menggunakan Mac. Di atas juga akan berfungsi pada PC jika Anda menjalankan OS seperti Unix, atau menginstal Cygwin di Windows.

CarlF
sumber
Ini tidak akan menambahkan metadata bab ke file hasil, bukan?
Artem Tikhomirov
2
Dan itu tidak akan menggabungkan file-file mp3 menjadi satu. Apa gunanya?
Artem Tikhomirov
Saya tidak melihat persyaratan untuk menggabungkan bab dalam pertanyaan awal Anda. Anda ingin menggabungkan semua file MP3 untuk setiap buku audio menjadi satu file, termasuk menambahkan metadata yang menandai awal dan akhir setiap bab? Itu bukan pertanyaan yang awalnya Anda tanyakan. Kecuali jika metadata ada dalam file MP3 asli, saya cukup yakin Anda harus menambahkannya secara manual.
CarlF
Saya ffmpegdi Ubuntu 12,04 tampaknya tidak tahu bagaimana mengkonversi ke .m4btapi saya mengatasinya dengan mengkonversi .m4adan kemudian mengubah nama.
tripleee