AKStream.Next · 文档中心

录像会话成功但文件找不到

录像会话成功但文件找不到

按“计划 → 调度 → 会话 → 文件 → 索引 → 查询”顺序检查。不要一开始就重扫整块磁盘。

flowchart LR
    A[计划] --> B[调度]
    B --> C[会话]
    C --> D[磁盘文件]
    D --> E[数据库索引]
    E --> F[页面查询]

1. 计划是否应当录像

  • 计划启用,目标通道正确。
  • 当前星期、时区和时间窗口命中。
  • 跨午夜区间表达正确。
  • 没有被更高优先级策略或停用状态阻止。
  • 使用计划 evaluate 功能验证指定时间点。

手工录像也失败时,问题通常不在计划本身。

2. 会话是否真正运行

查看录像会话的开始、最终状态、通道、媒体节点和错误。常见阻止原因包括:

  • 源流不在线;
  • 达到并发录像授权额度;
  • 目标 MediaServer 离线;
  • 磁盘 guard 阻止新录像;
  • 后台任务未运行或配置待重启。

3. 磁盘是否产生文件

在正确媒体节点与允许录像根检查对应时间段。确认:

  • 运行账号有写入权限;
  • 挂载不是只读,路径没有变化;
  • 字节与 inode 充足;
  • MediaServer 录像功能和分片配置已启用;
  • 文件名和时间基准符合扫描规则。

不要因为数据库列表为空就判断物理文件不存在。

4. 索引是否建立

文件存在但列表为空时检查 MediaServer WebHook、文件扫描任务、扫描游标、批次错误和积压。确认文件属于当前集群与节点,路径规范化后仍在允许根内。

对大目录使用受控的按时间/根目录扫描,不要反复全盘扫描造成 IO 风暴。

5. 查询是否正确

  • 查询的通道 ID 与录像时一致。
  • 时间范围和时区正确。
  • 没有默认隐藏软删除文件。
  • 账号有查询权限。
  • 页面过滤条件没有遗留节点或文件状态。

6. 文件存在但不能播放

检查文件是否完整、大小与时长、MediaServer 写入是否已经结束、HTTP Range、代理缓冲、权限和 codec。裁剪输出还要检查 FFmpeg 与任务最终状态。

恢复与防复发

恢复索引后抽查文件内容,不要只看记录数。为以下情况建立告警:

  • 活跃录像超过一个分片周期没有新文件;
  • 扫描/WebHook 积压持续增长;
  • 录像盘字节或 inode 低;
  • 写入探针失败;
  • 会话失败率或授权拒绝上升。

记录首次断开层、受影响时间范围和是否需要补录。已经错过的实时内容通常无法从平台本地自动补回。