Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
オンライン英会話とSkyWay
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
taminif
January 15, 2018
Programming
550
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
オンライン英会話とSkyWay
SkyWay UG Kansai #1
https://skyway.connpass.com/event/74875/
taminif
January 15, 2018
More Decks by taminif
See All by taminif
React Native New Architecture 移行実践報告
taminif
1
250
「とりあえずAI」が招く悲劇〜私がAIで生産性を下げるまでの話〜 / The tragedy caused by "AI for now" - The story of how I used AI to reduce my productivity
taminif
1
320
PuppeteerとPlaywrightの15日間の演劇 / relation of Puppeteer and Playwright
taminif
3
2.3k
Redashの開発はじめました / How to get started Redash development
taminif
0
810
私の生活を変えたHeadless Chrome / Headless Chrome who changed my life
taminif
3
540
WebSocketをiOSに持ち込んで辛い思いをした経験がありますか!? / have you painful experience in web socket?
taminif
3
6.2k
LINEで馬券を購入する / Purchase a betting ticket at LINE
taminif
1
1.7k
SkyWayで一年間運用してきたけどWebRTCってつらいんじゃないの
taminif
2
1k
オンライン英会話アプリとSkyWay
taminif
0
500
Other Decks in Programming
See All in Programming
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
400
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
200
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
170
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
510
act2-costs.pdf
sumedhbala
0
110
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
150
どこまでゆるくて許されるのか
tk3fftk
0
470
共通化で考えるべきは、実装より公開する型だった
codeegg
0
210
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
110
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
190
スマートグラスで並列バイブコーディング
hyshu
0
290
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
110
Featured
See All Featured
Designing for Performance
lara
611
70k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
230
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Skip the Path - Find Your Career Trail
mkilby
1
170
How to Talk to Developers About Accessibility
jct
2
340
Why Our Code Smells
bkeepers
PRO
340
58k
Fireside Chat
paigeccino
42
4k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Speed Design
sergeychernyshev
33
1.9k
Design in an AI World
tapps
1
260
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
Exploring anti-patterns in Rails
aemeredith
3
440
Transcript
ΦϯϥΠϯӳձͱ SkyWay SkyWay UG Kansai #1 2018/01/12 େౡ ޫو@sbntaminif
ࣗݾհ • ΣϒϦΦגࣜձࣾWEBΤϯδχΞ + ϓϩμΫτ Ϛωʔδϟʔ • খ͍͞Ͱ͕͢ຊεϙϯαʔ͍͍͓ͤͯͨͩͯ͞Γ ·͢ʂ •
ීஈژͰಇ͍͍ͯ·͢
http://ejje.weblio.jp/content/ios
ΦϯϥΠϯࣙॻΛఏڙ͢Δ WebαʔϏε
ࣙॻҎ֎ʹ ӳձαʔϏεΛ͍ͬͯ ·͢
None
Skypeӳձͱݴ͑ ฉ͍ͨ͜ͱ͋Δํ ଟ͍ͷͰͳ͍Ͱ͠ΐ͏͔
20173݄1ΑΓɺWebRTCΛ ༻ͨ͠Ϩοεϯʹ Ҡߦ͠·ͨ͠ɻ
WebRTCͱʢςϯϓϨʣ • W3C͕ఏএ͢ΔP2PϦΞϧλΠϜίϛϡχέʔ γϣϯΛ࣮ݱ͢Δٕज़ • ϓϥάΠϯͳ͠ͰϒϥβؒͷΓͱΓ͕Մೳ • ຊதͷਓ͕͍Βͬ͠ΌΔͷͰ આ໌͓ͤ͠Α͏ͱࢥ͍·͢ɻ
SkyWay: WebRTCΛ؆୯ʹ ࣮ݱ͢ΔαʔϏε https://webrtc.ecl.ntt.com
ͯ͞ɾɾɾ
ࠓԿͷΛ͢Δ͔
ԿͷΛ͠Α͏ • ٕज़ͷʁ • ฐࣾΤϯδχΞἧ͍ • ͭΒΈͷʁ • தͷਓͷલʹ ωΨςΟϒΩϟϯϖʔϯͰ͖·ͤΜʂʂ
ԿͷΛ͠Α͏ • ٕज़ͷʁ • ฐࣾΤϯδχΞἧ͍ • ͭΒΈͷʁ • தͷਓͷલʹ ωΨςΟϒΩϟϯϖʔϯͰ͖·ͤΜʂʂ
-> ܦҢͷͲ͏ͩΖ͏͔ʁ
SkyWayΛಋೖͨ͠ܦҢͷΛ ͢Εɺ࠙ձͰ͘͢͠ ͳΔͷͰͳ͍ͩΖ͏͔ʂ
Weblioӳձ ͍ͭɺͲ͜ͰɺͩΕ͕ɺ SkyWayΛɺͳͥಋೖͨ͠ͷ͔
Weblioӳձͷ 5W1H
ᶃWHEN ͍ͭ
ϦϦʔε20173݄Ͱ͕͢ ͜͜Ͱ͏গ͠ৄ͘͠
WHEN • 201612݄ʹWebRTCҠߦΛܾఆ • ։ൃظؒ4ϲ݄ • ։ൃϝϯόʔ5ਓ • ΞϓϦಉ࣌ฒߦ
ᶄWHERE Ͳ͜
͜ͷ෦
ॳ͜͜8FC35$Ͱ ࣮͢ΔͭΓͰ͕ͨ͠ ϩάΛͨ͢Ίஅ೦
ᶅWHO ͩΕ
্͕ಋೖΛܾఆ͠·ͨ͠ ແྉͩͬͨͷͰোน͕ ͔ͬͨͷྑ͔ͬͨ
ᶆWHAT ͳʹ
SkyWay https://webrtc.ecl.ntt.com
͔ͤͬ͘ͳͷͰ ଞͷαʔϏε બ͠ͳ͔͔ͬͨ
WHAT • 201612݄Ͱ֎෦αʔϏεΛ͏߹ͷબࢶೋͭ • SkyWay • ָఱʢαʔϏε໊Εͯ͠·͍·ͨ͠ɻɻʣ • ແྉͰ͑ΔͷSkyWayͷΈͩͬͨ •
ࣗࣾͰαʔόʔͨͯΔͷίετͷ໘Ͱͳͩͬͨ͠
ᶇWHY ͳͥ
ͦͦͳͥ WebRTCʹҠߦ͔ͨ͠
SkypeͰͬͯͨࠒ
WHY • SkypeͰຊʹϨοεϯ͍ͯ͠Δͷ͔ • τϥϒϧൃੜ࣌ʹԿ͕ى͖͍ͯΔͷ͔ • 1ਓ1ΞΧϯτ͔͠࡞Εͳ͔ͬͨ • ֶߍʹఏڙ͢Δ্ͰϚΠφε
ݶք͕དྷ͍ͯͨ
ࠓͰSkypeͷͱ͜Ζ͕΄ͱ ΜͲͰ͕͢ɺۀքશମͰҠߦ ͷಈ͖͕͋Γ·͢ʂ
ᶈHOW ͲͷΑ͏ʹ
ϏσΦνϟοτ෦ peer2 .on("open", (p2id) => { peer2id = p2id; //
ૹΓଆ peer1 = new Peer(config); peer1 .on("open", (p1id) => { makeNewCall(); }); }); ͜ͷ1FFS TLZXBZKTΛ JNQPSUͨ͠ͷ ࣍ϖʔδ
ϏσΦνϟοτ෦ function makeNewCall() { const constraints = getConstraints(); getUserMedia(constraints) .then((myStream)
=> { console.log("created"); // طଘΦϒδΣΫτΛഁغ if (call !== null) { call.close(); call = null; } if (streamUrl !== null) { URL.revokeObjectURL(streamUrl); streamUrl = null; } console.log("sending stream..."); call = peer1.call(peer2id, myStream, { audioBandwidth: AUDIO_BANDWIDTH, // max audio bandwidth (kbps) videoBandwidth: Number($("#videoBandwidth").val()), // max video bandwidth (kbps) }); }) .catch(errorHandler); } 4USFBNΛऔಘ͠ 1SPNJTFΛฦ͢ औಘͨ͠4USFBNΛDBMM͠ ૬खʹૹ৴
ιʔείʔυGithubΛࢀߟ ʹ͍ͯͩ͘͠͞ʂ https://github.com/weblio/webrtc-kun
͋ͱ࠙ձͰ ͳΜͰฉ͍͍ͯͩ͘͞ʂ
We are Hiring!
͋Γ͕ͱ͏͍͟͝·ͨ͠