FFMPEG视频转换完成后发送电子邮件(php)

时间:2012-06-11 20:30:55

标签: php ffmpeg

我有一个基本的php脚本,使用ffmpeg转换avi:

<?php
if (exec("/usr/bin/ffmpeg -i testvideo.avi -sameq -ar 22050 convertvideo.mp4 2> logfile.log")){ 
echo "Success";
}else{ 
    echo "Error"; 
}
?>

现在作为对此的扩展,我想使用php来检查文件是否仍然被转换,如果不是应该发送电子邮件,任何人都可以建议我如何实现这个?

尽管使用上面的代码并且文件转换成功,但我总是得到的输出是“错误”,任何人都可以帮忙解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:2)

以下内容应该有效:

exec("/usr/bin/ffmpeg -i testvideo.avi -sameq -ar 22050 convertvideo.mp4 2> logfile.log", $ret, $val);

if ($val != 0) {        
    // Video conversion fail for some reason
    $msg = "Error converting video: $ret" . "\n";
    echo ($msg);

    // send the email
    mail("no@body.com", "Error convering video", $msg);
}

如果要为ffmpeg进程设置超时,请考虑使用proc_open方式(see example)。