SlideShare ist ein Scribd-Unternehmen logo
1 von 123
Downloaden Sie, um offline zu lesen
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/
ご清聴ありがとうございました!

Weitere ähnliche Inhalte

Was ist angesagt?

ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴mganeko
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編Contest Ntt-west
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~モノビット エンジン
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~UnityTechnologiesJapan002
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Yoshifumi Kawai
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
 
究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”Ryosuke Otsuya
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するYoshifumi Kawai
 
エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得Reimi Kuramochi Chiba
 
Amazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみたAmazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみたmganeko
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Preferred Networks
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Hiro H.
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]DeNA
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NETterurou
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ信之 岩永
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
WebSocketのキホン
WebSocketのキホンWebSocketのキホン
WebSocketのキホンYou_Kinjoh
 

Was ist angesagt? (20)

ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴ここがつらいよWebRTC - WebRTC開発の落とし穴
ここがつらいよWebRTC - WebRTC開発の落とし穴
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得
 
Amazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみたAmazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみた
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
WebSocketのキホン
WebSocketのキホンWebSocketのキホン
WebSocketのキホン
 

Ähnlich wie 実践 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
 

Ähnlich wie 実践 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のパケットモニタ作成
 

Mehr von 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開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側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
 

Mehr von 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開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
 
はじめての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 第一回勉強会
 

Kürzlich hochgeladen

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Kürzlich hochgeladen (9)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

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