在我的网站我有一个选项,用户上传的视频文件。 在我要创建视频的缩略图。 我曾尝试在本地系统中的一些编码它是工作的罚款。 我想同样的编码来服务它不工作。 我检查了在服务器启用的ffmpeg,它被禁用。 是他们的任何其他选项,在出能够ffmpeg的服务器创建缩略图? 请帮我找到解决方案。
Answer 1:
你可以使用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创建视频缩略图
Answer 2:
如果你不希望使用的ffmpeg,你可以使用的mencoder作为替代了。 但最终,你将需要安装的ffmpeg / mencoder的,然后用它来呈现缩略图为PHP没有内置功能,可以处理视频。
如果你是一个共享的虚拟主机提供商,你可能要考虑像zencoder可以生成你转换后的视频,包括缩略图的流服务:
https://app.zencoder.com/docs/api/encoding/thumbnails
文章来源: Create thumbnail image from video in server in php