Я использую php (Phalcon frameWork).
Я пытался использовать для этого ffmpeg, но это слишком много.
Мне нужен эскиз как снимок экрана с видео.
Есть ли другие решения (только PHP)?
это мой код:
// where ffmpeg is located, such as /usr/sbin/ffmpeg
$ffmpeg = '/usr/bin/ffmpeg';
// the input video file
$video = BASE_PATH . "/public/uploads/video/" . $fileName;
// where you'll save the image
$image = BASE_PATH . "/public/uploads/image/" . "thumbnail-".$fileName .".jpg";
// default time to get the image
$second = 1;
// get the duration and a random place within that
$cmd = "$ffmpeg -i $video 2>&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));
}
// get the screenshot
$cmd = "$ffmpeg -i $video -deinterlace -an -ss $second -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg $image 2>&1";
`$cmd`;
@ user3783243 не работает нормально без каких-либо ошибок. его миниатюра успешно генерируется. но через долгое время (Около двух митунэ)
О, значит, вы ищете более высокую производительность, а не просто то, что может выполнять свою работу. Важно добавить. Насколько велик файл? Вы проверили, что задержка на `$cmd`
?
@ user3783243 я добавил свои коды в тему. Вы правы, но это занимает слишком много времени.