52
WebRTC Meetup #12 L. Miniero 紹介 WebRTC 標準化 Janus モジュールや「API事例紹介 Janus の事例紹介 今後の活動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Janus(ジャヌス/ヤーヌス): a general purpose gate way (application) server Lorenzo Miniero @elminiero 2016年11⽉22⽇, WebRTC Meetup #12, 東京

Janus @ Meetup Tokyo #12

Embed Size (px)

Citation preview

Page 1: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Janus(ジャヌス/ヤーヌス): a general purpose gateway (application) server

Lorenzo Miniero@elminiero

2016年11⽉22⽇, WebRTC Meetup #12,東京

Page 2: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Outline

1 簡単な紹介

2 WebRTCの背景WebRTCと標準化

3 Janus: 汎⽤オープンソースWebRTCゲートウェイ・サーバモジュラーアーキテクチャ

4 Janusの事例紹介Janusは誰に使われてますか?どうやって?

5 次の開発予定は?

Page 3: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Meetecho(ミテーコ)は何ですか?

• 2009年にナポリ⼤学から設⽴した⼩さな会社

• ⼤学研究からビジネスまで

• 僕は去年に UniNAで博⼠号を取得した

• ナポリで得意げに開発しました(*)

• リアルタイムマルチメディアアプリケーション

• 初めは、ネット会議だけ

• それから、すべてのマルチメディアにして⾏きました

• 標準化とオープンソースがとても⼤事

• WebRTCが⼤好き!

Page 4: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Meetecho(ミテーコ)は何ですか?

• 2009年にナポリ⼤学から設⽴した⼩さな会社

• ⼤学研究からビジネスまで

• 僕は去年に UniNAで博⼠号を取得した

• ナポリで得意げに開発しました(*)

• リアルタイムマルチメディアアプリケーション

• 初めは、ネット会議だけ

• それから、すべてのマルチメディアにして⾏きました

• 標準化とオープンソースがとても⼤事

• WebRTCが⼤好き!

Page 5: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

(* 事務所は⾒つけられますか? ,)

Page 6: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

うん、うん、ミテーコについて⼗分ね。。。「WebRTC」とは何ですか?

• ブラウザでリアルタイムコミュニケーション• 最近まで、標準的な⽅法がありませんでした!

• 相互動作性がありませんでした• ブラウザのプラグインが必要でした

WebRTC = Joint standardization efforts• Internet Engineering Task Force (IETF)• World Wide Web Consortium (W3C)

• RTCWEB (IETF)• Real-Time Communication in WEB browsers WG• プロトコルやフォーマットについて

• WEBRTC (W3C)• Web Real-Time Communications WG• UIや APIやキャプチャデバイスについて

Page 7: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

うん、うん、ミテーコについて⼗分ね。。。「WebRTC」とは何ですか?

• ブラウザでリアルタイムコミュニケーション• 最近まで、標準的な⽅法がありませんでした!

• 相互動作性がありませんでした• ブラウザのプラグインが必要でした

WebRTC = Joint standardization efforts• Internet Engineering Task Force (IETF)• World Wide Web Consortium (W3C)

• RTCWEB (IETF)• Real-Time Communication in WEB browsers WG• プロトコルやフォーマットについて

• WEBRTC (W3C)• Web Real-Time Communications WG• UIや APIやキャプチャデバイスについて

Page 8: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

うん、うん、ミテーコについて⼗分ね。。。「WebRTC」とは何ですか?

• ブラウザでリアルタイムコミュニケーション• 最近まで、標準的な⽅法がありませんでした!

• 相互動作性がありませんでした• ブラウザのプラグインが必要でした

WebRTC = Joint standardization efforts• Internet Engineering Task Force (IETF)• World Wide Web Consortium (W3C)

• RTCWEB (IETF)• Real-Time Communication in WEB browsers WG• プロトコルやフォーマットについて

• WEBRTC (W3C)• Web Real-Time Communications WG• UIや APIやキャプチャデバイスについて

Page 9: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

WebRTCのアーキテクチャ

Page 10: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

サーバ・ゲートウェイ・アプリケーションなら

Page 11: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

他のレガシーテクノロジーなら

“What is a WebRTC Gateway anyway?”• https://webrtchacks.com/webrtc-gw/

Page 12: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

他のレガシーテクノロジーなら

“What is a WebRTC Gateway anyway?”• https://webrtchacks.com/webrtc-gw/

Page 13: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

WebRTCのプロトコル群

• シグナリングとネゴシエート• Javascript Session Establishment Protocol (JSEP)• Session Description Protocol (SDP) adaptation

• 接続確⽴と NAT越え• Session Traversal Utilities for NAT (STUN)• Traversal Using Relay NAT (TURN)• Interactive Connectivity Establishment (ICE)

• リアルタイムなメディア送受信とフロー制御• Real-time Transport (and Control) Protocol (RTP/RTCP)• Secure Extensions to RTP (SRTP)• Datagram Transport Layer Security (DTLS)

• コーデック• Opus audio codec (MTI, Mandatory-to-implement)• VP8 and H.264 video codecs (MTI, Mandatory-to-implement)

• 汎⽤データ• WebRTC Data Channels (SCTP)

Page 14: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

WebRTCのプロトコル群

• シグナリングとネゴシエート• Javascript Session Establishment Protocol (JSEP)• Session Description Protocol (SDP) adaptation

• 接続確⽴と NAT越え• Session Traversal Utilities for NAT (STUN)• Traversal Using Relay NAT (TURN)• Interactive Connectivity Establishment (ICE)

• リアルタイムなメディア送受信とフロー制御• Real-time Transport (and Control) Protocol (RTP/RTCP)• Secure Extensions to RTP (SRTP)• Datagram Transport Layer Security (DTLS)

• コーデック• Opus audio codec (MTI, Mandatory-to-implement)• VP8 and H.264 video codecs (MTI, Mandatory-to-implement)

• 汎⽤データ• WebRTC Data Channels (SCTP)

Page 15: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Janus: 汎⽤オープンソースWebRTCゲートウェイ・サーバ

「ヤーヌス(ヤヌス Janus)は、ローマ神話の出⼊り⼝と扉の神。前後 2つの顔を持つのが特徴である。表現上、左右に別々の顔を持つように描く場合もある。[..]過去と未来の間に⽴つという説明もする。」

— https://ja.wikipedia.org/wiki/ヤーヌス

Page 16: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Janus: 汎⽤オープンソースWebRTCゲートウェイ・サーバ

• コミュニケーションでは、過去と未来の間• レガシーテクノロジー(「過去」)• WebRTC(「未来」)

Janus

汎⽤オープンソースWebRTCゲートウェイ・サーバ• https://github.com/meetecho/janus-gateway• デモとドキュメント: https://janus.conf.meetecho.com• コミュ: https://groups.google.com/forum/#!forum/meetecho-janus

Page 17: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

モジュラーアーキテクチャ

• コアにはWebRTCスタックだけあります

• JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ...

• プラグインは、複数のトランスポートプロトコルの上に APIを提供しています

• HTTP / WebSockets (ブラウザ、アプリ、etc.)

• RabbitMQ / Unix Sockets / MQTT (サーバーアプリケーション)

• 他のプラグインでアプリケーションロジックを実装できます

• ユーザは Janusコアでプラグインと話します

• コアは「WebRTC PeerConnection」を⼿がけます

• プラグインはメディアとデータを制御・操作できます

Page 18: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

モジュラーアーキテクチャ

• コアにはWebRTCスタックだけあります

• JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ...

• プラグインは、複数のトランスポートプロトコルの上に APIを提供しています

• HTTP / WebSockets (ブラウザ、アプリ、etc.)

• RabbitMQ / Unix Sockets / MQTT (サーバーアプリケーション)

• 他のプラグインでアプリケーションロジックを実装できます

• ユーザは Janusコアでプラグインと話します

• コアは「WebRTC PeerConnection」を⼿がけます

• プラグインはメディアとデータを制御・操作できます

Page 19: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

モジュラーアーキテクチャ

• コアにはWebRTCスタックだけあります

• JSEP/SDP, ICE, DTLS-SRTP, Data Channels, ...

• プラグインは、複数のトランスポートプロトコルの上に APIを提供しています

• HTTP / WebSockets (ブラウザ、アプリ、etc.)

• RabbitMQ / Unix Sockets / MQTT (サーバーアプリケーション)

• 他のプラグインでアプリケーションロジックを実装できます

• ユーザは Janusコアでプラグインと話します

• コアは「WebRTC PeerConnection」を⼿がけます

• プラグインはメディアとデータを制御・操作できます

Page 20: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Janusのアーキテクチャと API

Page 21: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Janusのアーキテクチャと API

Page 22: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

プラグインは「レンガ」です

• プラグインが単なる機能で、全部のアプリケーションじゃない

• アプリケーションは複数の異なる機能で構成されます

• 機能が複雑なユースケースについての「レンガ」です

• ⼀つとってもプラギン

• Echo Test (→テスティング!)• Streaming (→ RTP-to-WebRTC!)• Video Room (→ Selective Forwarding Unit!)• SIP Gateway (→「レガシー」SIP!)• Audio Bridge (→オーディオ MCU!)• Record & Play (→レコーディング!)• Text Room (→データチャンネルでインスタントメッセージング!)• ...

Page 23: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

プラグインは「レンガ」です

• プラグインが単なる機能で、全部のアプリケーションじゃない

• アプリケーションは複数の異なる機能で構成されます

• 機能が複雑なユースケースについての「レンガ」です

• ⼀つとってもプラギン

• Echo Test (→テスティング!)• Streaming (→ RTP-to-WebRTC!)• Video Room (→ Selective Forwarding Unit!)• SIP Gateway (→「レガシー」SIP!)• Audio Bridge (→オーディオ MCU!)• Record & Play (→レコーディング!)• Text Room (→データチャンネルでインスタントメッセージング!)• ...

Page 24: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

例えば:オンラインセミナーと Q&A

Page 25: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

例えば:ソーシャルテレビ

Page 26: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

上⼿くいかない?「Admin API」を⾒て!

• Janusに対する要求・応答 API• サーバ能⼒の聞いて• 設定を調整  (例えば、デバッギング)• Janusの「handles」と「WebRTC internals」を⾒て

• ⾮同期イベントは、「PullRequest #536」でできます!

http://www.meetecho.com/blog/understanding-the-janus-admin-api/

Page 27: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Janusにストレステスト: Jattack!

• Jattack = Janus Attack (or J’attacque =フランス語で「攻撃するの」と⾔って ,)

• WebSocketでコントロールできるWebRTCのクライアントスタック• たくさんの「WebRTC PeerConnection」を動的に⽣成できます

• WIPだけど、もう使えます• 先⽉にシカゴで「IPTComm」で発表しました!

Page 28: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Janusは誰に使われてますか?どうやって?

• 私たちは Janusを使⽤してます(もちろん!)• • ネット会議とオンラインセミナー

• WebRTC-to-SIPゲートウェイ• ライブイベントのストリーミング (例えば、IETFのミーティング)

• たくさんの⼈と会社も独創的に使⽤してます!• eラーニング• コワーキング• コンタクトセンター• テレビ放送やソーシャルテレビ• 監視体制• Eヘルス• ホームオートメーションやモノのインターネット(IoT)• 携帯電話や Raspberry Piやドローン

• たくさんのサードパーティーソフト• https://janus.conf.meetecho.com/docs/resources

Page 29: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Janusは誰に使われてますか?どうやって?

• 私たちは Janusを使⽤してます(もちろん!)• • ネット会議とオンラインセミナー

• WebRTC-to-SIPゲートウェイ• ライブイベントのストリーミング (例えば、IETFのミーティング)

• たくさんの⼈と会社も独創的に使⽤してます!• eラーニング• コワーキング• コンタクトセンター• テレビ放送やソーシャルテレビ• 監視体制• Eヘルス• ホームオートメーションやモノのインターネット(IoT)• 携帯電話や Raspberry Piやドローン

• たくさんのサードパーティーソフト• https://janus.conf.meetecho.com/docs/resources

Page 30: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Janusは誰に使われてますか?どうやって?

• 私たちは Janusを使⽤してます(もちろん!)• • ネット会議とオンラインセミナー

• WebRTC-to-SIPゲートウェイ• ライブイベントのストリーミング (例えば、IETFのミーティング)

• たくさんの⼈と会社も独創的に使⽤してます!• eラーニング• コワーキング• コンタクトセンター• テレビ放送やソーシャルテレビ• 監視体制• Eヘルス• ホームオートメーションやモノのインターネット(IoT)• 携帯電話や Raspberry Piやドローン

• たくさんのサードパーティーソフト• https://janus.conf.meetecho.com/docs/resources

Page 31: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

「ディレクター」の IETFのミーティング

全部のメディアストリームはWebRTCで使って• スライドはプロジェクターからのビデオ• 会議場からビデオカメラでビデオ• リモートプレゼンターのビデオ

Page 32: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Meetechoで IETFのミーティング

https://ietf.org/meeting/remote-participation.html

Page 33: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Meetechoで IETFのレコーディング

https://www.youtube.com/user/ietf

Page 34: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

A “silly” use case: The Jumping Sumo! (ドローン)

https://www.youtube.com/watch?v=isGSnMlKcss

Page 35: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

A “silly” use case: The Jumping Sumo! (ドローン)

https://www.youtube.com/watch?v=isGSnMlKcss

Page 36: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

“Matrix wins Best of Show at WebRTC World!’’(ドローン)

https://www.youtube.com/watch?v=OMzDklvDS3c

Page 37: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

“Matrix wins Best of Show at WebRTC World!’’(ドローン)

https://www.youtube.com/watch?v=NpBStIIq6fM

Page 38: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Jangouts (「Janus Hangouts」,、ネット会議)

https://github.com/jangouts/jangouts

Page 39: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

SylkServer (SIP/XMPP ASやネット会議)

http://ag-projects.com/sylkserver/

Page 40: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

SylkServer (SIP/XMPP ASやネット会議)

http://ag-projects.com/sylkserver/

Page 41: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Slack (チームコワーキング)

https://webrtchacks.com/dear-slack/http://iwashi.co/2016/03/14/slack-webrtc-multiparty-analysis← @iwashi86!

https://slack.engineering/calls-is-it-you-or-is-it-me-f5d36749e8ed

Page 42: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Beam (テレビゲームのストリーミング)

https://beam.pro/https://github.com/WatchBeam/ftl-sdk

Page 43: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Lenovo’s AirClass (eラーニング)

https://www.airclass.com

Page 44: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Sqwiggle / Speak.io (チームコワーキング)

https://www.sqwiggle.comhttps://speak.io

Page 45: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Sqwiggle / Speak.io (チームコワーキング)

https://www.sqwiggle.comhttps://speak.io

Page 46: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Veeting rooms (ネット会議)

https://www.veeting.com

Page 47: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

次の開発予定は?

• WebRTCスタックの完成• レネゴシエート、マルチストリーム...

• 改良とバグ修正• https://github.com/meetecho/janus-gateway/pulls

• 新し機能:「Events API」!• コアとプラグインはイベントを⽣成•「EventHandler」プラグインはイベントをサブスクライブして、使う

• 例えば、データベースに書く、バックエンドに送る、etc.• 事例紹介

• Homer/HEPモニタリング (https://github.com/sipcapture/homer)• callstats.ioの統計

• Test Test Test! (「Jattack」が役に⽴ちます!)

お願いします!⼿伝って!

• Janusを使って• ⾃分のアプリケーションやラッパーやプラグインを開発して!

Page 48: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

次の開発予定は?

• WebRTCスタックの完成• レネゴシエート、マルチストリーム...

• 改良とバグ修正• https://github.com/meetecho/janus-gateway/pulls

• 新し機能:「Events API」!• コアとプラグインはイベントを⽣成•「EventHandler」プラグインはイベントをサブスクライブして、使う

• 例えば、データベースに書く、バックエンドに送る、etc.• 事例紹介

• Homer/HEPモニタリング (https://github.com/sipcapture/homer)• callstats.ioの統計

• Test Test Test! (「Jattack」が役に⽴ちます!)

お願いします!⼿伝って!

• Janusを使って• ⾃分のアプリケーションやラッパーやプラグインを開発して!

Page 49: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

次の開発予定は?

• WebRTCスタックの完成• レネゴシエート、マルチストリーム...

• 改良とバグ修正• https://github.com/meetecho/janus-gateway/pulls

• 新し機能:「Events API」!• コアとプラグインはイベントを⽣成•「EventHandler」プラグインはイベントをサブスクライブして、使う

• 例えば、データベースに書く、バックエンドに送る、etc.• 事例紹介

• Homer/HEPモニタリング (https://github.com/sipcapture/homer)• callstats.ioの統計

• Test Test Test! (「Jattack」が役に⽴ちます!)

お願いします!⼿伝って!

• Janusを使って• ⾃分のアプリケーションやラッパーやプラグインを開発して!

Page 50: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

次の開発予定は?

• WebRTCスタックの完成• レネゴシエート、マルチストリーム...

• 改良とバグ修正• https://github.com/meetecho/janus-gateway/pulls

• 新し機能:「Events API」!• コアとプラグインはイベントを⽣成•「EventHandler」プラグインはイベントをサブスクライブして、使う

• 例えば、データベースに書く、バックエンドに送る、etc.• 事例紹介

• Homer/HEPモニタリング (https://github.com/sipcapture/homer)• callstats.ioの統計

• Test Test Test! (「Jattack」が役に⽴ちます!)

お願いします!⼿伝って!

• Janusを使って• ⾃分のアプリケーションやラッパーやプラグインを開発して!

Page 51: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

次の開発予定は?

• WebRTCスタックの完成• レネゴシエート、マルチストリーム...

• 改良とバグ修正• https://github.com/meetecho/janus-gateway/pulls

• 新し機能:「Events API」!• コアとプラグインはイベントを⽣成•「EventHandler」プラグインはイベントをサブスクライブして、使う

• 例えば、データベースに書く、バックエンドに送る、etc.• 事例紹介

• Homer/HEPモニタリング (https://github.com/sipcapture/homer)• callstats.ioの統計

• Test Test Test! (「Jattack」が役に⽴ちます!)

お願いします!⼿伝って!

• Janusを使って• ⾃分のアプリケーションやラッパーやプラグインを開発して!

Page 52: Janus @ Meetup Tokyo #12

WebRTCMeetup #12

L. Miniero

紹介

WebRTC標準化

Janusモジュールや「API」

事例紹介Janusの事例紹介

今後の活動

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

ありがとうございました!質問がありますか?

@elminiero@meetecho