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

ffmpeg执行-list_devices、-list_options命令时意外返回退出码1问题咨询

结论

这是FFmpeg dshow模块查询类命令的正常预期行为,不属于使用错误。

原因说明

你运行的-list_devices、-list_options属于纯查询类命令,不需要执行实际的音视频流处理、也没有指定输出目标。dshow模块完成枚举查询后,会主动触发终止流程,FFmpeg的全局运行逻辑会将这种「无有效流可处理的主动终止」判定为普通错误,因此返回退出码1,该表现从FFmpeg 3.x版本开始就长期存在,并非Windows平台独有问题。
正常执行录屏、录制摄像头的命令时,因为有明确的输出目标、完整的流处理流程,正常退出就会返回0,和你测试的结果一致。

解决方案

两种处理方式可选:

  • 不修改命令:调用时关闭返回码校验,从stderr输出中提取设备、参数信息,只要输出内容完整即可判定执行成功,比如Python中设置subprocess.run(..., check=False),再校验输出内容是否包含目标信息。
  • 修改命令获取0退出码:在查询命令末尾添加-f null -参数,指定空输出目标,让FFmpeg走正常完成流程,即可返回符合预期的0退出码,修改后的命令示例:
ffmpeg -list_devices true -f dshow -i dummy -f null -

ffmpeg -list_options true -f dshow -i video="MyCamera" -f null -

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:15:07