我在 ffmpeg 中组合多个图像选项时遇到了一些问题。我的示例命令包含我想要更改的所有选项:
ffmpeg -y -i sample.jpg -qscale:v 2 -pix_fmt rgb24 -vf scale=640:480 eq=brightness=0.5:contrast=0.5:saturation=0.5 -f png output.png
我对这个命令有几个问题,并试图重写它一段时间,这是我发现的:
- -vf 之后我无法同时指定 scale 和 eq,如果我只使用一个它就会起作用。
- 由于某种原因,我无法使用 -f png 选项。
对于 1. 我得到了这样的结果(对于删除的 -f png 选项):
- 如果我同时有比例和等式:
[NULL @ 0000024581fd1a80] Unable to find a suitable output format for 'eq=brightness=0.5:contrast=0.5:saturation=0.5' eq=brightness=0.5:contrast=0.5:saturation=0.5: Invalid argument
- 如果我删除 scale 或 eq,它就会起作用
有没有办法将比例与亮度和对比度等选项结合起来。如果我想添加其他效果,例如:colorchannelmixer,该如何添加?
为什么我使用 -f png 选项时会出现此错误,我该如何指定格式?
答案1
过滤器链中的多个过滤器以逗号分隔,最好用引号引起来。
-vf "scale=640:480,eq=brightness=0.5:contrast=0.5:saturation=0.5"
如果指定了文件扩展名(并且正确),则-f
不需要。否则,对于图像格式,语法是-c:v png -f image2
。