OBS最高音質LPCMでTopazChat・MediaMTXにRTSP配信(上級者向け)

2025年6月20日金曜日

PC VRChat エンコード

t f B! P

この記事は上級者向けです。初心者はVRChatで音楽を届けよう!弾き語り・DJ・歌ってみた配信向け「OBS×TopazChat」の設定方法! | こはろぐから始めましょう。

音質の要求がクリティカルな用途で配信する場合、設定に慣れてる方はLPCM配信に挑戦してみてください!

マルチプレクサ設定やNVEnc映像エンコーダー設定の記述はきょうさんのViXtRiA用OBSプロファイルを参考にさせていただきました。ありがとうございます!

  • FFmpeg出力の種別: URLに出力
  • ファイルパスまたはURL: rtsp://で始まるURL (rtmp://ではないので注意!)
    • TopazChatの場合:
      rtsp://topaz.chat/live/ストリームキー
  • コンテナフォーマット: rtsp
  • マルチプレクサーの設定:
    rtsp_transport=tcp strict=-2 fflags=nobuffer+flush_packets buffer_size=0 pkt_size=1300
  • 映像ビットレート: 推奨ビットレートがある場合、音声1536Kbpsを引いた値以下にする
    • TopazChatの場合や映像が不要・静止画の場合は100K~500Kbpsに抑える
  • キーフレーム間隔: 30
  • 全てのコーデックを表示: ✅
  • 映像エンコーダ: 使用環境に合わせる
    • NVIDIAの場合: h264_nvenc
    • Radeonの場合: h264_amf
    • Macの場合: h264_videotoolbox
    • ノート(dGPU非搭載)PCの場合: libx264
  • 映像エンコーダ設定: 使用環境に合わせる
    • NVIDIAの場合:
      preset=12 profile=2 tune=3 multipass=2 rc=2 zerolatency=1 delay=0 forced-idr=0 b_adapt=0
    • Radeonの場合:
      preset=1 profile=100 rc=1 usage=1 latency=1 qp_i=18 qp_p=18 g=120 bframes=1 bf=1 rc_max_rate=500 rc_buffer_size=500 qmin=18 qmax=46 coder=1 me_half_pel=1 me_quarter_pel=1 vbaq=1 intra_refresh_mb=255
      rc_max_rate=500とrc_buffer_size=500は、設定した映像ビットレートに合わせる
    • Macの場合: 特になし
    • ノート(dGPU非搭載)PCの場合: preset=ultrafast tune=zerolatency
  • 音声ビットレート: 1536Kbps固定です
  • 音声エンコーダ: pcm_s16be - PCM signed 16-bit big-endian

カスタム出力(FFmpeg)で設定した配信は「録画開始」ボタンで配信します


追記: この設定を簡単に導入出来るインストーラーを作りました!
OBS TopazChat配信設定済みデータ CoreAudio AAC と LPCM

追記: LPCM配信非対応のVRCDNやYouTube LiveではAACカットオフ20000化OBSをおすすめします! FDK-AAC内包OBS 32.0.2をビルドする(上級者向け)


音楽CDや.wavといった一般的なPCMはLittle Endian(pcm_s16le)ですが、
なぜ生配信のために使用する音声PCMはBig Endian(pcm_s16be)なのかについて

私たちが使うWeb・Twitter・Discord・VRChat・ネットワーク対応ゲームなどの、多くのシーンでTCP/IPを使って通信しています
TCP/IP自体がBig Endianであるため、生配信に使うPCMも合わせてBig Endianにします


これで私は去年から自宅サーバーにMediaMTXを建ててVRChat内LPCM配信を楽しんでて、いくつかのイベントに貸し出しもしています。

情報源となったViXtRiAはLPCMのみならず8chサラウンドにも対応、これを用いたCANDYTRIPEXCEEDLive_li_V_e等のイベントはとても素晴らしいのでぜひ訪れてみてください!


余談

ある記事で「FFmpeg AAC 192Kbpsで十分である」と流布する言説を半年くらい前から確認しています
しかし音質が最優先な音楽イベントではその限りではない事に注意が必要です

また「TopazChatが2024年11月29日からMediaMTXに移行した事が原因で192Kbps以下にしないとノイズが発生する」という誤解が広まっていますが、もっと前の2024年7月7日時点で同じノイズ発生を確認しているので、これまでの状況から配信サーバーそのものは関係なさそうです

ワールドのAudio Source設置数が多すぎる事で、多数の人が同時に話すことで同時再生数上限を超えてしまい、誤作動を起こしているのではないかというのが有力です
上記の2024年7月7日のノイズ問題はCLUB4Dというワールドアセットに備え付けられているAudio Source設置数を削減することで解決済みです

このようなAudio Source設置数が多すぎるワールド以外では、TopazChat PlayerでもiwaSyncでもYamaPlayerでもノイズを聞いた事がありません
以上の状況から、配信サーバーやビットレートではなく、ワールドの実装に目を向けるのが原因究明としては自然です

フォロワー

ブログ アーカイブ

QooQ