Simple-DVR
Simple-DVR (optional) — lightweight DVR/Media Server for RTSP cameras
Simple-DVR is a lightweight Node.js + FFmpeg DVR service that provides:
- live HLS streaming from RTSP cameras;
- archive playback by time range;
- MP4 archive export;
- automatic retention cleanup via
retentionDays.
Repository: https://github.com/rosteleset/Simple-DVR
How it works (brief)
- Starts one ffmpeg process per camera from
config.json. - Stores segments in
/var/dvr/<camera>/YYYY-MM-DD/HH/*.m4s. - Serves live and archive playlists over HTTP.
- Generates minute preview clips.
- Runs cleanup in a dedicated worker thread (
cleanup-worker.js).
Main HTTP endpoints
GET /:camera/live.m3u8(aliases:index.m3u8,video.m3u8,*.fmp4.m3u8)GET /:camera/dvr.m3u8?start=<ISO>&end=<ISO>GET /:camera/archive-:from-:duration.mp4GET /:camera/recording_status.jsonGET /:camera/:yyyy/:mm/:dd/:HH/:MM/:SS-preview.mp4
For full API and deployment details, see INSTALL.md in the repository.