在其他视频之上叠加透明视频
Posted
技术标签:
【中文标题】在其他视频之上叠加透明视频【英文标题】:overlay transparency video on top of other video 【发布时间】:2018-09-28 03:43:06 【问题描述】:我有两个视频。我使用以下命令将第一个视频(overlay.mp4)覆盖在第二个视频(main.mp4)之上,并将 alpha chanel 的透明度设置为 0.3
ffmpeg -y \
-i main.mp4 \
-i overlay.mp4 \
-filter_complex \
[1]format=yuva420p,colorchannelmixer=aa=0.3,setpts=PTS+8/TB[1d]; \
[0][1d]overlay=enable='between(t,8, 13)'[v1]; \
-map [v1] -map 0:a -c:a copy -c:v libx264 -preset ultrafast output.mp4
结果如下所示。
第一个视频的背景仍然存在(看起来比主视频背景更暗)。
我只想在第二个视频上叠加“前景”。 如何设置叠加视频背景的透明度,只显示前景?
编辑
设置颜色键选项,它可以工作
ffmpeg -y \
-i main.mp4 \
-i overlay.mp4 \
-filter_complex \
[1]format=rgb24,colorkey=black:0.3:0.2,colorchannelmixer=aa=0.3,setpts=PTS+8/TB[1d]; \
[0][1d]overlay=enable='between(t,8, 13)'[v1]; \
-map [v1] -map 0:a -c:a copy -c:v libx264 -preset ultrafast output.mp4
【问题讨论】:
【参考方案1】:您需要使用抠像过滤器来去除背景颜色
ffmpeg -y \
-i main.mp4 \
-i overlay.mp4 \
-filter_complex \
[1]format=rgb24,colorkey=black,colorchannelmixer=aa=0.3,setpts=PTS+8/TB[1d]; \
[0][1d]overlay=enable='between(t,8, 13)'[v1]; \
-map [v1] -map 0:a -c:a copy -c:v libx264 -preset ultrafast output.mp4
【讨论】:
我为 colorkey 选项设置了相似性和混合值:colorkey=black:0.3:0.2
并且它有效!谢谢以上是关于在其他视频之上叠加透明视频的主要内容,如果未能解决你的问题,请参考以下文章