我需要转换具有未编号名称的图像文件夹,例如:
11.49.18.204.jpg
11.49.28.205.jpg
11.49.38.220.jpg
11.49.48.220.jpg
11.49.58.235.jpg
11.50.08.250.jpg
FFMPEG
仅接受编号输入。原始文件名对我来说很重要。我计划将它们叠加在视频源上。我想我需要使用带有文本叠加选项的 SRT 字幕输入。
我想知道如何才能实现这个功能。
例如,这将不起作用
ffmpeg -i *.jpg
答案1
好的,显然 FFMPEG 支持名称通配符,来自ffmpeg.org/wik
ffmpeg 还支持 bash 风格的通配符(* 代表任意数量的任意字符)。如果您的图像是连续的,但不一定像前面的示例那样按数字顺序排列,则此功能很有用。
ffmpeg -framerate 1 -pattern_type glob -i '*.jpg' -c:v libx264 out.mp4
答案2
如果您使用的是 Unix/Linux,此 bash 脚本行会将图像文件目录重命名为一系列可与 ffmpeg 配合使用的连续名称。基本上,它会在内存中创建一个包含所有现有文件名的缓冲区,然后循环遍历每个名称,将它们移动到一个递增编号的名称(在同一目录中)。
x=1; for i in *jpg; do counter=$(printf %03d $x); mv "$i" img"$counter".jpg; x=$(($x+1)); done