Recording
Choose recording quality in the dashboard. Server-wide download settings are in the [download] section of server/config.toml. For Docker, see Configuration before editing that file.
[download]max_concurrent = 5archive_max_concurrent = 1segment_concurrency = 4network_attempts = 5server_error_attempts = 5cdn_lag_attempts = 3auth_refresh_attempts = 2max_gap_ratio = 0.01strict = falseenable_av1 = falsedisable_hevc = falsemax_restart_gap_seconds = 120Concurrency
Section titled “Concurrency”| Key | What it limits |
|---|---|
max_concurrent |
Simultaneous live recordings across the server. |
archive_max_concurrent |
Simultaneous archive downloads. |
segment_concurrency |
Segment downloads within each recording. |
Increase max_concurrent if you need to record more channels at once and have enough network and storage capacity. Increase segment_concurrency if individual downloads need more parallel segment requests.
Archives use separate slots from live recordings, but share network and storage capacity. Set archive_max_bytes_per_second to limit each archive’s download speed. This limit doesn’t apply to live recordings.
Quality
Section titled “Quality”Schedules and archives offer Up to 480p, Up to 720p, Up to 1080p, Up to 1440p, and No limit. ReplayVOD selects the highest available resolution within the chosen limit. For example, Up to 1080p uses 720p if that’s the highest available resolution below 1080p.
For a channel that’s live now, Download now lists the stream’s available qualities, such as 1080p60 or 720p. The recording uses the quality you select.
If several schedules match, ReplayVOD uses the least restrictive quality limit. Audio mode saves audio only; video quality and Force H.264 don’t apply.
Codecs
Section titled “Codecs”| Key | Default | Effect |
|---|---|---|
enable_av1 |
false |
Allow AV1 streams. |
disable_hevc |
false |
Exclude HEVC streams. |
The Force H.264 option on a recording or schedule prefers H.264. This and disable_hevc can limit resolution when Twitch offers a higher quality only in HEVC.
Some qualities require authenticated access. The owner can connect a Twitch playback account in System → Twitch downloads.
Retries
Section titled “Retries”Streams arrive in small segments. These settings control how many attempts ReplayVOD makes for each segment:
| Key | When it applies |
|---|---|
network_attempts |
Connection errors, DNS failures, and other network problems. |
server_error_attempts |
Twitch returns a 5xx server error. |
cdn_lag_attempts |
A segment isn’t available on Twitch’s CDN yet. |
auth_refresh_attempts |
The playback token needs refreshing. |
After the attempts are exhausted, the segment is missing from the recording. The gap settings determine whether recording can continue.
Gaps and resumes
Section titled “Gaps and resumes”| Key | Default | Effect |
|---|---|---|
max_gap_ratio |
0.01 |
Maximum tolerated fraction of missing segments before recording stops with a gap error. |
strict |
false |
Fail the recording on any gap when enabled. |
max_restart_gap_seconds |
120 |
How long a stream interruption can last before ReplayVOD starts a separate recording. |
A PARTIAL badge means some footage is missing. TRUNCATED means recording ended before the broadcast did, and CANCELLED means someone cancelled it. See Recording badges.
Raising the gap limit changes how missing footage is classified; it doesn’t recover that footage.
Split long recordings
Section titled “Split long recordings”Set max_part_bytes or max_part_seconds to split recordings at a size or duration limit. A value of 0 disables that limit. The player switches between parts automatically.
Splits happen between segments. The size limit counts downloaded source data, and the finished file can differ in size. Leave a margin below any hard upload limit. See the config.toml reference for all part settings.