安装ffmpeg应该很简单.在任何基于Ubuntu / Debian的发行版上,使用apt-get:
apt-get install ffmpeg
之后,您可以使用它来创建缩略图.
首先,您需要从文件中获取随机时间位置:
$video = $path . escapeshellcmd($_FILES['video']['name']);
$cmd = "ffmpeg -i $video 2>&1";
$second = 1;
if (preg_match('/Duration: ((\d+):(\d+):(\d+))/s', `$cmd`, $time)) {
$total = ($time[2] * 3600) + ($time[3] * 60) + $time[4];
$second = rand(1, ($total - 1));
}
现在您的$second变量已设置.获取实际缩略图:
$image = 'thumbnails/random_name.jpg';
$cmd = "ffmpeg -i $video -deinterlace -an -ss $second -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg $image 2>&1";
$do = `$cmd`;
它会自动将缩略图保存到缩略图/ random_name.jpg(您可能希望根据上传的视频更改该名称)
如果要调整缩略图的大小,请使用-s参数(-s 300×300)