我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
可能已经正确完成了它的工作,但播放器本身可能是问题所在。