Skip to main content
Understand how Battles Record captures and manages stream recordings.

Recording Lifecycle

Stream Detected → Recording Started → Segments Downloaded → Post-Processing → Complete

1. Stream Detection

Battles Record polls configured channels at regular intervals:
  • Twitch: Every 30 seconds
  • YouTube: Every 60 seconds
  • Kick: Every 30 seconds
When a channel goes live, recording starts automatically.

2. Recording

The recorder downloads HLS segments as they become available:
  • Segments are stored in a temporary directory
  • Progress is tracked in real-time
  • Recording continues until the stream ends
Data Integrity:
  • Atomic writes - Segments are written to .tmp files first, fsynced to disk, then renamed to their final filename. This prevents corrupted segments if the process crashes mid-write.
  • Crash recovery - If the daemon restarts during a recording, it scans the segment directory for the highest sequence number and resumes from where it left off. No data is lost.
Segment Priorities: Segments at the live edge of the stream are downloaded with high priority, while backfill segments (filling gaps) are downloaded at normal priority. This ensures the recording stays as close to real-time as possible.

3. Post-Processing

After the stream ends, recordings are processed based on your settings:
  • Concatenate - Join segments into a single file (fastest)
  • Copy - Remux without re-encoding
  • Re-encode - Transcode to a different format/quality

4. Completion

Finished recordings are moved to your output directory and indexed in the library.

Recording Status

View recording status in the Recordings tab:
StatusDescription
RecordingActively capturing stream segments
CompletedStream ended, raw segments available on disk
ProcessingFFmpeg post-processing in progress
ProcessedFinal output file is ready
FailedAn error occurred during recording or processing

Recording Actions by Status

StatusCan Process?Can Delete?Can Reprocess?
RecordingNoNoNo
CompletedYesYesNo
ProcessingNoNoNo
ProcessedNoYesYes
FailedYesYesYes

Active Recordings

The dashboard shows all active recordings with:
  • Channel name and platform
  • Stream title
  • Duration and file size
  • Quality level
  • Real-time segment count

Controls

During recording:
  • Pause - Temporarily stop recording (may cause gaps)
  • Stop - End recording early and start post-processing
  • Cancel - Abort recording and delete segments

Recording Library

Browse completed recordings in the Library tab:

Filtering

Filter recordings by:
  • Platform - Twitch, YouTube, Kick
  • Channel - Specific channel
  • Date Range - Recording date
  • Duration - Minimum/maximum length
  • Quality - Recording quality level

Sorting

Sort by:
  • Date (newest/oldest)
  • Duration (longest/shortest)
  • File size (largest/smallest)
  • Channel name (A-Z)

Recording Details

Click any recording to view details:
FieldDescription
TitleStream title at time of recording
ChannelStreamer name
PlatformTwitch, YouTube, or Kick
Start TimeWhen recording began
DurationTotal recording length
File SizeFinal file size
QualityRecorded quality level
File PathLocation on disk
CategoryStream category/game

Actions

  • Play - Open in default media player
  • Open Folder - Show file location
  • Rename - Change recording filename
  • Delete - Remove recording and file
  • Re-process - Run post-processing again

File Naming

Configure recording filenames in Settings → Output:

Variables

VariableDescriptionExample
{channel}Channel nameshroud
{title}Stream titleRanked Valorant
{date}Recording date2026-02-02
{time}Recording time14-30-00
{datetime}Date and time2026-02-02_14-30-00
{platform}Platform nametwitch
{quality}Quality level1080p60
{category}Stream categoryValorant

Default Template

{channel}/{date}_{title}
Produces: shroud/2026-02-02_Ranked Valorant.mp4

Custom Template Examples

By Date:
{date}/{channel}_{title}
Produces: 2026-02-02/shroud_Ranked Valorant.mp4 With Platform:
{platform}/{channel}/{datetime}_{title}
Produces: twitch/shroud/2026-02-02_14-30-00_Ranked Valorant.mp4

Duplicate Handling

When a recording with the same filename already exists:
OptionDescription
Append NumberAdd (1), (2), etc. to filename
OverwriteReplace existing file
SkipDon’t save the new recording

Partial Recordings

Recordings may be incomplete due to:
  • Stream going offline briefly
  • Internet connection issues
  • Application restart
Partial recordings are marked with a warning icon. Options:
  • Keep as-is
  • Attempt to resume (if stream continues)
  • Delete

Recording Limits

Protect your system with recording limits:
SettingDescriptionDefault
Max DurationStop recording after X hoursUnlimited
Max File SizeStop recording after X GBUnlimited
Max ConcurrentMaximum simultaneous recordings3
If you have limited bandwidth, consider lowering max concurrent recordings or choosing lower quality settings.