filmotheklown has asked for the wisdom of the Perl Monks concerning the following question:
I'm trying to wrap a system call to ffmpeg in such a way that it will kill ffmpeg if it takes too long to run.
# here's a command that takes a big MOV file and rips the audio out to + WAV $my_cmd = '/usr/bin/ffmpeg -y -i long_input.mov long_output.wav';
my understanding is that I should be able to do something like:
run \@cmd, timeout(10);
which would then attempt to convert the file to WAV, but if it takes longer than 10 seconds, kill the ffmpeg process. I'm not interested in solutions that simply allow the perl script to time out, it must kill the ffmpeg process too.
I've tried a lot of variations of creating @cmd, but I invariably get some error or another.
@cmd = ('/usr/bin/ffmpeg', '-y', '-i', 'long_input.mov','long_output.w +av'); @cmd = ('/usr/bin/ffmpeg -y -i long_input.mov long_output.wav'); @cmd = various other incarnations.
Either I get "file not found: /usr/bin/ffmpeg -y -i" or it fails to find the 'input' file that follows the '-i' command for ffmpeg. "i /home/product/ftp-temp/long.mov: No such file or directory" for example.
I've checked the path of my files and the raw command works form the CLI successfully, opening long_input.mov and ripping the audio to long_output.wav.
Clearly there's something I'm not understanding about IPC:run and how it operates.
I'm trying to accomplish the equivalent of "timeout --signal=SIGKILL 10s ffmpeg -y -i long_input.mov long_output.wav" which works in the CLI of centos, but within the perl script
Thank you in advance for your time. Any advice is appreciated.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Using IPC::Run to kill stuck process
by runrig (Abbot) on Dec 13, 2013 at 01:27 UTC | |
by filmotheklown (Initiate) on Dec 14, 2013 at 20:52 UTC | |
Re: Using IPC::Run to kill stuck process
by toolic (Bishop) on Dec 13, 2013 at 01:43 UTC | |
Re: Using IPC::Run to kill stuck process
by taint (Chaplain) on Dec 13, 2013 at 02:11 UTC | |
Re: Using IPC::Run to kill stuck process
by zentara (Archbishop) on Dec 13, 2013 at 16:15 UTC | |
by runrig (Abbot) on Dec 13, 2013 at 19:06 UTC |