gpt4 book ai didi

ffmpeg - 为什么我的 H.264 视频在应用视频过滤器后有绿色覆盖?

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

执行以下代码时:
ffmpeg -i input.mov -c:v libx264 -preset veryslow -pix_fmt yuv420p -filter_complex "drawtext=fontfile=font.ttf:fontcolor=white@1:fontsize=h/6:x=(w-text_w)/2:y=(h-text_h)/2:text='Henk de Vries'[watermark];[0][watermark]blend=all_mode=difference:all_opacity=1" output.mp4
输出文件有一个绿色覆盖。使用其他混合模式时,结果会因某些模式显示正确颜色而其他模式显示为绿色和粉红色而有所不同。

我知道输入文件有 yuv420p 颜色空间。我认为混合滤镜只支持 rgba 模式,但我不确定。

如何避免绿色覆盖并获得原始颜色? (即原始输入视频的样子)

最佳答案

您在差异模式下将视频与几乎相同的副本混合,因此大多数像素将被清零。在 YUV 编码中,两个色度 channel 中的 0 值像素表示绿色。亮度 channel (Y) 不是亮度的纯粹表示,因此亮度值 0连同色度为0导致呈现绿色。

Rotem 的答案在正确的行上,但不需要中间文件。只需事先转换为 RGB 空间。
ffmpeg -i input.mov -c:v libx264 -preset veryslow -pix_fmt yuv420p -filter_complex "[0]format=gbrp,split=2[text][orig];[text]drawtext=fontfile=font.ttf:fontcolor=white@1:fontsize=h/6:x=(w-text_w)/2:y=(h-text_h)/2:text='Henk de Vries'[watermark];[orig][watermark]blend=all_mode=difference:all_opacity=1" output.mp4

关于ffmpeg - 为什么我的 H.264 视频在应用视频过滤器后有绿色覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56497890/

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