我正在尝试使用以下PHP代码从视频文件中提取单个帧:
$cmd = 'ffmpeg -i "d:websbetatestsample2.mp4" -vframes 1 -s 146x82 -f image2 "d:websbetatest.jpg"';
exec($cmd, $rc);
问题是,我得到一个500内部服务器错误,我第一次尝试执行脚本,但当重新加载它的工作。所以这意味着当重新加载时:works/doesn't work/works .
你知道哪里出了问题吗?
试试这个脚本。
<?php
$ffmpeg = "/full/path/to/ffmpeg";
$videoFile = "/full/path/to/video.mp4";
$imgOut = "/full/path/to/frame.jpg";
$second = 0;
$cmd = $ffmpeg." -i "".$videoFile."" -an -ss ".$second.".001 -y -f mjpeg "".$imgOut."" 2>&1";
$feedback = `$cmd`;
?>
我也遇到了同样的问题。
使用proc_open代替exec及其变体修复了它。
Roey