FFMpeg 叠加时 PNG 签名无效

FFMpeg 叠加时 PNG 签名无效

我正在尝试使用 ffmpeg 来生成一个视频,其中包含音频、纯色背景 (jpg)、徽标 (png,透明背景) 以及背景和徽标之间的视频叠加 (黑色背景)。因此顺序为:徽标 {在顶部} 叠加 {在顶部} 背景

以下是我现在所拥有的有效方法:

ffmpeg -r 30 -loop 1 -i image.jpg -i overlay.mp4 -i audio.mp3 -filter_complex "[0]format=gbrp [i]; [1]format=gbrp [v]; [i][v]blend=all_mode=screen[out]" -map [out] -map 2:a -y -pix_fmt yuv420p output.mp4

在我的 ffmpeg 命令中,image.jpg 是我的背景 + 徽标,这不是我想要的,但我卡在这里。我有多个“format=gbrp”,因为否则我会有一些粉红色的覆盖比如这个

这是我尝试过的,将叠加层与背景混合,然后将 png 放在其上:

ffmpeg -r 30 -loop 1 -i background.jpg -loop 1 -i logo.png -i overlay.mp4 -i audio.mp3 -filter_complex "[0]format=gbrp [i]; [1]format=gbrp [p]; [2]format=gbrp [v]; [i][v]blend=all_mode=screen[ov]; [ov][p]overlay[out]" -map [out] -map 3:a -y -pix_fmt yuv420p output.mp4

这给了我以下错误:

[png @ 00000228db8331c0] Invalid PNG signature 0x8096C4E009AF6B98.
[...]
Error while decoding stream #1:0: Invalid data found when processing input-0.0kbits/s speed=N/A

任何帮助表示感谢,谢谢

相关内容