Video Synopsis
Video Synopsis condenses hours of recorded footage into a short interactive summary by extracting moving objects and replaying them simultaneously on a static background. An operator can review an entire day’s activity in minutes rather than hours.
How It Works
Section titled “How It Works”The synopsis pipeline processes recorded footage in three stages:
- Background extraction — Background subtraction algorithms build a clean static background from the footage.
- Object tracking — A centroid-based tracker identifies and follows individual moving objects across frames, assigning each a unique track ID.
- Track assembly — Each tracked object’s trajectory is extracted as an independent clip that can be composited onto the background at any point in time.
The result is a compressed timeline where all detected movements are visible simultaneously or can be filtered interactively.
Interactive Player
Section titled “Interactive Player”The synopsis player uses an HTML5 Canvas renderer that composites tracked objects onto the background in real time. Unlike traditional video playback, the player provides full interactive control over which objects are displayed.
Player Controls
Section titled “Player Controls”| Control | Description |
|---|---|
| Play/Pause | Start or stop the synopsis playback |
| Speed | Adjust playback speed (0.5x to 8x) |
| Scrub | Drag the timeline to any point in the synopsis |
| Object click | Click any moving object to isolate it and view its full track |
| Filter panel | Show/hide objects based on analyzer criteria |
Object Interaction
Section titled “Object Interaction”Clicking an object in the synopsis view:
- Highlights its complete trajectory path on the background
- Shows metadata (class, duration, speed, direction, zones visited)
- Provides a “Jump to Recording” link to view the original footage at the exact timestamp
- Isolates the object track for focused replay
Analyzers
Section titled “Analyzers”Synopsis includes 13 built-in analyzers that classify each tracked object. These analyzers run automatically during synopsis generation and their results power the forensic search filters.
| Analyzer | Description |
|---|---|
| Speed | Estimated speed of the object (slow, walking, running, vehicle speed) |
| Direction | Primary direction of travel (N, NE, E, SE, S, SW, W, NW) |
| Color | Dominant color of the object (extracted from the object crop) |
| Size | Relative size classification (small, medium, large) |
| Dwell Time | How long the object remained in the scene |
| Path Length | Total distance traveled within the frame |
| Zone Entry | Which detection zones the object entered |
| Zone Exit | Which detection zones the object exited |
| Start Position | Where in the frame the object first appeared |
| End Position | Where in the frame the object was last seen |
| Aspect Ratio | Shape classification (tall/narrow vs. wide/short) |
| Activity Level | Amount of movement (stationary, slow-moving, active) |
| Time of Day | When the object appeared (morning, afternoon, evening, night) |
Forensic Search
Section titled “Forensic Search”The forensic search interface allows filtering synopsis results using analyzer criteria. This turns hours of footage into a targeted investigation tool.
Filter Examples
Section titled “Filter Examples”“Show all people walking northward between 14:00 and 16:00”
- Direction: N, NE, NW
- Size: Medium (person-sized)
- Time of Day: Afternoon
- Speed: Walking
“Find vehicles that stopped in the loading zone for more than 5 minutes”
- Zone Entry: Loading Zone
- Dwell Time: > 5 minutes
- Size: Large
“Red objects moving east”
- Color: Red
- Direction: E, NE, SE
Combining Filters
Section titled “Combining Filters”Multiple analyzer filters are combined with AND logic. Each added filter narrows the result set. The synopsis player updates in real time to show only objects matching the active filters, with non-matching objects hidden.
Generating a Synopsis
Section titled “Generating a Synopsis”To create a video synopsis:
- Navigate to Operations > Synopsis.
- Select a camera from the camera list.
- Choose a date and time range (maximum 24 hours per synopsis).
- Click Generate Synopsis.
The synopsis worker processes the footage in the background. Processing time depends on the duration and activity level:
| Footage Duration | Typical Processing Time |
|---|---|
| 1 hour | 2-5 minutes |
| 4 hours | 8-15 minutes |
| 8 hours | 15-30 minutes |
| 24 hours | 30-60 minutes |
Processing progress is shown in real time. Once complete, the interactive player loads automatically.
Synopsis Storage
Section titled “Synopsis Storage”Generated synopsis data is stored alongside recordings:
/recordings/{server_id}/{camera_id}/synopsis/ ├── {timestamp}_background.jpg # Static background image ├── {timestamp}_tracks.json # Track data with analyzer results └── {timestamp}_objects/ # Individual object crops per frameSynopsis data is subject to the same retention policies as recordings. When the source footage is deleted by retention cleanup, the corresponding synopsis data is also removed.
Performance
Section titled “Performance”Synopsis processing is CPU-bound and runs as a separate subprocess to avoid impacting recording or detection workloads.
| Resource | Usage |
|---|---|
| CPU | 1-2 cores during processing |
| RAM | 500 MB - 1 GB per active synopsis job |
| GPU | Not required |
| Disk I/O | Reads source segments, writes synopsis assets |
Multiple synopsis jobs can run concurrently, limited by available CPU cores. The system queues excess requests and processes them in order.
API Reference
Section titled “API Reference”| Method | Endpoint | Description |
|---|---|---|
POST | /api/synopsis/generate | Start a synopsis generation job |
GET | /api/synopsis/jobs | List active and completed synopsis jobs |
GET | /api/synopsis/jobs/{id} | Get job status and progress |
GET | /api/synopsis/{camera_id}/{timestamp} | Get synopsis data (background + tracks) |
DELETE | /api/synopsis/{camera_id}/{timestamp} | Delete a generated synopsis |