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

sam*_*370 4 ffmpeg

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

Gya*_*yan 7

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

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
Run Code Online (Sandbox Code Playgroud)

输入被拆分为两个副本。一方面,在整个框架上绘制所需颜色的不透明框。第二个副本覆盖在顶部。在第二个副本中像素是透明的,第一个副本显示出来。

有关颜色语法,请参阅https://ffmpeg.org/ffmpeg-utils.html#Color。您可能需要指定正确的编码器。

您将需要 ffmpeg 4.0 或更高版本。