使用 ffmpeg 将多个 .bmp 文件合并为 .mp4 文件

使用 ffmpeg 将多个 .bmp 文件合并为 .mp4 文件

我想将所有这些 .bmp 文件合并为一个 movie.mp4。我正在使用ffmpeg

bmp 文件

此命令生成仅 0.04 秒的电影:

$ ffmpeg -i f%05d.bmp -c:v libx264 -r 30 -pix_fmt yuv420p movie.mp4

它应该会拾取所有文件,不是吗?我不知道我做错了什么,也找不到解决办法。

我尝试过的这个命令这里说找不到路径为“f%05d.bmp”的文件,尽管上述命令可以?

$ ffmpeg -r 60 -f image2 -s 1920x1080 -start_number 1 -i f%05d.bmp -vframes 1759 -vcodec libx264 -crf 25  -pix_fmt yuv420p test.mp4

答案1

我认为文件应该有连续的编号,否则它们将被单独处理(因此您将获得 0.04 秒的电影 - 只有一帧)。几天前我需要一些类似的东西(虽然不是用于 ffmpeg,而是将文件导入 DaVinci Resolve),我写了一个简单的 python 脚本:

import os

filename="whatever{0:05d}.png"
destno = 1

for i in range(0, 10000):
   src = filename.format(i)
   if os.path.isfile(src):
      dst=filename.format(destno)
      destno+=1
      os.rename(src, dst)
      print "renamed {0:s} to {1:s}".format(src, dst)

糟糕透了,但还是管用。

答案2

也许您可以改变通配符来获取所有 .bmp 文件:

ffmpeg -r 60 -f image2 -s 1920x1080 -start_number 1 -i %*.bmp -vframes 1759 -vcodec libx264 -crf 25  -pix_fmt yuv420p test.mp4

相关内容