#author("2023-08-02T21:57:50+09:00","default:admin","admin")
#author("2023-08-02T21:58:40+09:00","default:admin","admin")
&size(24){Topazchat関係のTips};

#contents

* Topazchatとは [#oc60ab7f]
- VRChat内に高音質配信するためのシステム
- 画像(動画)も配信できる
- Topazchatサーバ(リフレクタ)はAWSに設置されている
-- 個人で運営しているらしい
-- AWSの費用はカンパで賄っているらしい

* 配信方法にはいくつかあります [#c683eb6a]
- (1) 音声のみを標準のTopazサーバを使って送出する方法~
-- (1-1) Topazchat Streamerアプリで送出する方法~
標準的な方法で最も簡単です。
-- (1-2) OBS Studioアプリで送出する方法(省略)~
Topazchat Streamerを使うよりも安定した送出が可能と言われています。設定は次の映像付きと同じになります。
- (2) 音声と映像を標準のTopazサーバを使って送出する方法
- (3) 自前のTopazサーバを立てて標準サーバを使用しない方法(特殊事例)

* (1)音声のみを標準のTopazサーバを使って送出する方法 [#g4a78513]
** (1-1) Topazchat Streamerアプリで送出する方法 [#p6dcd536]
- Topazchat Streamerをダウンロードしてインストールする~
https://booth.pm/ja/items/1756789
- Topazchat Streamerを起動
- 音声入力を設定
- ストリームキーを設定
- 接続ボタンを押す
- ワールド側のTopazchat PlayerのGlobal Syncボタンを押す
- 使い終わったら、Topazchat Streamerウインドウを✕で閉じる(アプリを落とすしか送出の終了方法はありません)

** (1-2) OBS Studioアプリで送出する方法 [#ve1786bc]
- OBS Studioに設定を行う(2と同じ)

* (2) 音声と映像を標準のTopazサーバを使って送出する方法 [#s852d80a]
OBS Studioの設定を行う
- 設定ボタン>配信~
&ref(OBS-1.png);~
ストリームキーは、ワールドに設置されているTopaz Playerに書いてあるキーを入力します。~
Topaz Playerではなく「iwaSync」に表示させたい場合は任意のストリームキーを入力します。

- 出力~
&ref(OBS-2.png);~

-- 映像エンコーダ~
VRChatで定番で使用されているnVIDIA製グラボ(RTX3060等)を使用している場合の例です。~
nVIDIA以外のグラボを使用している場合は使用環境に合わせて変更してください。

-- 音声ビットレート~
Topazchatの仕様では最大320Kbpsとなっています。~
256Kbpsで十分な音質(商用放送同等)が得られますので、ここでは256Kbpsにしています。

- 音声~
&ref(OBS-3.png);

- 映像~
&ref(OBS-4.png);
-- FPS共通値の数字は60が基本ですが、30にすることで画質を良くできます
-- 動きが少ない場合はFPS値を小さくすると有利です
-- そもそも2Mbpsで60FPSは無理があり、早い動きをすると画が破綻します

- 配信開始手順
-- OBSの配信ボタンを押す
-- ワールド側のTopaz PlayerのGlobalSyncを押す
-- iwaSyncに配信するにはiwaSync側の操作が別途あります([[後述>#ra2da017]])

* ワールドに設置されたiwaSyncの操作(表示させる) [#ra2da017]
- OBSの配信ボタンを押して送出を開始する
- iwaSyncのLiveボタンを押す
- iwaSYncにURLを入力する~
rtspt://topaz.chat/live/[ストリームキー]

* (3) 自前のTopazサーバを立てて標準サーバを使用しない方法(特殊事例) [#ka648a04]
自宅等に設置したプライベートサーバを使う場合の環境構築法です

- 注意事項(メリット・デメリット)
-- メリット
--- 高ビットレート配信ができる
--- Topazサーバに依存しない
--デメリット
--- 見ている人数分の上り帯域を食う(10人見ていたら23Mbps)
--- 自宅側ルータの設定が必要
--- できない場合もある

- 事前準備
-- ルータの静的NATを設定し、ポート8554に対してルーティングする
-- サーバアプリ(リフレクタアプリ)を以下から取得~
https://github.com/aler9/mediamtx/releases
-- ダウンロード~
mediamtx_v0.22.1_windows_amd64.zip
-- 解凍して実行~
mediamtx.exe
-- WindowsのFirewallが聞いてくるのでアクセスを許可する

- 配信開始時の操作~
「録画」ボタン

* OBS使用時の音量の調整 [#v98d951b]
- 音が割れている場合があるので注意しましょう
- 大きすぎるとアバターボイスとの差が大きくなりすぎるので控えめが良いみたい
- 具体的にはOBSのレベルメーターにて、ピーク(最大音量)で-10dBを超えない範囲~
「-20 〜 -10dB」を常用域に設定すると良い感じに聞こえました
- 入力オーバーで音が割れるのは聴いていて辛いですよ

* OBSで出力する画音のリップシンクを調整する [#z1175863]
- リップシンクの必要性
-- 多くの場合「Audio Advance」となって音が画より先になります
-- 物理現象的に音が先に聞こえると大きな違和感が起きます(ごくわずかでも)
-- 音は3.4m離れるだけで10ms遅れて聞こえています
-- 必ず音が後に遅れて聞こえるように調整します
- 調整方法
-- 音声ミキサーで使用しているオーディオデバイスの「…(・が3個縦並び)」から「オーディオの詳細プロパティ」を開く
-- 対象デバイスの同期オフセットの数値を調整する(プラスで遅れ方向)
-- 60fpsの場合、16.7msで1フレームですので、1フレーム単位で調整してやればだいたいOK(17、33、50、67)
-- わずかに音が遅れて聞こえる程度が最適

* VLC Media Playerで直接受信(聴く)場合 [#g688b215]
- VLCのダウンロード先~
https://www.videolan.org/vlc/index.ja.html
- ファイル > ネットワークストリームを開く
- URLに rtsp://topaz.chat/live/[ストリームキー]
- 音ズレが起きます
-- VRChatで見ているアバターの動きよりもかなり早く音が聞こえます
-- これは演者がGlobal Syncを押したときに遅延を実測計算して会場に流す音を調整しているのだと思います
-- VLCで遅延を調整できます
--- メニューバーからツール>設定を開く
--- オーディオを選択
--- 左下の設定の表示を「シンプル」から「すべて」に切り替え
--- オーディオを選択
--- オーディオ非同期調整の数値を調整する(ms単位 +値で遅延させる −値で先行させる)~
事実上、ライブの時間軸を巻き戻すことはできないので遅延させる正の値を入力します~
VRChatの映像を見て音と動きがだいたい合うようにします

* アクセスURLのrtsptとrtspの違いとQuestの関係 [#g9c58e7d]
- rtsptはtcpでセッションを張る
- rtspはudpでセッションを張る
- Questはrtspt URIに非対応
- TopazPlayerはどちらを使うかが設定できる
- rtspで設定してある場合、まずはudpで接続を試みる
- Questの場合はudpに非対応なため何度かエラーを繰り返してタイムアウトし、自動的にtcpにフォールバックする
- そのためタイム・アウトするまで繋がらず時間がかかる
- この辺に解説が有る~
https://github.com/Team-ViXtRiA/ViXtRiA-System_Audio_Component/wiki/99_%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E3%81%94%E8%B3%AA%E5%95%8F#%E3%81%AA%E3%81%9C%E5%86%8D%E7%94%9F%E3%81%8C%E5%A7%8B%E3%81%BE%E3%82%8B%E3%81%AE%E3%81%8C%E9%81%85%E3%81%84%E3%81%AE%E3%81%8B%E8%A9%B3%E7%B4%B0%E8%A7%A3%E8%AA%AC

* ★★★ 以下は編集中で整理されていません ★★★ [#ldc76623]


* ワールドに設置されたiwaSyncの操作 [#ra2da017]
- OBSの出力を開始する
- Liveボタンを押す
- URLを入力する
-- Topazリフレクタ(サーバ)の場合~
rtspt://topaz.chat/live/[ストリームキー]
-- 自宅リフレクタ(サーバ)の場合~
rtspt://[使っている回線のFQDNの値]:8554/live/[ストリームキー]

* その他のメモ(エビデンス未確認) [#tedfd165]
- Topaz Player、iwaSYNCにはバージョンが複数あり、それぞれで差があるらしい
- QUEST単機の場合、見えるバージョンと見えないバージョンがあるらしい
- rtsp://とrtspt://の差で見える見えないが出る
-- rtspはUDPで伝送(負荷が軽くオーバーヘッドが小さいため帯域も食わない)
-- rtsptはTCPで伝送(互換性が高い)
-- EWI Professionalワールドではrtsptじゃないとエラーになる

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS