问题出现得很突然,日志倒是留得挺全。第一次跑转写就报 FileNotFoundError,提示找不到 ffmpeg,音频文件本身完好。
刚开始盯着「用了虚拟环境,PATH 与系统不一致」,折腾了半个多小时,排掉了。
把日志和配置对完,能解释这个现象的基本就这几处。系统没有安装 ffmpeg 或没加入 PATH。另一种情况是装了但当前终端没有刷新环境变量。
少数情况下是音频格式需要解码器支持,缺少相应组件。
先确认命令是否可用
ffmpeg -version
然后用包管理器安装并刷新环境
winget install Gyan.FFmpeg
再往下重开终端确认路径生效
$env:Path -split ';' | Select-String ffmpeg
转换一次音频验证解码链路
ffmpeg -i a.mp3 -ar 16000 -ac 1 a.wav
隔了一天再看,现象没变,说明不是偶发。
改完先别撤,确认这几项。ffmpeg 能输出版本信息,转写脚本正常读取音频并输出文本。
容易忽略的是,装完不重开终端是最常见的原因,PATH 是进程启动时读取的,当前窗口不会自动更新。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。