Why I'm writing this
Found TikTok-Live-Recorder, thought it was perfect. Set it up, worked great for a week. Then problems started showing up.
Recordings wouldn't start even though users were live. Sometimes recordings wouldn't stop until I manually killed the process. Video quality looked terrible sometimes. Checked GitHub issues - turns out these are common problems lots of people hit.
Spent way too much time figuring out fixes. Documenting what actually worked for me, not theoretical solutions. If you're hitting the same walls, maybe this saves you some time.
Problem #1: Recordings won't start
The Issue
User is live, tool says they're live, but recording never starts. Just sits there checking status forever. Happened randomly, no rhyme or reason.
What actually worked for me
# 1. First, verify username format exactly matches TikTok URL
# @username vs username - both should work but sometimes doesn't
# 2. Check if TikTok changed their Webcast API
# Tool uses tiktok.live webcast endpoint
# If TikTok changes it, tool breaks until update
# 3. Try forcing record even if status check fails
python recorder.py --user @username --force-record
# 4. Enable debug logging to see what's happening
# In config.ini:
enable_debug_log = true
# Then check logs:
tail -f recorder.log
# Look for errors like:
# ERROR: Failed to get live info
# ERROR: No URL found
Temporary fix that worked
Restart the tool completely. Sometimes it gets into a weird state where status checking works but recording fails. Kill process and restart:
# Kill existing instances
pkill -f recorder.py
# Start fresh
source venv/bin/activate # or venv\Scripts\activate on Windows
python recorder.py
Root cause (I think)
TikTok's CDN returns different stream URLs based on your location or IP. Sometimes the URL returned is invalid or expired. Tool tries to start recording with bad URL, fails silently.
My workaround: Run on a VPS in different region than my local machine. More consistent stream URLs that way.
Problem #2: Recordings won't stop
The Issue
User goes offline, but recording keeps going. File grows until I manually kill it. Happens especially when streamer loses connection or pauses stream, then comes back.
What I did
# 1. Set recording timeout in config.ini
# Even if stream appears live, stop recording after X minutes
recording_timeout = 3600 # 1 hour max
# 2. Add restart-on-change option
# Restart recording if stream parameters change
restart_on_change = true
# 3. Monitor disk space during recording
# Run separate script:
while true; do
df -h | grep recordings
sleep 300 # check every 5 min
done
Cron job to kill hung recordings
#!/bin/bash
# kill-hung-recordings.sh
# Find recordings older than 2 hours (probably hung)
find /path/to/recordings -name "*.mp4" -mmin +120 -exec rm {} \;
# Also kill the process if recording file hasn't grown in 10 min
python recorder.py &
RECORDER_PID=$!
while true; do
# Find largest recording file
LATEST_FILE=$(ls -t /path/to/recordings/*.mp4 | head -1)
# Check size, wait 10 min, check again
SIZE1=$(stat -f%z "$LATEST_FILE" 2>/dev/null || echo 0)
sleep 600
SIZE2=$(stat -f%z "$LATEST_FILE" 2>/dev/null || echo 0)
# If same size, process is probably hung
if [ "$SIZE1" -eq "$SIZE2" ]; then
kill $RECORDER_PID
break
fi
sleep 60
done
Problem #3: Status checking just stops
The Issue
Tool runs fine for hours or days, then suddenly stops checking if users are live. No errors, just sits there. Only notice because recordings aren't appearing.
How I diagnosed it
# 1. Enable debug logging
enable_debug_log = true
# 2. Run in foreground to see output
python recorder.py --no-daemon
# Saw this in logs:
# INFO: Checking users...
# DEBUG: API request failed: 429 Too Many Requests
# INFO: Sleeping 60 seconds...
# But then it never woke up from sleep
Fix that worked
Turns out TikTok was rate-limiting the API requests. Tool waits after hitting limit, but sometimes never resumes checking.
# In config.ini, increase check interval
check_interval = 300 # 5 minutes between checks instead of 60 seconds
# Also add retry logic:
max_retries = 3
retry_delay = 30
Monitoring script
#!/bin/bash
# monitor.sh - Watch if recorder is actually working
while true; do
LAST_CHECK=$(stat -f%m /path/to/recordings/*.mp4 2>/dev/null | head -1 | xargs -I{} date -r {} +"%Y-%m-%d %H:%M:%S")
NOW=$(date +"%Y-%m-%d %H:%M:%S")
TIME_DIFF=$(( $(date -j -f "%Y-%m-%d %H:%M:%S" "$NOW" -f "%Y-%m-%d %H:%M:%S" "$LAST_CHECK") +%s ))
# If no file modified in 30 minutes, restart
if [ $TIME_DIFF -gt 1800 ]; then
echo "$(date): No recent activity, restarting..."
pkill -f recorder.py
sleep 10
cd /path/to/TikTok-Live-Recorder
python recorder.py &
fi
sleep 600 # check every 10 minutes
done
Problem #4: Video quality looks terrible
The Issue
Recording is 480p or 720p even though streamer is definitely broadcasting in 1080p. Saw #267 in GitHub issues - bot accesses different stream URLs that deliver lower resolution.
What I tried that didn't work
# Setting video_quality in config.ini
# This didn't actually fix it:
video_quality = 1080p
# Turns out this is just a preference, not guaranteed
What actually helped
Set quality to empty string
# Leave empty to request original quality
video_quality =
# Not 1080p, not source, just empty
# This lets TikTok send whatever quality it wants
Region hack
# TikTok serves different quality based on region
# Ran recorder through VPN to different countries
# Using proxy in config.ini
[Connection]
proxy = socks5://127.0.0.1:1080
# Or set environment variable
export HTTP_PROXY=socks5://127.0.0.1:1080
export HTTPS_PROXY=socks5://127.0.0.1:1080
python recorder.py
YMMV - sometimes helped, sometimes didn't. Depends on TikTok's CDN at that moment.
Problem #5: Can't record more than a few streams at once
The Issue
Tried monitoring 20 users, recordings started failing after 3-4 simultaneous streams. Saw issue #194 - more than 10 simultaneous recordings doesn't work reliably.
How I handled it
# 1. Limit concurrent recordings
# In config.ini:
max_concurrent_recordings = 5
# 2. Prioritize important users
# Created priority list:
important_users = @creator1, @creator2, @creator3
# Regular users:
regular_users = @creator4, @creator5
# Run separate instances:
# Instance 1 - VIP users (always recording)
python recorder.py --config config-priority.ini
# Instance 2 - Regular users (lower priority)
python recorder.py --config config-regular.ini
Resource monitoring
# Check if system can handle more streams
# While recording, run:
nvidia-smi # if using GPU acceleration
htop # see CPU and RAM usage
iotop # see disk I/O
# For me, limit was disk I/O
# Multiple streams writing to same disk = bottleneck
# Solution: Record to different disks
# config-1.ini:
download_folder = /mnt/disk1/recordings
# config-2.ini:
download_folder = /mnt/disk2/recordings
Getting notifications when streams start
The Feature Request
Issue #399 - people want Telegram notifications when streams start. Not built into tool yet, so I hacked something together.
Simple notification script
#!/bin/bash
# notify.sh - Send notification when new recording starts
RECORDINGS_DIR="/path/to/recordings"
TELEGRAM_TOKEN="your-bot-token"
CHAT_ID="your-chat-id"
# Get count of mp4 files
PREVIOUS_COUNT=$(find "$RECORDINGS_DIR" -name "*.mp4" | wc -l)
while true; do
sleep 60 # check every minute
CURRENT_COUNT=$(find "$RECORDINGS_DIR" -name "*.mp4" | wc -l)
if [ $CURRENT_COUNT -gt $PREVIOUS_COUNT ]; then
NEW_FILES=$((CURRENT_COUNT - PREVIOUS_COUNT))
# Get latest file
LATEST_FILE=$(ls -t "$RECORDINGS_DIR"/*.mp4 | head -1)
FILENAME=$(basename "$LATEST_FILE")
# Send to Telegram
curl -s -X POST \
"https://api.telegram.org/bot$TELEGRAM_TOKEN/sendMessage" \
-d chat_id="$CHAT_ID" \
-d text="🔴 New TikTok recording: $FILENAME"
PREVIOUS_COUNT=$CURRENT_COUNT
fi
done
Discord webhook alternative
#!/bin/bash
# discord-notify.sh
WEBHOOK_URL="your-discord-webhook-url"
send_discord_notification() {
local username=$1
local status=$2
curl -X POST "$WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d "{
\"content\": \"**TikTok Live Alert**\n\n**User**: @$username\n**Status**: $status\",
\"username\": \"TikTok Recorder\"
}"
}
# Call when recording starts
send_discord_notification "creator1" "Started recording"
Maintenance tips that matter
Keep it updated
# Check for updates weekly
cd TikTok-Live-Recorder
git fetch origin
git log HEAD..origin/main --oneline
# If updates available:
git pull origin/main
pip install -r requirements.txt --upgrade
# I set reminder in calendar for every Monday
Clean old recordings automatically
#!/bin/bash
# cleanup.sh - Delete recordings older than 30 days
RECORDINGS_DIR="/path/to/recordings"
KEEP_DAYS=30
find "$RECORDINGS_DIR" -name "*.mp4" -mtime +$KEEP_DAYS -delete
# Add to crontab:
# 0 2 * * * /path/to/cleanup.sh
# Runs daily at 2 AM
Backup important stuff
#!/bin/bash
# backup.sh - Copy important recordings to backup drive
SOURCE="/path/to/recordings"
DESTINATION="/mnt/backup/tiktok"
# Use rsync to copy only new files
rsync -av --progress "$SOURCE/" "$DESTINATION/"
# I run this weekly
# Saved me when main drive died
Reality check
Not trying to say TikTok-Live-Recorder is perfect. It breaks. TikTok changes stuff and tool breaks. Developer fixes it when they can.
But compared to manually screen recording? It's way better. Set and forget mostly works. Issues pop up but there are usually workarounds.
If you're thinking about using it, my advice: start small. Monitor 2-3 users max at first. Get that working reliably before adding more. Test thoroughly before relying on it.
And join the GitHub discussions. That's where real troubleshooting happens - people posting actual problems and solutions that worked for them. Not theoretical perfect-world scenarios.