WebRTCサーバー Janusを試してみる

ちょっとしたことで監視カメラを作りたくなったので、WebRTCサーバーのJanusを試してみることにしました。今の所録画は考えておらず、逆に必要な時だけ映像を受信できる形に持っていきたいのです。

 

本来映像のストリーミングは、RTMPなりをnginxとnginx-rtmp-moduleで受けてHLS配信するのがお手軽簡単かと思います。ただし、Webサーバーを自宅に配置するとポートを開ける必要がありますし、かといってクラウド上に置くとRTMPのデータを四六時中受ける必要があるためお金がかかるという理解です。

 

ここで映像をエンコードRTMPで配信する部分を必要に応じてオンオフできると節約になるんじゃないかと思いました。ついでに触ったことのないWebRTCに興味があったので試してみようと思い立ったわけです。聞いたところによるとラグも少ないみたいですし。

 

もしかしたらオンオフ制御はそのままでHLS配信になるかもしれませんが…。

 

WebRTCは下記の記事を参考にしました。

 

qiita.com

 

仕事で WebRTC · GitHub

 

 

Janusについて、試してみた手順はおおむねこちらの通りです。

 

www.mikan-tech.net

 

www.mikan-tech.net

 

これらの記事にもあるように。libniceやlibrtsp、libwebsocketsはaptでインストールできるものとは相性がよくありませんでした。

 

また最近?のブラウザはWebRTCを使うのにhttps接続が必須になるようです。記事中にもあるように自己署名証明書を用意して使うようにしました。

 

これでJanusのStreamサンプルが動作し、Raspberry Pi カメラモジュールの映像を受信することができています。次回から、WebSocketで配信(ffmpegかGstream)をオンオフできるようにしたいと思います。