#author("2025-02-18T15:59:58+09:00","default:kaw","kaw")
#author("2025-02-18T16:02:10+09:00","default:kaw","kaw")
#topicpath
*河豚板でWebRTC [#m33ce0b0]
RIGHT:EBUG 第92回会合 2025年2月15日 ~
川俣吉広、kaw@on.rim.or.jp

- WebRTCによる通信(映像・音声を送受する機能)自体は、ウェブブラウザ同士で可能
- ただし、通信を成立させるためには[[STUN>https://ja.wikipedia.org/wiki/STUN]], [[TURN>https://ja.wikipedia.org/wiki/TURN]], [[ICE>https://ja.wikipedia.org/wiki/Interactive_Connectivity_Establishment]]などのプロトコルを実装したシグナリングサーバが必要
- ある程度以上の規模の配信を行うためには、MCU(Multipoint Control Unit)やSFU(Selective Fowarding Unit)などの配信サーバを設置する
- 詳細な資料: あさまさんの[[WebRTCについて調べてみた>https://speakerdeck.com/masakazu/webrtc-nituitediao-betemita]]
- 詳細な資料: あさまさんの[[「WebRTCについて調べてみた」>https://speakerdeck.com/masakazu/webrtc-nituitediao-betemita]]

** 山古志・春の牛まつり ~山古志で牛と太鼓と触れ合おう~佐渡から鼓童もやってくるよ! (2021/5/5) [#o46810a2]
- 山古志の「闘牛」と佐渡の「鼓童」のコラボイベント
-- 観客席へインターネットを介さずWiFiで直接配信 (Local 5G的な運用)
-- 闘牛場のイベントMCと佐渡にいる鼓童リーダーとのトークの様子を見せるため
-- 音声は場内PAを使用。それに合わせリアルタイムで映像配信しないといけないので、YouTubeなどは不可。

- 計画
-- 閉じたネットワーク内でTLS通信を行うため、WebRTCのサーバ以外にも、DNS, DHCP, NTPなどを用意する必要がある。
-- スマホが文句言わないように、制限した形でのNATを介してのインターネットアクセスも設定

- 実装
-- 候補
--- [[Jitsi Meet>https://jitsi.org/jitsi-meet/]] on Ubuntu
--- [[Screego>https://screego.net/]] - 画面共有を配信(音声なし), シグナリングサーバ
--- [[Janus>https://janus.conf.meetecho.com/]] - SFUのツールキット、フリー実装
--- [[WebRTC SFU Sora>https://sora.shiguredo.jp/]] - (株)時雨堂による商用製品
--- [[自前で実装>https://html5experts.jp/mganeko/20013/]] - node.jsでシグナリングサーバを構築

-- 当初はJitsiの使用を想定
-- Node.jsでシグナリングサーバを自前で実装。動作したが、iPhone/iPadで画像が表示されない不具合が出た
-- 音声の配信は必要なかったため、Screegoを採用 (さらに、OpenBSD用のバイナリも公式サイトからダウンロードできた)
|CENTER:|CENTER:|c
|&ref(pix1.png,,33%);|&ref(screego-e.png,,33%);|
|概念図|構成図|
|>|CENTER:(クリックで拡大)|

- 運用
|CENTER:|CENTER:|c
|&ref(pix1.jpg,,50%);|&ref(pix4.jpg,,50%);|
|配信ブース|WiFi AP|
|&ref(pix2.jpg,,50%);|&ref(pix3.jpg,,50%);|
|配信インフラ(Screego他、サーバ)|配信PC|
|>|CENTER:クリックで拡大|
-- 事前テストでは、100弱の配信まで対応
-- 実運用では、50~60程度で頭打ち(Screegoが落ちた → 再起動)
--- Screegoを(動作をモニタリングするため)verboseなログ出力をしてたため?~
... Screego自体はシグナリングサーバなので、配信数が増えても負荷はそれほど増加しない気がするが...
--- 配信ブラウザにFirefoxを使用していたため?~
... 途中からChromiumに切り替えたら負荷低下 → 解像度も若干落として運用継続
//-- 新潟市の補助金申請が通らなかったため、リベンジマッチならず
-- 諸般の事情により実施は今回のみ、リベンジマッチならず

Front page   Edit Diff History Attach Copy Rename Reload   New Page list Search Recent changes   Help   RSS of recent changes