Armadilloフォーラム

認証付きの音声ストリーミング配信

otani818

2023年10月31日 9時06分

USBマイクの音声をストリーミングする方法について
以下の条件でストリーミングを考えています。
・音声のみ(USBマイク)
・RTSPでも良いが、できればブラウザで視聴したいのでHTTPを希望
・接続時にユーザー名+パスワードの認証

ラズパイ+ ffmpegやcvlcでストリーミングする例は多くありますが、
認証を加える手法が分からなくどうしたものかと。
カメラだったらmjpg-streamerが使えますが・・・
何か良い手はありませんか。
よろしくお願いします。

コメント

at_ohsawa

2023年11月1日 20時02分

> USBマイクの音声をストリーミングする方法について
> 以下の条件でストリーミングを考えています。
> ・音声のみ(USBマイク)
> ・RTSPでも良いが、できればブラウザで視聴したいのでHTTPを希望

そういったシステム開発自体はしたことは無いので原理的な説明しかできないのですが、

オーディオだけならHLSで良いと思うので、その場合、現代のブラウザには
HLSを直接再生する能力はないので、javascriptでプレイヤーを書くと思います。

そのとき、そもそもソースに渡すHLSファイル(m3u等)へのアクセスと
JSを呼び出すhtmlへのアクセスはWebサーバー経由になるので、
そのHTMLとHLSファイルを同じ階層に置いて、Webサーバーの
basic認証もしくはdigest認証をファイルをその階層に設定すれば
HTMLを開いた時に要求される認証を通過したHTTPセッションのまま
m3uファイルにアクセスするので、認証が掛かると思いますがどうでしょうか?

m3u自体はvlc等からでも再生できますが、恐らくdigest認証等に
応答するUIをvlc等のプレイヤーは持っていないので、直接m3uファイルに
アクセスすると認証を突破出来ずにエラーするはずです。
そのため、この方法はブラウザ経由のみとなりますが、逆にブラウザ経由のみ
期待しているのであれば適していると思います。

otani818

2023年11月2日 10時48分

返答、ありがとうございます。

> オーディオだけならHLSで良いと思うので、その場合、現代のブラウザには
> HLSを直接再生する能力はないので、javascriptでプレイヤーを書くと思います。
やはりそうですか。。。

認証部分なども作り込めばできますが、今回は一時的な騒音チェック用のため
自力で受け側のサイトを用意せずに、コマンド処理で対応できれば、と考えていました。
(動画だったらmjpg-streamerがHTTPサーバーになるので簡単でしたが・・・)

とりあえず、認証無しでrtsp配信して

cvlc -vvv alsa://hw:0 --sout '#rtp{sdp=rtsp://:8554}'

試聴はVLCなどのプレーヤーを使うことにします。

ありがとうございました。