SlideShare a Scribd company logo
meidasoup on Raspberry Pi 3
WebRTC Meetup Tokyo #16 LT
WebRTC Meetup Osaka #1 LT
インフォコム株式会社
がねこまさし
@massie_g
2017.08.25
1
自己紹介
• がねこまさし / @massie_g
• インフォコム(株)の技術調査チームに所属
• WebRTC Meetup Tokyo スタッフ
• WebRTC Begginers Tokyo スタッフ
• WebRTC入門2016を HTML5Experts.jpに執筆
– https://html5experts.jp/series/webrtc2016/
2
今日のお題
• 前々回(#13)の復習
– SFU : Selective forwarding Unit
– mediasoup : オープンソースのSFU モジュール
• Raspberry Pi 3で動かしてみた
3
前々回(#13)の復習
※使いまわし
4
P2P と SFU:Selective Forwarding Unit
ブラウザ
A
ブラウザ
B
ブラウザ
D
ブラウザ
C
P2Pの場合
• サーバ不要 ◎
• ブラウザ側の
• CPU負荷:高 ×
• ネットワーク負荷:高 ×
5
ブラウザ
A
ブラウザ
B
ブラウザ
D
ブラウザ
C
SFU
映像・音声
を分岐/配信
SFUの場合
• SFUサーバ必要 → CPU負荷:低 ○
• ブラウザ側はCPU負荷:低め ○
• ブラウザ側はネットワーク負荷:中 △
表示レイアウトの
自由度が高い ◎
MCU と SFU
6
ブラウザ
A
ブラウザ
B
ブラウザ
D
ブラウザ
C
SFU
映像・音声
を分岐/配信
ブラウザ
A
ブラウザ
B
ブラウザ
D
ブラウザ
C
MCU
映像・音声
を合成
MCUの場合
• MCUサーバ必要 → CPU負荷:激高 ××
• ブラウザ側はCPU/ネットワーク負荷:低 ◎
SFUの場合
• SFUサーバ必要 → CPU負荷:低 ○
• ブラウザ側はCPU負荷:低め ○
• ブラウザ側はネットワーク負荷:中 △
表示レイアウトの
自由度が高い ◎
圧縮と暗号化
7
Browser
いらすとや http://www.irasutoya.com/
BrowserP2P
圧縮/エンコード
暗号化
通信 復号化
解凍/デコード
TURN Browser
TURN Browser
SFU
MCU
Browser SFU Browser
Browser MCU Browser
mediasoupとは?
• オープンソースのSFU
– サイト https://mediasoup.org/
– GitHub https://github.com/ibc/mediasoup/ → https://github.com/versatica/mediasoup
• 独立したサーバーではなく、部品
– Instead of creating yet another opinionated server, mediasoup is a Node.js module
which can be integrated into a larger application or made standalone with just a few
lines of JavaScript.
– 「他のアプリに組み込める」
• Node.js用モジュールとして提供
– Webサーバーやシグナリングの仕組みは、自分で用意する必要あり
8
mediasoupとは? (2)
• ミニマム … メディアのみ、かつSFUなのでコーデックは処理しない
• パワフル … 実体は C++ で記述、libuv 利用
– Node.js から起動された子プロセスで通信を担当
– Node.js とはプロセス間通信でやりとり
• JavaScript API を提供
– WebRTC 1.0 … RTCPeerConnection, promise利用
– ORTC … Transport, RtpSender, RtpReceiver
9
mediasoup サンプル
10
• ソースコード
– https://github.com/mganeko/mediasoup_sample
• 内容
– 複数人双方向
– 片方向配信(ちょっと手抜き)
– SSL対応版もあり
mediasoup のインストール
• 前提環境
– Node.js v4.8.0 以上
– Linux / Mac OS X ※Windowsは未サポート
– Python 2.x (ビルド時のみ)
• pyenv / virtualenv利用時は要注意。明示的なローカルPythonのバージョン指定が必要
• $ pyenv local 2.7.12
– make
– gcc & g++ または clang, with C++11
• インストール
– $ npm install mediasoup
• C++のコンパイルあり、数分から数十分でビルド→インストール完了
11
Raspberry Pi 3 で動かしてみた
12
Raspberry Pi 3
• 質問
– 知っていますか?
– 持っていますか?
• こんなやつです →
– ARMv8 - 4 Core, 1.2 GHz
– RAM 1GB
– 6000円ぐらい
13
mediasoupのビルドの準備
• OS: RASPBIAN JESSIE WITH PIXEL
– https://www.raspberrypi.org/downloads/raspbian/
• ビルドに必要な環境
– Python 2.x … Python 2.7.x
– make … GNU Make 4.0
– C/C++ … gcc version 4.9.2
14
mediasoupのビルド(含 サンプル)
# サンプルを含む、必要モジュールの取得とビルド
git clone https://github.com/mganeko/mediasoup_sample.git
npm install
# → 20分程度でビルド完了
# 実行
node mediasoup_sample_multi.js
# その後 PC/Mac から接続
15
デモ
• Raspberry Pi 3 で mediasoup のサンプル起動
• Mac のFirefox, Chromeから接続
– http://raspi3.local:3000/
– 双方向で繋がる
• mediasoupを停止すると、映像も停止
16
動かしてみて
• CPU負荷 … 5人で25%程度
– 少人数なら使えそう
– CPUよりも先に、WiFiがいっぱいいっぱいに…
• 意外とちょくちょくP2Pが切れる
– oniceconnectionstatechange で disconnected
– → ちょっと待てば繋がる
17
ちょっとした工夫:madiasoup編
• Bandwidthを制限したら、ネットワーク負荷が軽くなる?
– mediasoupではmaxBitrate
// 500kbps に制限
let peerconnection = new RTCPeerConnection({
peer : peer,
usePlanB : planb,
maxBitrate: 500000
});
// → 制限は効いている。効果は良く分らない(やっぱり時々固まる)
18
ちょっとした工夫:Chrome編
• 今回 Raspberry Pi 3 のサーバは http:// ~
– Web / シグナリング / mediasoup
• Chromeでは、getUserMedia()できない
• → Webサーバーだけ、PC/Macのローカルに立てる
– HTMLを、ローカルにもコピーしておく
• ※WebSocketの接続先はRasberry Pi 3になるように修正
19
ちょっとした工夫:Chrome編
20
Rasberry Pi 3
WebSocket サーバー
mediasoup サーバー
PC / Mac
Web サーバー
Chrome
HTTP
(localhost)WebSocket
WebRTC
(UDP)
Web サーバー
ちょっとした工夫:ソフト編
• Raspberry Pi 3 のIPアドレスが分かるように
– DHCPで動的に取得している → コンソールが無いとIPアドレスが分からない
• avahi を導入 … Zeroconf 仕様の実装
– Mac で言う「Bonjour」のこと 。mDNSを利用 (5353/UDPのマルチキャスト)
– sudo apt-get install avahi-daemon
• ※OSセットアップ時にすでに導入されていた
• 参考 http://d.hatena.ne.jp/pasela/20131023/mdns
– ホスト名が「raspi3」なら → Macから 「raspi3.local」 で名前解決できる
• ping raspi3. local
• ssh raspi3.local
• http://raspi3.local:3000/ , ws://raspi3.local:3001/
21
ちょっとした工夫:ハード編
• IPアドレスが「ひと目」で分かるように
• Apple Pi ボードを利用
– トランジスタ技術 2016年8月号 ふろく(基盤のみ)
• http://bit-trade-one.co.jp/product/module/adcq1608p/
• 液晶、ボタン ← 今回使ったのはこれだけ
• D-Aコンバーター、温度/湿度/気圧センサー、赤外線リモコン
– 完成品も販売中 … 6000円程度
• http://eleshop.jp/shop/g/gG78311/
• ボタンの監視
– Python で記述、(割り込みではなく)1秒ごとのポーリング (手抜き)
– [IPアドレス表示]、[リブート]、[シャットダウン]
22
シャットダウン デモ
• Raspberry Pi 3 で mediasoupを起動
• PC/Mac から接続
• Raspberry Pi 3 / Apple Pi のボタンを押して
– シャットダウン
• 2 … 1 … 0 …
23
まとめ
• mediasoup は、LinuxであればARMでも動く
– Raspberry Pi 3 でも動く
– きっと、他のボードでも動く
– ※ CPUよりもネットワークの性能がボトルネックになる可能性あり
• 本日のプレゼン資料は SlideShareに
– https://www.slideshare.net/mganeko/webrtc-sfu-mediasoup-sample-update
• ソースコードは GitHubに
– https://github.com/mganeko/mediasoup_sample
24
Thank you!
25

More Related Content

PPTX
Redisの特徴と活用方法について
PDF
コンテナにおけるパフォーマンス調査でハマった話
PDF
Dockerfile を書くためのベストプラクティス解説編
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
PDF
AWSのログ管理ベストプラクティス
PPTX
Azure Functions with terraform
PDF
CentOS Linux 8 の EOL と対応策の検討
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
Redisの特徴と活用方法について
コンテナにおけるパフォーマンス調査でハマった話
Dockerfile を書くためのベストプラクティス解説編
コンテナの作り方「Dockerは裏方で何をしているのか?」
AWSのログ管理ベストプラクティス
Azure Functions with terraform
CentOS Linux 8 の EOL と対応策の検討
アーキテクチャから理解するPostgreSQLのレプリケーション

What's hot (20)

PDF
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
PPTX
トランザクションの設計と進化
PDF
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
PPTX
Docker超入門
PDF
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
PDF
ソーシャルゲームのためのデータベース設計
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
PDF
インフラエンジニアのためのRancherを使ったDocker運用入門
PPTX
急速に進化を続けるCNIプラグイン Antrea
PDF
ストリーム処理を支えるキューイングシステムの選び方
PDF
React(TypeScript) + Go + Auth0 で実現する管理画面
PPTX
root権限無しでKubernetesを動かす
PPTX
本当は恐ろしい分散システムの話
PDF
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
PPT
Cassandraのしくみ データの読み書き編
PDF
Lxc で始めるケチケチ仮想化生活?!
PDF
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
PDF
Keystone fernet token
PDF
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
PDF
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
トランザクションの設計と進化
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
Docker超入門
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
ソーシャルゲームのためのデータベース設計
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
インフラエンジニアのためのRancherを使ったDocker運用入門
急速に進化を続けるCNIプラグイン Antrea
ストリーム処理を支えるキューイングシステムの選び方
React(TypeScript) + Go + Auth0 で実現する管理画面
root権限無しでKubernetesを動かす
本当は恐ろしい分散システムの話
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
Cassandraのしくみ データの読み書き編
Lxc で始めるケチケチ仮想化生活?!
MySQL InnoDB Clusterによる高可用性構成(DB Tech Showcase 2017)
Keystone fernet token
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Ad

Similar to WebRTC mediasoup on raspberrypi3 (20)

PPTX
WebRTC SFU mediasoup sample
PPTX
WebRTC SFU Mediasoup Sample update
PDF
Raspberry Pi and WebIOPi
PPTX
Node.js x Headless Chrome for WeRTC MCU / Node.js x Chrome headless で、お手軽WebR...
PDF
ひよこch 配信中
PDF
Lt raspberry piで動画配信
PDF
2013 WebRTC 概説 & ワークショップ
PPTX
ラズパイでネット対応 学習リモコンをつくろう!
PPTX
WebRTC Build MCU on browser
PDF
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
PDF
Raspberry Pi Zero とカメラモジュールで作るライブ配信実験機
PPTX
ロボットシステム学2015年第8回
PDF
SFUの話
PDF
20130216
PDF
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
PDF
HttpとTelnetをつなぐ何か
PPTX
WebRTC meetup Tokyo 1
PDF
SIerによるSIerのためのRaspberry Pi 入門
PPTX
ブラウザでWebRTC - iOSゲートウェイ作ってみた
PDF
Osc2013 tokyospring
WebRTC SFU mediasoup sample
WebRTC SFU Mediasoup Sample update
Raspberry Pi and WebIOPi
Node.js x Headless Chrome for WeRTC MCU / Node.js x Chrome headless で、お手軽WebR...
ひよこch 配信中
Lt raspberry piで動画配信
2013 WebRTC 概説 & ワークショップ
ラズパイでネット対応 学習リモコンをつくろう!
WebRTC Build MCU on browser
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
Raspberry Pi Zero とカメラモジュールで作るライブ配信実験機
ロボットシステム学2015年第8回
SFUの話
20130216
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
HttpとTelnetをつなぐ何か
WebRTC meetup Tokyo 1
SIerによるSIerのためのRaspberry Pi 入門
ブラウザでWebRTC - iOSゲートウェイ作ってみた
Osc2013 tokyospring
Ad

More from mganeko (20)

PDF
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
PPTX
Amazon Kinesis Video Streams WebRTC 使ってみた
PPTX
Build Node.js-WASM/WASI Tiny compiler with Node.js
PPTX
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
PPTX
Skywayのビデオチャットを録画しよう。そう、ブラウザでね
PDF
Inside of 聖徳玉子 by O2
PDF
Node.js with WebRTC DataChannel
PPTX
PeerConnectionリレーとMediaRecorder
PPTX
ここがつらいよWebRTC - WebRTC開発の落とし穴
PPTX
Webrtc bootcamp handson
PPTX
WebRTC multitrack / multistream
PDF
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
PDF
WebRTC multistream
PPTX
Inside WebM
PPTX
MediaRecorder と WebM で、オレオレ Live Streaming
PPTX
Chromebook 「だけ」で WebRTCを動かそう
PPTX
Infocom webrtc conference japan
PPTX
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
PPTX
Nodeで操るKurentoメディアサーバー ( Kurento + WebRTC + Node.js )
PDF
WebRTC Summit 2014 NewYork 参加報告
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
Amazon Kinesis Video Streams WebRTC 使ってみた
Build Node.js-WASM/WASI Tiny compiler with Node.js
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
Skywayのビデオチャットを録画しよう。そう、ブラウザでね
Inside of 聖徳玉子 by O2
Node.js with WebRTC DataChannel
PeerConnectionリレーとMediaRecorder
ここがつらいよWebRTC - WebRTC開発の落とし穴
Webrtc bootcamp handson
WebRTC multitrack / multistream
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC multistream
Inside WebM
MediaRecorder と WebM で、オレオレ Live Streaming
Chromebook 「だけ」で WebRTCを動かそう
Infocom webrtc conference japan
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
Nodeで操るKurentoメディアサーバー ( Kurento + WebRTC + Node.js )
WebRTC Summit 2014 NewYork 参加報告

WebRTC mediasoup on raspberrypi3

  • 1. meidasoup on Raspberry Pi 3 WebRTC Meetup Tokyo #16 LT WebRTC Meetup Osaka #1 LT インフォコム株式会社 がねこまさし @massie_g 2017.08.25 1
  • 2. 自己紹介 • がねこまさし / @massie_g • インフォコム(株)の技術調査チームに所属 • WebRTC Meetup Tokyo スタッフ • WebRTC Begginers Tokyo スタッフ • WebRTC入門2016を HTML5Experts.jpに執筆 – https://html5experts.jp/series/webrtc2016/ 2
  • 3. 今日のお題 • 前々回(#13)の復習 – SFU : Selective forwarding Unit – mediasoup : オープンソースのSFU モジュール • Raspberry Pi 3で動かしてみた 3
  • 5. P2P と SFU:Selective Forwarding Unit ブラウザ A ブラウザ B ブラウザ D ブラウザ C P2Pの場合 • サーバ不要 ◎ • ブラウザ側の • CPU負荷:高 × • ネットワーク負荷:高 × 5 ブラウザ A ブラウザ B ブラウザ D ブラウザ C SFU 映像・音声 を分岐/配信 SFUの場合 • SFUサーバ必要 → CPU負荷:低 ○ • ブラウザ側はCPU負荷:低め ○ • ブラウザ側はネットワーク負荷:中 △ 表示レイアウトの 自由度が高い ◎
  • 6. MCU と SFU 6 ブラウザ A ブラウザ B ブラウザ D ブラウザ C SFU 映像・音声 を分岐/配信 ブラウザ A ブラウザ B ブラウザ D ブラウザ C MCU 映像・音声 を合成 MCUの場合 • MCUサーバ必要 → CPU負荷:激高 ×× • ブラウザ側はCPU/ネットワーク負荷:低 ◎ SFUの場合 • SFUサーバ必要 → CPU負荷:低 ○ • ブラウザ側はCPU負荷:低め ○ • ブラウザ側はネットワーク負荷:中 △ 表示レイアウトの 自由度が高い ◎
  • 8. mediasoupとは? • オープンソースのSFU – サイト https://mediasoup.org/ – GitHub https://github.com/ibc/mediasoup/ → https://github.com/versatica/mediasoup • 独立したサーバーではなく、部品 – Instead of creating yet another opinionated server, mediasoup is a Node.js module which can be integrated into a larger application or made standalone with just a few lines of JavaScript. – 「他のアプリに組み込める」 • Node.js用モジュールとして提供 – Webサーバーやシグナリングの仕組みは、自分で用意する必要あり 8
  • 9. mediasoupとは? (2) • ミニマム … メディアのみ、かつSFUなのでコーデックは処理しない • パワフル … 実体は C++ で記述、libuv 利用 – Node.js から起動された子プロセスで通信を担当 – Node.js とはプロセス間通信でやりとり • JavaScript API を提供 – WebRTC 1.0 … RTCPeerConnection, promise利用 – ORTC … Transport, RtpSender, RtpReceiver 9
  • 10. mediasoup サンプル 10 • ソースコード – https://github.com/mganeko/mediasoup_sample • 内容 – 複数人双方向 – 片方向配信(ちょっと手抜き) – SSL対応版もあり
  • 11. mediasoup のインストール • 前提環境 – Node.js v4.8.0 以上 – Linux / Mac OS X ※Windowsは未サポート – Python 2.x (ビルド時のみ) • pyenv / virtualenv利用時は要注意。明示的なローカルPythonのバージョン指定が必要 • $ pyenv local 2.7.12 – make – gcc & g++ または clang, with C++11 • インストール – $ npm install mediasoup • C++のコンパイルあり、数分から数十分でビルド→インストール完了 11
  • 12. Raspberry Pi 3 で動かしてみた 12
  • 13. Raspberry Pi 3 • 質問 – 知っていますか? – 持っていますか? • こんなやつです → – ARMv8 - 4 Core, 1.2 GHz – RAM 1GB – 6000円ぐらい 13
  • 14. mediasoupのビルドの準備 • OS: RASPBIAN JESSIE WITH PIXEL – https://www.raspberrypi.org/downloads/raspbian/ • ビルドに必要な環境 – Python 2.x … Python 2.7.x – make … GNU Make 4.0 – C/C++ … gcc version 4.9.2 14
  • 15. mediasoupのビルド(含 サンプル) # サンプルを含む、必要モジュールの取得とビルド git clone https://github.com/mganeko/mediasoup_sample.git npm install # → 20分程度でビルド完了 # 実行 node mediasoup_sample_multi.js # その後 PC/Mac から接続 15
  • 16. デモ • Raspberry Pi 3 で mediasoup のサンプル起動 • Mac のFirefox, Chromeから接続 – http://raspi3.local:3000/ – 双方向で繋がる • mediasoupを停止すると、映像も停止 16
  • 17. 動かしてみて • CPU負荷 … 5人で25%程度 – 少人数なら使えそう – CPUよりも先に、WiFiがいっぱいいっぱいに… • 意外とちょくちょくP2Pが切れる – oniceconnectionstatechange で disconnected – → ちょっと待てば繋がる 17
  • 18. ちょっとした工夫:madiasoup編 • Bandwidthを制限したら、ネットワーク負荷が軽くなる? – mediasoupではmaxBitrate // 500kbps に制限 let peerconnection = new RTCPeerConnection({ peer : peer, usePlanB : planb, maxBitrate: 500000 }); // → 制限は効いている。効果は良く分らない(やっぱり時々固まる) 18
  • 19. ちょっとした工夫:Chrome編 • 今回 Raspberry Pi 3 のサーバは http:// ~ – Web / シグナリング / mediasoup • Chromeでは、getUserMedia()できない • → Webサーバーだけ、PC/Macのローカルに立てる – HTMLを、ローカルにもコピーしておく • ※WebSocketの接続先はRasberry Pi 3になるように修正 19
  • 20. ちょっとした工夫:Chrome編 20 Rasberry Pi 3 WebSocket サーバー mediasoup サーバー PC / Mac Web サーバー Chrome HTTP (localhost)WebSocket WebRTC (UDP) Web サーバー
  • 21. ちょっとした工夫:ソフト編 • Raspberry Pi 3 のIPアドレスが分かるように – DHCPで動的に取得している → コンソールが無いとIPアドレスが分からない • avahi を導入 … Zeroconf 仕様の実装 – Mac で言う「Bonjour」のこと 。mDNSを利用 (5353/UDPのマルチキャスト) – sudo apt-get install avahi-daemon • ※OSセットアップ時にすでに導入されていた • 参考 http://d.hatena.ne.jp/pasela/20131023/mdns – ホスト名が「raspi3」なら → Macから 「raspi3.local」 で名前解決できる • ping raspi3. local • ssh raspi3.local • http://raspi3.local:3000/ , ws://raspi3.local:3001/ 21
  • 22. ちょっとした工夫:ハード編 • IPアドレスが「ひと目」で分かるように • Apple Pi ボードを利用 – トランジスタ技術 2016年8月号 ふろく(基盤のみ) • http://bit-trade-one.co.jp/product/module/adcq1608p/ • 液晶、ボタン ← 今回使ったのはこれだけ • D-Aコンバーター、温度/湿度/気圧センサー、赤外線リモコン – 完成品も販売中 … 6000円程度 • http://eleshop.jp/shop/g/gG78311/ • ボタンの監視 – Python で記述、(割り込みではなく)1秒ごとのポーリング (手抜き) – [IPアドレス表示]、[リブート]、[シャットダウン] 22
  • 23. シャットダウン デモ • Raspberry Pi 3 で mediasoupを起動 • PC/Mac から接続 • Raspberry Pi 3 / Apple Pi のボタンを押して – シャットダウン • 2 … 1 … 0 … 23
  • 24. まとめ • mediasoup は、LinuxであればARMでも動く – Raspberry Pi 3 でも動く – きっと、他のボードでも動く – ※ CPUよりもネットワークの性能がボトルネックになる可能性あり • 本日のプレゼン資料は SlideShareに – https://www.slideshare.net/mganeko/webrtc-sfu-mediasoup-sample-update • ソースコードは GitHubに – https://github.com/mganeko/mediasoup_sample 24