T
TikTok Live Hub
Creator RTMP Control Center
T
TikTok Live Hub
Creator RTMP Control Center
Channels loading…
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
OFFLINE
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 เริ่มต้นของเครื่อง

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 id

Discord

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: Custom
      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"
      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 LIVE
      2
      เตรียมคลิปแนวตั้ง 9:16
      • ใช้คลิปแนวตั้ง 1080x1920 (หรือ 720x1280) • แนะนำ .mp4 codec H.264 • ความละเอียดเท่ากันทุกคลิปเพื่อให้ FFmpeg ไหล • Bitrate ต้นทาง 4-8 Mbps จะเบา CPU
      3
      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
      กำลังโหลด...