如何使用ffmpeg将透明背景的PNG图片跟透明背景的gif图片合成透明背景的视频
要将透明背景的PNG图片跟透明背景的gif图片合成透明背景的视频,可以使用以下命令:
ffmpeg -i video.gif -i image.png -filter_complex "[0:v]scale=iw*min(1\,max(3/4\,oh/iw)):ih*min(1\,max(4/3\,iw/ih))[gif];[1:v]scale=iw*min(1\,max(3/4\,oh/iw)):ih*min(1\,max(4/3\,iw/ih))[png];[gif][png]overlay=(W-w)/2:(H-h)/2:format=auto,format=yuva420p" output.mp4
解释:
-i video.gif:指定输入的gif文件。-i image.png:指定输入的PNG文件。-filter_complex:指定复杂的滤镜操作。[0:v]scale=iw*min(1\,max(3/4\,oh/iw)):ih*min(1\,max(4/3\,iw/ih))[gif]:将gif文件进行缩放,确保它的宽高比不超过3:4或4:3。[1:v]scale=iw*min(1\,max(3/4\,oh/iw)):ih*min(1\,max(4/3\,iw/ih))[png]:将PNG文件进行缩放,确保它的宽高比不超过3:4或4:3。[gif][png]overlay=(W-w)/2:(H-h)/2:format=auto:将缩放后的gif文件和PNG文件进行叠加,居中对齐。format=yuva420p:指定输出的视频格式为YUVA 4:2:0像素格式,确保透明通道被正确处理。output.mp4:指定输出的视频文件名。
请注意:由于GIF和PNG的透明通道可以是不同的,因此在叠加它们之前,需要将它们的透明通道转换成相同的格式。在本命令中,我们使用YUVA 4:2:0像素格式来处理透明通道。如果您的输入文件使用不同的透明通道格式,请相应地调整命令。
原文地址: https://www.cveoy.top/t/topic/bru5 著作权归作者所有。请勿转载和采集!