Skip to content

Storage

ReplayVOD saves video as MP4 and audio-only recordings as M4A. A recording may have several parts, plus previews and other playback files.

Choose the storage backend in server/config.toml. With Docker, mount your edited configuration as described in Configuration.

[storage]
type = "local"
local_path = "./data"

Source installs use these default paths:

VIDEO_DIR=./data/videos
THUMBNAIL_DIR=./data/thumbnails
SCRATCH_DIR=./data/.scratch

The supplied Compose file uses /app/data inside a Docker volume and sets these paths under it. A host directory named data/ is not mounted by default.

Keep the scratch directory on the same filesystem as the recordings. This lets ReplayVOD move finished files into place without copying them across disks. Scratch files are also needed to recover interrupted recordings.

Storage use depends on the stream’s bitrate and duration. For example, a stream averaging 8 Mbit/s uses about 3.6 GB per hour before container overhead. ReplayVOD stores the selected stream without re-encoding it.

Allow space for simultaneous downloads, previews, and retained recordings. Enabling the playback cache also creates a joined copy of compatible multipart recordings, up to the configured cache limit.

A default local data directory contains:

data/
├── .replayvod-storage installation identity
├── .scratch/ work in progress
├── videos/ recorded video and audio files
├── thumbnails/ posters, snapshot strips, and waveform data
└── replayvod.db SQLite database, when selected

Keep .replayvod-storage with the media when moving or restoring storage. ReplayVOD checks it against the database before using the volume. See Backup & restore and Storage is not attached.