Skip to content

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.

The synopsis pipeline processes recorded footage in three stages:

  1. Background extraction — Background subtraction algorithms build a clean static background from the footage.
  2. Object tracking — A centroid-based tracker identifies and follows individual moving objects across frames, assigning each a unique track ID.
  3. 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.

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.

ControlDescription
Play/PauseStart or stop the synopsis playback
SpeedAdjust playback speed (0.5x to 8x)
ScrubDrag the timeline to any point in the synopsis
Object clickClick any moving object to isolate it and view its full track
Filter panelShow/hide objects based on analyzer criteria

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

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.

AnalyzerDescription
SpeedEstimated speed of the object (slow, walking, running, vehicle speed)
DirectionPrimary direction of travel (N, NE, E, SE, S, SW, W, NW)
ColorDominant color of the object (extracted from the object crop)
SizeRelative size classification (small, medium, large)
Dwell TimeHow long the object remained in the scene
Path LengthTotal distance traveled within the frame
Zone EntryWhich detection zones the object entered
Zone ExitWhich detection zones the object exited
Start PositionWhere in the frame the object first appeared
End PositionWhere in the frame the object was last seen
Aspect RatioShape classification (tall/narrow vs. wide/short)
Activity LevelAmount of movement (stationary, slow-moving, active)
Time of DayWhen the object appeared (morning, afternoon, evening, night)

The forensic search interface allows filtering synopsis results using analyzer criteria. This turns hours of footage into a targeted investigation tool.

“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

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.

To create a video synopsis:

  1. Navigate to Operations > Synopsis.
  2. Select a camera from the camera list.
  3. Choose a date and time range (maximum 24 hours per synopsis).
  4. Click Generate Synopsis.

The synopsis worker processes the footage in the background. Processing time depends on the duration and activity level:

Footage DurationTypical Processing Time
1 hour2-5 minutes
4 hours8-15 minutes
8 hours15-30 minutes
24 hours30-60 minutes

Processing progress is shown in real time. Once complete, the interactive player loads automatically.

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 frame

Synopsis 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.

Synopsis processing is CPU-bound and runs as a separate subprocess to avoid impacting recording or detection workloads.

ResourceUsage
CPU1-2 cores during processing
RAM500 MB - 1 GB per active synopsis job
GPUNot required
Disk I/OReads 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.

MethodEndpointDescription
POST/api/synopsis/generateStart a synopsis generation job
GET/api/synopsis/jobsList 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