3

我想要做的实际上非常简单,如果从 cmd 窗口中执行它就可以正常工作,尽管在批处理脚本中使用时它不起作用。以下命令通常会获取所有具有 anim_xxxx.png 模式的 .png 文件(%04d 代表 ffmpeg 中的 4 个数字)。

ffmpeg -f image2 -i anim_%04d.png -vcodec mjpeg -q:v 0 -r 25 foo.avi

现在我得到的错误是我的图像序列的通配符,我不知道问题是什么。使用像 * 这样的另一个通配符会给我同样的错误。

[image2 @ 000000000033e8c0] 找不到路径为“anim_render.bat4d.png”且索引在 0-4 范围内的文件 anim_render.bat4d.png:没有这样的文件或目录

%04d 是否类似于批处理文件中不存在于批处理文件之外的任何变量?到目前为止,我找不到任何类似的案例。

4

1 回答 1

4

不知道%04就目前而言是什么意思FFMPEG,尽管anim_*.mpg似乎是一种更普遍理解的指定方法,all starting 'anim_'也许它是一种特殊含义+any 4 characters(尽管????在这里似乎更常见。

然而,似乎 ffmpeg 期望%提供literally,因此批量治疗将是在前面%加上一个插入符号:^%

Erm- 加倍%-^x通常适用于批量具有特殊含义的字符;看来你需要%逃跑了%……

于 2013-03-20T00:15:43.953 回答