我想要做的事情实际上非常简单,如果在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是否类似于批处理文件中不存在批处理文件之外的任何变量?到目前为止,我找不到任何类似的案例。
答案 0 :(得分:4)
不知道%04
对FFMPEG
的含义是什么,尽管anim_*.mpg
似乎是更常理解的指定all starting 'anim_'
的方法,也许它是一种特殊含义{{ 1}}(尽管+any 4 characters
在这里似乎更常见。
尽管如此,ffmpeg似乎期望提供????
%
,因此批量处理将在literally
之前加上插入符号:%
嗯 - 使^%
- %
加倍,通常与批处理中具有特殊含义的字符一起使用;您似乎需要^x
来逃避%
...