Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

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.


In reply to Using IPC::Run to kill stuck process by filmotheklown

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others chilling in the Monastery: (6)
    As of 2014-08-28 02:35 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      The best computer themed movie is:











      Results (255 votes), past polls