我有一个Bash脚本,我创建它用于处理文件夹及其子文件夹中的视频:
find . -type f -name '*.mkv' | while read file;
do
ffmpeg -i $file ...
done
问题:while循环没有等待ffmpeg完成,而是继续迭代循环。结果是文件没有被处理。我需要一种方法让当前的while循环等待ffmpeg完成后再继续到下一个循环。或者另外一种方法是将这些项目排队。编辑:所以,当迭代一组文件时,解决方案是向ffmpeg传递-nostdin参数。希望这能帮助任何其他可能遇到类似问题的人。
另外,文件->$file是复制/粘贴错误。
ffmpeg
命令的末尾使用&
将进程放到后台运行? - squiguy-nostdin
选项添加到ffmpeg
是否有帮助?它可能在 while 循环中读取所有剩余的输入。 - Barmar