NOALBS導入ガイド【Windows編】— 屋外配信の回線断をBRB自動切替で守る

ライブ配信

はじめに — 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リリースページにアクセスします。

Releases
Simple app to automatically switch scenes in OBS based on the current bitrate fetched from the ingest stats page. - NOALBS/nginx-obs-automatic-low-bitrate-switc...

最新リリース(2026年1月時点ではv2.16.0)の「Assets」を展開し、noalbs-vX.X.X-x86_64-pc-windows-msvc.zip(Windows用)をダウンロードします。

1-2. 展開と配置

  1. ダウンロードしたZIPファイルを展開
  2. 中身を任意のフォルダに配置(例: C:\Tools\noalbs\)
  3. フォルダ内に以下のファイルがあることを確認:
    • 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が標準搭載されています。

  1. OBS Studioを起動
  2. メニュー「ツール」→「WebSocketサーバー設定」を開く
  3. 「WebSocketサーバーを有効にする」にチェック
  4. サーバーポート: 4455(デフォルトのまま)
  5. 「認証を有効にする」にチェックし、パスワードを設定(例: mypassword123)
  6. 「OK」で保存

ここで設定したパスワードは、後ほどconfig.jsonに入力します。

2-2. シーンを作成する

NOALBSが切り替え先として使うシーンをOBSに作成します。最低限必要なのは以下の3つです。

シーン名 役割 内容の例
LIVE 通常時(ビットレート正常) リレーサーバーからのメディアソース、オーバーレイ、チャット表示など
LOW 低ビットレート時 LIVEと同じ映像 + 「回線不安定」テキスト表示など
BRB 切断時(オフライン) 「すぐ戻ります」の静止画 or アニメーション、BGM など

シーン名は自由に変更可能ですが、config.jsonの設定と完全に一致させる必要があります。

2-3. LIVEシーンにメディアソースを追加

リレーサーバーからの映像をOBSで受信するため、LIVEシーンにメディアソースを追加します。

  1. LIVEシーンを選択
  2. ソース欄の「+」→「メディアソース」を追加
  3. 「ローカルファイル」のチェックを外す
  4. 「入力」欄にリレーサーバーのSRT URLを入力:
    srt://relay.example.com:port?streamid=your_stream_id&mode=caller
  5. 「入力フォーマット」に mpegts と入力
  6. 「再接続の遅延」を 1(秒)に設定
  7. 「OK」で保存

SRT URLの具体的な値はリレーサービスのダッシュボードで確認できます。

Step 3: .envファイルの設定(Twitch連携)

Twitchチャットからのコマンド操作を使う場合、.envファイルにBotアカウントの認証情報を設定します。

3-1. OAuthトークンの取得

  1. twitchtokengenerator.com にアクセス
  2. Botとして使うTwitchアカウントでログイン(メインアカウントでもOK)
  3. 「Bot Chat Token」を選択して生成
  4. 表示された 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. 起動

  1. OBS Studioが起動していることを確認(NOALBSより先に起動しておく)
  2. noalbs.exe をダブルクリックして起動
  3. コマンドプロンプトのウィンドウが開き、ログが表示される

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. シーン切替テスト

  1. エンコーダー(Moblin等)からリレーサーバーへの配信を開始
  2. OBSのLIVEシーンに映像が表示されることを確認
  3. エンコーダーの配信を一時停止(Moblinの停止ボタン等)
  4. 数秒後にNOALBSが検知し、自動でBRBシーンに切り替わることを確認
  5. エンコーダーの配信を再開
  6. 自動で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と一緒に自動起動させましょう。

  1. Win + R で「ファイル名を指定して実行」を開く
  2. shell:startup と入力してEnter
  3. 開いたスタートアップフォルダに、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社比較も参考にしてください。

タイトルとURLをコピーしました