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

如何在ffmpeg-python中使用afade参数避免‘选项未找到’错误?

问题解决:ffmpeg afade参数报错"Option not found"

错误原因

你在subprocess的参数列表里把-af选项和它的参数合并成了一个字符串,还额外加了引号,导致ffmpeg将整个'-af "afade=t=out:st=14.2:d=0.8"'识别为一个未知选项名,自然报错。另外,-c:a copy和音频滤镜不能同时使用——复制音频流意味着不做任何处理,而滤镜需要修改音频数据,两者冲突。

修正后的代码

try:
    subprocess.check_call([
        'ffmpeg',
        '-i', source_file,
        '-i', padding_image_file,
        '-filter_complex',
            '[0:v]scale=iw/'+ video_scale + ':ih/' + video_scale + ',setsar=1[main];'
            '[1:v]scale=720:1280[pad];'
            '[pad][main]overlay=' + video_overlay_x + ':'+ video_overlay_y + ',subtitles=' + subtitles_file + ':force_style=\'Alignment=6,OutlineColour=&H100000000,BorderStyle=3,Outline=1,Shadow=0,Fontsize=8,MarginL=2,MarginV=20\'',
        '-c:a', 'aac',  # 替换copy为具体编码器,因为要应用音频滤镜
        '-af', 'afade=t=out:st=14.2:d=0.8',  # 拆分为独立参数,去掉引号
        '-crf', '20', 
        '-preset', 'fast', 
        '-movflags', '+faststart',
        '-y', output_file
    ])

关键修正点

  • 将-af和滤镜参数拆分为列表中的两个独立元素,不要用引号包裹参数
  • 把-c:a copy改为-c:a aac(或其他你需要的音频编码器),确保音频滤镜能正常生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 19:47:23