Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash脚本FFMPEG如何等待进程完成_Bash_Shell_Loops_Ffmpeg - Fatal编程技术网

Bash脚本FFMPEG如何等待进程完成

Bash脚本FFMPEG如何等待进程完成,bash,shell,loops,ffmpeg,Bash,Shell,Loops,Ffmpeg,我有一个奇怪的问题。我有一个带incrontab的文件夹监视器,它在我插入的文件的CLOSE\u WRITE状态下启动自动转码脚本。问题是脚本不会等到ffmpeg过程完成后再继续执行其余的脚本命令。这意味着原始文件在转码完成之前被删除,这是不好的 第一个问题: 这种行为的根本原因是什么 第二个问题:在bash脚本中,在开始使用脚本的其余部分之前,确保完成ffmpeg过程的最佳方法是什么 脚本: #/bin/bash #transcoding /usr/bin/ffmpeg -i "source

我有一个奇怪的问题。我有一个带incrontab的文件夹监视器,它在我插入的文件的
CLOSE\u 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语句中?

首先确保阻止FFMPEG上的任何标准输入:

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

并在ffmpeg命令后发出
等待

欢迎使用StackOverflow!您的脚本当前看起来是什么样子?请显示如何从脚本调用ffmpeg ffmpeg编码文件时是否有错误?您是否尝试过使用脚本对测试文件进行编码,并确保它按预期工作?