Skip to content

Settings reference ​

Set defaults under Settings → Global. Platform, template, and streamer overrides are described in Configuration layers.

Global Settings ​

Access via Settings → Global. The settings are organized into several categories:

File Configuration ​

SettingDescriptionDefault
record_danmuEnable danmaku (live chat) recordingfalse
danmu_statisticsHow chat activity is summarised per session (see below)defaults
auto_thumbnailAutomatically generate video thumbnailstrue
output_folderBase directory for recordings (supports templates)Deployment default; existing databases retain their saved value
output_filename_templateFilename pattern for recorded filesSee filename templates
output_file_formatDefault container format (mp4, flv, etc.)flv

Danmu Statistics ​

Every recording with record_danmu on gets a per-session chat summary: totals, an activity timeline, the most active chatters, the most frequent words and — where the platform reports them — gift rankings. danmu_statistics tunes that summary, and can be set globally or overridden per platform, per template and per streamer. Any field you leave out keeps its default, so {"top_talkers": 200} is a complete override.

FieldDescriptionDefault
enabledCompute the summary at all. Turning it off still records the chat files; it only stops the summary, which stores viewer names, from being computed and saved.true
top_talkersChatters and gift senders listed per session (1–500)100
top_wordsFrequent words listed per session (1–500)50
top_giftsGift names listed per session (1–500)20
rate_bucket_secsActivity-timeline granularity in seconds. Very long streams are automatically coarsened, so the session page reads the width back rather than assuming it.10
talker_capacityDistinct chatters tracked (64–8192). While a stream has fewer than this, counts are exact; above it they become close estimates and the session page marks them with ≈.2048
word_capacityDistinct words tracked (64–8192), same trade-off2048
gift_capacityDistinct gift names tracked256
extra_stop_wordsWords to exclude from the frequent-words chart, on top of the built-in listnone

Out-of-range values are clamped rather than rejected, and a reported list is never longer than what is tracked.

Resource Limits ​

SettingDescriptionDefault
min_segment_sizeMinimum size before a segment is kept1MB
max_download_duration_secsMax duration before splitting the recording0 (disabled)
max_part_sizeMax size before splitting the recording8GB

Concurrency & Performance ​

SettingDescriptionDefault
max_concurrent_downloadsMax simultaneous recording tasks6
max_concurrent_uploadsMax simultaneous upload tasks3
max_cpu_jobsMax concurrent CPU-intensive tasks0 (Auto)
max_io_jobsMax concurrent I/O-intensive tasks8 (0 = Auto)
download_engineEngine used for recording (ffmpeg, mesio, etc.)mesio
queue_freshness_thresholdWhen a recording has been waiting for a free slot longer than this, rust-srec re-checks the streamer to refresh stream URLs and headers before starting. Useful on platforms whose signed URLs expire within minutes. Set to 0 to refresh on every queue wait.60 Secs

Which extractor resolves the stream URL is a separate setting from download_engine, is not exposed here, and is set per platform, template, or streamer. See Engine and extractor selection.

Network & System ​

SettingDescriptionDefault
streamer_check_intervalInterval between checking streamer status60 Secs
offline_check_intervalInterval between checking offline status20 Secs
offline_detection_countConsecutive offline checks before confirming the streamer is offline. The same resolved count controls when consecutive download failures enter temporary cooldown. Download failures use a minimum threshold of 2.3
enable_proxyRoute traffic through an intermediate serverfalse

Retention ​

SettingDescriptionDefault
job_history_retention_daysDays to keep terminal pipeline/job and upload history; 0 keeps it indefinitely30
notification_event_log_retention_daysDays to keep notification events; 0 keeps them indefinitely30
output_retention_daysDays to keep outputs from ended sessions; 0 disables automatic cleanup0
output_retention_delete_filesfalse: delete output records only; true: delete their tracked local files toofalse

Configure output retention under Global Settings → Retention. Cleanup runs at startup and every 30 minutes, skips active or recently updated processing and scheduled retries, and defers while processors hold files. File deletion also skips active recording directories and recently modified or shared files; failures keep their records for a later attempt.

Records only leaves the physical files on disk. Once their records are removed, changing to Delete records and files cannot delete those untracked files later. This policy covers registered media outputs, not arbitrary files, every pipeline derivative, remote uploads, or session segment history.

Pipeline Configuration ​

Rust-Srec supports custom pipeline steps (e.g., transcripts, notifications, custom scripts) at different stages:

  • Per-segment: Runs for each recorded segment.
  • Paired Segment: Runs for video/danmaku pairs.
  • Session Complete: Runs when the entire recording session ends.

Folder Organization

Set output_folder to {streamer}/%Y-%m-%d to organize recordings by streamer with date-based subfolders. The output_filename_template can then use %H-%M-%S_{title} for the filename itself.

Released under the MIT License.