NOALBS Config Generator
NOALBS ์๋ ์ฅ๋ฉด ์ ํ์ฉ config.json์ ์์ฑํฉ๋๋ค. ๊ณต์ NOALBS v2 ์ค์ ํ์์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
๋ก์ปฌ OBS์์๋ ๋ณดํต localhost๋ฅผ ์ฌ์ฉํฉ๋๋ค
WebSocket 5.x์ ๊ธฐ๋ณธ ํฌํธ๋ 4455์ ๋๋ค
OBS โ ๋๊ตฌ โ WebSocket ์๋ฒ ์ค์ ์์ ํ์ธํ ์ ์์ต๋๋ค
IRLServer ๋์๋ณด๋ ๋๋ ์๋ฒ ์ ๊ณต์ ์ฒด์์ ํ์ธํ์ธ์
ํ์: live/stream/stream_key
์ซ์๊ฐ ๋ฎ์์๋ก ์ฐ์ ์์๊ฐ ๋์ต๋๋ค
์ด ๊ฐ ๋ฏธ๋ง์ด๋ฉด LOW ์ฌ์ผ๋ก ์ ํ
์ด ๊ฐ ๋ฏธ๋ง์ด๋ฉด BRB ์ฌ์ผ๋ก ์ ํ
์๋ณต ์๊ฐ ์๊ณ๊ฐ
์ฌ ์ ํ ์ ํ์ธ ํ์
์ด ํญ๋ชฉ๋ค์ OBS ์ฌ ์ด๋ฆ๊ณผ ์ ํํ ์ผ์นํด์ผ ํฉ๋๋ค(๋์๋ฌธ์ ๊ตฌ๋ถ).
์์ฑ๋ ์ค์
{
"user": {
"id": null,
"name": "NOALBSbot",
"passwordHash": null
},
"switcher": {
"bitrateSwitcherEnabled": true,
"onlySwitchWhenStreaming": false,
"instantlySwitchOnRecover": true,
"autoSwitchNotification": true,
"retryAttempts": 5,
"triggers": {
"low": 800,
"rtt": 2500,
"offline": 200
},
"switchingScenes": {
"normal": "LIVE",
"low": "LOW",
"offline": "BRB"
},
"streamServers": [
{
"streamServer": {
"type": "SrtLiveServer",
"statsUrl": "https://your-stats-url.com/stats",
"publisher": "live/stream/stream_key"
},
"name": "IRLServer",
"priority": 0,
"overrideScenes": null,
"dependsOn": null,
"enabled": true
}
]
},
"software": {
"type": "Obs",
"host": "localhost",
"password": "",
"port": 4455
},
"optionalScenes": {
"starting": null,
"ending": null,
"privacy": null,
"refresh": null
},
"optionalOptions": {
"twitchTranscodingCheck": false,
"twitchTranscodingRetries": 5,
"twitchTranscodingDelaySeconds": 15,
"offlineTimeout": null,
"recordWhileStreaming": false,
"switchToStartingSceneOnStreamStart": false
}
}๋น ๋ฅธ ์ค์ :
- GitHub releases์์ NOALBS ๋ค์ด๋ก๋
- OBS์์ ์ฌ ์์ฑ: LIVE, LOW, BRB, REFRESH
- OBS์์ WebSocket์ ํ์ฑํํ์ธ์ โ ๋๊ตฌ โ WebSocket ์๋ฒ ์ค์
- config.json ํ์ผ์ ๋ค์ด๋ก๋ํด NOALBS ํด๋์ ๋ฃ์ผ์ธ์
- ์ฑํ ์ฉ: Twitch OAuth ํ ํฐ์ผ๋ก .env ํ์ผ์ ์์ฑํ์ธ์
- NOALBS ์คํ ํ์ผ์ ์คํํ์ธ์
IRLServer ์ฌ์ฉ์: stats URL์ ๋์๋ณด๋์ Server Settings โ Endpoints์์ ํ์ธํ ์ ์์ต๋๋ค. SRTLA ์๋ํฌ์ธํธ์๋ SrtLiveServer ์ ํ์ ์ฌ์ฉํ์ธ์.
WebSocket ๋น๋ฐ๋ฒํธ์ stats URL์ ์ค์ ๊ฐ์ผ๋ก ๊ผญ ์ ๋ฐ์ดํธํ์ธ์. ์ฅ๋ฉด ์ด๋ฆ์ OBS์ ์ฅ๋ฉด ์ด๋ฆ๊ณผ ์ ํํ ์ผ์นํด์ผ ํฉ๋๋ค.