FFmpeg Padding 视频不透明

FFmpeg Padding 视频不透明

ffmpeg-python将其用作包装器ffmpeg

我有一个video.mp4正在使用的填充:

import ffmpeg

v = ffmpeg.input('video.mp4')
kwargs = {
      'w':'100', 
      'h':'100', 
      'x':'10', 
      'y':'10', 
      'color':'black@0'}
v_pad = ffmpeg.filter(v, filter_name='pad', **kwargs)
v_pad.output('out.mp4').run()

但是背景是黑色的。如何才能让它透明呢?

答案1

您需要使用支持 alpha 通道的编码器,例如 libvpx-vp9。

要检查 alpha 支持,请参见 的输出ffmpeg -h encoder=<encoder name>,参考Supported pixel formats,并在结果中查找“ a”,例如yuva420p

示例命令:

ffmpeg -i input.mp4 -filter_complex "[0]format=yuva420p,pad=iw+200:ih+200:(ow-iw)/2:(oh-ih)/2:black@0" -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm

有关此特定编码器的更多信息,请参阅FFmpeg 维基: VP9

如果它不起作用,请确保您的播放器或浏览器也支持它:ffmpeg可能已经正确完成了它的工作,但播放器本身可能是问题所在。

相关内容