【问题标题】:How to force ffmpeg to use all the images in a directory?如何强制 ffmpeg 使用目录中的所有图像?
【发布时间】:2017-01-14 06:23:20
【问题描述】:

我有一个图像目录 (*.png)s,我正在尝试使用 ffmpeg 将它们制作成电影。

图像以 50 的倍数命名,所以我有:images_0000.png,然后是 images_0050.png,然后是 images_0100.png,然后是 images_0150.png,等等,一直到 images_4950.png,所以我有总共100张图片。

我使用以下命令制作我的电影:

ffmpeg -r 10 -pattern_type glob -i '*.png' -c:v libx264 movie.mp4

这可以很好地制作电影,但是当我播放它时,看起来并不像 每个 图像都在使用。也就是说,如果我逐帧浏览,我会看到一些图像没有显示出来,看起来像是被跳过了。 (我知道,因为每张图片上都写有它的名字)。

那么,如何强制 ffmpeg 使用目录中的每张图片,这样电影中的每一步,都会显示相应的图片?

谢谢。

编辑:这是命令的完整屏幕转储:

【问题讨论】:

  • 显示命令的完整控制台输出。
  • @LordNeckbeard 我刚刚用全屏抓取进行了编辑。
  • 谢谢,但是为什么不直接复制和粘贴文本而不是制作文本图像呢?图片不可搜索,占用更多空间,并且您无法从图片中复制任何文本。
  • @LordNeckbeard 我试图将文本粘贴进去,但它不断弄乱格式。
  • 2.7.2 已过时。 Get a recent version(快照,不是发布)。然后使用-framerate 输入选项而不是-r 用于图像文件解复用器。如果您希望输出在 QuickTime 中播放,请添加 -pix_fmt yuv420p 输出选项(但 QT 可能不喜欢某些低帧速率......但我没有测试)。

标签: ffmpeg png mp4 movie


【解决方案1】:

洛根的评论说明了一切。

在您的管道中使用 -framerate 而不是 -r。比如:

ffmpeg -framerate 10 -pattern_type glob -i '*.png' -c:v libx264 movie.mp4

-r 就像一个过滤器,会从您的输入中过滤掉以匹配目标帧率。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-27
    • 2021-11-06
    • 2015-07-19
    • 1970-01-01
    • 2021-06-16
    • 2010-12-03
    • 2012-07-02
    • 1970-01-01
    相关资源
    最近更新 更多