我有一堆 AVI 想要重新处理为 h264 MKV。我尝试使用的命令是:
find . -name "*.avi" | xargs -I '{}' ffmpeg -i {} -vcodec libx264 `echo {} | sed 's/avi/mkv/'`
但是,它没有按预期工作。将 -t 添加到 xargs 表明正在运行的命令是(给定一个带有 file1.avi 的目录)
ffmpeg ./file1.avi -vcodec libx264 ./file1.avi
我不确定为什么 sed 命令没有得到正确处理。ffmpeg 失败是因为默认情况下它不会覆盖。
AVI 都在子目录中,所以我真的不想为每个子文件夹做一个 for 循环,而 find / xargs 将是一个更好的解决方案。此外,完成此操作后,我真的不想重命名所有内容。