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

FFmpeg中sendcmd为何无法控制命名的drawbox滤镜实例?

问题分析与解决

你的操作主要有两个关键错误,导致sendcmd无法控制drawbox动画:

1. sendcmd参数赋值语法错误

你在命令里写的 drawbox@one w W*(T/5) 缺少了赋值符号 =,FFmpeg要求必须用 参数名=表达式 的格式来修改滤镜参数。

2. 宽高变量引用错误

你使用的 W 和 H 不是FFmpeg滤镜识别的原生变量,应该用 iw(输入宽度)和 ih(输入高度)来指代视频的宽高。

另外,多个sendcmd命令之间需要用分号 ; 分隔,保证解析正确。

修正后的完整滤镜链示例

drawbox@one=0:0:iw:ih:red:fill,drawbox@two=0:0:iw:ih:black:fill,sendcmd=c='
0.0-5.0 [expr] drawbox@one w=iw*(T/5);
0.0-5.0 [expr] drawbox@two h=ih*(T/5)
'

额外注意事项

  • 确保sendcmd滤镜放在所有需要控制的drawbox滤镜之后,这样它才能正确定位到前面的命名滤镜实例。
  • T 是sendcmd内置的时间变量,代表当前时间(从片段起始点开始计算),你的使用是正确的,T/5 会让参数在5秒内从0线性增长到1倍的宽/高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 22:22:14