はじめに — NOALBSとは何をするツールか
屋外ライブ配信(IRL配信)では、モバイル回線が不安定になると映像がフリーズしたり黒画面になったりします。視聴者はその間「配信が落ちたのか、待てば戻るのか」がわからず、離脱してしまいます。
NOALBS(Node OBS Automatic Low Bitrate Switching)は、この問題を自動で解決するツールです。リレーサーバーのビットレートを常時監視し、回線が不安定になったらOBSのシーンを自動的に「BRB(すぐ戻ります)」画面に切り替え、回線が復帰したら自動的にライブ映像に戻します。
【通常時】
エンコーダー → リレーサーバー → OBS(LIVEシーン)→ Twitch/YouTube
↑
NOALBS が監視(ビットレート正常)
【回線不安定時】
エンコーダー → リレーサーバー → OBS(BRBシーンに自動切替)→ Twitch/YouTube
↑
NOALBS が検知(ビットレート低下 or 切断)
【回線復帰時】
エンコーダー → リレーサーバー → OBS(LIVEシーンに自動復帰)→ Twitch/YouTube
この記事では、Windows PCでNOALBSをセットアップする方法を、NOALBS対応のリレーサービス(BELABOX Cloud、IRLServer等)を利用している前提で解説します。
前提条件
この記事の手順を進めるには、以下が必要です。
| 必要なもの | 説明 |
|---|---|
| Windows PC | OBS Studioを動かすPC(配信の「司令塔」になる) |
| OBS Studio | バージョン28以降(OBS WebSocket 5.x が内蔵されているもの) |
| NOALBS対応リレーサービス | BELABOX Cloud、IRLServer、IRL Hosting など(統計APIが公開されているサービス) |
| Twitchアカウント | チャットコマンド機能を使う場合に必要(YouTube配信のみの場合は不要) |
| テキストエディタ | VS Code 推奨(Windows標準のメモ帳はJSON編集に向かないため非推奨) |
Step 1: NOALBSをダウンロード
1-1. リリースページからダウンロード
NOALBSのGitHubリリースページにアクセスします。
最新リリース(2026年1月時点ではv2.16.0)の「Assets」を展開し、noalbs-vX.X.X-x86_64-pc-windows-msvc.zip(Windows用)をダウンロードします。
1-2. 展開と配置
- ダウンロードしたZIPファイルを展開
- 中身を任意のフォルダに配置(例:
C:\Tools\noalbs\) - フォルダ内に以下のファイルがあることを確認:
noalbs.exe— 本体config.json— 設定ファイル.env— Twitch認証情報
注意: Windowsの設定によっては.envファイルが見えない場合があります。エクスプローラーの「表示」→「隠しファイル」を有効にしてください。
Step 2: OBS Studioの準備
2-1. OBS WebSocketを有効にする
NOALBSはOBS WebSocket経由でシーンを切り替えます。OBS Studio 28以降はWebSocket 5.xが標準搭載されています。
- OBS Studioを起動
- メニュー「ツール」→「WebSocketサーバー設定」を開く
- 「WebSocketサーバーを有効にする」にチェック
- サーバーポート: 4455(デフォルトのまま)
- 「認証を有効にする」にチェックし、パスワードを設定(例:
mypassword123) - 「OK」で保存
ここで設定したパスワードは、後ほどconfig.jsonに入力します。
2-2. シーンを作成する
NOALBSが切り替え先として使うシーンをOBSに作成します。最低限必要なのは以下の3つです。
| シーン名 | 役割 | 内容の例 |
|---|---|---|
| LIVE | 通常時(ビットレート正常) | リレーサーバーからのメディアソース、オーバーレイ、チャット表示など |
| LOW | 低ビットレート時 | LIVEと同じ映像 + 「回線不安定」テキスト表示など |
| BRB | 切断時(オフライン) | 「すぐ戻ります」の静止画 or アニメーション、BGM など |
シーン名は自由に変更可能ですが、config.jsonの設定と完全に一致させる必要があります。
2-3. LIVEシーンにメディアソースを追加
リレーサーバーからの映像をOBSで受信するため、LIVEシーンにメディアソースを追加します。
- LIVEシーンを選択
- ソース欄の「+」→「メディアソース」を追加
- 「ローカルファイル」のチェックを外す
- 「入力」欄にリレーサーバーのSRT URLを入力:
srt://relay.example.com:port?streamid=your_stream_id&mode=caller - 「入力フォーマット」に
mpegtsと入力 - 「再接続の遅延」を
1(秒)に設定 - 「OK」で保存
SRT URLの具体的な値はリレーサービスのダッシュボードで確認できます。
Step 3: .envファイルの設定(Twitch連携)
Twitchチャットからのコマンド操作を使う場合、.envファイルにBotアカウントの認証情報を設定します。
3-1. OAuthトークンの取得
- twitchtokengenerator.com にアクセス
- Botとして使うTwitchアカウントでログイン(メインアカウントでもOK)
- 「Bot Chat Token」を選択して生成
- 表示された
oauth:xxxxxxxxxをコピー
3-2. .envファイルを編集
VS Codeで.envファイルを開き、以下のように編集します。
TWITCH_BOT_USERNAME=あなたのTwitchユーザー名
TWITCH_BOT_OAUTH=oauth:ここにコピーしたトークンを貼り付け
注意点:
- ファイル名は必ず
.env(拡張子なし)。.env.txtになっていないか確認 - 値をクォート(
")で囲まないこと - YouTube配信のみでTwitchチャット連携が不要な場合、このファイルは空のままでOK
Step 4: config.jsonの設定
NOALBSの心臓部です。VS Codeでconfig.jsonを開いて編集します。ここではBELABOX Cloudをリレーサーバーとして使っている場合の設定例を示します。
4-1. 最小構成のconfig.json
初めての場合は、以下の最小構成から始めるのがおすすめです。不要なサーバー設定を削除し、必要な部分だけ残します。
{
"user": {
"id": null,
"name": "あなたのTwitchユーザー名",
"passwordHash": null
},
"switcher": {
"bitrateSwitcherEnabled": true,
"onlySwitchWhenStreaming": false,
"instantlySwitchOnRecover": true,
"autoSwitchNotification": true,
"retryAttempts": 5,
"triggers": {
"low": 500,
"rtt": 1500,
"offline": 400
},
"switchingScenes": {
"normal": "LIVE",
"low": "LOW",
"offline": "BRB"
},
"streamServers": [
{
"streamServer": {
"type": "Belabox",
"statsUrl": "http://use.srt.belabox.net:8080/あなたのSTREAMID",
"publisher": "あなたのSTREAMID"
},
"name": "BELABOX cloud",
"priority": 0,
"overrideScenes": null,
"dependsOn": null,
"enabled": true
}
]
},
"software": {
"type": "Obs",
"host": "localhost",
"password": "OBS WebSocketで設定したパスワード",
"port": 4455,
"collections": null
},
"chat": {
"platform": "Twitch",
"username": "あなたのTwitchユーザー名",
"admins": ["あなたのTwitchユーザー名"],
"ignoreUsers": [],
"language": "EN",
"prefix": "!",
"enablePublicCommands": true,
"enableModCommands": true,
"enableAutoStopStreamOnHostOrRaid": false,
"announceRaidOnAutoStop": false,
"commands": {
"Fix": {
"permission": "Mod",
"userPermissions": null,
"alias": ["f"]
},
"Switch": {
"permission": "Mod",
"userPermissions": null,
"alias": ["ss"]
},
"Bitrate": {
"permission": null,
"userPermissions": null,
"alias": ["b"]
}
}
},
"optionalScenes": {
"starting": null,
"ending": null,
"privacy": null,
"refresh": null
},
"optionalOptions": {
"twitchTranscodingCheck": false,
"twitchTranscodingRetries": 5,
"twitchTranscodingDelaySeconds": 15,
"offlineTimeout": null,
"recordWhileStreaming": false,
"switchToStartingSceneOnStreamStart": false,
"switchFromStartingSceneToLiveScene": false
}
}
4-2. 各設定項目の解説
user セクション
| 項目 | 説明 |
|---|---|
name |
あなたのTwitchユーザー名(小文字) |
id |
null のままでOK(自動取得される) |
passwordHash |
null のままでOK |
triggers(閾値設定)— 最も重要な設定
NOALBSがシーンを切り替える判断基準です。単位はkbps / msです。
| 項目 | デフォルト | 説明 |
|---|---|---|
low |
500 | ビットレートがこの値(kbps)以下になるとLOWシーンに切替 |
rtt |
1500 | RTT(往復遅延)がこの値(ms)以上になるとLOWシーンに切替(SRT接続のみ) |
offline |
400 | ビットレートがこの値以下になるとBRBシーン(切断扱い)に切替 |
調整のコツ:
- 配信ビットレートが4000〜6000kbpsの場合、
low: 500/offline: 400が目安 - 低ビットレート(2000kbps程度)で配信する場合は、
low: 300/offline: 200に下げる retryAttempts: 5は「5回連続で閾値以下だったら切り替え」の意味。値を増やすと切替がゆっくりに、減らすと敏感になる
switchingScenes(シーン名)
| 項目 | 説明 |
|---|---|
normal |
通常時のシーン名(OBSのシーン名と完全一致させること) |
low |
低ビットレート時のシーン名 |
offline |
切断時のシーン名 |
streamServers(リレーサーバー設定)
利用中のリレーサービスに合わせて設定します。使わないサーバーは削除するか "enabled": false にしてください。
BELABOX Cloud の場合:
{
"type": "Belabox",
"statsUrl": "http://use.srt.belabox.net:8080/あなたのSTREAMID",
"publisher": "あなたのSTREAMID"
}
statsUrl と publisher の値はBELABOX Cloudのダッシュボードに表示されるStream IDを使用します。
SRT Live Server の場合:
{
"type": "SrtLiveServer",
"statsUrl": "http://your-relay-server:8181/stats",
"publisher": "publish/live/feed1"
}
IRLServer / IRL Hosting の場合:
各サービスのドキュメントでNOALBS用の統計URLとパブリッシャー名が案内されています。ダッシュボードまたはサポートで確認してください。
software(OBS接続設定)
| 項目 | 説明 |
|---|---|
host |
OBSが動いているPCのアドレス。同じPCなら localhost |
password |
Step 2で設定したOBS WebSocketのパスワード |
port |
4455(OBS WebSocket 5.xのデフォルト) |
collections |
Twitch/Kickで別プロファイルを使い分ける場合に設定。不要なら null |
Step 5: NOALBSを起動する
5-1. 起動
- OBS Studioが起動していることを確認(NOALBSより先に起動しておく)
noalbs.exeをダブルクリックして起動- コマンドプロンプトのウィンドウが開き、ログが表示される
5-2. 正常起動時のログ
以下のようなログが表示されれば正常に起動しています。
[INFO] Connected to OBS
[INFO] Connected to Twitch chat
[INFO] Monitoring stream server: BELABOX cloud
5-3. よくあるエラーと対処法
| エラー内容 | 原因 | 対処法 |
|---|---|---|
Failed to connect to OBS |
OBSが起動していない or WebSocket設定が間違い | OBSを先に起動。パスワード・ポートを確認 |
Failed to authenticate |
OBS WebSocketのパスワードが不一致 | config.json の password をOBS側と一致させる |
Twitch auth failed |
.envのOAuthトークンが無効 |
トークンを再取得して.envを更新 |
.env not found |
ファイルが.env.txtになっている |
拡張子を確認。「名前の変更」で.txtを削除 |
| シーンが切り替わらない | シーン名がconfig.jsonとOBSで不一致 |
大文字小文字を含めて完全一致させる |
Step 6: 動作テスト
セットアップが完了したら、実際に動作を確認します。
6-1. ビットレート確認
Twitchチャットで !bitrate と入力します。NOALBSが現在のビットレートを返信すれば、リレーサーバーとの連携は正常です。
6-2. シーン切替テスト
- エンコーダー(Moblin等)からリレーサーバーへの配信を開始
- OBSのLIVEシーンに映像が表示されることを確認
- エンコーダーの配信を一時停止(Moblinの停止ボタン等)
- 数秒後にNOALBSが検知し、自動でBRBシーンに切り替わることを確認
- エンコーダーの配信を再開
- 自動でLIVEシーンに戻ることを確認
6-3. 手動シーン切替テスト
Twitchチャットから以下のコマンドで手動切替もテストします。
| コマンド | 動作 |
|---|---|
!switch LIVE |
LIVEシーンに切替 |
!switch BRB |
BRBシーンに切替 |
!bitrate |
現在のビットレートを表示 |
!fix |
ストリームの修復を試行(映像が固まったとき等に使用) |
Twitchチャットコマンド一覧
NOALBSはTwitchチャットから操作できます。コマンドの権限レベルは3段階です。
全ユーザーが使えるコマンド
(enablePublicCommands: true の場合)
| コマンド | エイリアス | 説明 |
|---|---|---|
!bitrate |
!b |
現在のビットレートを表示 |
モデレーターが使えるコマンド
(enableModCommands: true の場合)
| コマンド | エイリアス | 説明 |
|---|---|---|
!fix |
!f |
ストリーム修復を試行 |
!switch [シーン名] |
!ss |
指定シーンに手動切替 |
!trigger [値] |
— | 低ビットレート閾値を変更(kbps) |
!otrigger [値] |
— | オフライン閾値を変更(kbps) |
!rtrigger [値] |
— | RTT閾値を変更(ms) |
!sourceinfo |
— | ソース情報を表示 |
!serverinfo |
— | サーバー情報を表示 |
管理者(admin)が使えるコマンド
| コマンド | 説明 |
|---|---|
!start |
OBSの配信を開始 |
!stop |
OBSの配信を停止 |
!live |
LIVEシーンに切替 |
!privacy |
プライバシーシーンに切替 |
!noalbs prefix [文字] |
コマンドの接頭辞を変更(デフォルト: !) |
配信中にモデレーターが !fix で映像トラブルに対処してくれるのは、屋外配信では非常に助かる場面が多いです。
YouTube配信で使う場合の注意点
NOALBSのチャットコマンド機能はTwitch(およびKick)のみ対応しています。YouTubeのチャットからNOALBSを操作することはできません。
ただし、NOALBSの自動シーン切替機能はプラットフォームに関係なく動作します。リレーサーバーのビットレートを監視してOBSのシーンを切り替えるだけなので、OBSの配信先がYouTubeでも問題ありません。
| 機能 | Twitch | YouTube |
|---|---|---|
| 自動シーン切替(BRB↔LIVE) | ○ | ○ |
| チャットコマンド(!bitrate等) | ○ | × |
| レイド時の自動配信停止 | ○ | × |
YouTube配信者がNOALBSを使う場合、.envファイルは空のままで、config.jsonの chat セクションは設定不要です。自動切替だけで十分な価値があります。
運用Tips
NOALBSを自動起動させる
配信のたびに手動でnoalbs.exeを起動するのは手間です。OBSと一緒に自動起動させましょう。
Win + Rで「ファイル名を指定して実行」を開くshell:startupと入力してEnter- 開いたスタートアップフォルダに、
noalbs.exeのショートカットを作成して配置
これでPC起動時にNOALBSも自動的に起動します。OBSも同様にスタートアップに入れておくと便利です。
BRBシーンを工夫する
BRBシーンは視聴者が最も長く見る可能性がある画面です。以下の要素を入れておくと離脱を防げます。
- 「電波が不安定なためしばらくお待ちください」のテキスト
- BGM(ループ再生)
- チャット欄の表示(視聴者同士が会話できるように)
- SNSアカウントの表示
閾値のチューニング
デフォルトの閾値(low: 500 / offline: 400)は多くのケースで適切ですが、配信環境によっては調整が必要です。
- 頻繁にBRBに切り替わる場合:
offlineの値を下げる(300等)、retryAttemptsを増やす(7〜10) - 回線が切れているのにBRBに切り替わらない場合:
offlineの値を上げる、retryAttemptsを減らす - チャットから
!trigger/!otriggerで配信中にリアルタイム調整可能
まとめ
NOALBSのセットアップ手順を振り返ります。
| ステップ | やること |
|---|---|
| Step 1 | GitHubからWindows版をダウンロード・展開 |
| Step 2 | OBSでWebSocket有効化 + LIVE / LOW / BRB シーンを作成 |
| Step 3 | .envにTwitch認証情報を設定(YouTube配信のみなら不要) |
| Step 4 | config.jsonにリレーサーバー情報・OBS接続情報・閾値を設定 |
| Step 5 | OBSを起動してからnoalbs.exeを起動 |
| Step 6 | エンコーダーの停止・再開で自動切替を確認 |
NOALBSは設定ファイルをテキストエディタで編集するタイプのツールなので、GUIに慣れている人には最初はとっつきにくいかもしれません。しかし一度設定してしまえば、あとは起動するだけで配信を自動的に守ってくれます。
屋外配信ツールの全体像は屋外ライブ配信ツール完全マップを、自前でリレーサーバーを構築したい場合のVPS選びは国内VPS 6社比較も参考にしてください。


コメント