我需要合并图片为一个视频。我有很多张图片,像这样的命名:2023-03-24-105322.jpg
2023-03-24-105352.jpg
… 也就是(年-月-日-时分秒.jpg) 这样的来命名的。
我可以使用这样的命令:
ffmpeg -pattern_type glob -i '*.jpg' output.mp4 |
没有指定帧率,默认使用 25 帧。直接使用 * 会将当前目录中的所有 jpg 文件都匹配到。
如果我目录中还有其它图片,不想合并到视频里面,那么也可以这么写:
ffmpeg -pattern_type glob -i '????-??-??-??????.jpg' output.mp4 |
?
通配符表示匹配任意一个字符。
这样合并出来的视频,是一帧一张图片。这样太快了,一秒播放了 25 张图片。我想要它慢一点,可以通过调整帧率来实现。
此时需要使用 -r
参数,设置帧数为 10,这样一秒就只播放 10 张图片。
ffmpeg -r 10 -pattern_type glob -i '????-??-??-??????.jpg' output.mp4 |
注意要放在 -i
前面。如果放在 -i
后面,会导致跳帧。