Stream Console
ภาพรวมช่องของคุณ พร้อมปุ่มเริ่ม / หยุดไลฟ์
Total Channels
1
single-channel mode
Live Now
0/1
offline
Scheduled
—
no upcoming run
Uploaded Clips
0
in clip library
—
RTMP CHANNEL
RTMP
Not set
Stream Key
—
Playlist
0 clips
Quality
1080p · 4000 kbps · 30 fps
Schedule
—
Live Note
—
Stream Stats
runtime metrics
Uptime
00:00:00
Loops
0
Errors
0
Now Playing
current clip in playlist
—
Stream Health
VPS resources
กำลังโหลด...
Channels
จัดการช่อง TikTok Live หลายช่องพร้อมกัน — แต่ละช่องมี RTMP, Stream Key, Playlist, Schedule, Logs และ Status เป็นของตัวเอง
Concurrent overlapping live streams รองรับสูงสุด 3 สตรีมพร้อมกัน (ปรับได้ในแท็บ RTMP Settings → Max Concurrent Streams)
Per-channel egress (netns) ใช้ได้เฉพาะ Linux/VPS — Windows ใช้ network เริ่มต้นของเครื่อง
Per-channel egress (netns) ใช้ได้เฉพาะ Linux/VPS — Windows ใช้ network เริ่มต้นของเครื่อง
Add new channel
สร้างช่องใหม่ — ไปกรอก RTMP URL / Stream Key ภายหลังได้
Upload Clips
เพิ่มคลิปไว้ใช้ใน Playlist สำหรับวนรีรัน 24/7
↑
คลิกเพื่ออัปโหลด หรือลากไฟล์มาวาง
Recommended: MP4, vertical 1080x1920 (สูงสุด 5GB / ไฟล์)
For files larger than 500 MB — use scp / rsync
scp yourclip.mp4 root@SERVER_IP:/opt/tiktok-live-hub/processing/
Transcode Guard
Auto-validate & transcode to TikTok 1080×1920 H.264/AAC · one job at a time
Idle
Idle — no clips processing
Clip Library (0)
Playlist
จัดลำดับคลิปที่จะวนรีรัน
Loop Mode
เลือกวิธีเล่นซ้ำ
Schedule
เริ่มสตรีมอัตโนมัติตามเวลาที่กำหนด
Set Schedule
Asia/Bangkok timezone
วัน-เวลาที่ต้องการเริ่มสตรีม
Repeat
นาที (สูงสุด 1440 = 24 ชม.)
Tip: เวลาจะอ้างอิง timezone ของเซิร์ฟเวอร์ — แนะนำ Asia/Bangkok:
sudo timedatectl set-timezone Asia/Bangkok
RTMP Settings
ค่าจาก TikTok Live Center / TikTok Live Studio (manual RTMP)
Stream Key Notice: TikTok Stream Key may change for each live session. Please update it before starting.
Channel
creator-facing details
ใช้เป็นชื่อแสดงในแดชบอร์ดและสรุป overview
ต้องขึ้นต้นด้วย
rtmp:// หรือ rtmps://TikTok Stream Key may change for each live session. Please update it before starting.
บันทึกไว้อ้างอิงเฉย ๆ ไม่ส่งไป TikTok
Encoding
vertical 9:16 output
Resolution
Bitrate (kbps)
FPS
Encoder Preset
Reliability
recover after restart
Per-Channel Egress (advanced)
Linux/VPS only — Windows ใช้ network เริ่มต้นเสมอ
Egress mode
ชื่อ network namespace ที่สร้างไว้แล้ว (operator ต้อง
ip netns add + ตั้ง veth/route ก่อน) — ดู README "Per-Channel Egress"Multi-Channel Limits
global — applies to ALL channels
จำนวนสตรีม LIVE สูงสุดที่อนุญาตให้ทำงานพร้อมกัน (default 3) — เกินจะ reject ตอนกด Start
OBS Mode
Control OBS Studio from TikTok Live Hub
Heads up: OBS Studio ต้องเปิดอยู่บนเครื่องเดียวกัน (หรือเครื่องที่ port 4455 เข้าถึงได้) และต้องเปิด Tools → WebSocket Server Settings → Enable WebSocket Server ก่อน โหมดนี้เป็น ทางเลือกเสริม ไม่ได้แทนที่ TikTok RTMP Direct mode
OBS Status
live connection & streaming flags
Disconnected
ยังไม่ได้เชื่อมต่อ OBS WebSocket
OBS Version
—
Stopped
OBS ยังไม่ได้สตรีม
OBS Settings
WebSocket connection
โดยปกติคือ
127.0.0.1 ถ้า OBS อยู่บนเครื่องเดียวกันDefault:
4455 (ค่าตั้งต้นของ OBS WebSocket v5)ตั้งใน OBS → Tools → WebSocket Server Settings รหัสนี้จะถูก mask ใน API ทุกตัว
OBS Controls
test & control streaming
Connection
Streaming
How to enable OBS WebSocket
setup checklist
1
เปิด OBS Studio
บนเครื่องเดียวกับที่รัน TikTok Live Hub (หรือเครื่องที่ port 4455 เข้าถึงได้)
2
Tools → WebSocket Server Settings
ในแถบเมนูด้านบนของ OBS
3
Enable WebSocket Server
ติ๊กถูก Enable WebSocket server
4
Server Port = 4455
ค่า default ของ OBS — ถ้าตั้งเป็นอย่างอื่น ต้องใส่ค่าเดียวกันในช่อง OBS WebSocket Port ด้านบน
5
Set password
ติ๊ก Enable Authentication + ตั้ง password ที่จำได้ จากนั้นกด Show Connect Info เพื่อ copy
6
วาง password ใน TikTok Live Hub
กรอกในช่อง OBS WebSocket Password ด้านบน → กด SAVE OBS SETTINGS
7
ตั้ง TikTok RTMP ใน OBS
ใน OBS: Settings → Stream → Service: Custom แล้วใส่ TikTok RTMP Server URL และ TikTok Stream Key จาก TikTok Live Center
8
Start OBS Streaming จากแดชบอร์ด
กด TEST CONNECTION → ถ้าเขียวแล้ว กด START OBS STREAMING
หมายเหตุ: โหมดนี้ ไม่ได้ bypass การ verify หรือ login ของ TikTok — ผู้ใช้ยังต้องตั้ง TikTok RTMP URL และ Stream Key ใน OBS เอง การ Start/Stop จากแดชบอร์ดจะส่งคำสั่งไปที่ OBS WebSocket เท่านั้น
Verification Assist
Human checkpoint for TikTok puzzle, captcha, slider, or account verification events
Safety notice: เครื่องมือนี้ ไม่ใช่ ตัวแก้ captcha และ ไม่ bypass ระบบ verify ของ TikTok — เป็นแค่ checklist + bookkeeping ให้ผู้ใช้กดเองหลังจัดการกับ verification ในหน้า TikTok / OBS / Live Studio ด้วยมือ
Action required: มีการทำเครื่องหมายว่า TikTok ขอ verification — ผู้ใช้ต้องเข้าไปจัดการในหน้า TikTok ด้วยมือ แล้วกลับมากด Clear Verification ที่นี่
Status Overview
last known checkpoint state
Verification Status
CLEAR
Workflow
RUNNING
Last Detected
—
Last Cleared
—
Last Action
—
Mark / Clear
manual operator controls
เลือกประเภทเหตุการณ์ที่เจอในหน้า TikTok / OBS / Live Studio
เก็บไว้ใน
config.json เท่านั้น ไม่ส่งไปไหน · จำกัด 500 ตัวอักษรVerification
Workflow
ข้อสำคัญ: "Pause Workflow" เป็นแค่ flag สถานะ — ไม่ได้หยุด FFmpeg/OBS ที่กำลังสตรีมอยู่จริง ๆ ใช้ปุ่ม STOP LIVE / STOP OBS STREAMING ในแท็บ Live หรือ OBS Mode สำหรับการหยุดสตรีมจริง
Manual Handling Checklist
recommended operator workflow
1
เปิดแดชบอร์ดทิ้งไว้
อย่าปิดหน้านี้ระหว่างจัดการ verification เพื่อให้สถานะตรงกัน
2
เปิดหน้าต่าง TikTok / OBS / Live Studio ที่ขอ verify
ใช้เครื่อง/บัญชีเดียวกับที่ใช้สตรีม
3
แก้ verification ด้วยมือ
เลื่อน slider, ต่อ jigsaw, ใส่รหัส OTP ฯลฯ ด้วยตัวเอง ในหน้า TikTok เครื่องมือนี้ไม่แก้ให้
4
ตรวจว่าบัญชีกลับมาปกติ
รีเฟรชหน้า Live Center / Live Studio เพื่อยืนยันว่าไม่มีคำขอ verify ค้าง
5
กลับมาที่ TikTok Live Hub
เปิดแท็บ Verification Assist นี้
6
กด Clear Verification
เพื่อปลด flag
active + บันทึก timestamp การเคลียร์7
กด Resume Workflow ถ้าต้องการ
เพื่อปลด flag
paused ของ workflow bookkeeping
ขอบเขต: ปุ่มในแท็บนี้แก้แค่ flag ใน
config.json เท่านั้น — ไม่ส่ง request ไป TikTok, ไม่ใช้ third-party captcha service, ไม่เก็บรหัสผ่าน/token, ไม่อัปโหลดข้อมูลออกนอกเครื่อง
GMV Ads Guard
Rule-based review dashboard for TikTok GMV ad decisions
Safety notice: เครื่องมือนี้ ไม่ได้ เปลี่ยนงบหรือ pause ad ใน TikTok ให้อัตโนมัติ — เป็นแค่ระบบกฎที่ แนะนำ ให้ผู้ใช้ตรวจ ผู้ใช้ต้องเข้าไปทำใน TikTok Ads Manager / Seller Center เองทุกครั้ง · ไม่มี API integration ในเวอร์ชันนี้
Overview
live counts from your saved campaigns
Total Campaigns
0
Need Review
0
Scale Candidates
0
Pause Candidates
0
Total Spend
฿0
Total GMV
฿0
Average ROI
0.00x
Total Orders
0
Last evaluated: —
Last report: —
Last export: —
GMV Report
Manual review report for TikTok GMV ad decisions
This report does not change TikTok ads. Use it for manual review only. Any budget increase or pause must be done by a human operator in TikTok Ads Manager or Seller Center.
Generated
—
Watch
0
Scale Candidates
0
Pause Candidates
0
Emergency Pause
0
Total Spend
฿0
Total GMV
฿0
Avg ROI
0.00x
Report
Report ทุกประเภท ไม่ มี Stream Key, OBS password, Telegram token หรือ Discord webhook · CSV ใช้ UTF-8 BOM (เปิดใน Excel ภาษาไทยได้ปกติ) · ไฟล์ตั้งชื่อ
gmv-ads-guard-report-YYYY-MM-DD.{csv,json}
Filter Campaigns
เฉพาะแสดงผลใน Dashboard และ apply กับ Export ด้วย
Filter
Rules Settings
decision thresholds — change anytime
ROI ตั้งแต่นี้ขึ้นไปและใช้จ่ายเกิน Min Spend → แนะนำให้ "INCREASE_BUDGET_REVIEW"
ROI ต่ำกว่านี้และใช้จ่ายเกิน Min Spend → แนะนำให้ "PAUSE_REVIEW" (ต้องน้อยกว่า Min ROI to Scale)
งบขั้นต่ำที่จะเริ่มประเมิน (บาท หรือสกุลเดียวกับที่กรอก)
% เพิ่มงบที่แนะนำ (ใช้แสดง suggestion เฉย ๆ — ระบบไม่ได้เปลี่ยนงบให้)
เมื่อใช้จ่ายเกินค่านี้และ ROI ต่ำกว่า Max ROI to Pause → "EMERGENCY_PAUSE_REVIEW"
Add / Update Campaign
manual entry — paste numbers from Ads Manager
ใช้เป็นตัว reference สำหรับตัวเอง — ระบบ ไม่ เรียก TikTok API กับค่านี้
เก็บใน
config.json เท่านั้น · จำกัด 500 ตัวอักษรForm
Campaigns
recommendations need human review
Engine
ยังไม่มี campaign — กรอกข้อมูลและกด SAVE CAMPAIGN ด้านบน
ขอบเขต: ทุก action ในแท็บนี้แก้แค่ข้อมูลใน
config.json เท่านั้น — ไม่เรียก TikTok API, ไม่ scrape Ads Manager, ไม่ login อัตโนมัติ, ไม่เก็บรหัสผ่าน/token, ไม่เปลี่ยนงบจริง · เวอร์ชันถัดไปอาจรองรับ TikTok Business API ถ้าผู้ใช้มี credentials/permission
Health Monitor
Production readiness, stream health, and runtime status
Overview
snapshot of FFmpeg, stream, disk, and integrations
กดปุ่ม REFRESH เพื่อโหลดสถานะ
Engine
Last checked: —
Auto-refresh: OFF
Last error
เป็นข้อความที่ผ่าน redactSecrets() แล้ว
—
ขอบเขต: Health Monitor อ่านข้อมูลภายใน VPS เท่านั้น (FFmpeg/disk/playlist/clips) — ไม่ เรียก TikTok API, ไม่ ส่งข้อมูลออกนอกเครื่อง · บน Windows local อาจไม่มี disk usage ในบางกรณี (ระบบจะแสดง "unknown" แทน)
Alerts
Telegram and Discord notifications for stream and system events
Security: Bot token และ webhook URL ถูกเก็บใน
config.json ในเครื่อง VPS เท่านั้น — dashboard ไม่ แสดง token เต็ม (มาส์กเป็น ***) และ ไม่ log token/webhook ลง console · อย่าแชร์ config.json ออกไปข้างนอก · Alerts เป็นการแจ้งเตือนเท่านั้น ไม่ ควบคุม TikTok และ ไม่ บายพาส verification
Master switch
เปิด/ปิดระบบ alert ทั้งหมด
ถ้าปิดอันนี้ ระบบจะไม่ส่ง alert ใด ๆ แม้ provider แต่ละตัวจะเปิดอยู่
Telegram
Bot API — ใช้คู่กับ chat ID หรือ group ID
หลังบันทึก ระบบจะแสดงเฉพาะ
***xxxx · ปล่อยค่ามาส์กไว้ = คงค่าเดิม · ลบให้ว่างถ้าต้องการล้างเปิดแชทกับ bot แล้วเปิด
https://api.telegram.org/bot<TOKEN>/getUpdates เพื่อหา chat idDiscord
Webhook URL จาก Channel Settings → Integrations
หลังบันทึก dashboard จะแสดงแค่
https://host/*** · ปล่อยค่ามาส์กไว้ = คงค่าเดิมNotify on
เลือก event ที่อยากให้แจ้งเตือน
ถ้า disk เกิน % นี้ และเปิด Disk Warning ไว้ → ส่ง alert (ตอน
Run Health Check)Save & Test
Last sent: —
ขอบเขต: Alerts ไม่ เปลี่ยนสถานะ TikTok / OBS / FFmpeg ใด ๆ — เป็นแค่การส่ง ข้อความแจ้งเตือน ไป Telegram/Discord เท่านั้น · ทุกข้อความผ่าน
redactSecrets() และตัด RTMP path ทิ้ง ก่อนส่งออกนอก VPS
MediaMTX / OBS Bridge
Optional RTMP bridge — TikTok Live Hub → MediaMTX → OBS → TikTok
Safety notice: Bridge mode ไม่ login TikTok, ไม่ บายพาส verification, ไม่ เก็บ TikTok Stream Key — OBS / TikTok RTMP ต้องตั้งโดยผู้ดูแลเอง · เครื่องมือนี้แค่ป้อน RTMP source ให้ OBS ใช้เป็น input
Bridge Status
snapshot ของ host/port + การเช็ค port ครั้งล่าสุด
กดปุ่ม REFRESH เพื่อโหลดสถานะ
Controls
Bridge Settings
บันทึกใน
config.json ใต้คีย์ bridge เท่านั้นเปิดใช้งานเพื่อให้แท็บ Health แสดงสถานะ bridge และให้ alert
bridgeError ทำงานa-z A-Z 0-9 _ - / เท่านั้น · ห้ามมี space,
.., \\ระบบสร้างจาก host / port / path อัตโนมัติ — ไม่มี secret อยู่ใน URL นี้
ใช้เป็น reference เท่านั้น — TikTok Live Hub ไม่อ่าน/เขียนไฟล์นี้
Save
Generated MediaMTX Config
คัดลอกแล้วบันทึกเป็น
mediamtx.ymlกดปุ่ม Generate เพื่อสร้าง config
YAML
ตัวอย่างนี้ ไม่ มี TikTok Stream Key · บน VPS public ควรเปิด
publishUser/publishPass ใน yaml ด้วย
OBS Setup Guide
วิธีให้ OBS ใช้ bridge URL เป็น Media Source แล้วสตรีมต่อไป TikTok
Safety:
Bridge FFmpeg Command
สั่ง FFmpeg ส่ง playlist ปัจจุบันไปที่ bridge (ไม่ใช่ TikTok โดยตรง)
กด Generate เพื่อสร้างคำสั่ง
Command
คำสั่งนี้ ไม่มี TikTok Stream Key — bridge URL คือ sink เท่านั้น · OBS เป็นตัว push ไป TikTok
ขอบเขต: ทุก endpoint ของ bridge อ่าน/เขียนแค่
config.json และ net.createConnection() ภายใน VPS เท่านั้น — ไม่ login TikTok, ไม่ scrape, ไม่ใช้ cookie/CSRF, ไม่ใช้ private API · ไม่มี shell command บน Windows
FFmpeg Command
คัดลอกไปรันบนเครื่อง local หรือ server อื่นได้
Heads up: ระบบ Dashboard นี้รัน FFmpeg ให้อยู่แล้ว — คำสั่งนี้สำหรับคนที่อยากรัน manual หรือใช้บนเครื่องอื่น Stream Key จะถูกแทนด้วยตัวแปร
$STREAM_KEY เพื่อความปลอดภัย
Generated from current config
กำลังโหลด...
Alternative: OBS Studio
desktop streamer
1. ดาวน์โหลด OBS Studio
2. Settings → Stream → Service:
3. Server: ใส่ TikTok RTMP Server URL จากแท็บ RTMP Settings
4. Stream Key: ใส่ TikTok Stream Key จาก TikTok Live Center
5. Sources → + → VLC Video Source
6. เพิ่มคลิปทั้งหมด → Loop playlist → Shuffle (ถ้าต้องการ)
7. กด "Start Streaming"
2. Settings → Stream → Service:
Custom3. Server: ใส่ TikTok RTMP Server URL จากแท็บ RTMP Settings
4. Stream Key: ใส่ TikTok Stream Key จาก TikTok Live Center
5. Sources → + → VLC Video Source
6. เพิ่มคลิปทั้งหมด → Loop playlist → Shuffle (ถ้าต้องการ)
7. กด "Start Streaming"
Guide
วิธี manual RTMP ไป TikTok Live
Important: TikTok RTMP / Stream Key access อาจไม่เปิดให้ทุกบัญชี — ต้องเป็นบัญชี Creator ที่มีสิทธิ์ใช้ TikTok Live Studio หรือ TikTok Live Center เท่านั้น
1
รับ RTMP URL และ Stream Key
1. เข้า TikTok Live Center หรือใช้แอป TikTok Live Studio ด้วยบัญชี Creator
2. กด Go Live → ตั้งชื่อไลฟ์, รูปปก
3. เลือกโหมด Stream from third-party software
4. คัดลอก
RTMP Server URL และ Stream Key
5. Stream Key อาจถูกสร้างใหม่ทุกครั้ง — อัปเดตในแท็บ RTMP Settings ก่อนกด START LIVE2
เตรียมคลิปแนวตั้ง 9:16
• ใช้คลิปแนวตั้ง 1080x1920 (หรือ 720x1280)
• แนะนำ
.mp4 codec H.264
• ความละเอียดเท่ากันทุกคลิปเพื่อให้ FFmpeg ไหล
• Bitrate ต้นทาง 4-8 Mbps จะเบา CPU3
Upload Clips
Dashboard (แนะนำ): แท็บ "Upload Clips" → ลากวาง — ระบบจะ probe + transcode ให้อัตโนมัติ
ไฟล์ใหญ่ (scp): ส่งเข้า
processing/ เท่านั้น เพื่อให้ผ่าน pipeline ตรวจสอบก่อนกลายเป็น READY:
scp yourclip.mp4 root@SERVER_IP:/opt/tiktok-live-hub/processing/
rsync (resume ได้): rsync -avP *.mp4 root@SERVER_IP:/opt/tiktok-live-hub/processing/
FileZilla / WinSCP: SFTP ไป /opt/tiktok-live-hub/processing/
⚠ ห้ามส่งเข้า clips/ ตรง ๆ — playlist จะปฏิเสธคลิปที่ยังไม่ผ่านการตรวจสอบ4
RTMP Settings
1. แท็บ "RTMP Settings"
2. วาง TikTok RTMP Server URL + TikTok Stream Key
3. ตั้ง Channel name + Live note
4. เลือกคุณภาพ (1080p / 4000kbps / 30fps แนะนำ)
5. SAVE SETTINGS
5
Build Playlist
1. แท็บ "Upload Clips" → กด + Queue
2. แท็บ "Playlist" → จัดลำดับด้วย ↑ ↓
3. เลือกโหมด:
• Loop All — เล่นเรียง 1→2→3→1...
• Shuffle — สลับไม่ซ้ำก่อนวนซ้ำ
6
Go Live
เริ่มทันที: แท็บ "Live" → START LIVE
ตั้งเวลา: แท็บ "Schedule" → เลือกวัน-เวลา → SAVE
ระบบจะ:
- เล่น 1 → 2 → 3 ต่อเนื่อง วนกลับเริ่มใหม่
- FFmpeg crash / เน็ตหลุด → auto-restart ภายใน 15 วิ
- VPS reboot → auto-resume สตรีมต่อ
SSH Cheatsheet
on the VPS
# สถานะ
systemctl status tiktok-live-hub
# รีสตาร์ท Dashboard
systemctl restart tiktok-live-hub
# Live logs (server)
journalctl -u tiktok-live-hub -f
# FFmpeg log
tail -f /opt/tiktok-live-hub/logs/ffmpeg.log
# Resources
htop
df -h
# Timezone
sudo timedatectl set-timezone Asia/Bangkok
Disclaimer: ตรวจสอบ Terms of Service ของ TikTok Live ก่อนใช้งาน — บางแพลตฟอร์มอาจมีนโยบายเรื่องการรีรันคลิปอัดล่วงหน้า ผู้ใช้รับผิดชอบต่อการใช้งานเอง
Live Logs
FFmpeg stderr · 300 บรรทัดล่าสุด · Stream Key ถูก redact อัตโนมัติ
FFmpeg stderr · last 300 lines
ffmpeg.log
0 lines
REDACTED
กำลังโหลด...