0

所以我几天来一直在尝试解决如何做到这一点,这个网站帮助了我,但我仍然卡住了。

我基本上想运行一个批处理文件,它通过一个包含所有子目录的文件夹,并将所有 mkv 文件的容器更改为 mp4,如有必要,将声音转换为 AAC。最好它会在同一个地方创建具有相同名称的新 mp4 文件,然后删除 mkv。

到目前为止,我所拥有的就是如果我将它放在某个文件夹中,则会在名为 newfiles 的指定文件夹中创建 mp4。我也不确定我是否正确使用了 libfaac。非常感谢任何建议。我本来想使用 libfdk_aac 但我已经尝试了一切来获得它,但我找不到它。

for %%a in ("*.mkv") do C:\ffmpeg\bin\ffmpeg -i "%%a" -vcodec copy -acodec libfaac "Z:\newfiles\%%~na.mp4"
pause
4

1 回答 1

1

试试这个可变比特率(VBR):

for %%a in (*.mkv) do C:\ffmpeg\bin\ffmpeg -i "%%~a" -vcodec copy -c:a libfaac -q:a 100 "%%~na.mp4"
pause

-q:a 的范围是 10-500,类似于在独立 faac 中使用 -q 选项。100 值得一试。


或者试试这个平均比特率(ABR):

for %%a in (*.mkv) do C:\ffmpeg\bin\ffmpeg -i "%%~a" -vcodec copy -c:a libfaac -b:a 192k "%%~na.mp4"
pause

FFmpeg 和 AAC 编码指南:libfaac

请注意,您不会获得与使用libfdk_aac. libfdk_aac 的许可证与 GPL 不兼容,因此当 GPL 许可代码也包括在内时,GPL 不允许分发包含根据这些许可证许可的代码的二进制文件。因此,该编码器被指定为“非免费”,您无法下载支持此功能的预构建 ffmpeg。这可以通过自己编译ffmpeg来解决。例如,您可以在这个项目的帮助下做到这一点。

于 2015-02-27T23:58:18.027 回答