ffmpeg没有正确使用批处理脚本中的通配符

时间:2013-03-19 23:57:39

标签: windows batch-file ffmpeg

我想要做的事情实际上非常简单,如果在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是否类似于批处理文件中不存在批处理文件之外的任何变量?到目前为止,我找不到任何类似的案例。

1 个答案:

答案 0 :(得分:4)

不知道%04FFMPEG的含义是什么,尽管anim_*.mpg似乎是更常理解的指定all starting 'anim_'的方法,也许它是一种特殊含义{{ 1}}(尽管+any 4 characters在这里似乎更常见。

尽管如此,ffmpeg似乎期望提供???? %,因此批量处理将在literally之前加上插入符号:%

嗯 - 使^% - %加倍,通常与批处理中具有特殊含义的字符一起使用;您似乎需要^x来逃避% ...