gpt4 book ai didi

FFMPEG:使特定范围的颜色像素透明

转载 作者:行者123 更新时间:2023-12-04 22:55:35 24 4
gpt4 key购买 nike

我正在尝试使用 ffmpeg 将一个视频叠加在另一个视频之上,但无法完全理解该错误。
我基于来自 here 的现有命令

更具体地说,我想替换接近特定颜色的所有颜色(比如棕色 r:82,g:44,b:11),然后将它们设置为透明。

ffmpeg -i moonmen.mp4 -i transparent_overlay.mp4 -filter_complex
"[1]split[m][a];
[a]geq='if(between(r(X,Y), 77, 87)*between(g(X,Y), 39, 49)*between(b(X,Y), 06, 16) ,255:255:255,0:0:0)';
[m][al]alphamerge[ovr];
[0][ovr]overlay"
output.mp4

但我得到了错误:
[Parsed_geq_1 @ 0x7fc8e2e08400] Either YCbCr or RGB but not both must be specified
[AVFilterGraph @ 0x7fc8e2e07c60] Error initializing filter 'geq' with args 'if(between(r(X,Y), 77, 87)*between(g(X,Y), 39, 49)*between(b(X,Y), 06, 16) ,255:255:255,0:0:0)'
Error initializing complex filters.
Invalid argument

最佳答案

geq filter 可以在 RGB 和 YUV 格式输入上工作,因此必须标记其中一个表达式以表明这一点。但更重要的是,您的输入可能不是 RGB,也可能不是 alpha,因此必须先进行修复。

ffmpeg -i moonmen.mp4 -i transparent_overlay.mp4 -filter_complex
"[1]format=rgba,geq=r='r(X,Y)':a='if(between(r(X,Y),77,87)*between(g(X,Y),39,49)*between(b(X,Y),6,16),0,255)'[ovr];
[0][ovr]overlay"
output.mp4

关于FFMPEG:使特定范围的颜色像素透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48005086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com