【问题标题】:Create thumbnail from video using ffmpeg使用 ffmpeg 从视频创建缩略图
【发布时间】:2015-01-24 13:12:02
【问题描述】:

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

我一直在寻找这个 this,但即使按照以下步骤我也无法获得屏幕截图。

我正在为playing video使用jwplayer

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

【问题讨论】:

    标签: video amazon-web-services ffmpeg


    【解决方案1】:

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

    最简单的代码是:

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

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

    我认为在文件仍在上传时无法截屏。

    编辑: 删除了-f image2,因为 ffmpeg 猜测它是正确的

    【讨论】:

    • 格式一般是从输出文件扩展名中猜到的,所以这里不需要-f image2
    • -f image2 是什么?这里
    • -f 是输入/输出的格式(通常由 ffmpeg 猜测),image2 是解复用器。有关更多信息,请参阅 ffmpeg 文档:ffmpeg.org/ffmpeg-formats.html#Demuxers@LordNeckbeard 从答案中删除了它
    • 如果您将 -ss 放在 -i 之前,那么您将不必等待第一分钟的帧通过。但是,大多数解码器无法找到确切的时间戳,因此您可能会稍微早于您的时间戳(例如 00:00:58 而不是 00:01:00)。
    • @Shayan 这只是一个通用的占位符。更清楚地说,他可以简单地使用input.mp4。在某些语言中,$ 表示一个变量。
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2017-12-27
        • 2013-12-20
        • 2011-04-24
        • 1970-01-01
        • 2016-12-09
        • 2012-02-24
        • 2018-12-21
        • 1970-01-01
        • 2014-02-06
        相关资源
        最近更新 更多