0

我有大量带有 AC3 轨道的 MKV 文件,我想重新编码以使用脚本包含 AAC 轨道。我目前的方法是提取 AC3 轨道 (mkvextract) 并尝试将其重新编码为 AAC,然后将其合并回 (mkvmerge)。到目前为止,我已经能够编写提取脚本(MKVTools 和 Powershell 在那里提供了帮助),但我找不到将 AC3 转换为 AAC 的方法。

我尝试使用 mp4box 和“empty.h264”文件(来自 code.google.com)创建一个伪造的 MP4 文件,但是当它呈现给 handbrake_cli 时,短视频输入会导致手刹出错。我用 avidemux (2.6.9) 尝试了类似的事情(都来自 CLI,带有 avidemux2 和 GUI)但同样,非常短的视频轨道导致它无法创建适当的新目标。

如果 Handbrake 有视频的“直通”模式,我会使用它并添加第二个从 AC3 转换为 AAC 的音轨,但可惜 handbrake 不做直通视频。

我错过了什么?这个问题有解决方案吗?

4

1 回答 1

0

我应该多做 10 分钟的研究,不需要发帖……

迄今为止最好的答案似乎是 ffmpeg:

将 224kbps AC3 转换为 224K AAC

ffmpeg.exe -i foo.AC3 -strict -2 -ac 2 -ab 224k -codec aac foo.AAC

挑战将需要构建我自己的 mkvinfo,因为它不会在其当前输出中产生音频比特率,然后允许使用 MKVTools 捕获它并编写脚本。目标是做这样的事情:

Get-ChildItem -Filter "*.AC3" | % { $f = 获取 MkvInfo $ .FullName; $a = $f.Tracks[0]; ffmpeg.exe -i $ .FullName -strict -2 -ac $a.Channels -ab "" +$a.BitRate + "k" -codec aac $_.BaseName + ".aac" }

但还没有。

于 2015-05-18T07:35:26.010 回答