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
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
330
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.3k
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
FDEが実現するAI駆動経営の現在地
gonta
2
260
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
360
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
140
プロポーザルを書いてもらう
pvcresin
0
130
Foundation Models frameworkで画像分析
ryodeveloper
1
510
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
250
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
970
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
410
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
200
継続モナドとリアクティブプログラミング
yukikurage
3
680
Built Our Own Background Agent at LayerX
layerx
PRO
9
4.9k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
520
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.7k
Skip the Path - Find Your Career Trail
mkilby
1
180
Site-Speed That Sticks
csswizardry
13
1.4k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.2k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
420
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Faster Mobile Websites
deanohume
310
32k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
330
Building AI with AI
inesmontani
PRO
1
1.1k
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!
͋Γ͕ͱ͏͍͟͝·ͨ͠