我试图找到一个解决方案,让我能够将一大堆 AAX 文件(我多年来购买的)批量处理成 M4B。
我尝试使用听觉激活器为了提取秘密,请使用 FFMPEG -activation_bytes [secret]
,如下所示:
ffmpeg -activation_bytes xxxxxxxx -i BOOK.AAX -c:a copy book.mp4
问题是:如何创建一个批处理文件,不仅可以转换为 MP4,还可以复制所有艺术作品?
有任何想法吗?
答案1
我知道这已经过时了,但我想对此进行更新。在 FFmpeg 4.1 中,他们添加了对复制专辑封面的原生支持,您不再需要第三方程序。要转换有声读物,只需使用此简化命令:
ffmpeg -activation_bytes XXXXXXXX -i MyNiceBook.aax -c copy MyNiceBook.m4b
具体来说,你应该放弃-vn
标志,并:a
删除-c:a copy
我花了一段时间才找到它,因为它们仍然包含-vn
标志他们的官方文件。
来源:https://gist.github.com/r15ch13/0c548be006431607bf1eaecefdc0591a#gistcomment-2800421
答案2
解决方案很简单,需要以下程序(Windows 解决方案):
使用这些程序(位于 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 )
或者用一行代码:
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 )
其中 XXXXXXXX 是使用 audible-activator 提取的秘密,对于同一用户拥有(购买)的所有文件都是相同的。
该批处理文件正在做什么:
- 删除以前转换尝试中可能的文件
- 使用 FFmpeg 将有声专辑封面(如果有)提取到名为“cover.jpg”的文件中
- 使用 FFmpeg 从 AAX 文件中提取 AAC 音频和所有元数据并将其保存到 MP4 文件中
- 将 MP4 文件重命名为 M4B
- (如果可用)使用 AtomicParsley 将专辑封面添加到 MP4 文件
- 删除 cover.jpg 文件