我有 .m4v 文件列表。我有一个 .mp3 文件列表(这些文件恰好与相应的.m4v 文件)。
.m4v 文件的音频质量较低。.mp3 文件的音频质量较高。
我想用 .m4v 文件中的音频替换相应的.mp3 文件中的音频。
无论是在 mkvmerge 还是 ffmpeg 中,我都不想对 10000 多个文件单独执行此操作。
我曾尝试使用类似的批处理脚本但无济于事:
对于 ("*.m4v") 中的 %%a,执行 ffmpeg -i "${%%a}" -i "${%%a//.m4v/.mp3}" -vcodec copy -acodec copy "${%%a//.m4v/.mp4}"
暂停
以及(因为我想在不同的目录中输出):
对于 ("*.m4v") 中的 %%a,执行 ffmpeg -i "%%a" -i "%%a" -vcodec copy -acodec copy "outputDirFoo123\%%~na.mp4"
暂停
到目前为止,这些都没有成功(只遇到了错误)。我不确定如何解决这个问题。
有人能告诉我如何批量处理上面的内容吗?有没有比我这里更好的方法?
非常感谢。
答案1
使用
FOR %%a IN ("*.m4v") DO ffmpeg -i "%%a" -i "%%~na.mp3" -map 0:v -map 1:a -c copy "newpath\%%~na.mp4"
pause