FFMPEG 输出排障 · 2026

FFmpeg 的 I/O error 只说明输出打开失败,不能单凭它定因

“[fatal] Error opening output files: I/O error”是最后的失败提示;它本身不能证明硬盘故障,也不能证明 TikTok 拒绝推流。FFmpeg 既可以写本地文件,也可以发送 RTMP 网络流,应查看实际输出目标和同一次运行中更早的错误。

01

先认出 FFmpeg 正在打开哪一种输出

从本次运行开始处查看命令或脱敏后的应用日志。FFmpeg 在输入和输出参数之后接收输出地址:本地路径或 file: 地址,与 rtmp://、rtmps:// 直播地址是两种不同目标。如果同一进程既录制又推流,要找出致命错误前指向的具体输出,不能只看最后一句就推测。

  • 记录输出类型及账号/直播间标识,遮挡完整推流码和地址中的凭据。
  • 保存最终“Error opening output files”之前第一条有意义的错误。
02

RTMP 输出失败时检查当前会话和网络

目标是 RTMP 或 RTMPS 时,先确认官方平台当前确实提供该直播入口,服务器地址与推流码来自同一个仍有效的会话。根据 FFmpeg 前面的信息区分域名解析、拒绝连接、超时、认证或握手错误,再检查网络稳定性。进程连接或重试成功,也不能代替公开直播验证。

  • 不要反复使用已结束或重建直播间的旧推流码。
  • 恢复连接后查看官方直播间状态和独立观众页。
03

本地文件失败时检查路径和存储

目标是磁盘路径或 file: 地址时,确认上级目录存在、运行 FFmpeg 的进程有写权限、磁盘卷已挂载且有剩余空间,并排除其他进程或权限规则占用。可在获准的位置做一段无害的短时本地输出测试;排查文件错误时不必修改直播目标。

  • 用实际进程身份和实际输出路径检查权限。
  • 本地写入失败本身不说明 TikTok 账号权限有问题。
04

改设置前收集足够且脱敏的证据

保存 FFmpeg 版本、时间、脱敏后的命令和输出地址、失败前的连续日志,以及是否曾送出帧。FFmpeg 文档提供日志级别和 report 选项,但完整报告可能包含命令行凭据,分享前必须遮挡。RTMP 故障还应记录当前平台直播间状态;本地文件故障则记录路径和磁盘检查结果。随后每次只改变一个因素,做有界测试。

  • 工单中不要粘贴完整 RTMP 地址、推流码、Cookie 或令牌。
  • 配置多个输出时,记录失败的是哪一路,另一路是否成功。

FAQ

常见问题

购买、授权或运行环境仍有疑问,可以先查看这里。

出现 I/O error 就说明磁盘满了吗?

不能这样判断。打开 RTMP 网络输出时也可能出现该错误。先看输出目标和前置错误;只有涉及本地文件时才重点检查磁盘空间。

只看最后一行能判断 TikTok 拒绝推流吗?

不能。需要 FFmpeg 前面的错误和官方直播间状态,才能区分网络、会话、授权或本地输出故障。

REFERENCES

参考资料

内容核对:2026 年 10 月 13 日 · 小鹿助手产品团队

READY WHEN YOU ARE

下一场直播,从这里开始。

首次注册自动获得 1 天日卡,免费体验 24 小时。

注册免费试用