一連のMP3をバッチでM4Bに変換する方法


9

MP3ベースの本のバッチを持っています。それらのいくつかは、本の独自の構造(章など)に従ってファイルに分割されます。それらのいくつかは、同じ長さの部分に分割されました。

そう。iPhoneを購入しましたが、すべてM4B形式に変換したいと思います。それらをバッチで変換するにはどうすればよいですか?本ごとに1回プロセスを設定し、数週間後に完全に変換されたライブラリを受け取るのがどれだけ寒いかを意味します。

私が見つけたそのような変換のための唯一の可能なプログラムは、Mac用のAudiobook Builderでした。しかし、それはかなり遅く、原則としてバッチ処理をサポートしていません。

任意のプラットフォームのソリューションをお願いします。

回答:


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:a libfaac」を使用すると、「不明なエンコーダー 'libfaac'」というエラーメッセージが表示されます。
athos 2014年

@athosは他のffmpegオプションのいずれかを使用するか、neroAacEncダウンロードしてそれを使用します(持っていない場合はneroAacEncをお勧めしますlibfdk_aac)。
evilsoup 2014年

@athos aacエンコーダーは、ffmpegに組み込まれているため、常に機能するはずです。Linuxを使用している場合は、ffmpegを自分でビルドすることも、OS XのHomebrewを介してインストールすることもできます。これにより、libfdk_aacエンコーダーが提供されます。これは最高品質のエンコーダーです。
slhck 2014年

@slhck Windowsソリューションはありますか?
athos 2014年

@athos可能ですが(ここでtrac.ffmpeg.org/wiki/CompilationGuide#Windowsを参照)、おそらくもう少し複雑です。ただし、内部のaacエンコーダーを使用するだけで、かなりまともです。
slhck 2014年

0

ターミナルを開きます。MP3ファイルがあるディレクトリに移動します。タイプ:

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

もちろん、ffmpegをインストールする必要があります。

上記の「m4a」を使用したことに注意してください。m4b形式は同じであるように見えますが、本であることを示すために文字が変更されています。1文字の違いにバグがある場合は、後ですべて名前を変更できます。彼らは同じことをします。

編集:私はあなたがMacを使用していると仮定しています。UnixライクなOSを実行している場合、またはWindowsにCygwinをインストールしている場合、上記はPCでも動作します。


これは結果のファイルに章のメタデータを追加しないでしょうか?
Artem Tikhomirov

2
そして、それらのmp3ファイルを1つにマージしません。ポイントは何ですか?
Artem Tikhomirov

元の質問の章を組み合わせる必要はありませんでした。各オーディオブックのすべてのMP3ファイルを1つのファイルに結合します(各章の始まりと終わりを示すメタデータの追加を含む)?それはあなたが最初に尋ねた質問ではありません。そのメタデータが元のMP3ファイルに含まれていない限り、手動で追加する必要があると確信しています。
CarlF 2009年

私のffmpegUbuntu 12.04は変換方法がわからないようです.m4bが、変換し.m4aて名前を変更することで回避しました。
tripleee 2013年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.