Bash Scripting FFMPEG如何等待进程完成

时间:2013-11-25 18:05:09

标签: bash shell loops ffmpeg

我有一个奇怪的问题。我有一个带有incrontab的文件夹监视器,它在我放入的文件的CLOSE_WRITE状态下启动自动转码脚本。问题是脚本不会等到ffmpeg进程完成后再继续其余的脚本命令。这意味着原始文件在转码完成之前被删除,这很糟糕。

第一个问题: 这种行为的根本原因是什么?

第二个问题:在bash脚本中,在使用脚本的其余部分之前,确保ffmpeg进程完成的最佳方法是什么?

脚本:

#/bin/bash

#transcoding
/usr/bin/ffmpeg -i "sourcefile push with incron as $1" -vcodec somecode -acodec somecodec "destination file"

#delete source
rm "path/to/file$1"

我应该将我的FFMPEG封装在while语句中吗?

1 个答案:

答案 0 :(得分:1)

首先要确保在ffmpeg上阻止任何stdin输入:

ffmpeg -i blah -vcodec blah -acodec blah  result.blah </dev/null >/dev/null 2>>convert.log

并在ffmpeg命令

之后发出wait