使用 qaac.exe 重新编码音频

使用 qaac.exe 重新编码音频

我正在使用脚本通过 libvo-aac 编码器将音频批量重新编码为 AAC。

@ECHO OFF
FOR %f IN (*.mkv) DO call ffmpeg.exe -i "%f" -c:v copy -c:a libvo_aacenc -b:a 256k "%f"

但是由于我在 Windows 上使用 fdk-aac 构建 ffmpeg 有点麻烦,并且 qaac 被认为是更优秀的编码器,所以我想通过管道传输 ffmpeg 来使用 qaac。

我不太了解 ffmpeg,但我确实在这里发现了一条评论:如何使用 ffmpeg 将 5.1 DTS HD MA 或 Dolby TrueHD 混音为带有 Dolby Pro Logic II 的立体声 AAC?(最后一条评论)

尝试该命令后我收到此错误:

ERROR: CoreAudioToolbox.dll: The specified module could not be found.

但是我确实安装了 quicktime 和 Apple Application Support 以及 ffmpeg 文件夹中的 flac 和 libsnd 库。

在此处输入图片描述

我正在使用 Zeranoe Windows x64 静态版本

编辑:我让它与 32 位 qaac 和 flac 库一起工作,但它仍然无法与 64 位版本一起工作。

答案1

通过安装 64 位版本的 iTunes 解决了这个问题(实际上我只是从安装程序中提取了 AppleApplicationSupport64.msi。)由于 quicktime 中没有包含 64 位安装程序,所以我很困惑。

答案2

我注意到您正在输入 MKV?

我在 Windows 中使用 qaac 和 ffmpeg批处理文件将 MKV 中的音频转换为 aac,然后将其复用回 MKV 容器。

@ echo off

for %%a in (*.mkv) do ("ffmpeg" -i "%%~na.mkv" -f wav - | qaac -a 160 - -o "%%~na.m4a" --threading)
for %%a in (*.mkv) do (ffmpeg -i "%%~na.mkv" -i "%%~na.m4a" -c:v copy -c:a copy -map 0:0 -map 1:0 "%%~na_.mkv")

我知道这有点混乱,但对我来说还是有用的。我使用平均比特率为 160 和线程(我也对视频流进行了编码,但这里只是复制)。此外,ffmpeg 和 qaac 都在我的环境变量中,所以我不必在命令行上输入整个 path.exe。

相关内容