At the camera
One RTSP connection and FFmpeg process spool decoded JPEG samples and packet-copied H.264 segments.
Open-source visual memory
Sight Cache turns RTSP camera history into compact contact sheets and short video segments, then lets AI agents inspect the exact evidence they need through protected MCP tools.
Self-hosted on your Cloudflare account
From camera to context
Agents start with a compact hour-level overview, narrow in on a suspicious minute, compare the frames that stand out, and retrieve an original or short video only when it adds useful evidence.
One FFmpeg process turns one RTSP input into five-second JPEG samples and approximately 30-second H.264 MP4 segments; source GOP and bitrate settings must keep each segment within 60 seconds and 64 MiB.
The Ingest Worker authenticates each device and streams raw JPEG or MP4 uploads to R2 after validating their metadata.
A scheduled queue builds hourly sheets; minute sheets are built on demand after a five-minute finalization delay.
The Image Worker exposes protected frame tools and five-minute signed URLs for short video playback ranges.
Seven core tools, one optional
The inspection path stays deliberate. Scan contact sheets, find exact frames, compare what matters, then request metadata or five-minute URLs for only the short video ranges you need.
list_devicesFind active cameras and time zonesget_contact_sheetReview a minute or hourlist_framesLocate exact captureslist_video_segmentsPage through up to one hour of video metadataget_video_segmentsPlay a range of up to 30 secondsget_frame_comparison_sheetCompare 2–10 frames side by sideget_original_frameRetrieve unmodified evidencecreate_original_frame_downloadsShare up to 20 originals when enabled// No inline MP4 or key field; the signed URL contains the object path
{
"deviceName": "front-entry",
"beginAt": "2026-09-13T10:42:00Z",
"endAt": "2026-09-13T10:42:20Z",
"expiresAt": "2026-09-13T10:47:30Z",
"count": 1,
"segments": [
{
"startedAt": "2026-09-13T10:41:58Z",
"endedAt": "2026-09-13T10:42:28Z",
"videoCodec": "h264",
"audioCodec": "aac",
"playbackUrl": "https://signed-r2-url.example/..."
}
]
}
A small, separated system
Capture stays close to the camera. Storage and processing run on Cloudflare. Inspection remains behind your Access policy.
One RTSP connection and FFmpeg process spool decoded JPEG samples and packet-copied H.264 segments.
Three Workers authenticate, store original frames and video, summarize frames, schedule, and serve camera history.
Any compatible MCP client can inspect frames and short video ranges through a stateless endpoint.
Private footage stays deliberate
Sight Cache provides the controls, while you retain ownership of the account, Access policies, storage lifecycle, and every camera credential.
Bring one camera online
Provision the Cloudflare resources, deploy the three Workers, then run one collector near each RTSP camera. The guides document every binding and environment value.
Clone the project
git clone https://github.com/catwithlover/sight-cache.git