FFmpeg 提示音频含 NaN/Inf:向前检查音效与解码节点
视频合成时 AAC 或其他音频编码过程失败,stderr 指出输入含非有限值。需要从进入编码器的音频向前检查,而不是仅凭 FFmpeg 报错就认为编码器未安装。
现象与适用范围
视频合成时 AAC 或其他音频编码过程失败,stderr 指出输入含非有限值。需要从进入编码器的音频向前检查,而不是仅凭 FFmpeg 报错就认为编码器未安装。
检索用原文或片段(具体编号、数值和文件名随环境变化):
Input contains (near) NaN/+-Inf
Audio encoding failed
已核对的依据
VideoHelperSuite 的报告 记录用户在 VideoCombine 前加入混响后遇到 AAC 编码器报错。维护者建议先检查核心 SaveAudio 节点能否处理这段音频,以定位问题是否在 VideoHelperSuite 之前。该 issue 仍未关闭,不能据此认定混响本身、所有音效或 FFmpeg 安装就是根因。项目 README 可用来确认涉及的扩展。
需要区分的情况
1. 某个音效、增益或混合运算生成异常数据,编码器只是最后发现它。
2. 上游解码或精度转换已经有数值问题,尚未在图中显式报错。
3. 输入媒体本身异常,或扩展版本/采样数据约定不同。
建议的操作顺序
以下顺序是基于上述资料整理的诊断方案,不代表上游已经为你的环境确认了原因。
第 1 步。 保存完整编码 stderr,确认它明确提到 NaN/Inf,而不是路径或未知编码器错误。
第 2 步。 在可恢复副本中,先对输入音频使用核心 SaveAudio 节点;若接口允许,再在可疑音效之后保存并试听。比较音频进入 VideoCombine 前能否保存、播放;原文件保持私有且不修改。这只能定位阶段,不能单独证明具体数值根因。
第 3 步。 暂时绕过音效,保持视频帧不变,将原音频接到 VideoCombine;再逐个恢复混响、增益、混音与转换节点,用相同短片段和输出设置找到首次失败的最小分支。
第 4 步。 记录该分支版本和参数,寻找上游相应修复;不要在完全不了解音频处理影响时把所有非有限值强行归零。
如何判断处理有效
每个阶段音频可正常处理,最终编码成功且内容、音量和时长合理;没有错误并不代表处理效果正确。
注意事项与尚未确认的部分
不能把静音和非有限值错误合并为同一修复。本文没有获取真实音频或对具体音效实现做数值审计。
资料复核并独立审阅中文:2026-09-26。本站未处理音频、编码视频或运行 GPU,也不声称已修复具体环境。
原始资料
- I21 · VHS FFmpeg audio contains NaN/Inf。核对:2026-09-26;原始日期:2025-08-23。
- R02 · VideoHelperSuite README。核对:2026-09-26。
相关排查与操作
排查下一个可能的原因
同样的现象可能来自不同原因。可以按顺序查看下面这些相关条目。
- VHS 合成后近乎静音:检查音频 dtype,而不是先放大音量
VHS_VideoCombine音频分支有输出,但经过 VHS_VideoCombine 合成后几乎听不见。此条目针对报告中与 fp16 中间结果有关的一类情况,不把所有静音都归因于精度。 - 视频导出失败、黑屏或时长不对:检查编码与帧率链路
Unknown encoder视频节点读取或合成失败,或者输出文件存在但浏览器不能播放、时长异常、没有声音。本页围绕媒体处理层排查,不把这些问题全部归因于生成模型。
这篇内容对你有帮助吗?
匿名统计,只记录“有/没有帮助”的计数,不记录账号、IP 地址或设备信息。
资料来源
2026-09-26 复核 issue #537、维护者回复和 VHS README,并独立审阅中文;未在本机处理音频或运行 GPU。
01VHS FFmpeg audio contains NaN/Inf资料核对: 2026-09-2602VideoHelperSuite README资料核对: 2026-09-26