На моем веб-сайте у меня есть возможность загрузить видео файл пользователем. В этом я хочу создать уменьшенное изображение этого видео. Я попытался в локальной системе с некоторым кодированием, он работает нормально. Я пробовал одинаковое кодирование для обслуживания, он не работает. Я проверил, включен ли ffmpeg на сервере, он был отключен. Является ли их другим вариантом создания эскизов на сервере без возможности ffmpeg? Пожалуйста, помогите мне найти решение.
вы можете использовать ffmpeg
(форма тега, я думаю, вы знали)
Что вам нужно было передать ffmpeg
-i = input file -deinterlace = deinterlace pictures -an = disable audio recording -ss = start time in the video (seconds) -t = duration of the recording (seconds) -r = set frame rate -y = overwrite existing file -s = resolution size -f = force format
пример
// where ffmpeg is located $ffmpeg = '/usr/bin/ffmpeg'; //video dir $video = 'path/to/video'; //where to save the image $image = 'path/to/image.jpg'; //time to take screenshot at $interval = 5; //screenshot size $size = '640x480'; //ffmpeg command $cmd = "$ffmpeg -i $video -deinterlace -an -ss $interval -f mjpeg -t 1 -r 1 -y -s $size $image 2>&1"; exec($cmd);
Или попробуйте
$second = 15; $cmd = "$ffmpeg -itsoffset -$second -i $video -vcodec mjpeg -vframes 1 -an -f rawvideo -s $size $image"; exec($cmd);
Подумайте, вы также должны взглянуть на подробное убеждение в возможных проблемах
ffmpeg-php для создания миниатюры видео
Если вы не хотите использовать ffmpeg, вы также можете использовать mencoder. Но в конце вам нужно будет установить ffmpeg / mencoder, а затем использовать его для рендеринга эскиза, поскольку PHP не имеет встроенных функций для обработки видео.
Если вы используете общий веб-хостинг, вы можете посмотреть на такие сервисы, как zencoder, который может генерировать преобразованные потоки видео, включая миниатюры: