我有一个带有透明背景的视频。如何用颜色(例如白色)替换透明度?
答案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 或更新版本。