見出し画像

IRL配信向けSRTLaサーバーの構築方法

はじめに

ここでは、Kickに限らず全てのライブストリーミングサイトにてIRLの配信が切れないようにする中継サーバーの構築を説明します。
主として、iPhone(iOS)を対象としてMoblin(配信アプリ)を用いた構築となります。一方で、Androidはボンディング(複数回線)に使用しますが必須ではありません。
※Androidで配信する場合は、IRL Proの設定はご自身で対応してください。


前提費用

Conoha VPS メモリ1GBプラン 契約期間-1か月 763円/月 (※契約期間を長くすれば費用が安くなります。)

ステップ1中継サーバーの立ち上げ

以下のサイトから「申し込み」でアカウントと決済情報を登録してください。

登録が完了すると以下の画面になるので、「セキュリティ→セキュリティグループ」に移動してください。移動したら、「+セキュリティグループ」をクリックしてください。

セキュリティグループ名を「srt1」にして保存してください。

保存ができたら、以下の赤いプラスマークを押して黄色の枠の設定を追加してください。

※ポート8181のIP/CIDRに関しては、自宅のIPアドレスを設定するため以下のサイトでIPアドレスを取得後に以下のように書いてください。これはセキュリティ的なものです。
・IP/CIDR: <ipアドレス>/32

次に「サーバー追加」ページに移動してください。

以下の画像の赤枠を選択してください。サービスは「VPS」でイメージタイプは「Ubuntu 24.04」です。

同じ画面でスクロールをして、以下の画像の赤枠を選択してください。料金タイプは「1か月または任意期間」とプランは「1GB」です。
また、rootパスワードは忘れないように設定してください。

同じ画面をスクロールして、「オプションを見る」を選択してください。
オプションが表示されるので、セキュリティグループを先ほど作成した「srt1」と「default」を選択してください。また、スタートアップスクリプトは「URL指定」を選択してください。URL指定で以下のURLを入力してください。
URLhttps://gitlab.com/sasami_company/conohavps_srt/-/raw/main/startup_script1.sh

すべての記入が完了したら以下の料金が画面右側に表示されます。
料金タイプによって料金は異なりますが、以下のように表示されれば「次へ」を選択して決済画面に進んでください。


決済が完了したら、左のメニューから「サーバー」を選択してください。
サーバーページに遷移すると以下の画面になります。ステータスが「構築中」表示の場合があります。その場合は、起動中になるまで待機してください。起動中になったらネームタグをクリックしてください。

ネームタグをクリックすると詳細ページに遷移します。以下画像の赤枠にある「IPアドレス」をコピーしてください。このIPアドレスは後で利用します。

補足

これ以降で、passphraseが必要になります。ここでは、そのpassphraseを生成してメモしておくことを目的にしています。
以下のサイトにアクセスしてください。

以下のように、赤枠のID lengthを「32」に設定してください。
完了したら、その下にある赤枠の「"」の間の値をメモしておいてください。
これが、以降の設定でpassphraseの値となるものです。

ステップ2 OBSの設定

OBS Studioを起動してNOALBSの設定を行います。
「ツール」→「WebSocketサーバー設定」を選択してください。

次に
・WebSocketサーバーを有効にするにチェックを付け
・サーバーポートが4455になっていることを確認
・サーバーパスワードを「接続情報を表示」から確認してメモしておいてください。

シーン切り替え用にシーンを追加してください。
・LIVE:スマホの映像を常時流します
・LOW:スマホの映像を常時流しながら、「Low Bitrate…」テキストを表示
・BRB:映像が途切れた時にオフライン映像を流します

LIVEとLOWシーンのソースに「メディアソース」を追加してください。
メディアソースはスマホの映像を流すもので、以下の赤枠を埋めてください。
・ソースがアクティブになったときに再生を再開する:有効
・ネットワークバッファリング:2MB(電波悪い時にこの値が大きいとノイズが出にくいが遅延がでかくなります。)
・入力:srt://<IPアドレス>:8282?streamid=play/stream/<random_id>&passphrase=<passphraseの値>&pbkeylen=32
・入力フォーマット:mpegts
・再接続の遅延:1s
・利用可能な場合はハードウェアでコードを使用する:有効
・再生終了時に何も表示しない:有効
・非アクティブ時にファイルを閉じる:有効

「Low Bitrate…」テキストを表示するために、LOWシーンにテキストソースを追加してください。

以下のように表示位置をいじってください。

BRBシーンでは、ソースにメディアソースとテキストを追加してください。
クリップだったり、かわいい映像を流して視聴者に待ってもらうように促しましょう。

これでOBSの設定は完了です。

ステップ3 NOALBSを導入

NOALBSは、配信ソフトOBS Studioのシーン切り替えや制御を”自動化”するためのツールです。主にIRL配信などで、回線品質が不安定になりやすい環境での運用を楽にする目的で使われます。

以下のサイトの「Assets」にある「noalbs-v2.16.0-x86_64-pc-windows-msvc.zip」をダウンロードして解凍(すべて展開)をしてください。

展開したフォルダの中に以下の3つのファイルがあれば問題なくダウンロードできています!

次に、「config」ファイルの設定をするために以下のサイトにアクセスしてください。

以下の項目に値を入れてください。
※username, user_id,chatroom_id, slugは次のサイトhttps://kick.com/api/v2/channels/<ユーザーID>で取得することができます。また、パブリッシャーのrandom_idは次のサイトから取得してください。https://www.uuidgenerator.net/version4#google_vignette これは、Moblinのrandom_idと同じである必要があります。

ユーザー設定
・ユーザー名:username
ストリームサーバー追加
・サーバータイプ:SrtLiveServer
・サーバー名:username
・STATS URL:http://<IPアドレス>:8181/stats
・パブリッシャー:live/stream/<random_id>
ソフトウェア設定
・パスワード:サーバーパスワード(※ステップ2でメモした値です)
チャット設定
・プラットフォーム:Kick
・KICKチャンネルID:user_idの値
・KICKチャットルームID:chatroom_idの値
・ユーザー名:slugの値
カスタムコマンド:基本セットを選択(任意ですが必要最低限のコマンドセットです)

上記すべての入力が完了したら、下にスクロールして「config.jsonをダウンロード」を押してNOALBSのconfig.jsonが保存されているところに上書き保存してください。

設定が正常に動作しているか確認するために、noalbs.exeを起動してください。

ステップ4 Moblin設定

Moblinを起動したら右上の「歯車」を選択して、「作成する」を押下してください。

「ストリーム設定ウィザード」が表示されるので下にスクロールして「カスタム」を選択してください。

「プロトコル」の「SRT(LA)」を選択してください。

SRT(LA)画面のURLとストリームIDを入力してください。
・URL:srtla://<IPアドレス>:5000
・ストリームID:live/stream/<random_id>&passphrase=<passphraseの値>&pbkeylen=32

一般画面に移動するので、「ストリーム名」をご自由に記入して「バックグラウンド配信」を有効にしてください。そしたら、「作成する」で作成してください。

ステップ5 配信テスト

ステップ1~4まですべてが終わったらMoblinの「ライブ開始」ボタンを押してください。これで、スマホの映像が中継サーバーを通して、自宅のOBSのLIVEに再生されます。

また、Kickの自分のコメント欄で「!start」や「!stop」を送信すると自宅のOBSの配信が開始できます!

さらに、長時間配信をしていると遅延が発生することがあります。その解消をするために、「!f」と送信するとリフレッシュされて遅延が解消されます。

さいごに

これでスマホとPCで切り替えて配信できる環境が構築できました。
今回はKickをベースとした説明ですが、TwitchやYoutubeでもNOALBSの設定を行えば簡単に使用することができます!

何か実装で困ったことがあれば、XのDMに連絡をしてもらえれば可能な限り対応します。

いいなと思ったら応援しよう!