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

Yusuke Naka
Yusuke NakaEngineer at NTT Communications Corporation
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%その通りになるとは限らない…
• 書き方に幅がある…
• おまけにブラウザごとに実装にムラがある…
• 利用者の環境は千差万別、考えて指定しないとカメラが取得できないです…と
いう問合せがくる…
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
雰囲気じゃなくてちゃんとやりたい人はこれ読もう
• 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/
ご清聴ありがとうございました!
1 of 123

Recommended

WebRTCの技術解説 公開版 by
WebRTCの技術解説 公開版WebRTCの技術解説 公開版
WebRTCの技術解説 公開版Contest Ntt-west
46.8K views267 slides
SFUの話 by
SFUの話SFUの話
SFUの話tnoho
14.3K views21 slides
WebRTCの技術解説 第二版 公開版 本編 by
WebRTCの技術解説 第二版 公開版 本編WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編Contest Ntt-west
6.6K views126 slides
WebRTC入門+最新動向 by
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向Ryosuke Otsuya
19.2K views50 slides
WebRTC SFU Mediasoup Sample update by
WebRTC SFU Mediasoup Sample updateWebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample updatemganeko
4.3K views34 slides
WebSocket / WebRTCの技術紹介 by
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介Yasuhiro Mawarimichi
50.2K views139 slides

More Related Content

What's hot

WebSocketプロトコル by
WebSocketプロトコルWebSocketプロトコル
WebSocketプロトコルDaniel Perez
14.3K views39 slides
自宅で出来る!ゲームサーバの作り方 by
自宅で出来る!ゲームサーバの作り方自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方光晶 上原
27.6K views89 slides
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 by
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 Yugo Shimizu
16.7K views95 slides
MQTTとAMQPと.NET by
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NETterurou
39.8K views41 slides
マイクロにしすぎた結果がこれだよ! by
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
132.7K views32 slides
MagicOnion~C#でゲームサーバを開発しよう~ by
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~torisoup
25.9K views176 slides

What's hot(20)

WebSocketプロトコル by Daniel Perez
WebSocketプロトコルWebSocketプロトコル
WebSocketプロトコル
Daniel Perez14.3K views
自宅で出来る!ゲームサーバの作り方 by 光晶 上原
自宅で出来る!ゲームサーバの作り方自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
光晶 上原27.6K views
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 by Yugo Shimizu
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu16.7K views
MQTTとAMQPと.NET by terurou
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
terurou39.8K views
マイクロにしすぎた結果がこれだよ! by mosa siru
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru132.7K views
MagicOnion~C#でゲームサーバを開発しよう~ by torisoup
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
torisoup25.9K views
WebRTC/ORTCの最新動向まるわかり! by Yusuke Naka
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
Yusuke Naka22.1K views
KeycloakのDevice Flow、CIBAについて by Hiroyuki Wada
KeycloakのDevice Flow、CIBAについてKeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについて
Hiroyuki Wada2.9K views
WebRTC配信とハードウェアエンコーダ by tnoho
WebRTC配信とハードウェアエンコーダWebRTC配信とハードウェアエンコーダ
WebRTC配信とハードウェアエンコーダ
tnoho3.9K views
ここがつらいよWebRTC - WebRTC開発の落とし穴 by mganeko
ここがつらいよWebRTC - WebRTC開発の落とし穴ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴
mganeko4.3K views
HTTPを理解する by IIJ
HTTPを理解するHTTPを理解する
HTTPを理解する
IIJ557 views
LINE LIVE のチャットが
30,000+/min のコメント投稿を捌くようになるまで by LINE Corporation
LINE LIVE のチャットが
30,000+/min のコメント投稿を捌くようになるまでLINE LIVE のチャットが
30,000+/min のコメント投稿を捌くようになるまで
LINE LIVE のチャットが
30,000+/min のコメント投稿を捌くようになるまで
LINE Corporation6.6K views
RTMPのはなし - RTMP1.0の仕様とコンセプト / Concepts and Specification of RTMP by Masashi Shibata
RTMPのはなし - RTMP1.0の仕様とコンセプト / Concepts and Specification of RTMPRTMPのはなし - RTMP1.0の仕様とコンセプト / Concepts and Specification of RTMP
RTMPのはなし - RTMP1.0の仕様とコンセプト / Concepts and Specification of RTMP
Masashi Shibata3K views
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M... by whywaita
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita4.6K views
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築 by gree_tech
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
gree_tech10.4K views
Amazon Kinesis Video Streams WebRTC 使ってみた by mganeko
Amazon Kinesis Video Streams WebRTC 使ってみたAmazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみた
mganeko6.9K views
The Usage and Patterns of MagicOnion by Yoshifumi Kawai
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
Yoshifumi Kawai46.9K views

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

ブラウザでWebRTC - iOSゲートウェイ作ってみた by
ブラウザでWebRTC - iOSゲートウェイ作ってみたブラウザでWebRTC - iOSゲートウェイ作ってみた
ブラウザでWebRTC - iOSゲートウェイ作ってみたmganeko
6.3K views27 slides
WebRTCとSFU by
WebRTCとSFUWebRTCとSFU
WebRTCとSFUSaki Homma
2K views29 slides
ShowNet2021 歩き方 by
ShowNet2021 歩き方ShowNet2021 歩き方
ShowNet2021 歩き方Interop Tokyo ShowNet NOC Team
364 views9 slides
2014 1018 OSC-Fall Tokyo NETMF by
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMFAtomu Hidaka
854 views35 slides
openstack_neutron-dvr_os5thaniv_20150713 by
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713Takehiro Kudou
2.5K views28 slides
ORTCの仕様書をざっくり斜め読みする by
ORTCの仕様書をざっくり斜め読みするORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするYusuke Naka
6.2K views37 slides

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

ブラウザでWebRTC - iOSゲートウェイ作ってみた by mganeko
ブラウザでWebRTC - iOSゲートウェイ作ってみたブラウザでWebRTC - iOSゲートウェイ作ってみた
ブラウザでWebRTC - iOSゲートウェイ作ってみた
mganeko6.3K views
2014 1018 OSC-Fall Tokyo NETMF by Atomu Hidaka
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka854 views
openstack_neutron-dvr_os5thaniv_20150713 by Takehiro Kudou
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713
Takehiro Kudou2.5K views
ORTCの仕様書をざっくり斜め読みする by Yusuke Naka
ORTCの仕様書をざっくり斜め読みするORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みする
Yusuke Naka6.2K views
Webrtc最新動向 by Yusuke Naka
Webrtc最新動向Webrtc最新動向
Webrtc最新動向
Yusuke Naka10.3K views
WebRTC meetup Tokyo 1 by mganeko
WebRTC meetup  Tokyo 1WebRTC meetup  Tokyo 1
WebRTC meetup Tokyo 1
mganeko4.2K views
20170329 container technight-第一回勉強会 by Minehiko Nohara
20170329 container technight-第一回勉強会20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会
Minehiko Nohara663 views
20170329 container technight-第一回勉強会 by Minehiko Nohara
20170329 container technight-第一回勉強会20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会
Minehiko Nohara492 views
Azure Sphere リアルタイム処理 by Takashi Matsuoka
Azure Sphere リアルタイム処理Azure Sphere リアルタイム処理
Azure Sphere リアルタイム処理
Takashi Matsuoka532 views
RouterBOARD with OpenFlow by Toshiki Tsuboi
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlow
Toshiki Tsuboi12.6K views
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS by FFRI, Inc.
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
FFRI, Inc.6.2K views
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月 by VirtualTech Japan Inc.
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月

More from Yusuke Naka

SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン- by
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
3.9K views113 slides
SkyWay UG Kansai #1 Kickoff by
SkyWay UG Kansai #1 KickoffSkyWay UG Kansai #1 Kickoff
SkyWay UG Kansai #1 KickoffYusuke Naka
1.1K views15 slides
SkyWay UG Tokyo #1 Kickoff by
SkyWay UG Tokyo #1 KickoffSkyWay UG Tokyo #1 Kickoff
SkyWay UG Tokyo #1 KickoffYusuke Naka
697 views14 slides
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと by
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したことSkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したことYusuke Naka
948 views20 slides
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ by
NTTコミュニケーションズがちょっと変わったメディアを作ったわけNTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけYusuke Naka
2.8K views29 slides
WebRTC NextVersion時代のJavaScript開発 by
WebRTC NextVersion時代のJavaScript開発WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発Yusuke Naka
5.3K views110 slides

More from Yusuke Naka(20)

SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン- by 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 スペシャルバージョン-
Yusuke Naka3.9K views
SkyWay UG Kansai #1 Kickoff by Yusuke Naka
SkyWay UG Kansai #1 KickoffSkyWay UG Kansai #1 Kickoff
SkyWay UG Kansai #1 Kickoff
Yusuke Naka1.1K views
SkyWay UG Tokyo #1 Kickoff by Yusuke Naka
SkyWay UG Tokyo #1 KickoffSkyWay UG Tokyo #1 Kickoff
SkyWay UG Tokyo #1 Kickoff
Yusuke Naka697 views
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと by Yusuke Naka
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したことSkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
Yusuke Naka948 views
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ by Yusuke Naka
NTTコミュニケーションズがちょっと変わったメディアを作ったわけNTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
Yusuke Naka2.8K views
WebRTC NextVersion時代のJavaScript開発 by Yusuke Naka
WebRTC NextVersion時代のJavaScript開発WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発
Yusuke Naka5.3K views
HTML5 Experts.jp パフォーマンス・チューニング by Yusuke Naka
HTML5 Experts.jp パフォーマンス・チューニングHTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニング
Yusuke Naka4.4K views
注目の最新技術「WebRTC」とは? -技術概要と事例紹介- by Yusuke Naka
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
Yusuke Naka9.5K views
WebRTCハンズオン by Yusuke Naka
WebRTCハンズオンWebRTCハンズオン
WebRTCハンズオン
Yusuke Naka3.1K views
WebRTC開発者向けプラットフォーム SkyWayの裏側 by Yusuke Naka
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
Yusuke Naka27.7K views
はじめてのWebRTC/ORTC by Yusuke Naka
はじめてのWebRTC/ORTCはじめてのWebRTC/ORTC
はじめてのWebRTC/ORTC
Yusuke Naka4.3K views
TypeScriptをオススメする理由 by Yusuke Naka
TypeScriptをオススメする理由TypeScriptをオススメする理由
TypeScriptをオススメする理由
Yusuke Naka13.4K views
FuelPHP活用事例 by Yusuke Naka
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例
Yusuke Naka3.3K views
Chrome Extensionで スクリーンシェアをやってみる by Yusuke Naka
Chrome ExtensionでスクリーンシェアをやってみるChrome Extensionでスクリーンシェアをやってみる
Chrome Extensionで スクリーンシェアをやってみる
Yusuke Naka3.8K views
SkyWay HandsOn by Yusuke Naka
SkyWay HandsOnSkyWay HandsOn
SkyWay HandsOn
Yusuke Naka2.2K views
5分で分るWebRTCコーデックウォーズ by Yusuke Naka
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ
Yusuke Naka7.4K views
第72回読書するエンジニアの会(テーマ:変人) by Yusuke Naka
第72回読書するエンジニアの会(テーマ:変人)第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)
Yusuke Naka816 views
WebRTCを始めよう! HTML5fun 第一回勉強会 by Yusuke Naka
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会
Yusuke Naka8.1K views

Recently uploaded

PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PC Cluster Consortium
28 views36 slides
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PC Cluster Consortium
66 views12 slides
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 by
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可Hitachi, Ltd. OSS Solution Center.
10 views22 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
109 views26 slides
光コラボは契約してはいけない by
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
28 views17 slides

Recently uploaded(7)

PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga28 views

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