潜在优化: 为 load_audio() 设置临时文件模式,以减少长音频占用的内存
作者: Barabazs创建于 2026年6月20日更新于 2026年8月7日
标签enhancementhelp wanted
`load_audio()` 目前通过 `subprocess.run(capture_output=True)` 将整个 ffmpeg 输出缓存到 Python 内存中。对于非常长的音频(10 小时以上 ≈ 1.15 GB 原始 PCM),这可能会在受限的系统上导致 OOM,因为 Python 字节缓存、numpy 视图和 float32 拷贝都在峰值时共存。使用 `use_tmp_file=True` 选项可以将 ffmpeg 输出写入临时文件,而不是通过管道输出到 stdout,然后使用 `np.fromfile()` 读取,从而完全将原始 PCM 保留在 Python 堆中。
内容来源: m-bain/whisperX