Awesome-omni-skill L3 Control Center
OBS Lower Third Controller with Excel data import and dynamic card management
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/frontend/l3-control-center" ~/.claude/skills/diegosouzapw-awesome-omni-skill-l3-control-center && rm -rf "$T"
manifest:
skills/frontend/l3-control-center/SKILL.mdsource content
L3 Control Center - OBS Dock Controller
Overview
แอปพลิเคชันสำหรับควบคุม Lower Third (L3) ใน OBS Studio ผ่าน WebSocket
- นำเข้าข้อมูลจาก Excel
- จัดการ Cards แบบ Single (1 คน) และ Double (2 คน)
- สร้าง OBS Sources อัตโนมัติ
- ควบคุม visibility ของ L3
Project Structure
L3/ ├── L3_Control_Center.html # Main HTML (load in OBS Dock) ├── css/ │ └── style.css # All styles └── js/ └── app.js # All JavaScript logic
Key Components
1. OBS Connection
- ใช้ Native WebSocket (ไม่ใช้ obs-websocket-js)
- เชื่อมต่อที่
ws://localhost:4455 - Auto-reconnect ทุก 5 วินาทีเมื่อหลุด
2. Card Types
| Type | Description | OBS Sources |
|---|---|---|
| Single | แสดง 1 คน | , , , , |
| Double | แสดง 2 คน (Home/Away) | , , etc. |
3. Excel Columns
ID | name | LabelName1 | LabelName2 | LabelName3 | image
OBS Source Naming Convention
Single Card (Card ID = 1)
- Group:
G_LowerThird_1 - Text Name:
T_Name_1 - Text Labels:
,T_Label1_1
,T_Label2_1T_Label3_1 - Image Avatar:
I_Avatar_1
Double Card (Card ID = 2)
- Home Group:
G_LowerThird_Home_2 - Home Sources:
,T_Name_Home_2
,T_Label1_Home_2I_Avatar_Home_2 - Away Group:
G_LowerThird_Away_2 - Away Sources:
,T_Name_Away_2
,T_Label1_Away_2I_Avatar_Away_2
Key Functions in app.js
| Function | Description |
|---|---|
| เชื่อมต่อ OBS WebSocket |
| ส่ง request ไปยัง OBS |
| ส่ง batch requests |
| อ่านไฟล์ Excel |
| แสดง Cards ทั้งหมด |
| อัปเดต Single Card → OBS |
| อัปเดต Double Card → OBS |
| เปิด/ปิด Single L3 |
| เปิด/ปิด Double L3 |
| สร้าง OBS Sources อัตโนมัติ |
LocalStorage Keys
| Key | Description |
|---|---|
| เก็บ Card configuration (JSON array) |
How to Use in OBS
- เปิด OBS Studio
- ไปที่ Docks → Custom Browser Docks
- ตั้งชื่อ Dock:
L3 Control - ใส่ URL:
file:///PATH/TO/L3_Control_Center.html - กด OK
Modification Tips
เพิ่ม Label ใหม่
- แก้ไข
/renderSingleCard()
ในrenderDoubleCard()app.js - เพิ่ม input ใน HTML ถ้าต้องการ
- แก้ไข
/applySingleL3()
เพื่อส่งไป OBSapplyDoubleL3()
เปลี่ยนสี Theme
- แก้ไขใน
css/style.css - สี Primary:
#00aaff - สี Single Card:
#4ade80 - สี Double Card:
#fbbf24 - Background:
#1e1e1e
เพิ่ม OBS Actions ใหม่
- ใช้
sendOBSRequest(requestType, requestData) - ดู OBS WebSocket Protocol: https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md