我是FFMPEG的新手,我尝试对png图像进行简单的绿色背景色度键控。 在38.16 Chromakey的FFMPEG文档中,有一个示例脚本:
ffmpeg -i input.png -vf chromakey =绿色out.png
为此,“使输入图像中的每个绿色像素都透明” 那正是我想要的。 我尝试了许多不同的png图像,但结果始终是输入图像的副本。 我也将单词“ green”替换为0x00FF00或0x008000,但仍然没有成功。仅当将绿色替换为黑色时,结果才是预期的-透明。 我在Windows上使用FFMpeg的预构建二进制文件。 我想念什么? 谢谢。
答案 0 :(得分:0)
使用RGB像素格式(如PNG)时,请使用色键过滤器。另外,将颜色指定为十六进制代码,因为ffmpeg的颜色标签可能与您期望的颜色不匹配,例如绿色是0x008000
,而不是0x00FF00
。
使用
ffmpeg -i input.png -vf colorkey=0x00FF00 out.png
答案 1 :(得分:0)
是
ffmpeg -i input.png -vf colorkey=0x008000 out.png
有效。 在大量阅读其他相关信息之后,我还发现“抠像”也可以正常工作。这是
ffmpeg -i input.png -vf "chromakey=0x008000:0.1:0.1" -c copy -c:v png out.png
这也很好-原因是png的编解码器-c:v。
更多信息-当我比较@Gyan方法和第二种方法的结果时-第二种方法产生了更多的抗锯齿结果。