VRChat で各種ライブストリーミングを視聴するためのナビゲーションを提供する Web サービスです。
(ナビゲーション:番組管理機能・アドレス解析機能・リダイレクト機能)
- YouTube Live
- SHOWROOM
- Mirrativ
- OPENREC.tv
- Twitch.tv ※ Twitch Developer の Client ID が必要です。
ライブストリーミングをワールド全員で WebPanel から見ることのできるサービスです。
また、3つまで番組をブラウザから登録でき、それをワールドからリアルタイムで確認・番組変更できる番組カタログ機能が搭載されています。
この Web サービスは、3種類の方法で提供されます。
- YUKIMOCHI の SaaS として提供されているサーバを利用する。(無償公開)
https://vrchat-hls-bridge.herokuapp.com
- Heroku ボタンで自分専用のサーバを Heroku に作成する。(月1000時間まで無料)
- お手持ちのサーバに Docker コンテナで展開する。(
Dockerfile
,docker-compose.yml
を提供しています。)
以下の環境変数に Twitch Developer Application の Client ID を設定してください。
TWITCH_CLIENT_ID
このサービスでは インスタンスキー
と呼ばれる、ワールドと当サービスの間で共有するキーワードによって、番組管理をはじめとする各種サービスを提供します。これは、ワールド設置者が設定してワールドに埋め込むものです。
したがって、 インスタンスキー
が知れ渡ると、見ず知らずのユーザーにより番組管理を勝手に行われる可能性があります。当サービスを利用される場合、ワールドの更新が容易な Unlisted
ワールドでご利用ください。このサービスにより発生した全ての障害・事故について一切の責任を負いかねます。
VRChat HLS Bridge とワールドを接続する インスタンスキー
を決定します。 (英数記号漢字を使うことができます)
以下の利用状況の確認方法でインスタンスキーに登録されている番組を確認できるので、利用されていないことを確認します。(重複した場合の折衝機能はありません。)
利用状況の確認方法: https://vrchat-hls-bridge.herokuapp.com/static/dashboard.html?sid=<利用したいインスタンスキー>
※ <利用したいインスタンスキー>
を希望のインスタンスキーに置き換えてアクセスしてください。
Resolution Width
:1940
(必須),Resolution Height
:1100
であるWebPanel_A
Resolution Width
:1080
,Resolution Height
:600
程度のWebPanel_B
WebPanel_A
は、動画の上映を行う WebPanel です。 Start URI
は、 about:blank
を指定します。
WebPanel_B
は、番組カタログ(確認方法で表示される画面)を表示する WebPanel です。
- 番組カタログに
インスタンスキー
を表示する場合は、Start URI
に以下のように設定します。(不特定多数から生放送の登録を希望する場合)
https://vrchat-hls-bridge.herokuapp.com/static/dashboard.html?sid=<利用したいインスタンスキー>
- 番組カタログに
インスタンスキー
を表示しない場合は、Start URI
に以下のように設定します。
https://vrchat-hls-bridge.herokuapp.com/static/dashboard.html?key=hidden&sid=<利用したいインスタンスキー>
OnInteract
で始動する AlwaysBufferOne
の VRC_Trigger
を3つ用意し、それぞれに以下の通りの Actions を登録します。
- チャンネル1
Set-WebPanelURI
:https://vrchat-hls-bridge.herokuapp.com/api/live?id=0&instance=<利用したいインスタンスキー>
- チャンネル2
Set-WebPanelURI
:https://vrchat-hls-bridge.herokuapp.com/api/live?id=1&instance=<利用したいインスタンスキー>
- チャンネル3
Set-WebPanelURI
:https://vrchat-hls-bridge.herokuapp.com/api/live?id=2&instance=<利用したいインスタンスキー>
※ いずれも Receiver
に WebPanel_A
を指定します。
これらの VRC_Trigger
を Interact
した際に、 WebPanel_A
にカタログに登録されているライブストリーミングが再生されます。
https://vrchat-hls-bridge.herokuapp.com
こちらから、 <利用したいインスタンスキー>
を Instance Key
に入力し、 LiveStream URL
に生放送のURLを入力し Add Playlist
を確定します。
確認画面で生放送を確認して、再度 Add Playlist
を確定すると、 <利用したいインスタンスキー>
のチャンネルにライブストリーミングが登録されます。(3件登録済みの場合、登録が最も古いものから上書きされます。)
※ インスタンスキー
ごとに最終登録から 8時間が経過すると登録内容は抹消されます。
視聴したいチャンネルの VRC_Trigger
を Interact
して、ワールドの WebPanel_A
で生放送を見ることができます。
WebPanel では、色の発色がおかしいという現象が見つかっています。
Duplicate Screen で、 yukimochi/WebPanel-Shaders などの代替シェーダを適用します。
javascript の audio_control
関数を実行することで、オーディオの音量を変更できます。
- volume (Number) : 音量を設定する。
0 ~ 100
までの整数値。初期設定では100
。100
を超えてもそれ以上大きくなることはない。
例:( Set-WebPanelURI
や ブックマークレット)
javascript:setTimeout(audio_control(50),0);
上記の使い方に表示されているドメイン(https://vrchat-hls-bridge.herokuapp.com
)をご自身のドメインに置き換えます。
手順2で設定した URL は、動画プレイヤーへのリダイレクトを行いますが、直接 m3u8 にリダイレクトさせたい場合があるかもしれません。
以下の URL を利用して直接 m3u8 のアドレスへのリダイレクトを提供します。
- チャンネル1
https://vrchat-hls-bridge.herokuapp.com/api/direct?id=0&instance=<利用したいインスタンスキー>
- チャンネル2
https://vrchat-hls-bridge.herokuapp.com/api/direct?id=1&instance=<利用したいインスタンスキー>
- チャンネル3
https://vrchat-hls-bridge.herokuapp.com/api/direct?id=2&instance=<利用したいインスタンスキー>