Ffmpeg如何将色彩叠加到视频上 [英] ffmpeg how to put color overlay over video

查看:21
本文介绍了Ffmpeg如何将色彩叠加到视频上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在视频上叠加一层颜色(蓝色、红色、绿色或十六进制值),使其具有类似Instagram滤镜的效果。

我认为应该是这样的:

ffmpeg -i video.mp4 -i "red.png" -filter_complex "blend=all_mode='screen':all_opacity=0.7" output.mp4

或可能与all_mode=overlay

但我收到一个错误:

First input link top parameters (SAR 0:1) do not match the corresponding second input link bottom parameters (SAR 1:1).

我也尝试了lutrgb=r=1.5,但它没有变成红色(它会去掉红色)。

我做错了什么?

推荐答案

两个输入必须共享相同的维度和SAR。您可以使用setsar过滤器设置相同的SAR,也可以使用color

完全避免使用图像文件
ffmpeg -i video.mp4 -f lavfi -i "color=red:s=1280x720" -filter_complex "blend=shortest=1:all_mode=overlay:all_opacity=0.7" output.mp4

其中s=1280x720是输入视频帧的大小。

color具有[0x|#]RRGGBB[AA]格式。


更新:

如果输入视频SAR仍然有问题,请尝试使用setsar过滤器显式设置:

ffmpeg -i video.mp4 -f lavfi -i "color=red:s=1280x720" 
-filter_complex "[0:v]setsar=sar=1/1[s];
[s][1:v]blend=shortest=1:all_mode=overlay:all_opacity=0.7[out]" 
-map [out] -map 0:a output.mp4

这篇关于Ffmpeg如何将色彩叠加到视频上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆