Skip to content

Filename Template Variables ​

Rust-Srec supports two types of placeholders in output_folder and output_filename_template.

Curly Brace Variables ​

These are replaced with streamer or session specific metadata.

VariableDescription
{streamer}Streamer display name
{title}Current stream title
{platform}Platform name (e.g., bilibili)
{session_id}Unique ID for the recording session (only in output_folder)

Percent Placeholders (FFmpeg Style) ​

These are replaced with date, time, or sequence information.

VariableDescription
%YYear (YYYY)
%mMonth (01-12)
%dDay (01-31)
%HHour (00-23)
%MMinute (00-59)
%SSecond (00-59)
%iSequence number for split parts
%tUnix timestamp
%%Literal percent sign

Example: {streamer}/%Y-%m-%d/%H-%M-%S_{title}

Pipeline Destination Placeholders ​

Pipeline destination fields such as rclone destination_root and copy/move destination support {platform}, {streamer}, {title}, {streamer_id}, {session_id}, and the same %Y, %m, %d, %H, %M, %S, %t, and %% time tokens. Time tokens render in the server's local time zone.

Rclone expands time tokens with the job creation time by default. Set time_anchor to session_start to keep every segment from one live session in the folder for the session's start date, even when the stream crosses midnight. Copy/move preserves its historical execution-time expansion when time_anchor is omitted; set it to job_created or session_start when deterministic anchoring is needed.

When anchoring by session start, keep %Y%m%d-%H%M%S or %t in the filename template. If multiple sessions send the same basename into one destination folder, rclone and filesystem copy/move operations can overwrite or skip files depending on the operation and arguments.

Released under the MIT License.