AKStream.Next · 文档中心

Search, play, download, and clip recordings

Search, play, download, and clip recordings

First identify the source. Platform-local recordings are searched by file index in Recording Center. GB28181 device-side recordings require a device history query followed by device playback. They are not the same list.

Search platform-local recordings

Numbered Recording Center search and playback controls

Follow the numbers: ① select channel; ② select time; ③ search; ④ select a file; ⑤ play and verify. When results are empty, check the first three items before concluding that recording is missing.

  1. Open Recording Center and select a channel first.
  2. Choose the smallest useful start and end range and confirm the displayed time zone.
  3. Click Search, then select a result from the file list on the right.
  4. Click Play and compare video content, file time, and player duration.
  5. Download only when the original file must be delivered.

If nothing is found, first widen the time range and verify the time zone. A file on disk but no result in the page means the WebHook, scanner, or index backlog needs attention; do not immediately record again.

Why playback or download can fail

flowchart LR
    A[User selects file] --> B{Permission?}
    B -->|No| C[Access denied]
    B -->|Yes| D{Path under allowed root?}
    D -->|No| E[Safety gate rejects]
    D -->|Yes| F[Range playback or download]

The platform checks user permission, owning node, allowed recording root, normalized path, and physical file state. Large-file playback depends on HTTP Range; the reverse proxy must preserve Range and Content-Length and avoid buffering the entire file in proxy memory.

Preserve wall-clock progress after leaving the page

While a recording is playing, the page records the current file position, leave time, and playback rate. On return it advances by real elapsed time: it seeks within the current MP4 when possible, selects the correct file after crossing a segment boundary, skips to the next segment when the target falls in a recording gap, and lands at the last segment end after the query range. Browser background suspension therefore does not resume several minutes behind.

A recording paused manually before leaving remains paused and is not advanced. This rule applies to platform-local files; GB28181 device-side playback still depends on the device implementation of pause, speed, and seek commands.

Delete and restore

Action What happens When to use
Soft delete Hidden from the normal list while the file remains Routine cleanup and mistake protection
Restore Visible again if the file exists and the path is valid Undo an accidental deletion
Physical delete File is removed irreversibly Only after scope and retention are confirmed

Before bulk physical deletion, export the target list and check channel, time, node, and total size. Never permanently delete with an ambiguous filter.

Clip or merge a recording segment

  1. Select source files on the same timeline and the target start/end time.
  2. Create a clip/merge job and retain its job ID.
  3. Wait for a final success or failure state in background jobs.
  4. Play the output and check duration, picture, and A/V synchronization.
  5. Download the result or clean it according to retention policy.

A missing source, incompatible codec, low disk space, unavailable FFmpeg, or queue backlog can fail the job. Read the job error first; do not retry the same invalid job indefinitely.

GB28181 device-side recordings

Query the device for historical recordings first. After the device returns time ranges, start a playback INVITE and RTP media. Speed, seek, and time format depend on protocol version and vendor implementation and must be accepted on the target model.

Acceptance check

  • An ordinary user can find a requested channel and time range within one minute.
  • Browser playback and file download both complete on the real network.
  • Accounts with different permissions cannot read each other's unauthorized recordings.
  • Soft delete is recoverable and physical delete affects only explicit targets.
  • A clip job has a final result and its output is traceable to source files.