Storage
ReplayVOD writes one MP4 per recording, plus thumbnails and a snapshot strip. The storage backend is selected in server/config.toml; paths come from server/.env.
Backends
Section titled “Backends”[storage]type = "local"local_path = "./data"Paths from server/.env:
VIDEO_DIR=./data/videosTHUMBNAIL_DIR=./data/thumbnailsSCRATCH_DIR=./data/.scratchRecordings land in VIDEO_DIR/<channel>/<id>.mp4. Thumbnails go in THUMBNAIL_DIR. The scratch directory holds in-progress segments before remux.
[storage]type = "s3"
[storage.s3]endpoint = "https://s3.example.com"bucket = "replayvod"region = "us-east-1"access_key = "..."secret_key = "..."Works with AWS S3, Garage, Backblaze B2, MinIO, Cloudflare R2, and any other S3-compatible store.
Custom endpoints default to path-style addressing. The recorder still uses SCRATCH_DIR locally during recording and uploads on completion.
Disk sizing
Section titled “Disk sizing”A 1080p stream typically lands around 4–6 GB per hour. ReplayVOD does not transcode — what Twitch served is what gets stored. Plan disk for the channels and retention you want.
Recommended layout
Section titled “Recommended layout”data/├── videos/ recorded VODs├── thumbnails/ poster images and snapshot strips└── replayvod.db SQLite (when DATABASE_DRIVER=sqlite)Override individual paths with VIDEO_DIR, THUMBNAIL_DIR, and SQLITE_PATH in server/.env.