SesameDVR
SesameDVR is a lightweight video recording and playback server for IP cameras.
It runs on a Linux server, accepts RTSP/HTTP/HTTPS streams, records a local video archive, serves live and archived video over HTTP/WebRTC, and includes a web admin interface for stream management and diagnostics.
Who it is for
SesameDVR is useful for:
- integrators who need to deploy a local DVR/NVR quickly;
- telecom operators and building operators who need API access to live and archived camera video;
- sites with IP cameras: offices, warehouses, construction sites, industrial and remote locations;
- SmartYard/RBT deployments that need a compatible DVR backend for camera preview, archive and playback;
- IPTV networks where operators need a CatchUP archive for TV channels.
The main value is a controlled local or operator-side video archive with web access, API, embeddable player, clear diagnostics and flexible storage options.
Key features
- recording from IP cameras and other RTSP/HTTP/HTTPS sources;
- live HLS playback and native WebRTC/WHEP playback;
- archive playback by time range;
- MP4 archive export;
- Flussonic API compatibility, so existing solutions that already work with Flussonic can be integrated with SesameDVR;
- ONVIF event support: motion detector events are attached to the stream and help users jump through the archive faster;
- multi-disk archive recording: segments of the same stream are alternated between disks, so if one of N disks fails, you lose roughly 1/N of the segments instead of the whole archive;
- playback authorization through an Auth Backend, a static token, or no authorization mode;
- camera preview as MP4/JPEG;
- built-in
/adminpanel; - server dashboard: CPU, RAM, disk, network, ingest and stream status;
- stream management via UI, HTTP API and CLI;
- ONVIF discovery;
- single-volume and multi-volume archive storage.
Screenshots

Stream management: status, playback tabs and per-camera controls.

Server monitoring dashboard with system and stream metrics.

ONVIF motion events attached to camera streams for faster archive navigation.
Playback and API
Endpoint templates:
<base-url>/<stream>/index.m3u8— live HLS playlist;<base-url>/<stream>/index.fmp4.m3u8— live HLS/fMP4 playlist;<base-url>/<stream>/index-<start>-<duration>.m3u8— archive HLS playlist for a selected time range;<base-url>/<stream>/recording_status.json— recording status and available archive intervals;<base-url>/<stream>/preview.mp4— current MP4 preview;<base-url>/<stream>/preview.jpg— current JPEG preview;<base-url>/<stream>/<yyyy>/<mm>/<dd>/<HH>/<MM>/<SS>-preview.mp4— archive MP4 preview by date and time;<base-url>/<stream>/<timestamp>-preview.jpg— archive JPEG preview by timestamp;<base-url>/<stream>/whep/— WebRTC playback endpoint.
Integration scenarios
SesameDVR can be used as:
- a standalone IP-camera archive and playback server;
- a Flussonic-compatible media server for existing video products and integrations;
- a DVR backend for SmartYard/RBT camera preview, live video and archive playback;
- a CatchUP archive service in telecom IPTV networks.
RBT integration
We have also built a dedicated RBT integration: a new plugin can automatically manage SesameDVR media servers.
When camera streams are added, removed or updated in RBT, operators do not need to do the same work twice — RBT performs the required actions on the correct SesameDVR media server automatically.
For deployments that need users, access groups, favorites, camera mosaics and a map interface, combine SesameDVR with SesamePortal.
Related links
- SesamePortal
- Media server compatibility
- Need deployment help? Contact us