为什么我的 ffmpeg with videotoolbox 的 HEVC with alpha 质量不好

Jos*_*bre 4 video encoding alpha ffmpeg hevc

我正在将带有 alpha 通道视频的 ProRes 4444 编码为 VP9 (webm) 和 HEVC (mp4) 中的透明网络视频。我正在使用Rotato 的一个很棒的免费工具来同时编码为两种格式。

然而,因为我想对尺寸和比特率等有更多的控制,所以我正在研究 ffmpeg。我可以使用以下参数编码为两种格式。

# vp9
ffmpeg -i in.mov -vf scale=-1:720 -c:v libvpx-vp9 -auto-alt-ref 0 -pix_fmt yuva420p -acodec libvorbis -cpu-used 3 -deadline good -crf 40 out.webm 

# hevc
ffmpeg -i in.mov -vf scale=-1:720 -c:v hevc_videotoolbox -allow_sw 1 -alpha_quality 0.9 -tag:v hvc1 -q:v 65 out.mp4
Run Code Online (Sandbox Code Playgroud)

问题:videotoolbox 编码器在黑色铅笔动画周围生成奇怪的白色垃圾,并且从透明到黑色铅笔的淡入变成从白色铅笔到黑色铅笔的淡入!?

以下是两者比较的屏幕截图(上面一张是我的 ffmpeg 输出):

乙肝病毒

旋转

有人有很好的 ffmpeg 设置吗?我可以用 alpha 来编码高质量的 HEVC?硬件:MacBook Air M1 和 Win11 + GTX 1060(我应该能够使用 NVEnc,但不知道如何)

Kaj*_*una 6

对我来说,解决方案是使用预乘滤波器

-vf 预乘=就地=1