如何批量将MP3系列转换为M4B


9

我有一堆基于MP3的书。其中一些根据书自身的结构分为文件:章节等。其中一些只是分成相等加长的部分。

所以。我已经购买了iPhone,并希望将它们全部转换为M4B格式。我如何批量转换它们?我的意思是,我为每本书设置一次流程是多么寒冷,然后在几周后收到完全转换的图书馆。

我找到的唯一能够进行此类转换的程序是Mac的Audiobook Builder。但这很慢,原则上不支持批处理。

请为任何平台提供解决方案。

Answers:


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”时,出现错误消息“ Unknown encoder'libfaac'”,类似于libfdk_aac,有什么建议吗?
athos 2014年

@athos可以使用其他ffmpeg选项之一,也可以下载neroAacEnc并使用它(如果没有的话,我建议使用neroAacEnc libfdk_aac)。
evilsoup 2014年

@athos aac编码器应始终工作在ffmpeg中。如果您使用的是Linux,也可以自己构建ffmpeg,也可以在OS X上通过Homebrew安装ffmpeg,这将为您提供libfdk_aac编码器,并且质量最高。
slhck 2014年

@slhck是否有Windows解决方案?
athos 2014年

@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格式似乎相同,只是更改了字母以表示它是一本书。如果一个字母的差异使您感到烦恼,则可以稍后将它们全部重命名。他们玩一样。

编辑:我假设您使用的是Mac。如果您运行类似Unix的操作系统,或者在Windows下安装Cygwin,则以上内容也可以在PC上使用。


这不会将章节元数据添加到结果文件中吗?
Artem Tikhomirov

2
并且它不会将那些mp3文件合并为一个。重点是什么?
Artem Tikhomirov 2009年

我没有看到将原始问题中的各章合并的要求。您想将每个有声读物的所有MP3文件合并到一个文件中,包括添加标记每个章节开始和结束的元数据吗?那不是你最初问的问题。除非该元数据存在于原始MP3文件中,否则我很确定您必须手动添加它。
2009年

ffmpeg在Ubuntu 12.04上似乎不知道如何转换为,.m4b但我通过转换为.m4a然后重命名来解决该问题。
2013年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.