【问题标题】:ffmpeg image sequence specify input framerateffmpeg 图像序列指定输入帧率
【发布时间】:2017-08-18 22:11:37
【问题描述】:

我正在尝试设置一系列图像(许多文件夹)的输入帧率:

如果我使用单个图像序列,一切正常:

ffmpeg -framerate 30 -i folder01/img%05d.jpeg -filter:v "crop=640:360" -r 30 outfilm.mp4

然后,因为我有更多文件夹(我无法让 -i concat:filesequence1|filesequence2 工作)我尝试使用:

ffmpeg -framerate 30 -f concat -safe 0 -i filelist.txt -filter:v "crop=640:360" -r 30 outfilm.mp4

但我收到一个错误:

Option framerate not found.

那么如果我省略了-framerate 30,一切都会顺利进行,但 ffmpeg 默认输入图像序列的值为 25 fps。

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 如果您查看手册,-framerate 选项仅对image2 解复用器有效。当您使用-f concat 时,您正在使用另一个不支持该选项的解复用器(concat 解复用器)。

标签: input ffmpeg frame-rate


【解决方案1】:

使用

ffmpeg -f concat -safe 0 -r 30 -i filelist.txt -filter:v "crop=640:360" -r 30 outfilm.mp4

-r 用作输入选项时,它会以给定的速率生成新的时间戳并将其设置为输入帧速率。

【讨论】:

  • 注意到@Mulvya,我最初错过了这个,因为我将-r 30 放在-f concat 之前。谢谢!
  • 为什么这么多人使用 filelist.txt 等?这就是我如何将一系列名为 pic_001.png 的图像转换为任何结尾(它会自动检测到它)。 只需指定一个文件模式和一个带有 -r 的帧速率(我的是 0.25,这意味着每个图像显示 4秒)。这是命令:ffmpeg -r 0.25 -i "pic_%03d.png" -c:v libx264 -pix_fmt yuv420p -preset veryslow output.mp4
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-04
  • 2023-03-29
  • 2019-11-20
  • 1970-01-01
  • 2019-11-18
  • 2021-11-10
  • 2012-10-09
相关资源
最近更新 更多