我需要在将视频上传到CDN时从视频创建缩略图。
我一直在寻找this找到的内容,但即使按照以下步骤操作,我也无法获得屏幕截图。
我正在使用jwplayer playing video
有人可以帮助我在使用ffmpeg上传视频时创建缩略图
答案 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