FFmpeg:将透明度转换为某种颜色

FFmpeg:将透明度转换为某种颜色

我有一个带有透明背景的视频。如何用颜色(例如白色)替换透明度?

答案1

最快的方法是通过覆盖过滤器。

ffmpeg -i in.mov -filter_complex
       "[0]split=2[bg][fg];[bg]drawbox=c=blue@1:replace=1:t=fill[bg];
        [bg][fg]overlay=format=auto" -c:a copy new.mov

输入被分成两份。一份上,绘制一个所需颜色的不透明框,覆盖整个帧。第二份覆盖在上面。如果第二份中的像素是透明的,则第一份会显示出来。

https://ffmpeg.org/ffmpeg-utils.html#Color用于颜色语法。您可能需要指定正确的编码器。

您需要 ffmpeg 4.0 或更新版本。

相关内容