Twitchで自宅SRTlaサーバー・構築編(暫定版)
更新日:2025/2/04
はじめに
Srtlaサーバーは、外部配信時にSRTプロトコルを使って複数の携帯電話会社の回線をまとめて使用し、安定した配信を行えるサーバープログラムです。
通常はスマホに内蔵されている1回線だけを使用するのに対し、モバイルルーターや有線LAN接続を利用し、複数の4Gや5G回線を組み合わせて配信することができます。
このような配信手法を「ボンディング」と呼びます。
これが可能なツールとしてSpeedifyという有名な有料サービスがあります。
Speedifyは、有料のVPNサービスで複数の回線を束ねて安定した接続を提供しますが、配信モードを使ったとしても遅延の発生などかなりの不安定さがあります。一方、今回説明するSrtlaサーバーはSRTプロトコルとUDPポートを活用し、配信専用に特化しているため、Speedifyよりも低遅延で安定した配信が可能です。
自前の回線と機材が必要ですが、一度構築すれば無料で利用でき、リアルタイム性が求められるライブ配信や放送に適しています。
対応しているスマートフォン配信アプリはAndroidだとIRL PRO、iOSだとMoblinになります。ただし、これを構築するには多少なりの知識が必要です。とりあえず頑張ってみましょう。ここからはTwitchというライブ配信サイトを前提に説明していきます。
必要な物(1980x1080|60fpsの場合)
Corei5(なるべく4世代以降)推奨メモリ16GB以上のWindows10以上のPC
最低限OBSでTwitch配信が出来る。なるべくnvideaのNVENC H.264エンコーダが使える環境がすでにあること
ルーター設定が自分で出来る
ポート開放が出来るネットワーク環境(光回線などフレッツの場合PPoE接続)V6プラスだとポート開放に制限があったりCATVなどではポート開放できない場合があります。
ある程度データ容量が多いSIMを使用できる。
まずOBSをインストールしたPCでTwitchの配信ができる環境を用意してください。すでに自宅でOBSを使ってTwitch配信しているPCをそのまま使っても良いと思います。
ステップ1:Docker Desktopのインストール
OBSをインストールしているPCに、他所様のサイトですが下記のリンクを参考にWSL2とDocker Desktopをインストールしてください(丸投げ)。
Dockerは個人使用に関しては無料ですので、なるべく会員登録してログインして使用してください。
なお、ここで正常に動作しない場合は、マザーボードのCPU仮想化機能が無効化されている可能性があります。その場合は、各社のマザーボードBIOS設定で仮想化機能を有効化する必要があります。具体的な設定手順については、他所様の下記のリンク先で詳しく説明されていますので、参考にしてください。
ステップ 2 :SRTlaサーバーのコンテナの構築
DockerDesktop を起動してセットアップ プロセスを完了し、
システム トレイの Docker のクジラのアイコンをクリックして、操作メニューから Switch to Linux Containers (Linux コンテナーに切り替え) を選択します。 Switch to Windows Containers (Windows コンテナーに切り替え) が表示された場合、既に Linux デーモンをターゲットにしています。

↓このSwitch to Windows Containersになるようにする。(ややこしいですが)

次に検索バーで"luminousaj"を検索します。

このよう表示されますのでPullをクリック。

インストールが終了したら、左メニューで→Imagesがこのように表示されると思いますので、"luminousaJ/belabox-receiver"をクリックしてください(画像では文字が最後で途切れています)。

ここで下の”>”をクリックしてターミナルを開きます

ここで下のコマンドをコピペしてEnterキー押します。
docker run --restart=always -d --name srt-receiver -p 5000:5000/udp -p 8181:8181/tcp -p 8282:8282/udp luminousaj/belabox-receiver:latest

そうするとコンテナが起動してるはずなので左の"Containers"をクリック。

この画面が出ていれば起動している状態です。
一応、確認の為に"Show all potrts"をクリック。

先ほどポート入力された値が正しければ問題無いです。

ね? 簡単でしょ。しかし、ここからが面倒であり難しくなります。
ここではフレッツ光で PPPoE 接続を前提に説明していきます。
ステップ3 :OBS側の設定
次にOBSの設定です
まず初めに新規シーンを追加して名前を"Live"にしてください!
理由は面倒なので聞かないでください。
その中に新規にメディアソースを選び、下記の画面をそのまま同じように打ち込んでください。

ローカルファイル:チェックボックス外す
ソースがアクティブになったときに再生を再開する:チェックボックス入れる
入力:srt://127.0.0.1:8282/streamid=play/stream/belabox
入力フォーマット:mpegts
以下非アクティブ時にファイルを閉じるまでチェックボックス入れる
他はデフォルト放置で閉じます。
ステップ4 :ポート開放とグローバルIPの取得
次にインストールしたPCを外のネットワークから繋げるようにするための設定をします。
・ローカルIP取得
インストールPCPCのローカルIPアドレスを調べます。
ローカルIPアドレスとはなんぞや?と思う人もいるかもしれませんが、家のルーターにつながっているPCやスマホなどの住所に相当する数値のことです。
大体192.168.x.xという数値で表示されます。
とりあえず、次のリンク先が分かりやすいので、そこで調べてメモするなりしてください。
ちなみに自分は192.168.1.100とでましたのでこれを参考に説明していきます。
・ルーター設定
次にルーターの設定でポート開放を行います。
srtla鯖のポートはUDP:5000ですこれを外部からアクセス出来るようにします。
ついでにOBSのリモート操作も必要になるのでついでにTCP:4455もアクセス出来るようにしたいとおもいます
設定の仕方はメーカー名と「ポート開放」で検索すれば出てくると思います。
とりあえず、有名な NEC Aterm とバッファローの簡単な説明だけにします。
念のためUDPかTCPの違いを確認してください
Atermの場合
LAN側ホスト:192.168.1.100、プロトコル:UDP、ポート番号:5000
LAN側ホスト:192.168.1.100、プロトコル:TCP、ポート番号:4455
バッファローの場合
LAN側アドレス:192.168.1.100、プロトコル:TCP/UDP→UDP、任意のTCP/UDPポート:5000、TTCP/UDPポート:5000
LAN側アドレス:192.168.1.100、プロトコル:TCP/UDP→UDP、任意のTCP/UDPポート:5000、TTCP/UDPポート:4455
・グローバルIPの取得
次にグローバルIPを調べます。
これは全世界のネットからあなたの家のルーターに割り当てられている唯一のIPアドレスです。これは下記のリンク先で調べられます。IPv4の項目で出てくると思います。

例:IPv4: ? 106.15x.0x.2x
但し、フレッツ光でIPoE接続(それ以外でも)だとルーター再起動したりするとその都度グローバルIPアドレスは変わりますので
出来ればDDNSの導入をお勧めしますが詳細はまた後のNOALBS編で
ステップ5:IRL PRO及びMoblinの設定
次にIRL PROもしくはMoblinの設定をします
・IRL PROの場合
左上の歯車アイコンをクリック→Setting→Bonding→BondingOnlyをチェック付ける
同じく→Setting→Connections→New connection
・Name
Twitch_srtla(なんでもいいけど分かりやすく)
・URL
srtla://あなたのグローバルIP:5000
あなたのグローバルipアドレスというのは先ほど調べたグローバルアドレスです
例: あなたのグローバルIPが106.15x.0x.2xだと
srtla:// 106.15x.0x.2x:5000
・streamid
live/stream/belabox
・Moblinの場合(端末持っていないので未検証)
moblin を開いて、URL でストリームを追加します
srtla://あなたのグローバルipアドレス:5000?streamid=live/stream/belabox
あなたのグローバルipアドレスというのは先ほど調べたグローバルアドレスです
例: あなたのグローバルIPが106.15x.0x.2xだと
srtla:// 106.15x.0x.2x:5000?streamid=live/stream/belabox
DockerDesktopでsrtlaスタートしているのを確認して
以上設定したら配信を開始してください。
但しwifiをオフにしてください家庭内ルーターのwifiに接続している場合ローカルLAN内の接続するのでグローバルIP経由では繋がりません。
ステップ3 :OBS側の設定で設定した画面を見て配信出来ているか確認します。

ここで配信画面ができた場合、問題なく成功です! とりあえず録画開始ボタンを押して外に出てみて、繋がり続けるかテストするのも良いでしょう。
実際にTwitchで配信してみても良いですが、家バレに留意して行ってください。
お気づきだとは思いますが、OBSの配信先を変えればYouTubeやニコ生など他のライブ配信サイトでも配信可能です。同時配信も出来ます。
ご自身で別に契約しているモバイルWi-Fiルーターやテザリング可能なスマホがあればWi-Fiをオンにしてそれに繋げ、内蔵SIMとのボンディングも可能な外配信ができるかと思います。
とりあえずSrtlaサーバー構築説明は以上です。
この配信環境が整えば、次はNOALBSという低ビットレートや電波がない場合に自動でOBSのシーンを切り替える環境と、DDNSの設定及びスマホからのOBSリモート操作の構築に移ります。