问题
I'm running the ffmpeg command within PHP's shell_exec() to convert several videos in a list. Is there anyway to detect if an error happened while the video was being converted (or atleast verify it fully completed the conversion)?
I don't want to stop converting other videos if an error happens, just the ability to record the error.
<?php
shell_exec('ffmpeg -i downloads/flv/file1.flv -vcodec libvpx -acodec libvorbis downloads/webm/file1.webm');
if(error) {
//run a command here to report the error (ie. MySQL or email)
}
?>
回答1:
Capture the exit code with another system call function like exec
:
exec('ffmpeg ...', $output, $return);
if ($return != 0) {
// an error occurred
}
Any decent utility will exit with a code other than 0 on error.
回答2:
$return=shell_exec('ffmpeg ...');
if ($return) { //look at what it returns do what you will with the data
}
来源:https://stackoverflow.com/questions/7923876/php-detect-if-shell-exec-command-failed