我有一个奇怪的问题。我有一个带有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语句中吗?
答案 0 :(得分:1)
首先要确保在ffmpeg上阻止任何stdin输入:
ffmpeg -i blah -vcodec blah -acodec blah result.blah </dev/null >/dev/null 2>>convert.log
并在ffmpeg命令
之后发出wait