Recording Session Successful but Files Not Found
Check in the order of "Schedule → Scheduling → Session → File → Index → Query." Do not start by rescanning the entire disk.
flowchart LR
A[Schedule] --> B[Scheduler]
B --> C[Session]
C --> D[Disk file]
D --> E[Database index]
E --> F[Page query]
1. Should the Schedule be Recording?
- Schedule is enabled, and the target channel is correct.
- Current day of the week, time zone, and time window are matched.
- Intervals crossing midnight are expressed correctly.
- Not blocked by a higher-priority policy or a disabled status.
- Use the schedule evaluate function to verify a specific point in time.
If manual recording also fails, the problem is usually not with the schedule itself.
2. Is the Session Actually Running?
Check the start time, final status, channel, media node, and errors of the recording session. Common blocking reasons include:
- Source stream is offline;
- Concurrent recording license quota has been reached;
- Target MediaServer is offline;
- Disk guard is blocking new recordings;
- Background tasks are not running or configuration is pending a restart.
3. Are Files Being Generated on Disk?
Check the corresponding time period on the correct media node and within the allowed recording root. Confirm:
- The running account has write permissions;
- The mount is not read-only, and the path has not changed;
- Sufficient bytes and inodes are available;
- MediaServer recording functionality and segment configuration are enabled;
- Filenames and time baselines comply with scanning rules.
Do not assume physical files do not exist simply because the database list is empty.
4. Has the Index Been Established?
If files exist but the list is empty, check the MediaServer WebHook, file scanning tasks, scanning cursors, batch errors, and backlogs. Confirm that the files belong to the current cluster and node, and that they remain within the allowed root after path normalization.
For large directories, use controlled scans by time or root directory; do not repeatedly perform full-disk scans, as this may cause an IO storm.
5. Is the Query Correct?
- The queried channel ID matches the one used during recording.
- The time range and time zone are correct.
- Soft-deleted files are not hidden by default.
- The account has query permissions.
- Page filter conditions do not have residual node or file statuses.
6. File Exists but Cannot Be Played
Check if the file is complete, its size and duration, whether the MediaServer write has finished, HTTP Range, proxy buffering, permissions, and codec. For clipped output, also check FFmpeg and the final task status.
Recovery and Prevention
After restoring the index, spot-check the file content rather than just looking at the record count. Set up alerts for the following scenarios:
- No new files for an active recording exceeding one segment cycle;
- Scanning/WebHook backlog continues to grow;
- Low bytes or inodes on the recording disk;
- Write probe failure;
- Increase in session failure rate or license denials.
Record the first point of disconnection, the affected time range, and whether supplementary recording is required. Real-time content that has already been missed usually cannot be automatically recovered locally from the platform.