备用:每隔X秒/X帧生成缩略图

Since I struggled to find some infos for this, I wanted to sum up my findings here:
差不多:

ffmpeg -y -threads 8 -i "test.m4v" -an -sn -vsync 0 -vf select="not(mod(n\,14386))" -s 854x480 -vcodec mjpeg -pix_fmt yuvj420p -b:v 2000 -bt 20M "test_%d.jpg"

explanation:

  • -y
    覆盖输出文件
  • -threads X
    X =线程
  • -i "path to input"
    输入文件
  • -an
    不使用音频
  • -sn
    不使用字幕
  • -vsync 0
    禁止a/v sync
  • -vf select="not(mod(n\,X))"
    每X帧输出。
  • 如果是X秒:秒*FPS
  • -s WIDTHxHEIGHT
    手动指定分辨率
  • -vcodec X
    输出格式,一般 mjpeg or png
  • -pix_fmt X
    输出色域,一般 yuvj420p or rgb24
  •   -b:v X -bt Y
    输出比特 X = 2000 and Y = 20M 不错
  • "path to output ending with _%d.extension"
    文件后缀 _%d 的输出是 fileName_0, fileName_2,...
    扩展名是.jpg or .png

如果:

  • 略过前X秒,直到X秒:-ss X -t Y
  • 对某个时间生成,移除-vf select="not(mod(n\,X))" ,插入 -vframes X -ss timeInSeconds 
    例如 -vframes 1 -ss 10 10秒后生成

作者:Cu Selur
翻译:Beining

4 thoughts on “备用:每隔X秒/X帧生成缩略图

      1. StarBrilliant

        我刚刚试了一下,这个命令可以用:
        “`
        ffmpeg -i input.mkv -r 1/5 ‘thumb_%04d.jpg’
        “`
        5秒生成一个缩略图。
        附加的参数,分辨率呀、JPEG质量呀加在中间就可以了。

        Reply

Leave a Reply

Your email address will not be published. Required fields are marked *