VRC_SyncVideoStream
ドキュメンテーション
一番簡単な実装方法についてはここに書いてある
概要
- VRC_VideoScreenとVRC_VideoSpeakerと併用して動画を閲覧する機能を提供する。
- YouTubeだけでなく、YouTube Live、twitch、ニコニコ動画、Showroomも見られる。
- GoogleDriveにあげた動画も共有可能なリンクで見られた。おそらく youtube-dlがサポートするサイト でログイン不要なものは利用可能。
仕様・挙動
- Windows10のパソコンでのみ再生可能。その他のパソコンではコーデックを入れると不安定ながら再生されるらしい(公式ドキュメンテーション参照)
- VRC_SyncVideoPlayerの「大音量で雑音が流れる」不具合と同じ条件で大音量が流れて保護機構が動き、音がでなくなる(未検証)
この保護機構はVRChat 2018.2.2にある既知のバグの一項目目のものだと思われる。
これは特にTwitchで顕著で、画質の自動選択で720p未満が選択された場合でも問題が発生する(未検証) - 配信側でチャンネルをモノラルにすると聞こえるようになる
https://twitter.com/uretaro/status/1032916840270331904 - 条件の特定にはまだ至っていない。 https://twitter.com/amausagiiiii/status/1042786503682777088
- VRC_SyncVideoPlayerの「大音量で雑音が流れる」不具合と同じ条件で大音量が流れて保護機構が動き、音がでなくなる(未検証)
- 配信中の YouTubeLive の URL を AddURL した場合に、放送の頭から再生される場合がある。
- AddURL→Play→SetSyncType(Live)→Resync の順に実行すると配信のリアルタイムの状態に同期するようにできた。
- https://twitter.com/kohack_v/status/1044424037470879744
- VRC_SyncVideoStream は内部で暗黙的に ownership の仕組みを駆動するので、同じく ownership を扱う VRC_ObjectSync の子コンポーネントにすると RPC が上手く実行できなくなる。(これは VRC_SyncVideoStream 特有の制限ではなく ownership を扱うオブジェクト一般の特性)
- ログなどの観察によると内部では AVProVideo を使用している模様。(AVProVideo ドキュメント)
- コンポーネントにURLとして解釈できない文字列をいれるとシーン内のVRC_Triggerが全て動かなくなる(条件不明)
- 720pより大きい解像度のtwitchが視聴できないことがある
不具合
- youtube-dlのバージョンが古く、再生できないケースが存在する。
- 各ユーザーごとのyoutube-dlでの置き換えで対応可能。
- https://twitter.com/suna_vrc/status/1085592522867433473
- 2018.4.4p5で一度解決したが、今後も同様の不具合がありパッチが来るまで続く可能性がある。
注意
RPC 一覧が、Events from Scene からの追加選択肢と、既に追加した状態からの Method 変更選択肢で違いがある。
次の物は別の名前で一旦追加してから編集するか、直接 SendRPC として追加する必要がある。
- Resync
- AddURL
- Clear
また次の物は表記が異なる。
- Set AutoSync Period / SetSyncMinutes
- Rewind / RewindSeconds
- Fast Forward / FastForwardSeconds
Video/RealtimeEmissiveGamma シェーダ
- 動作再生に使うように VRChat SDK で提供されているシェーダ
- 動画が何らかの問題で再生されない場合にデフォルトでは白い表示になるが、ここにテクスチャを設定しておくとそれが表示される。(正確に言えば動画がロードできないのでそこから変化しない)
- SyncVideoStreamでDynamicTheaterの様なGIを実現する手順
応用例
- uGUIのInputFieldを用いることで任意の動画を再生することができる。
作例
- https://twitter.com/suna_vrc/status/1034175170619949056
偽VRC_WebPanel
資料
- JetDog's Prefabs
- https://github.com/jetdog8808/JetDogs-Prefabs
- 完成済みの映画館のサンプルシーン
- 配布URL: https://github.com/jetdog8808/JetDogs-Prefabs/releases
- URL入力機能と、それに伴うマスター譲渡機能がある。
- iwaSyncVideoPlayer (@zi_zi_neet)
- https://twitter.com/zi_zi_neet/status/1060937109383503873
- 配布URL: https://github.com/ziritsu/SyncVideoPlayer_iws
- ワールドインスタンスのマスターでなくてもURL入力できる動画プレイヤー
- 通称:iwasync(イワシンク)
- 設置の仕方
EventSystemおよびiwaSyncVideo_v2.2sのPrefabをHierarchyにD&D
添付画像の通り、VRCWorldのDynamicPrefabにSpawnVideoとSpawnStreamを追加する
コントローラを置きたい場所に
Hierarchyに配置したiwaSyncVideo_v2.2sを移動させる
モニタを出現させたい場所に
/Canvas_Label/ScreenAnchor …見かけ上のスクリーン
/SpawnVideo/ScreenAnchor …Video再生時のスクリーン
/SpawnStream/ScreenAnchor …Live再生時のスクリーン
のみっつを移動させる
実際のスクリーンサイズを変更する倍は、ScreenAnchorのScaleを変更すれば良い
見かけ上のスクリーンは、実際のスクリーンの1000倍のTransform値になっている
カテゴリ・タグ: カテゴリ-Components
- 最終更新:2020-04-16 10:24:07