使用ffmpeg从视频创建缩略图

时间:2014-11-26 09:16:37

标签: video amazon-web-services ffmpeg

我需要在将视频上传到CDN时从视频创建缩略图。

我一直在寻找this找到的内容,但即使按照以下步骤操作,我也无法获得屏幕截图。

我正在使用jwplayer playing video

有人可以帮助我在使用ffmpeg上传视频时创建缩略图

3 个答案:

答案 0 :(得分:33)

我不知道在上传时制作屏幕截图的方法,但我确实知道怎么做。

最简单的代码是:

ffmpeg -i $uploaded_file -ss 00:00:01.000 -vframes 1 output.png

上传文件后运行此脚本。如果截图是在视频开头拍摄的,则只需要很短的时间。 (第一分钟,例如。)。

我认为在文件仍在上传时不能截取屏幕截图。

编辑: 删除-f image2,因为ffmpeg

猜对了

答案 1 :(得分:2)

根据此文档 https://trac.ffmpeg.org/wiki/Seeking 和我的个人测试,您应该像这样更改 -ss 和 -i 的位置

ffmpeg -ss 00:00:01.000 -i input.mp4 -vframes 1 output.png

由于不会进行视频解码,因此操作将变得更快。将使用关键帧来解析视频,速度非常快。

答案 2 :(得分:0)

其他答案都很好……但对于大多数“视频”内容,JPEG 是一种更节省空间的缩略图图像选择。 This answer 讨论了 JPEG 质量设置。

通常您需要指定缩略图大小 - 下面的命令 (source) 将缩小视频以适合 320x320 框(通过减小尺寸来保持纵横比)较小的边缘 - 即长边上的 320px):

ffmpeg -ss 00:00:01.00 -i input.mp4 -vf 'scale=320:320:force_original_aspect_ratio=decrease' -vframes 1 output.jpg