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に入れて再生できませんでした。