You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg+Python给透明视频叠加方框,兼容视频编辑器问题排查

问题原因

你的drawbox调用没有明确设置颜色的alpha通道,导致绘制的蓝色方框虽然RGB通道正常,但alpha通道仍保持原始帧的全透明状态(/dev/zero生成的rgba帧alpha值为0)。部分播放器可能会忽略alpha通道直接显示RGB内容,但视频编辑器、Firefox以及PNG序列导出会严格遵循alpha通道规则,所以看不到方框。

解决方案

修改drawbox的color参数,明确指定不透明的alpha值,两种方式可选:

  • 方式1:用color='blue@1.0',@后数值为alpha透明度(1.0代表完全不透明)
  • 方式2:用RGBA十六进制格式color='0x0000FFFF'(对应蓝色底+完全不透明alpha)

修改后的代码:

import ffmpeg

stream = ffmpeg.input("/dev/zero", f='rawvideo', pix_fmt='rgba', s='{}x{}'.format(1920, 1080),
                              r=30)

stream = ffmpeg.overlay(stream, ffmpeg.input("tmp.png"), x=0, y=0)
# 新增alpha通道设置
stream = ffmpeg.drawbox(stream, x=900, y=100, width=500, height=500, color='blue@1.0', thickness="fill")
stream = ffmpeg.trim(stream, duration=1)
stream = ffmpeg.output(stream, "out.webm",
                       pix_fmt="yuva420p")
ffmpeg.run(stream)
效果验证

修改后导出PNG序列时,原本不显示的方框会正常出现在帧中;在Kdenlive、Shotcut等编辑器叠加,或用Firefox打开时,方框也能正常显示。

内容的提问来源于stack exchange,提问作者Sidney

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 00:05:03