«

»

5月 26

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

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

差不多:

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 comments

Skip to comment form

  1. StarBrilliant

    其实还有一个很巧的方法是用 -r 参数把 FPS 设置成 1/n,就是 n 秒一帧。
    然后用 .jpg 格式输出。

    1. Beining

      (然后死在了VFR上

      1. StarBrilliant

        -r 参数就是用来把 VFR 转换成 CFR 的啊。

      2. StarBrilliant

        我刚刚试了一下,这个命令可以用:


        ffmpeg -i input.mkv -r 1/5 'thumb_%04d.jpg'

        5秒生成一个缩略图。

        附加的参数,分辨率呀、JPEG质量呀加在中间就可以了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">