SlideShare a Scribd company logo
1 of 123
Download to read offline
C
実践 WEBRTC
〜最新事例と開発ノウハウの紹介〜
HTML5 Conference 2017 発表資料
2017 / 09/ 24
自己紹介
• 仲 裕介
• Twitter:@Tukimikage
• NTT Communications エンジニア
• WebRTC Platform SkyWay
• デベロッパーリレーション担当
• テクニカルソリューション(テクニカルコンサル/サポート)担当
• コミュニティ運営
• WebRTC Meetup Tokyo / Osaka 主催
• WebRTC Beginners Tokyo 主催
今日のゴール(目的)
• WebRTC聞いたことがある…という人が使ってみたい!と思う
• WebRTCを支える技術について、少しだけ他人に説明できるようになる
• WebRTCを利用した開発の勘所をつかんでもらう
• 午後の「詳解WebRTC」でもっと深いところまで聞きたくなる
WebRTCとは?
Web
Real Time
Communication
の略
IPネットワークで
同時 / 即時 / 瞬時の
通信 / 意思疎通をする
オープン標準技術
www.flickr.com/photos/tjflex/57210112
リアルタイム
コミュニケーションの
民主化
www.flickr.com/photos/mattb_tv/2550476978
最初のリアルタイムコミュニケーションは電話
1876年以来、電話会社が独占
2000年前後、NapsterやSkypeがインターネット上
で実現
www.flickr.com/photos/132889348@N07/18410514419
2011年にWebRTCの草案が発表され、全てのソフト
ウェアエンジニアが扱える時代が到来
www.flickr.com/photos/86979666@N00/6990460438
従来のWeb
サーバ⇔ク
ライアント
間の通信
リクエストと
レスポンスの
繰り返し
サーバ
WebRTCで出来ること
従来のWeb WebRTC
カメラやマイ
クを利⽤可
ストリーミング
データを扱える
ブラウザ間
のP2P通信
サーバ⇔ク
ライアント
間の通信
リクエストと
レスポンスの
繰り返し
サーバ サーバ
WebRTCで出来ること
WebRTCを構成する技術要素
• WebRTCはオープン標準技術。ライセンス使⽤料が不要。
• 中⾝は4つ。IETF(①~③)とW3C(④)で標準化。
①暗号化、到達・順序保証、流量・輻輳制御を実現する
プロトコル
②ネットワーク機器(NAT等)を越えてP2P通信する⼿順
③⾳声と映像の形式(コーデック)
④JavaScript等から利⽤するAPI
chimera.labs.oreilly.com/books/1230000000545/ch18.html
①暗号化、到達・順序保証、流量・輻輳制御を実現するプロトコル
②ネットワーク機器(NAT等)を越えてP2P通信する⼿順
④JavaScript等から利⽤するAPI
chimera.labs.oreilly.com/books/1230000000545/ch18.html
①暗号化、到達・順序保証、流量・輻輳制御を実現するプロトコル
②ネットワーク機器(NAT等)を越えてP2P通信する⼿順
④JavaScript等から利⽤するAPI
③⾳声と映像の形式(コーデック)
WebRTCを構成する技術要素
• WebRTCはオープン標準技術。ライセンス使⽤料が不要。
• 中⾝は4つ。IETF(①~③)とW3C(④)で標準化。
①暗号化、到達・順序保証、流量・輻輳制御を実現する
プロトコル
②ネットワーク機器(NAT等)を越えてP2P通信する⼿順
③⾳声と映像の形式(コーデック)
④JavaScript等から利⽤するAPI
WebRTCの内部は結構複雑…
詳しく知りたい⽅はこちらのセッションに是⾮参加してみてください
WebRTCのブラウザ対応状況
caniuse.com
WebRTCのブラウザ対応状況
caniuse.com
いい加減諦めてください…
WebRTCのブラウザ対応状況
caniuse.com
はーい、こちらに注目!
2017/9/20…ついにWebRTCをサポート!
iOS11 x Safari11
macOS Sierra+ x Safari11
SafariがWebRTCに対応する意義
•アプリを作る必要がない
•導入ハードルがぐっと下がる
lab.syncer.jp
特に⽇本だとモバイルにおけるSafariのシェアは65%以上
WebRTCが普及する土台は整った
WebRTC☓イノベーション
WebRTCの市場規模予測
WebRTCの市場規模予測(2016/11)
•2020年にはコラボレーションアプリの通話の90%以上が
WebRTC(出展:ガートナー)
•2020年の市場規模は44億5000万ドル(出展:
MarketsandMarkets)
44億ドルって?…ちなみにドローンは60.5億ドル規模らしいです。
WebRTCは様々シーンで
イノベーションのためのツールとして
活用されています
mixer.com
Co-Streaming(共同ストリーミング)
複数⼈が同時に動画配信し多⼈数が視聴する
Mixer : MSが買収したゲーム動画配信サービスでWin10からは直接配信も可能
sketch.pixiv.net/items/3937947988965054025
Co-Streaming(共同ストリーミング)
複数⼈が同時に動画配信し多⼈数が視聴する
Pixiv Sketch LIVE : 多人数でリアルタイムにお絵かきを楽しめるライブ配信機能
Serverless CDN
ピア・ツー・ピアでクライアントからクライアントへデータを配信す
るユースケース
Peer5 : 今年7⽉に$2.5Mを調達。テレビ並み(数百万)の同時視聴者数を実現するのが
彼らのミッション
www.streamroot.io
Serverless CDN x Streaming
従来のサーバ配信に加えてピア・ツー・ピアでの配信も⾏う
Stramroot : 先⽇$3.2M調達が報じられた。Dailymotionなどで利⽤されている
eikaiwa.weblio.jp
オンライン英会話
従来Skypeでやっていたオンライン英会話がWebRTCへ移⾏
Weblio、レアジョブ、ネイティブキャンプ、ECC等の事業者は既にWebRTCを活⽤中
カスタマサポート
Web上で直接お客様とビデオチャットによる接客を実現
Web組み込み型のコンタクトセンタ。
www.softbank.jp/biz/other/videodesk/
clinics.medley.life/
遠隔診療
先⽣側(PC)と患者側(スマホアプリ)を利⽤したビデオチャットによる診療を実現
CLINICS : 全国550以上の医療機関で利⽤可能
http://www.petoco.jp/
IoT
WebRTCスタックが動くデバイスであれば簡単にコミュニケーション機能を追加可能
petoco: NTTドコモ開発のホームコミュニケーションデバイス
http://www.petoco.jp/
マッチングアプリ
声や映像を利⽤したマッチングアプリ
KoeTomo:年齢・性別に関わらず、世界中の⼈たちと話すことができる新感覚ボイス
サービス
WebRTCの活用しどころ
既存サービスの置き換えでコスト削減
既存サービスの置き換えでコスト削減
付加価値向上
既存サービスの置き換えでコスト削減
付加価値向上
前半戦終了
WebRTCを利用した開発の勘所
お品書き
1.WebRTC APIの進化は早い
2.ブラウザ同士の互換性に注意
3.マイクカメラの扱いにはハマりどころが多い
4.多人数通話は出来ないの?
5.WebRTCは開発よりも運用開始後が大変
6.プラットフォームサービスは積極的に活用しよう
1.WebRTC APIの進化は早い
Safariの開発メニューに有るこの項⽬ご存知ですか?
レガシーWebRTCAPIを有効にする
• SafariはレガシーなWebRTCAPIを無効化する気満々です
• レガシーAPI
• RTCPeerConnectionの各種イベントがCallback方式からPromise方式に変更
• MediaStream単位の操作からMediaStreamTrack単位の操作に変更
• Ex pc.addStream() → pc.addTrack()
PromiseベースのAPI
// let the "negotiationneeded" event trigger offer generation
pc.onnegotiationneeded = function () {
pc.createOffer().then(function (offer) {
return pc.setLocalDescription(offer);
})
.then(function () {
// send the offer to the other peer
signalingChannel.send(JSON.stringify({ "desc":
pc.localDescription }));
})
.catch(logError);
};
pc.addTrack
// get a local stream, show it in a self-view and add it to be sent
navigator.mediaDevices.getUserMedia({ "audio": true, "video": true },
function (stream) {
selfView.srcObject = stream;
if (stream.getAudioTracks().length > 0)
pc.addTrack(stream.getAudioTracks()[0], stream);
if (stream.getVideoTracks().length > 0)
pc.addTrack(stream.getVideoTracks()[0], stream);
}, logError);
最新のWebRTC1.0へ
• 各ブラウザはORTCの考え方を一部取り入れた、最新の
WebRTC1.0APIへ対応しつつあります。
RTCPeerConnection
- RTCTransceiver
- RTCRtpSender
- RTCRtpReceiver
ORTCのオブジェクト構成
ortc.org/architecture/
一部を取り入れている
RTCTransceiverRTCTransceiver
RTCRtpSender
RTCRtpReceiver
ortc.org/architecture/
なぜORTCが良いの?
WebRTC1.0ではSDPを利用する
WebRTCのセッションを張る際に必要な情報の交換(シグナリング)に、
SDPというフォーマットを利用する
v=0
(…中略…)
a=group:BUNDLE audio video
m=audio 54321 RTP/SAVPF 111 103 104 0 8 106 105 13 126
(…中略…)
c=IN IP4 100.1.2.3
a=rtcp:54321 IN IP4 100.1.2.3
a=candidate:4022866446 1 udp 2113937151 192.168.0.1 34567 typ host generation 0
a=candidate:4022866446 2 udp 2113937151 192.168.0.1 34567 typ host generation 0
(…中略…)
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
(…以下略…)
トランスポートプロトコ
ルにSRTPを利⽤⾳声を利⽤
ポート番号は
54321
WebRTC1.0ではSDPを利用する
v=0
(…中略…)
a=group:BUNDLE audio video
m=audio 54321 RTP/SAVPF 111 103 104 0 8 106 105 13 126
(…中略…)
c=IN IP4 100.1.2.3
a=rtcp:54321 IN IP4 100.1.2.3
a=candidate:4022866446 1 udp 2113937151 192.168.0.1 34567 typ host generation 0
a=candidate:4022866446 2 udp 2113937151 192.168.0.1 34567 typ host generation 0
(…中略…)
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
(…以下略…)
コーデック番号(下部とリンク)
Opus(48000kHzでステレオ)を利⽤したい
必要な情報をSDPというフォーマットで相手に伝える
WebRTC1.0ではSDPを利用する
必要な情報をSDPというフォーマットで相手に伝える
v=0
(…中略…)
a=group:BUNDLE audio video
m=audio 54321 RTP/SAVPF 111 103 104 0 8 106 105 13 126
(…中略…)
c=IN IP4 100.1.2.3
a=rtcp:54321 IN IP4 100.1.2.3
a=candidate:4022866446 1 udp 2113937151 192.168.0.1 34567 typ host generation 0
a=candidate:4022866446 2 udp 2113937151 192.168.0.1 34567 typ host generation 0
(…中略…)
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
(…以下略…)
ICEの候補
SDPの中にはこれらのレイヤ
について、ネゴシエーション
を行うために必要な情報が全
て記載されている。
例えば、以下のような時
• 最初音声ミュートで会議に
参加していたメンバが途中
から音声のミュートを解除
する
レガシーAPIだと・・・
音声トラックだけ操作したいの
に全てのレイヤで再ネゴが発生
なぜORTCが良いの?
RTCTransceiverRTCTransceiver
RTCRtpSender
RTCRtpReceiver
各レイヤに相当するAPIが公開されている
ortc.org/architecture/
このレイヤは触らなくていい
このレイヤを操作(メディ
アトラックの追加や削除)
したい
ORTCだと・・・
この話がわかりやすく解説されています
SDP: Your Fears Are Unleashed
https://webrtchacks.com/webrtc-sdp-inaki-baz-castillo/
bokete.jp/odai/2807035
そんなAPIの進化ついていけない…
大丈夫です。
adapter.js(shim)を使えばだいたいうまくやってくれます。
Shim to insulate apps from spec changes and prefix differences
https://github.com/webrtc/adapter/
2.ブラウザの互換性に注意
なぜ差分が生まれるのか?
コアライブラリが異なります
Googleが公開しているWebRTCライブラリがベース(一部独自作り込み有り) 完全独自っぽい
(非公開)
参考:各ブラウザのアーキテクチャ
https://www.slideshare.net/AmirZ/webrtc-standards-implementation-qa-the-internals-of-webrtc-browsers-implementation
動画コーデックのサポートが異なります
VP8/VP9/H264 H264VP8/H264UC
WebRTC的にはスタンダード Skype用にH264UC
恐らくモバイルを
考慮し一択
搭載されているAPIに差分があります
WebRTC 1.0 (MediaChannel/DataChannel) , getUserMedia , ScreenShare
ORTC,
WebRTC 1.0
(MediaChannel),
getUserMedia
搭載されているAPIに差分があります
機能差分はAdapter.jsでも吸収できないので、アプリの作り込みで吸収する必要あり
参考:Safariに関する細かいAPI差分
Chrome、Firefoxのノリで使うとつまります
• iPod touchはaudioに未対応です。
• Video要素には、属性として"playsinline"を必ず指定してください。
• 動画の再生には “.play()” をご利用ください。“autoplay” 属性を指定するだけでは、動画
が再生されない場合があります。
• 一部の環境ではWebページ上でユーザ操作が無い場合には、動画が再生されないケースが
ございます。その場合は、クリック/タップなどのユーザ操作が含まれるようにアプリケー
ションを作成ください。
• スクロールやピンチイン・アウト等を契機に、端末がフリーズする場合があります。その場
合は、相手の映像を表示するvideo要素に"position: -webkit-sticky;"を指定すると、改善さ
れる場合があります。
2017/9/20現在
3.マイクカメラの扱いにはハマりどころが多い
www.logicool.co.jp/ja-jp/video/webcams
OS
ブラウザ
ビデオキャプ
チャエンジン
ブラウザ
API
JS
カメラの機種による差分、OSレベルの差分、ブラウザ毎の差分を考慮して、JSで操作する…
getUserMediaという便利APIはあるけれど
// getUserMediaでカメラ、マイクにアクセス
function startVideo() {
navigator.mediaDevices.getUserMedia({video: true, audio: true})
.then(function (stream) { // success
playVideo(localVideo,stream);
localStream = stream; })
.catch(function (error) { // error
console.error('mediaDevice.getUserMedia() error:', error);
return; }); }
// Videoの再生を開始する
function playVideo(element, stream) {
element.srcObject = stream; element.play();
}
くせものです…
• getUserMediaのConstraints
• {video: true, audio: true}
• Constraintsとは制約条件のことで、JS開発者はAPIの引き数に制約条件を与え
てカメラ映像やマイク音声を取得する
• オプション指定ではなく制約なので100%その通りになるとは限らない…
• 書き方に幅がある…
• おまけにブラウザごとに実装にムラがある…
• 利用者の環境は千差万別、考えて指定しないとカメラが取得できないです…と
いう問合せがくる…
雰囲気じゃなくてちゃんとやりたい人はこれ読もう
• https://goo.gl/9DWMGZ
@leader22
4.多人数通話はできないの?
多人数通話には3つ方法がある
• フルメッシュ
• MCU
• SFU
フルメッシュ
• P2Pの応用でクライアント側のみ
で実現可能
• 接続台数が増えると送受信先が増
えクライアントの負荷が増える
MCU
• MCU(Multipoint Control Unit)
で映像・音声をミキシングする
• 接続台数が増えても送受信先の数
が変わらないため、クライアント
負荷は増えないが、代わりにサー
バの負荷が増える MCU
SFU
• SFU(Selective Forwarding Unit)で
映像・音声をコピーし配信
• 送信ストリームは接続台数に関係なく
1本であり、クライアントの負荷を軽
減できる
• WebRTCでは主流の形式
• ソフトウェア方式のSFU(有償/無償)
• PaaSとして提供しているSFUあり
SFU
ユースケースにあわせて選択しましょう
5.WebRTCは運用開始後が大変…
つながらない問題
シグナリング・メディア通信
WebRTCにはシグナリングとメディア、2つの通信がある
Webサーバ
Aさん Bさん
シグナリングサーバ
シグナリング
メディアプレーン
参考:シグナリング
音声・映像等の通信を開始する前に通信相手と以下の情報を共有・交渉する
No 主要な情報 必要な理由
1 通信を開始したい旨、応答したい旨 どのタイミングで通信を開始して良いかわからないので
2 通信相⼿のIPアドレス・ポート番号 どこにパケットを送れば良いか分からないので
3 トランスポートプロトコル TCP、UDP※のどちらを使えば良いか分からないため
(※特にWebRTCではUDPをRTPでカプセル化している)
4 メディア種別
(⾳声、映像 等)
⾳声のみで通信したいのか、
映像も併⽤したいのか分からないため
5 コーデック
(H.264、VP8 等)
どんなコーデック(符号化⽅式)で
相⼿と通信するか分からないので
6 暗号化情報(鍵・アルゴリズム 等) どんな暗号化⽅式、共有鍵を⽤いるか分からないので
※先述したSDPの記述⽅法でこれらを交換する
つながらないパターン
1.シグナリングサーバと接続(だいたいWSS)ができない
2.メディアの通信(P2P)が疎通できない
Webサーバ
Aさん Bさん
シグナリングサーバ
シグナリング
メディアプレーン
つながらないパターン
1.シグナリングサーバとの接続(だいたいWSS)ができない
理由:WebSocket禁止、プロキシサーバ有り(法人ユーザに多い)
解決策1:疎通できるようにネットワークのポリシー変更
解決策2:イントラネット内にシグナリングサーバを立てる
つながらないパターン
2.メディアの通信(P2P)が疎通できない
理由:NATタイプがセキュア、 P2PやUDP通信が禁止されている
解決策1:疎通できるようにネットワークのポリシー変更
解決策2:TURNサーバを用意する
ICE
WebRTCではICEというプロコルを用いてP2P通信の経路を確立する
その際に利用されるユーティリティがSTUNサーバ、TURNサーバである
ICE
• STUN
• NATを越えるためのユーティリティ
• 自分のグローバルIPアドレス、ポート番号を知ることが出来る
• 得られた情報を利用してUDPホールパンチングを実施する
STUN
サーバSTUN
クライアント
(ブラウザ)
NAT
Binding Request
送信元IP:STUNクライアント
送信先IP:STUNサーバ
Binding Request
送信元IP:NATの外側のIP(★)
送信先IP:STUNサーバ
Binding Response
送信元IP:STUNサーバ
送信先IP:NATの外側のIP(★)
本⽂:NATの外側のIP(★)
Binding Response
送信元IP:STUNサーバ
送信先IP:STUNクライアント
本⽂:NATの外側のIP(★)
補⾜:上記フローには、実際には
IPアドレスとポート番号の両⽅が含まれる
参考:UDPホールパンチング
NAT NAT
STUNサーバ
参考:UDPホールパンチング
NAT
STUNサーバ
NAT
NATの外側のIPアドレス
ポート番号が知りたい
111.111.111.111
50000番
参考:UDPホールパンチング
NAT
STUNサーバ
NAT
NATの外側のIPアドレス
ポート番号が知りたい
222.222.222.222
55000番
IP : 111.111.111.111
Port : 50000
参考:UDPホールパンチング
NAT
STUNサーバ
NAT
IP : 222.222.222.222
Port : 55000
IP : 111.111.111.111
Port : 50000
ICE候補として
シグナリングで交換
参考:UDPホールパンチング
NATNAT相⼿のIP・ポートに向かっ
てUDPパケットを送信
⽳が開く
(折り返しが受けられる)
よくわからない通信は落と
される
IP : 222.222.222.222
Port : 55000
IP : 111.111.111.111
Port : 50000
参考:UDPホールパンチング
NATNAT
折り返し⽤の⽳を上⼿く通
過する
⽳が開く
(折り返しが受けられる)
相⼿のIP・ポートに向かっ
てUDPパケットを送信
IP : 222.222.222.222
Port : 55000
IP : 111.111.111.111
Port : 50000
相⼿に届く
(以後双⽅向で通信できる)
ICE
• UDPホールパンチングできるNATの種類には制限がある
NAT
Type
フルコーン 制限付きフル
コーン
ポート制限付
きフルコーン
シンメトリッ
ク
フルコーン
可 可 可 可
制限付きフル
コーン
可 可 可 可
ポート制限付
きフルコーン
可 可 可 不可
シンメトリッ
ク
可 可 不可 不可
ICE
• TURN
• UDPホールパンチングで通信ができない場合にメディアを中継する
• FW等でUDPパケットの通信が禁止されている場合にも有効
TURN
サーバ
Aさん:TURN
クライアント
(ブラウザ)
Allocation Request
送信元IP&ポート:STUNクライアント
送信先IP&ポート:TURNサーバ
Allocation Success Response
送信元IP&ポート:STUNサーバ
送信先IP&ポート:TURNクライアント
本⽂:TURNサーバにて中継⽤に
払い出すIPアドレスとポート(★)
Bさん:TURN
クライアント
(ブラウザ)
通信するための準備
ICE
• TURN
• UDPホールパンチングで通信ができない場合にメディアを中継する
• FW等でUDPパケットの通信が禁止されている場合にも有効
TURN
サーバ
Aさん:TURN
クライアント
(ブラウザ)
①Create Permissionリクエスト
(★のアドレスを使ってBさんと
通信したいので許可をください)
③メディアを流すと中継してくれる
Bさん:TURN
クライアント
(ブラウザ)
準備が整ったら許可を求める
メディアが中継される
参考:TURN通信パターン
• WebRTCにおけるTURN通信は2パターンある(その1)
TURNサーバ
Aさん:TURN
クライアント
Bさん:TURN
クライアント
TCP通信
Listening Address
IP : 111.111.111.111
Port : TCP 3478
UDP通信
Relay Address
IP : 111.111.111.111
Port : UDP50000
参考:TURN通信パターン
• WebRTCにおけるTURN通信は2パターンある(その2)
TURNサーバ
(複数台のサーバをリレーする場合もある)
Aさん:TURN
クライアント
Bさん:TURN
クライアント
Listening Address
IP : 111.111.111.111
Port : TCP 3478
Listening Address
IP : 111.111.111.111
Port : TCP 3478Relay Address
IP : 111.111.111.111
Port : UDP 50000
TCP通信 TCP通信
UDP通信 UDP通信
Relay Address
IP : 111.111.111.111
Port : UDP 55000
UDP通信
つながらない問題を切り分ける
デバッグ方法
ブラウザデバッグツールを活用する
• Chromeがおすすめ
• chrome://webrtc-internals
デバッグ方法
ネットワーク関連の情報(よく使う項目)
項目 意味
timestamp タイムスタンプ
現在利用しているTransportかどうかはこのタイム
スタンプが更新されているかどうかで判断
googxxxxAddress ローカル・リモートそれぞれのIPアドレスとポー
ト番号
xxxxCandidateId ローカル・リモートそれぞれで採択された
Candidate情報のID※1(通信するためのIPアドレス、
ポート番号等の候補情報)
このIDでサイト内を検索すると詳細が確認できる
googxxxxCandidateType ローカル・リモートそれぞれのCandidateタイプ
relay : TURN経由の接続
それ以外 : TURNを使用せずにダイレクト接続
デバッグ方法
メディア関連の情報
項目 意味
msid
MediaStreamIDでAudioTrackとVideoTrack
を束ねた1つのStreamを指す
JavaScriptから識別することができる
timestamp
タイムスタンプ
有効なTrackかどうかはこのタイムスタンプが
更新されているかどうかで判断
bytesSent 送受信バイト数
mediaType audio/video
packetsLost パケットがロストした場合に表示される
ssrc
Synchronisation Sourceという。ここでは
RTP(リアルタイムプロトコル)で利用する識
別子
transportId
先程見た Conn-xxxx-x-x に該当
このTrackがどのTransport(輸送路)を利用
しているかわかる
googCodecName 使用しているコーデック
googTrackId
TrackIDでJavaScriptから識別することもがで
きる
デバッグ方法
メディア関連の情報
320x240/10fps
640x480/30fps
1920x1080/30fps
これらの情報を参考に原因究明と解決策
を見出す
6. プラットフォームサービスは積極的
に活用しよう
WebRTCは総合格闘技
WebRTCは導入は簡単です。
でも、本格的に使う場合、全て自分でや
るのは地獄を見るかもしれません…
WebRTCを自分で全て開発する場合
WebアプリiOS
アプリ
アプリ
Android
アプリ
クラウド
iOS Android Windows Mac
ブラウザ
iOS
SDK
Android
SDK
JavaScript SDK
クラウド
Signaling
API
STUN
API
TURN
API
HTML5 API群
WebRTC プロトコル・スタック
自分で開発・用意 第三者が提供
デバイス側 クラウド側
通信
SFU
API
プラットフォームサービスを活用する場合
WebアプリiOS
アプリ
アプリ
Android
アプリ
クラウド
iOS Android Windows Mac
ブラウザ
iOS
SDK
Android
SDK
JavaScript SDK
クラウド
Signaling
API
STUN
API
TURN
API
HTML5 API群
WebRTC プロトコル・スタック
自分で開発・用意 第三者が提供
デバイス側 クラウド側
通信
プラフォーム事業者が提供
SFU
API
プラットフォームサービス
OpenTok
tokbox
SFUを利用した多対多配信が特徴
CafeX
Cafex Communications
LiveAssist等のWebRTC対応コンタクトセ
ンターソリューションを提供
プラットフォームサービス
SkyWay
NTT Communications
⽇本企業で唯⼀のプラットフォームサー
ビス、トライアル中は無料
Twillio
twillio
SIPとWebRTCを中継するSBC機能が特徴
プラットフォームサービス
FacePeer
FacePeer
BtoBtoC向けのビデオチャットプラ
フォームを提供
ミドルウェア
WebRTC SFU Sora
時⾬堂
国産ソフトウェアベースのSFUを提供
是非有効活用してみてください
注意
プラットフォームサービスを利用しても、
つながらない問題とかが全て解決するわ
けではありません
WebRTCを利用した開発の勘所、つか
んでもらえましたか?
最後にちょっと宣伝させてください
SkyWayは個人やスタートアップ向けに
無料枠が有ります。
とりあえず使ってみてください。
SkyWay Developer Meetup #1
■日時 : 2017年9月29日(金)18:30開場 19:00開始
■会場 : いいオフィス 東京都台東区東上野2-18-7共同ビル3F
■定員 : 200名
■参加費: 無料/登録制 事前登録はこちら
※詳しくはイベントサイトをご覧ください。
https://skyway.connpass.com/event/65697/
ご清聴ありがとうございました!

More Related Content

What's hot

WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編Contest Ntt-west
 
SFUの話
SFUの話SFUの話
SFUの話tnoho
 
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術Yoshiaki Sugimoto
 
今から始めるWebClient(JSUG勉強会 2020年その6 LT大会)
今から始めるWebClient(JSUG勉強会 2020年その6 LT大会)今から始めるWebClient(JSUG勉強会 2020年その6 LT大会)
今から始めるWebClient(JSUG勉強会 2020年その6 LT大会)NTT DATA Technology & Innovation
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側Yusuke Naka
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門torisoup
 
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説You_Kinjoh
 
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装tnoho
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践Yoshifumi Kawai
 
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~UnityTechnologiesJapan002
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解するIIJ
 
TDPT + VMCプロトコル on WebRTC
TDPT + VMCプロトコル on WebRTCTDPT + VMCプロトコル on WebRTC
TDPT + VMCプロトコル on WebRTChironroinakae
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しようUnity Technologies Japan K.K.
 
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみようWebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみようmganeko
 
究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!Ryosuke Otsuya
 
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~DeNA
 
WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装Yuta Suzuki
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14Ryo Suzuki
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫Yuta Imai
 

What's hot (20)

WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編
 
SFUの話
SFUの話SFUの話
SFUの話
 
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
 
今から始めるWebClient(JSUG勉強会 2020年その6 LT大会)
今から始めるWebClient(JSUG勉強会 2020年その6 LT大会)今から始めるWebClient(JSUG勉強会 2020年その6 LT大会)
今から始めるWebClient(JSUG勉強会 2020年その6 LT大会)
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
 
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
 
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
 
HTTPを理解する
HTTPを理解するHTTPを理解する
HTTPを理解する
 
TDPT + VMCプロトコル on WebRTC
TDPT + VMCプロトコル on WebRTCTDPT + VMCプロトコル on WebRTC
TDPT + VMCプロトコル on WebRTC
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
 
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみようWebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
 
究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!
 
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~『SHOWROOM』の大規模化に伴う技術課題のソリューション  ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~
 
WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 

Similar to 実践 WebRTC 〜最新事例と開発ノウハウの紹介〜

ブラウザでWebRTC - iOSゲートウェイ作ってみた
ブラウザでWebRTC - iOSゲートウェイ作ってみたブラウザでWebRTC - iOSゲートウェイ作ってみた
ブラウザでWebRTC - iOSゲートウェイ作ってみたmganeko
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMFAtomu Hidaka
 
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713Takehiro Kudou
 
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするYusuke Naka
 
Webrtc最新動向
Webrtc最新動向Webrtc最新動向
Webrtc最新動向Yusuke Naka
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep DiveHirofumi Ichihara
 
WebRTC meetup Tokyo 1
WebRTC meetup  Tokyo 1WebRTC meetup  Tokyo 1
WebRTC meetup Tokyo 1mganeko
 
2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar
2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar
2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminarInterop Tokyo ShowNet NOC Team
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_finalKazumasa Ikuta
 
20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会Minehiko Nohara
 
20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会Minehiko Nohara
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlowToshiki Tsuboi
 
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSFFRI, Inc.
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介NTT Communications Technology Development
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!Yusuke Naka
 
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月VirtualTech Japan Inc.
 
Windowsのパケットモニタ作成
Windowsのパケットモニタ作成Windowsのパケットモニタ作成
Windowsのパケットモニタ作成Shinichi Hirauchi
 

Similar to 実践 WebRTC 〜最新事例と開発ノウハウの紹介〜 (20)

ブラウザでWebRTC - iOSゲートウェイ作ってみた
ブラウザでWebRTC - iOSゲートウェイ作ってみたブラウザでWebRTC - iOSゲートウェイ作ってみた
ブラウザでWebRTC - iOSゲートウェイ作ってみた
 
WebRTCとSFU
WebRTCとSFUWebRTCとSFU
WebRTCとSFU
 
ShowNet2021 歩き方
ShowNet2021 歩き方ShowNet2021 歩き方
ShowNet2021 歩き方
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713
 
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みする
 
Webrtc最新動向
Webrtc最新動向Webrtc最新動向
Webrtc最新動向
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep Dive
 
WebRTC meetup Tokyo 1
WebRTC meetup  Tokyo 1WebRTC meetup  Tokyo 1
WebRTC meetup Tokyo 1
 
2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar
2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar
2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会
 
20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlow
 
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
 
20201127 .NET 5
20201127 .NET 520201127 .NET 5
20201127 .NET 5
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
 
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
 
Windowsのパケットモニタ作成
Windowsのパケットモニタ作成Windowsのパケットモニタ作成
Windowsのパケットモニタ作成
 

More from Yusuke Naka

SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-Yusuke Naka
 
SkyWay UG Kansai #1 Kickoff
SkyWay UG Kansai #1 KickoffSkyWay UG Kansai #1 Kickoff
SkyWay UG Kansai #1 KickoffYusuke Naka
 
SkyWay UG Tokyo #1 Kickoff
SkyWay UG Tokyo #1 KickoffSkyWay UG Tokyo #1 Kickoff
SkyWay UG Tokyo #1 KickoffYusuke Naka
 
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したことSkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したことYusuke Naka
 
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけNTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけYusuke Naka
 
WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発Yusuke Naka
 
HTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニングHTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニングYusuke Naka
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-Yusuke Naka
 
WebRTCハンズオン
WebRTCハンズオンWebRTCハンズオン
WebRTCハンズオンYusuke Naka
 
はじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCはじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCYusuke Naka
 
TypeScriptをオススメする理由
TypeScriptをオススメする理由TypeScriptをオススメする理由
TypeScriptをオススメする理由Yusuke Naka
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例Yusuke Naka
 
Chrome Extensionで スクリーンシェアをやってみる
Chrome ExtensionでスクリーンシェアをやってみるChrome Extensionでスクリーンシェアをやってみる
Chrome Extensionで スクリーンシェアをやってみるYusuke Naka
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズYusuke Naka
 
第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)Yusuke Naka
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会Yusuke Naka
 
SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術Yusuke Naka
 

More from Yusuke Naka (20)

SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
 
SkyWay UG Kansai #1 Kickoff
SkyWay UG Kansai #1 KickoffSkyWay UG Kansai #1 Kickoff
SkyWay UG Kansai #1 Kickoff
 
SkyWay UG Tokyo #1 Kickoff
SkyWay UG Tokyo #1 KickoffSkyWay UG Tokyo #1 Kickoff
SkyWay UG Tokyo #1 Kickoff
 
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したことSkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
 
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけNTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
 
WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発
 
HTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニングHTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニング
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
 
WebRTCハンズオン
WebRTCハンズオンWebRTCハンズオン
WebRTCハンズオン
 
はじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCはじめてのWebRTC/ORTC
はじめてのWebRTC/ORTC
 
TypeScriptをオススメする理由
TypeScriptをオススメする理由TypeScriptをオススメする理由
TypeScriptをオススメする理由
 
getUserMedia
getUserMediagetUserMedia
getUserMedia
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例
 
Chrome Extensionで スクリーンシェアをやってみる
Chrome ExtensionでスクリーンシェアをやってみるChrome Extensionでスクリーンシェアをやってみる
Chrome Extensionで スクリーンシェアをやってみる
 
SkyWay HandsOn
SkyWay HandsOnSkyWay HandsOn
SkyWay HandsOn
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ
 
第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)
 
5jCup WebRTC賞
5jCup WebRTC賞5jCup WebRTC賞
5jCup WebRTC賞
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会
 
SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術
 

Recently uploaded

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 

Recently uploaded (8)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 

実践 WebRTC 〜最新事例と開発ノウハウの紹介〜