如何为视频创建缩略图或预览?

8
我想在我的网站上为视频显示缩略图或预览面板,我希望从视频中获取单个帧(从特定的时间即1分钟后准确地获取一帧),并将它们显示为缩略图,就像在YouTube上一样... 有什么帮助吗?

尝试按照此教程学习PHP和ffmpeg,http://www.alberton.info/video_preview_as_animated_gif_with_ffmpeg_and_spl.html - kb.
3个回答

8

我能用ffmpeg-php创建缩略图吗?我在想它是否可以用于将视频转换为不同的格式...如果可能的话,我该怎么做?ffmpeg中是否有任何预定义的函数或方法可用? - Vijay
下载软件包并查看example02.php:有一个$ toolkit->extractFrames()调用,它可以做到你需要的一切... ;)您可以轻松修改源代码以每次仅提取一个帧。 - napolux
谢谢,Napolux。这对我很有帮助。但是你介意给我解释一下,我们如何提高缩略图的质量吗? - Vijay

7

在如何使用ffmpeg的答案中,这就是你需要的参数

ffmpeg  -itsoffset -4  -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg

1
值得注意的是,即使音频或视频有可用的图像帧,仍将生成“test.jpg”。当没有图像帧时,“test.jpg”将是大小为零的文件。因此,您需要检查所生成的文件的大小,以确保您拥有可以使用的文件。 - skidadon

6

1
这应该是答案。我们花了一天时间努力让FFmpeg可靠地工作。为了获取缩略图像,我们最终使用了JavaScript,在上传视频后播放视频,然后传输到画布上并在5秒后保存画布上的图像。比FFmpeg更可靠地工作了。Windows上的FFmpeg进程有时甚至在我杀死它后也无法停止。 - M H
@michaelhanon 首先,这个链接或者回答中任意一个都应该尽可能地概述链接内容,以创造冗余,并且提供更简洁、直接的版本。在许多情况下,依赖客户端 JavaScript 来创建缩略图是远非理想的选择,但对于大多数情况来说,这肯定是一种很棒的方式。也许如果 Thomas 获得足够的赞同,他会改进他的答案并最终带来完整的解决方案... ;P - cregox

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接