FFmpeg:如何在视频底部添加阴影叠加?

时间:2019-12-17 06:11:14

标签: video ffmpeg overlay shadow

我需要在视频底部添加一个阴影。

初始视频

enter image description here

预期结果

enter image description here

一种执行此操作的版本是将阴影(.png)图像作为叠加层添加到视频中。但是我想,有没有阴影图像的方法吗?

1 个答案:

答案 0 :(得分:2)

enter image description here

使用拆分,格式,geq和重叠式过滤器:

ffmpeg -i input.jpg -filter_complex "[0]split[v0][v1];[v0]format=rgba,geq=r=0:g=0:b=0:a=255*(Y/H)[fg];[v1][fg]overlay=format=auto" -frames:v 1 -q:v 2 out.jpg
  • 分割-输入的两个副本:一个用于geq,另一个用于overlay
  • 格式-使输入具有Alpha通道
  • geq-使用alpha创建渐变
  • 叠加-在原始图像上放置渐变

enter image description here

另一个示例,但这会添加裁剪滤镜以将梯度减半,因此它会停在中间:

ffmpeg -i input.jpg -filter_complex "[0]split[v0][v1];[v0]crop=iw:ih/2,format=rgba,geq=r=0:g=0:b=0:a=255*(Y/H)[fg];[v1][fg]overlay=0:H-h:format=auto" -frames:v 1 -q:v 2 out.jpg

可能有一种更有效的方法来执行此操作,但是它可以工作。参见filter documentation