如何将可听 AAX 文件转换为 M4B 格式,同时保留所有信息(包括插图)

Eh'*_*den 4 audiobook ffmpeg m4b video-conversion audio-conversion

我试图找到一种解决方案,让我能够将一大堆 AAX 文件(我多年来购买的)批量处理为 M4B。

我尝试使用声音激活器来提取秘密,然后将 FFMPEG 与 一起使用-activation_bytes [secret],如下所示:

ffmpeg -activation_bytes xxxxxxxx -i BOOK.AAX -c:a copy book.mp4 
Run Code Online (Sandbox Code Playgroud)

问题是:如何创建一个不仅可以转换为 MP4,还可以复制所有艺术品的批处理文件?

有任何想法吗?

小智 6

我知道这是旧的,但我想对此进行更新。在 FFmpeg 4.1 中,他们添加了对复制专辑封面的本机支持,您不再需要第三方程序。要转换您的有声读物,只需使用以下简化命令:

ffmpeg -activation_bytes XXXXXXXX -i MyNiceBook.aax -c copy MyNiceBook.m4b
Run Code Online (Sandbox Code Playgroud)

这花了我一段时间才找到,因为他们的官方文档中仍然包含该-vn标志。

来源:https : //gist.github.com/r15ch13/0c548be006431607bf1eaecefdc0591a#gistcomment-2800421


Eh'*_*den 3

解决方案很简单,需要以下程序(Windows解决方案):

  1. FFmpeg
  2. 原子欧芹

使用这些程序(位于 AAX 文件所在的位置或通过 PATH 获取),创建以下 Windows 批处理文件:

FOR /r %%a IN (*.aax) DO (^
del cover.jpg /Q & del "%%~na.mp4" /Q & del "%%~na.m4b" /Q & ^
ffmpeg -activation_bytes XXXXXXXX -i "%%a" -vcodec copy cover.jpg & ^
ffmpeg -activation_bytes XXXXXXXX -i "%%a" -vn -c:a copy -map_metadata 0:g "%%~na.mp4" & ^
ren "%%~na.mp4" "%%~na.m4b" & ^
IF exist cover.jpg (AtomicParsley.exe "%%~na.m4b" --artwork cover.jpg --overWrite) & ^
del cover.jpg /Q )
Run Code Online (Sandbox Code Playgroud)

或者在一行中:

FOR /r %%a IN (*.aax) DO (del cover.jpg /Q & del "%%~na.mp4" /Q & del "%%~na.m4b" /Q & ffmpeg -activation_bytes XXXXXXXX -i "%%a" -vcodec copy cover.jpg & ffmpeg -activation_bytes XXXXXXXX -i "%%a" -vn -c:a copy -map_metadata 0:g "%%~na.mp4" & ren "%%~na.mp4" "%%~na.m4b" & IF exist cover.jpg (AtomicParsley.exe "%%~na.m4b" --artwork cover.jpg --overWrite) & del cover.jpg /Q )
Run Code Online (Sandbox Code Playgroud)

其中 XXXXXXXX 是使用 audible-activator 提取的秘密,对于同一用户拥有(购买)的所有文件都是相同的。

这个批处理文件正在做什么:

  1. 从之前的转换尝试中删除可能的文件
  2. 使用 FFmpeg 将音频专辑封面(如果有)提取到名为“cover.jpg”的文件中
  3. 使用 FFmpeg 从 AAX 文件中提取 AAC 音频和所有元数据并将它们保存到 MP4 文件中
  4. 将 MP4 文件重命名为 M4B
  5. (如果可用)使用 AtomicParsley 将专辑封面添加到 MP4 文件
  6. 删除 cover.jpg 文件