見出し画像

MediaMTXで配信できるユーザを認証しようとしてauthentication failed

概要

MediaMTXでで配信できるユーザを認証しようとして苦労して解決した記録です。(内容は薄いです)

内容

VRChatで低遅延のライブストリーミングを|きんたマリナード (note.com)
の記事を参考にMediaMTXでサーバを作ろうとしました。
配信できるユーザを限定したかったので設定ファイルmediamtx.ymlを書き換えました。

authInternalUsers:
- user: any
  pass:
  ips: []
  permissions:
  - action: read
    path:
  - action: playback
    path:
- user: "myuser"
  pass: "mypass"
  ips: ['127.0.0.1', '::1']
  permissions:
  - action: publish
  - action: read
    path:
  - action: playback
    path:

元々は、user: anyでpass:空欄 設定で誰でもパスワード無しの意味の様です。このanyユーザにaction: publishが付いていたので消しました。
また、配信用のuser: "myuser" pass: "mypass"を追加しました。
この設定でMediaMTXを起動しました。
しかし、OBS Studio側の配信で"認証を使用する"を設定してもauthentication failedのメッセージでした。

散々いろいろ試してMediaMTXのREADMEに"Stream key: mystream?user=myuser&pass=mypass"と書かれているのを発見して解決しました。

VRChat向けの情報

HLCでも"http://グローバルIP:8888/mystream/index.m3u8"のように/index.m3u8まで指定するとVRchat内のPlayerで再生できるものもありました。
rtsptは"rtspt://グローバルIP:8554/mystream"で再生できました。

配信を見る側にもパスワードを付けることは出来なかった

mediamtx.ymlのanyユーザの"action: read"を消すして、配信を見る側にもユーザ名とパスワードを付けようと試みました。
しかし、"rtsp://ユーザ名:パスワード@グローバルIP/mystream"のような形式でVRChat内のPlayerに入れて再生できませんでした。


この記事が気に入ったらサポートをしてみませんか?