Skip to main content
All recording behaviour is controlled by the [录制设置] section in config/config.ini. The file is read at startup and re-checked on each monitoring loop, so most changes take effect without restarting.

Annotated config.ini

config/config.ini
[录制设置]
; Interface language: zh_cn or en
language(zh_cn/en) = zh_cn

; Skip proxy connectivity check on startup: 是 (yes) or 否 (no)
是否跳过代理检测(是/否) = 否

; Custom save directory — leave blank to use the default ./downloads folder
直播保存路径(不填则默认) =

; Organise save folder by streamer name
保存文件夹是否以作者区分 = 是

; Organise save folder by date
保存文件夹是否以时间区分 = 否

; Organise save folder by stream title
保存文件夹是否以标题区分 = 否

; Include stream title in the output filename
保存文件名是否包含标题 = 否

; Strip emoji characters from streamer names and titles
是否去除名称中的表情符号 = 是

; Output container format: ts | mkv | flv | mp4 | mp3音频 | m4a音频
视频保存格式ts|mkv|flv|mp4|mp3音频|m4a音频 = ts

; Stream quality preference: 原画 | 超清 | 高清 | 标清 | 流畅
原画|超清|高清|标清|流畅 = 原画

; Enable proxy for recording: 是 or 否
是否使用代理ip(是/否) = 是

; Proxy address, e.g. 127.0.0.1:7890
代理地址 =

; Maximum concurrent network threads
同一时间访问网络的线程数 = 3

; Loop interval in seconds — how often to check for new live rooms
循环时间(秒) = 300

; Delay between reading each URL in the queue (seconds)
排队读取网址时间(秒) = 0

; Display countdown timer in the console
是否显示循环秒数 = 否

; Print the raw stream URL in the console and logs
是否显示直播源地址 = 否

; Enable time-based segment recording
分段录制是否开启 = 是

; Force HTTPS for all stream URLs
是否强制启用https录制 = 否

; Minimum free disk space threshold in GB — stops recording if space drops below this
录制空间剩余阈值(gb) = 1.0

; Segment length in seconds when segment recording is enabled
视频分段时间(秒) = 1800

; Automatically remux the TS file to MP4 after recording ends
录制完成后自动转为mp4格式 = 是

; Re-encode video to H.264 during MP4 conversion (slower, smaller file)
mp4格式重新编码为h264 = 否

; Delete the original file after remuxing or conversion
追加格式后删除原文件 = 是

; Generate an SRT subtitle file with timestamps during recording
生成时间字幕文件 = 否

; Run a custom script after each recording completes
是否录制完成后执行自定义脚本 = 否

; The shell/Python command to execute as the custom script
自定义脚本执行命令 =

; Comma-separated list of platforms that must use the proxy
使用代理录制的平台(逗号分隔) = tiktok, sooplive, pandalive, winktv, flextv, popkontv, twitch, liveme, showroom, chzzk, shopee, shp, youtu

; Additional comma-separated list of platforms to also use the proxy
额外使用代理录制的平台(逗号分隔) =

Field reference

Language

language(zh_cn/en)
default:"zh_cn"
Interface language. Set to en to display console output in English.

File saving

直播保存路径
default:""
Absolute or relative path for saving recordings. Leave blank to use the default downloads/ folder next to main.py.
保存文件夹是否以作者区分
default:"是"
When , recordings are placed in a sub-folder named after the streamer. Set to to save all files flat in the root save directory.
保存文件夹是否以时间区分
default:"否"
When , a date-based sub-folder (YYYY-MM-DD) is created inside the streamer folder.
保存文件夹是否以标题区分
default:"否"
When , a sub-folder named after the stream title is created.
保存文件名是否包含标题
default:"否"
When , the stream title is appended to the output filename.
是否去除名称中的表情符号
default:"是"
Strips emoji characters from streamer names and titles when building file and folder names. Recommended to avoid filesystem compatibility issues.

Video format and quality

视频保存格式
default:"ts"
Output container format. Accepted values:
ValueDescription
tsMPEG-TS — recommended; resistant to corruption if recording is interrupted
mkvMatroska container
flvFlash Video
mp4MPEG-4
mp3音频Audio only, MP3
m4a音频Audio only, M4A/AAC
Use ts format. Unlike MP4 and MKV, TS files are not corrupted if recording is interrupted by a crash, power loss, or manual stop. You can still auto-convert to MP4 afterwards with the 录制完成后自动转为mp4格式 setting.
原画|超清|高清|标清|流畅
default:"原画"
Global quality preference applied to all rooms. Accepted values:
ValueMeaning
原画Original / source quality
超清Ultra HD
高清HD
标清SD
流畅Smooth / lowest
Individual rooms can override this setting in URL_config.ini. See URL configuration.

Threading and loop

同一时间访问网络的线程数
default:"3"
Maximum number of concurrent HTTP threads used to query room status and fetch stream URLs. The value is automatically reduced when the error rate rises.
循环时间(秒)
default:"300"
How often (in seconds) the tool re-checks the URL list for rooms that are live. Lower values detect stream starts faster but increase server request frequency. Keep this at 300 seconds or higher for long-running unattended monitoring.
排队读取网址时间(秒)
default:"0"
Delay in seconds between reading each URL in the queue on a single loop pass. Increase this to spread requests over time.
是否显示循环秒数
default:"否"
Display a countdown timer in the console showing seconds until the next loop.
是否显示直播源地址
default:"否"
Print the resolved stream URL to the console and log file. Useful for debugging.

Segment recording

分段录制是否开启
default:"是"
Split recordings into multiple files based on 视频分段时间. Recommended for long streams to keep file sizes manageable.
视频分段时间(秒)
default:"1800"
Length of each segment in seconds when segment recording is enabled. Default is 1800 seconds (30 minutes).

Post-processing

录制完成后自动转为mp4格式
default:"是"
After recording ends, automatically remux the file to MP4 using FFmpeg. Stream copying is used by default (no quality loss, fast).
mp4格式重新编码为h264
default:"否"
When , the video is re-encoded to H.264 during MP4 conversion instead of stream-copied. This produces smaller, more compatible files but is slower and uses more CPU.
追加格式后删除原文件
default:"是"
Delete the original file (e.g. the .ts file) after remuxing or conversion succeeds.

Subtitle and script

生成时间字幕文件
default:"否"
Generate an SRT subtitle file alongside the recording. Each subtitle entry contains a real-world timestamp, making it easy to find specific moments in long recordings.
是否录制完成后执行自定义脚本
default:"否"
Run a custom script automatically after each recording completes.
自定义脚本执行命令
default:""
The command to execute. Supports Python scripts, shell scripts (bash/bat), and arbitrary shell commands. The following arguments are automatically appended:
  • --record_name — streamer display name
  • --save_file_path — absolute path to the recorded file
  • --save_type — output format (e.g. TS)
  • --split_video_by_time — whether segment recording was enabled
  • --converts_to_mp4 — whether MP4 conversion was enabled
Example: python /home/user/scripts/upload.py

Disk space

录制空间剩余阈值(gb)
default:"1.0"
Minimum free disk space in GB. Recording stops automatically if available space on the save drive drops below this threshold.

HTTPS

是否强制启用https录制
default:"否"
Force all stream URLs to use HTTPS. Enable this if recordings fail due to mixed-content or redirect issues.

Build docs developers (and LLMs) love