这是我目前所拥有的。它可以运行,但会引发错误。
我想出了以下几点。
for %%a in ("*.mp4") do ffmpeg -i "%%a" -t 3 -vf "fps=10, scale=320, flags=lanczos, split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 copy "__newfiles\%%~na.gif"
答案1
无法找到适合“复制”的输出格式
删除copy
。这不是一个实际的选择。ffmpeg
假设您希望将输出命名为copy
,但它不知道copy
应该采用哪种容器格式(GIF、MP4、AVI、MKV、MOV 等)。
尺寸‘320’无效
更改scale=320
为scale=320:-1
。您需要提供宽度和高度。-1
自动选择正确高度的手段。请参阅比例过滤器文档。
没有这样的过滤器:“flags”
flags
不是独立过滤器。它是比例过滤器的一个选项。更改scale=320:-1, flags=lanczos
为scale=320:-1:flags=lanczos
。请参阅比例过滤器文档。
固定命令
for %%a in ("*.mp4") do ffmpeg -i "%%a" -t 3 -vf "fps=10, scale=320:-1:flags=lanczos, split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 "__newfiles\%%~na.gif"