この記事の概要を簡単まとめ!
- Twitchが規約改定により条件付きの同時配信が可能になる
- 以前に使っていたRestreamを再開させるも、YouTube配信が上手くできない
- 勝手に解像度も変更されてしまうので破棄し、OBS mluti RTMPを導入
- 雷鳴/sorayuki氏開発、OBSのプラグインとしてインストーラで導入できる
- 理論上無限に同時配信可能で、解像度・ビットレートは個別設定可能
- RTMP鯖、RTMPキーをセットすることで使用可能で、個別で配信ON/OFFも可能
- 回線負荷は通常より高いものになるため、強力な回線が必須
- OBSだけで完結すれば、もう面倒な設定やサービスの制約はいらない
私がいつも言っていることとして、規制のレベルがある。適度な規制は文化を生み、過度な規制はアングラを生むということだ。ジャップに関しては後者が多すぎると感じており、そのせいでアングラが多く存在するということを馬鹿なジャップは認識できていない。もっともこれは海外でも同じであろう、しかしジャップは他と比較しても最悪に見える。
規制のレベルが緩くなったといえば、Twitchがいきなり同時配信を解禁した。といってもそれはTwitchをメインとするユーザー向けであり、他のプラットフォームがメインには意味がないものであった。幸い私はTwitchメインであり、YouTubeにも同時配信する方法を考える必要が出てきた。そこでOBS multi RTMPを検証することにした。
ひとっ飛びできる目次
回線が強ければこれでいいじゃん
同時配信の手段と条件
Twitchの同時配信規定が改定
2023年10月21日、ケツの穴が小さいとずっと思っているTwitchが規約改定を行った。これまで同時配信については全面禁止としていたところを解禁するようになった。このページにその内容が記されている。日本語訳は後に公開され、その内容を分かりやすくまとめたのが以下である。
- Twitchの配信の質(=解像度およびフレームレート)を他のプラットフォームと同等またはそれ以上にすることが必須。Twitchのチャット等を非表示や禁止にしながら同時配信先は許可している等の設定もこれに含まれる。
- TwitchからTwitch外の同時配信先に誘導するリンクを張ることや、配信者自身が口頭ないしチャット等で誘導するように示唆することは禁止である。
- Twitch以外の同時配信先のチャットやアクティビティなどを統合して表示する、サードパーティサービスの利用は禁止される。
この通りとなっており、それぞれについても補足が書かれている。外部への誘導とリンクについては禁止対象は配信とチャットのみに適用され、概要セクション(クリエイターについて)はそのまま掲載することが可能である。サードパーティサービスに関しては個人的な使用では禁止ではないため、例えばわんコメのコメントを統合して画面内に表示することは禁止だが、単にコメントを取得して自分で見るだけなら問題ないということである。
つまりまとめれば、同時配信に際してTwitchが全てに優先されるように設定した状態なら許可されるということになる。だが上記からも分かるように、このガイドラインはTwitchをメインとするユーザーが前提のものになっている。ページの最後の補足にパートナープログラムを以前にしていた人は出戻りで再度申請することができるということも書かれていることから、Twitchがサブの人には一切のメリットがないのである。YouTubeやニコ生などをメインとしている人には同時配信するメリットはなく、寧ろ活動の邪魔になってしまうというのも皮肉なものである。やはりAmazonはケツの穴が小さい。
同時配信サービス:Restreamを使うもうまくいかない
回線弱者時代に、以前から様々な方面に同時配信を行っていたうーちゃんからの情報で、Restreamというサービスがあると分かった。これはRestreamに対して配信を行うことで、指定した複数プラットフォームへリレー形式で配信できるというものである。これにより回線が弱くても1つのプラットフォームに配信する帯域だけで同時配信が可能というものである。もっとも、うーちゃんはその後別の方法で同時配信するようになったが。
しばらくはこれを使っていたが、いつだかTwitchが同時配信を全面禁止にするという非常にケツの穴が小さい改悪が実施されてからは用済みとなって使わなくなった。そして月日が流れて冒頭の話になってから、再度Restreamを使おうと画策したわけである。しかし問題が発生した。
既に1080p/60fpsでの配信がNUROモバイルによって可能になっている環境下、その設定でTwitchとYouTubeをリレー先として指定したが、どういうわけかYouTubeは配信されず、Twitchも何故か480pにまで落とされたうえで配信されていた。その後の研究を重ね、59.94fpsではYouTubeにも配信できたのだが、高画質配信をしているにもかかわらず画質を落とされてしまうのであれば利用価値はなく、60fpsで配信できないのなら同様に価値がない。これは映画ではなく、普通の配信なのだから映画規格のフレームレートでは綺麗にならないのである。こうしてRestreamを再び使うのを辞めた。
OBSで完結する方法:OBS multi RTMPを使う
現在の配信に関わる技術は基本的にRTMPを使用している。元々はAdobe Flash Player-サーバ間で音声・動画・データをやりとりするストリーミングのプロトコルとして開発されたものである。開発の大元はMacromediaで、これがAdobeに買収されて、プロトコルが公開されて今に至る状態だ。しかしFlashが消えてHTTP5が登場以降は下火で消滅を待つだけの存在であるが、未だに配信では使用されている。
配信を行う場合、RTMPサーバをrtmp://
から始まるURL形式で指定し、一意なストリームキーを入力することで配信可能である。これがあればログインせずとも配信できるため、ストリームキーを知られてしまうとそのサービスではなりすまし配信が可能になる。だが余程セキュリティ対策がガバガバでない限りはストリームキーは知られない。それはともかく、OBSで配信する場合はアカウント接続が一般的だがこの方法でもできるわけで、しかし通常は1つのサイト・サービスでしか使用できない。無理すれば2つまで可能だが、実際は面倒なものである。
スポンサーリンク
スポンサーリンク
だがOBSはプラグインによってカスタマイズ可能であり、雷鳴/sorayuki氏の手で同時配信を可能にするプラグインが開発された。今回紹介するOBS multi RTMPはRTMPとストリームキーの2つが揃っていれば、理論上無限に同時配信できるようになるものである。回線が強化された今、これを利用して配信する方法について解説していく。
OBS multi RTMP使ってみた!
本項よりOBS multi RTMPはOMRと呼称する。また、OBSは導入済みである前提で話を進める。
OMR導入
OMRの導入は非常に簡単である。GitHubのobs-multi-rtmpのページのreleaseに飛び、そこから最新バージョンをダウンロードする。執筆および導入時点でのバージョンは0.5.0.3である。ちなみにOMRの紹介ページも存在する。インストール方法はインストーラとZIP形式のものを解凍してOBSのフォルダに直接導入するモバイルがある。簡単なのはインストーラである。ウィザード形式のため、指示通りに操作すれば問題なく導入できる。
ZIPを解凍して直接導入する場合は、解凍した中身をC:\Program Files\obs-studio
下に置くと書いてあるが、おそらくこれでは動作しないであろう。正しくはインストーラでの自動インストール先であるC:\Program Files\obs-studio
にobs-pluginsフォルダを、C:\Program Files\obs-studio
下にdataフォルダを導入すれば使えるようになるはずだ。どちらにしてもインストーラの方が間違えることはなく、アンインストールもインストーラの方が楽なのでその方がいい。
OBSの起動
インストールが完了した状態でOBSを起動すると、「同時配信」のドックが増えている。これを任意の位置に接続するなどして見やすい位置に配置しておく。その後はOMRの設定を行う。ここではTwitchおよびYouTubeについての設定とする。また、ここではTwitchがメインの場合の設定となる。Twitch以外がメインの場合は置き換えて読み進めること。
共通事項:URL(サーバー)とストリームキーの取得
設定するにあたって、まずは配信先のサーバーとストリームキーが必要になる。これらがなければまず配信ができない。Twitchの場合は配信先のサーバーはこのページから1つを選択、ストリームキーはダッシュボードの設定/配信の中にある。YouTubeの場合はStudioに移動して、「ライブ配信を開始」から「エンコーダ配信」を開き、「ライブ配信の設定」タブからストリームキーとストリームURLを取得する。YouTubeに関してはバックアップサーバもあるが、特別な事情がない限りプライマリを使用する。
Twitchの設定
メインとなるTwitchは別に設定しなくてもいいのだが、後述の配信回線分離を楽に行う場合には便利なので一応で設定しておいてもいい。その場合に必要な設定は先のURLとストリームキーだけである。そしてこの設定名をTwitchにしておけば、残りはOBSから設定を取得するようにすれば問題なく使用できるようになる。なお、OBSから設定を取得する場合でのOMRからの配信は、一旦OBS本来の機能で配信を行う必要がある。その場合は一瞬だけでよく、すぐに配信を切ってOMRからの配信に切り替えてOKである。
YouTubeの設定
サブとなるYouTubeに関しては、Twitchの規約に従いつつGPU負荷と回線負荷を可能な限り抑えることを目的に、Twitchのものより低い設定をセットする。OMRは個々の配信先に対して設定を細かく変更できるようになっており、その内容はOBS本来の機能の設定から変更できるものと同一である。つまりエンコーダの指定をはじめ、解像度や制御方式といったものを個別設定できるということだ。ここで設定例が以下である。
これを見れば、設定内容がOBS自体のものと同じであることが分かるはずだ。UIが多少異なり、一部項目は数値指定が必要であるが、それを差し置いても個別に設定できる時点で優秀である。これを利用すれば、HEVC非対応のTwitchに合わせてYouTubeもH.264にしなければならない、という非効率的なことはしなくて済むようになる。音声系も個別の指定が可能で、エンコードの指定が可能なあたり、OMRは複数のエンコード形式を同時に動かせる機能を有しているものと考えられる。詳細は不明だがGPUに特殊なアクセスをしているのであろう。
スポンサーリンク
スポンサーリンク
補足:FPS値は制御不可能
ただし、唯一存在する難点がFPS値の個別制御が不可能であること。これに関してはどこを探しても設定が存在しなかったので、これだけは制御不能なものとみて間違いない。そもそもFPS値の個別制御はOBS本来の機能でも存在しなかったものである以上、このプラグインでも制御不可能であると考えるべきである。別でできるようなものはありそうだが、しかしGPUに負荷をかけるものになるのであればやめておくべきだ。
これを考慮すると、実はビットレートの設定がかなり面倒になる。30fpsでなら合計1Mbpsで360pなら何とか見えるもの、60fpsではまともには見れないであろう。しかしそもそも、YouTubeはサブでしかなく、Twitchの誘導を目的とするのならYouTubeは画質が悪くても問題なく、寧ろそれが狙いになる。また、YouTube側は評価とチャットをOFFにしているため、絶対にTwitchでなければ反応できないようになっている。もっとも、YouTubeを見る人間は非常に少なく、効果があるようには思えないが。
OMR経由ではNICを選択できる
OMRの目的は基本的には同時配信をOBS1つで完結させるものであるが、調べている時に出力タブで気になる項目を見つけた。”Bind IP”と書かれたプルダウンメニューがあり、この一覧には現在インターネットに接続中のNICの一覧が表示される。デフォルトは既定で、これはroute print
でメトリック値の小さい方に繋がる設定となる。NICの一覧にはIPv4とIPv6の両方が表示されるが、基本的にIPv4の方しか使えないものと考えた方がいい。
これはNICが1つしかなく、光回線等のクソ強回線を利用している人からすれば特に触らないものになるが、そうでなく、2回線によって通常通信と配信回線を分離する運用をしている場合、あるいはNUROモバイル等でのテザリングで配信しているユーザーであれば、これはかなり重要な意味を持つ。これを使えば、過去に配信回線分離論で書いたcmdでroute add
の操作をしなくても、ここで指定してOMRから配信を実行すれば指定したNICからの配信が可能になる。そのためこの機能を目的としてOMRを導入しても有効であると言える。
その場合はOMRをメインとする運用になるので、OBSから取得にするのではなく、OBS自体の設定をそのままOMRの設定に適用することで簡易化できる。設定したもの(特に解像度とNIC)は基本的にリセットされないが、OBS起動時に設定したNICのIPが異なっている場合は既定にリセットされる可能性があるため、起動後は常に確認する癖をつけるといい。
配信の開始/終了制御について
私が使った限りでは、配信の開始と終了の動作に関してはOMRから制御しても問題なくその処理を受け付けてくれている。よくYouTubeで起こりがちな、OBSで停止をしてもYouTubeでは配信中になるという独特の動作は発生していなかったため、いちいちYouTube Studioにアクセスする手間も省けるはずだ。ちなみにRestreamの時は終了処理がうまくいかず、YouTube Studioで制御する必要があった。
なお、OMRで配信中の場合は各制御パネル(開始・停止/編集/削除)の下にビットレートとFPS値が表示される。ただしOBS本来の機能で配信していないため、詳細データを見ることができない。そのため配信の監視のために結果的に各プラットフォームのマネージャーページを開くことになるか、アプリから監視することになるであろう。もっとも、この問題は回線に問題がなければ気になることではないが。
OBSだけで完結すれば、もう面倒な設定やサービスの制約はいらない
以上でOBS multi RTMPの検証を終了する。以前はRestreamを使っていたが、NUROモバイル環境下ではそれは逆にゴミになり、配信の質を落とすと判明した。代替手段もある中で確実性のないサービスに無駄に金を使うのも馬鹿らしいと感じた私は、強い回線を持って「OBSだけで完結する方法」を探した。そして見つけたのが、かなり前から開発・更新されているOBS multi RTMPである。OBSプラグインとして導入するので、インストールもアンインストールも簡単で、使わない状況でも邪魔にならないものである。
目的は同時配信をOBSのみで行う、それを簡単にするもので、個別のエンコーダ設定も可能となれば、もはや外部の確実性が分からず、面倒な制約を課されるであろうサービスに頼る必要がどこにもなくなる。唯一必要なのがアップロードが安定した回線だが、これはNUROモバイルを使うことで簡単に実現する。またテザリング目的なら、バッテリーとSoCのバランスが良いXperia 10 IVが最も安定するということも伝達しておく。テザリングが主なら本体はミドルレンジで良い。
世間一般では同時配信でさえも光回線を使えと馬鹿の一つ覚えなことが多いが、だがそれは思考停止にも似た「配慮の足りない答え」だ。そして確実性が無いような訳も分からないようなサービスを使うように勧めたり、インチキな「クローンソフト」を出している企業のガベージアーティクルが検索結果に蔓延するようなことが多く、欲しい情報がどこにもないと困っている人は多かったはずだ。なので私自身が過去の記事と今回の実証実験によって導き出した答えを参考に、同時配信を頑張ってみるといい。OBS multi RTMPは同時配信する予定が無くても、配信回線分離論には丁度いいものだ。
以上、OBS multi RTMP使ってみた!~OBSで完結する同時配信~であった。変なサービスやソフトを使うよりは、プラグインで済ませる方が楽なこともある。
KIBEKIN at 00:00 Nov. 12th, 2023
スポンサーリンク