SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Jitsi Video	
  Bridge
で遊んでみた
tonofo→tnoho(アカウント整理w)
仕切りなおして、話をします
あ、多人数配信や多人数会議を前提とした話をします。
P2Pにおける限界
5人以上は…
X人数分
X人数分
回線負荷
処理負荷
限界を突破するSFU/MCU
P2Pをやめます
ここに処理を寄せる
MCU
全部サーバになげます
x 1 x	
  n x	
  nx 1
会議室にパソコン1台割り当てる覚悟が要りますが、何でもできます。
オーバーレイも録画も再生もトランスコード前提でなんでもこい。CPUで頭打ちです。
SFU
配信は代行します
x n -­‐ x x	
  n x	
  n
上り x	
  1
配信を代行して回線負荷をサーバに集約します。帯域幅で頭打ちです。
クライアントは配信と上り回線のリソースが削減され余裕ができます。
下り x	
  n
TURNとは違うの?
TURNは転送しかしません
x n x	
  n x	
  n x	
  nx	
  n
クライアントの負荷はP2Pと同じです。
Jitsi Video	
  Bridgeって?
最も高機能なOSSのSFUです
Google	
  Hangoutに最も近いSFUで最も近代的で実用的な動作をします
公式のサンプルはJitsi Meet!
なんですが、XMPPでJitsiという本来のプラットフォームと連携してるのでわかんない。。。
こうやって使うんだと思う
XMPP SFU(JVB)
じゃあ、WebSocketでフロントエンドつくろう
URLは公開に当たり削りマシたん。。。
言うより触ってみた方がいいよね!
切断処理とかイロイロまだ書いてないけどね!
多くのSFU?(LicodeとかJanusとか)
通信先は同じですが、クライアントの数だけPeerConnectionを張ります
Jitsi Video	
  Bridge(とHangout)の場合
一本のPeerConnectionに複数のStreemを詰め込みます
つまりCandidateでの経路情報交換は最初の一回だけ!
N-­‐1機能(試してないよ!)
多人数でSFUには接続していますが、発言者だけ送ります
つまりクライアントはしゃべっている人だけ受け取って、デコードする→大会議可!
Simcast機能(試してないよ!)
クライアントは複数のサイズの映像を送ります
クライアントは自分にあったサイズの映像を受け取ります
GitHubに公開するつもりでいます。
Java(Spring-­‐boot)で書いてたんです。
シグナリングで辛くなりました。
で、Socket.IOで使うべくNodeで書き直してます。

Contenu connexe

Tendances

Tendances (20)

ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実
 
5分でわかるWebRTCの仕組み - html5minutes vol.01
5分でわかるWebRTCの仕組み - html5minutes vol.015分でわかるWebRTCの仕組み - html5minutes vol.01
5分でわかるWebRTCの仕組み - html5minutes vol.01
 
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャ
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
 
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
 
AbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステムAbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステム
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
 
React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面
 
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdfわたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
爆速クエリエンジン”Presto”を使いたくなる話
爆速クエリエンジン”Presto”を使いたくなる話爆速クエリエンジン”Presto”を使いたくなる話
爆速クエリエンジン”Presto”を使いたくなる話
 
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介 オープンソースのAPIゲートウェイ Kong ご紹介
オープンソースのAPIゲートウェイ Kong ご紹介
 
エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得
 

En vedette

Lucandraを使ってみる
Lucandraを使ってみるLucandraを使ってみる
Lucandraを使ってみる
Fumihiko Sato
 
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
Shinichiro Yoshida
 
WebRTCの技術解説 第四版 公開版
WebRTCの技術解説 第四版 公開版WebRTCの技術解説 第四版 公開版
WebRTCの技術解説 第四版 公開版
You_Kinjoh
 

En vedette (20)

IoTをインターネット越しで見る
IoTをインターネット越しで見るIoTをインターネット越しで見る
IoTをインターネット越しで見る
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
ブラウザでWebRTC - iOSゲートウェイ作ってみた
ブラウザでWebRTC - iOSゲートウェイ作ってみたブラウザでWebRTC - iOSゲートウェイ作ってみた
ブラウザでWebRTC - iOSゲートウェイ作ってみた
 
ち〜ん
ち〜んち〜ん
ち〜ん
 
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みする
 
知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち
 
SFUの話
SFUの話SFUの話
SFUの話
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
 
Lucandraを使ってみる
Lucandraを使ってみるLucandraを使ってみる
Lucandraを使ってみる
 
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
 
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.jsvoip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
 
WebRTC multitrack / multistream
WebRTC multitrack / multistreamWebRTC multitrack / multistream
WebRTC multitrack / multistream
 
Googleのオープンなビーコン規格「Eddystone」とはなんなのか?
Googleのオープンなビーコン規格「Eddystone」とはなんなのか?Googleのオープンなビーコン規格「Eddystone」とはなんなのか?
Googleのオープンなビーコン規格「Eddystone」とはなんなのか?
 
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しようWebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
 
Testing and packaging WebRTC Stack
Testing and packaging WebRTC StackTesting and packaging WebRTC Stack
Testing and packaging WebRTC Stack
 
スマホアプリBestieBoxにWebRTCを組みこんでみた
スマホアプリBestieBoxにWebRTCを組みこんでみたスマホアプリBestieBoxにWebRTCを組みこんでみた
スマホアプリBestieBoxにWebRTCを組みこんでみた
 
mbedを用いたラピッドプロトタイピングのススメ
mbedを用いたラピッドプロトタイピングのススメmbedを用いたラピッドプロトタイピングのススメ
mbedを用いたラピッドプロトタイピングのススメ
 
WebRTCの技術解説 第四版 公開版
WebRTCの技術解説 第四版 公開版WebRTCの技術解説 第四版 公開版
WebRTCの技術解説 第四版 公開版
 
Beyond the MCU
Beyond the MCUBeyond the MCU
Beyond the MCU
 
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみようWebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
 

Jitsi video bridge で遊んでみた