fli*_*eks 1 overlay ffmpeg colors opacity
我想在视频上放置一个颜色叠加(蓝色,红色或绿色或十六进制值),为它提供类似Instagram效果的滤镜.
我认为应该是这样的:
ffmpeg -i video.mp4 -i "red.png" -filter_complex "blend=all_mode='screen':all_opacity=0.7" output.mp4
Run Code Online (Sandbox Code Playgroud)
或者也许 all_mode=overlay
但是我收到一个错误:
First input link top parameters (SAR 0:1) do not match the corresponding second input link bottom parameters (SAR 1:1).
Run Code Online (Sandbox Code Playgroud)
我也尝试过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
Run Code Online (Sandbox Code Playgroud)
s=1280x720输入视频帧的大小在哪里.
该颜色有[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
Run Code Online (Sandbox Code Playgroud)