23d576c4384cb5dd94e904dc67aec7af0dae5079
Move state handling out of daemon and paths into a new state module. - Introduce state.py for loading, writing, and maintaining state.json - Persist recorded file metadata across daemon restarts - Add cleanup of stale state entries when files are deleted - Rename cleanup_old_files to cleanup_physical_files for clarity - Ensure state file is created lazily if missing
Overview
rewind is a lightweight, disk-backed replay recording tool for OBS that continuously records video into timestamped chunks and lets you retroactively extract meaningful moments. Instead of a short, RAM-limited replay buffer, it keeps a rolling on-disk timeline for the duration of a session, allowing you to mark events as they happen and later export clips either from the last N seconds or between named markers. A background daemon manages recording, chunk tracking, and cleanup, while a simple CLI provides fast, scriptable control over marking and clip creation—prioritizing reliability, low overhead, and post-hoc selection of what parts of a session are worth keeping.
Steps
- Setup OBS and make the recording output: "ts" with a 1 minute segment size
- Enable OBS websocket and take note of the host, port and password
- Setup config.toml with host, port, password info
- Run the daemon as a background service (rewind-daemon)
Description
rewind is a disk-backed replay buffer for OBS that continuously records a session and lets you retroactively keep the moments that matter.
Languages
Python
100%