在PHP服务器创建视频缩略图(Create thumbnail image from video i

2019-07-29 02:28发布

在我的网站我有一个选项,用户上传的视频文件。 在我要创建视频的缩略图。 我曾尝试在本地系统中的一些编码它是工作的罚款。 我想同样的编码来服务它不工作。 我检查了在服务器启用的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
标签: php ffmpeg