FFMPEG:用 lavfi 创建透明背景?

Posted

技术标签:

【中文标题】FFMPEG:用 lavfi 创建透明背景?【英文标题】:FFMPEG: create a transparent background with lavfi? 【发布时间】:2017-09-20 07:12:45 【问题描述】:

我可以通过设置 colorkey 使用 lavfi 创建一个透明背景 - 但是这会导致字体边缘等问题。

ffmpeg.exe -y -f lavfi -i color=s=1920x1080:color=0xff0000 
-an -vf "ass=test.ass,colorkey=0xff0000:0.5:0.5,format=yuva420p" 
-c:v png -t "00:01:40.544" -threads 0 "video.mov" -stats

如何在不使用颜色键的情况下将背景设置为透明?

【问题讨论】:

color=0xff0000@0.5,format=rgba 其中@0.5 是不透明度,范围从完全透明 (0.0) 到完全不透明 (1.0)。 【参考方案1】:

实际上,@aergistal 几乎就在那里,但所有东西都需要包装在一个过滤器行中,而不是两个。

所以我的获胜组合是:

ffmpeg.exe -y -f lavfi -i 
"color=color=black@0.0:size=1920x1080,format=rgba,
subtitles=test.ass:alpha=1" -c:v png 
-t "00:01:00.000" -threads 0 "video.mov" -stats

【讨论】:

以上是关于FFMPEG:用 lavfi 创建透明背景?的主要内容,如果未能解决你的问题,请参考以下文章

ffmpeg使用-lavfi或-filter_complex时的区别

在css中设置背景不透明度[重复]

如何使 TreeView 背景色透明?

FFmpeg滤镜(9)

在 Imagemagick 中创建的透明 PNG 在 FFMPEG 中绘制为不透明

设置小部件背景的透明度