首页 > 解决方案 > 让python翻译正确的文件名

问题描述

我正在尝试制作一个简单的小程序,可以从一堆图片中制作视频。

我找到了这个:

os.system("ffmpeg -r 1 -i img%01d.png -vcodec mpeg4 -y movie.mp4")

它有效,但前提是文件名是 imgxxx.png

我的文件名为:xx.xx.xx.xxx.jpg(例如:11.58.30.445.jpg)。正如您可能理解的那样,文件名是从拍摄照片时开始制作的。

我已经尝试了几个选项,但我无法让 python 读取正确的文件。我可以重命名所有文件,但我希望程序自行运行,因此重命名所有文件不是我正在寻找的解决方案。

提前感谢所有帮助。

标签: pythonpython-3.xffmpegfilenames

解决方案


在图像文件 demuxer中使用 glob 模式:

ffmpeg -framerate 1 -pattern_type glob -i "*.jpg" -r 25 -pix_fmt yuv420p out.mp4
  • -pattern_type globWindows 版本可能不支持。
  • 使用-framerate而不是-r图像文件解复用器。
  • 我添加了一个输出-r,因为许多玩家无法处理 1 的帧速率。帧将被复制以从 1 到 25 的帧速率。
  • 我添加了-pix_fmt yuv420p不需要的mpeg4,但如果您想libx264用于更兼容的像素格式,建议使用。

推荐阅读