MediaMTXで遊ぼう

2025年5月14日水曜日

PC

t f B! P

MediaMTXを実行して必要なポートを開放するだけでとりあえず使えるようになる
マイクラマルチの鯖建て程度の経験がある人向け簡易メモです

VRChatter向けに分かりやすく言うとTopazChatを自前で建てて遊ぼうというお話です
TopazChatはMediaMTXを採用しているためちょうど同じ物です

MediaMTXはちゃんとマルチスレッド対応なので、
コア数だけ多くてクロック低いような型落ちXeonサーバーでも活躍出来ます

VRChat用途ではRTSPポート(TCP8554,UDP8000,UDP8001)とRTMPポート(TCP1935)を開ける
必要に応じてポート番号を変えても良い

自分のmediamtx.yml設定

overridePublisher: no
デフォルトのyesだと配信中ストリームキーの割り込み配信が出来るようになる
イタズラ悪用される可能性を残す必要は無いのでnoにする

writeQueueSize: 131072
デフォルトの512でも問題ないと思う
自分は接続多数でも安定するように増やした
増やすとメモリ使用量が増えるので、使えるメモリ量と相談

自分のLinux自動起動設定

/etc/systemd/system/mediamtx.service

[Unit]
Wants=network.target
[Service]
ExecStart=/usr/local/bin/mediamtx /usr/local/etc/mediamtx.yml
User=mediamtx
Group=mediamtx
Nice=-20
Restart=always
[Install]
WantedBy=multi-user.target

自分はMediaMTXを主目的としたオンプレサーバーを組んだので、
MediaMTXを最優先で実行するために Nice=-20 を設定した

加えてcron使って朝7時とかに自動restartすると良い(設定タイムゾーンは要確認)
0 7 * * * /usr/bin/systemctl restart mediamtx

Windows版MediaMTXもあるよ

余ってるPCを使ってMediaMTXを実行すれば即席RTSPサーバーの出来上がり
タスクマネージャーでMediaMTXの優先度を上げればある程度安定する

当然だけど無線LAN(Wi-Fi)ではなく有線LANで接続する

なお一般向けのWindows Home/ProはTCP同時接続数20制限があり、20人までしか配信を届ける事が出来ない(有名な回避策があった気がするけどライセンス違反なのでここでは言及しない)
TCP同時接続数制限が無いWindows Serverという選択肢があるが凄く高い💸

イベント用途で本格的にMediaMTX専用にするなら、Windowsを消してRHEL(開発者無料)やUbuntu Server(無料)等のLinux CUI環境をクリーンインストールして使うのが無難

または回線が強いクラウドVPSをレンタル

接続先

信頼されていないURLを許可(Allow Untrusted URLs)をONにする案内を忘れずに行いましょう
ONにし忘れると流れません

  • ワールド再生(iwaSync・YamaPlayer等)はRTSPのTCPポートのrtspt://で始まるURLを入力
    rtspt://接続先:8554/ストリームキー
  • OBS配信者向けはRTMPポートのrtmp://で始まるURLを渡す
    rtmp://接続先:1935
  • OBSカスタム出力(FFmpeg)配信者向けはRTSPのTCPポートのrtsp://で始まるURLを渡す
    rtsp://接続先:8554/ストリームキー

Unityのワールドプロジェクト上でiwaSyncのUse Low Latency(低遅延モード)をONにする
音量を100%(Unity上の値を1)にすればTopazChat Playerと同じ配信音量で聞く事が出来ますが、この状態で動画URLを入れてはいけません、音量差で観客の耳を破壊してしまいます

フォロワー

ブログ アーカイブ

QooQ