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

iOS Swift调用Mobile FFmpeg执行复合滤镜报错无效参数如何解决?

问题原因与修复方案

核心语法错误

你给出的FFmpeg命令存在多余的非法字符:在filter_complex参数的闭合引号后额外加了英文分号;,该分号会被FFmpeg识别为独立的空滤镜参数,因此抛出No such filter: ''的初始化错误。
错误片段如下:

-filter_complex "[0:v][1:v] overlay=208:438:enable='between(t,0.0,5.5316668)'";
// 此处末尾多余的 ; 是错误根源

修正后的命令

-i 'record_merge.mp4' -i 'text_0.png' -filter_complex "[0:v][1:v] overlay=208:438:enable='between(t,0.0,5.5316668)'" -c:a copy 'texted_video.mp4'

iOS Swift 环境额外注意事项

如果你是通过参数数组的方式调用FFmpeg接口,还需要注意以下规则:

  • 不要给参数值额外加外层引号,命令行里的引号仅用来标识参数边界,传数组时无需添加,filter_complex对应的参数值直接传入[0:v][1:v] overlay=208:438:enable='between(t,0.0,5.5316668)'即可
  • 每个独立参数要拆分为数组的单独元素,比如-filter_complex是一个元素,对应的滤镜表达式是下一个元素,不要拼接在同一个字符串中
  • Swift字符串中如果需要写双引号,要加反斜杠转义,避免提前截断字符串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:06:03