带有 alpha 的 ffmpeg prores 到 webm vp9 呈现灰色

ffmpeg prores with alpha to webm vp9 renders grey

我一直在尝试将 ProRes 4444HQ 编码的视频转换为 webm vp9。我创建了一个示例视频,其中有一个 50% 透明的正方形。它应该是这样的:

但看起来像这样:

这是我转换视频的方式:

ffmpeg -i square.mov -c:v libvpx-vp9 -b:v 0 -crf 31 square.webm

我试过更改颜色空间并选择不同的配置文件,但我似乎无法摆脱灰色阴影。跟yuva转rgba有关系吗?

看起来 ProReS 有预乘像素,Motion 的 MOV 已经在 MOV 中设置了一个标志,表明 WebM 没有/不能,所以浏览器没有补偿。

运行

ffmpeg -i square.mov -vf unpremultiply=inplace=1 -c:v libvpx-vp9 -b:v 0 -crf 31 square-premult.webm

应该生成一个 WebM,其中直像素由浏览器正确处理。