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
Hacking with HTML5 Videp, RTC and Shared Web Wo...
Search
Cristiano Betta
April 11, 2014
Technology
0
53
Hacking with HTML5 Videp, RTC and Shared Web Workers
Cristiano Betta
April 11, 2014
Tweet
Share
More Decks by Cristiano Betta
See All by Cristiano Betta
Docs as Engineering - DevRelCon London 2019
cbetta
0
130
DevRelCon London 2019 - Developer Experience Workshop
cbetta
0
120
DevRelCon London 2019 - Developer Experience Workshop
cbetta
0
210
The 7 Deadly Sins of Developer Experience (DevRelCon Tokyo)
cbetta
0
3.9k
The State of Encryption
cbetta
0
320
Developer Experience Workshop
cbetta
1
550
The 7 Deadly Sins of Developer Onboarding
cbetta
0
180
A brick by brick guide to developer experience
cbetta
2
590
Hackathons Workshop
cbetta
0
250
Other Decks in Technology
See All in Technology
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
TypeScript、上達の瞬間
sadnessojisan
46
13k
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
550
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
Taming you application's environments
salaboy
0
190
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
310
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
610
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Site-Speed That Sticks
csswizardry
0
25
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Adopting Sorbet at Scale
ufuk
73
9.1k
Code Review Best Practice
trishagee
64
17k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Practical Orchestrator
shlominoach
186
10k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Transcript
The Web Can Do That Better! Hacking with HTML5 Video,
RTC and Shared Web Workers Cristiano Betta CodeMotion Rome, 2014
Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta
Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta Developer Advocate
@ PayPal
Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta Developer Advocate
@ PayPal Event organiser
Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta Developer Advocate
@ PayPal Event organiser Serial entrepreneur
Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta Developer Advocate
@ PayPal Event organiser Serial entrepreneur 50% Italian
Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta Developer Advocate
@ PayPal Event organiser Serial entrepreneur 50% Italian 100% Ferrari Lover
Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta Developer Advocate
@ PayPal Event organiser Serial entrepreneur 50% Italian 100% Ferrari Lover 0% Ferrari owner
None
None
None
None
None
15s
None
None
None
None
None
Complicated setup
Complicated setup Network sensitive
Complicated setup Network sensitive Data lock-in
None
None
None
None
None
28s
We Can Do This Better
The Web Can Do This Better
None
None
None
None
None
None
None
RTCPeerConnection
RTCPeerConnection Peer-to-Peer Data API
RTCPeerConnection Peer-to-Peer Data API Peer-to-Peer DTMF
Peer-to-Server?
WebSockets?
WebSockets?
None
None
None
None
None
webrtc-experiment.com
RecordRTC.js github.com/muaz-khan/WebRTC-Experiment/ tree/master/RecordRTC
RecordRTC is a server-less JavaScript library can be used to
record WebRTC audio/ video media streams. It supports cross- browser audio/video recording
stream
stream
stream <canvas>
stream <canvas> <audio>
stream <canvas> <audio> video blob
stream <canvas> <audio> video blob audio blob
None
video blob audio blob
gif blob
None
None
None
None
None
+
+
None
13mb for 30s!
30-90 seconds to upload 30 seconds of video
None
None
bgrins.github.io/videoconverter.js ! webrtc-experiment.com/ffmpeg/merging- wav-and-webm-into-mp4.html
Background Uploads
None
HTML Web Workers
Web Workers
Shared Web Workers
Web Workers Shared Web Workers
Web Workers Shared Web Workers Separate Threads
Web Workers Shared Web Workers Separate Threads Alive when referenced
Web Workers Shared Web Workers Separate Threads Alive when referenced
Reference lost on navigation
Web Workers Shared Web Workers Separate Threads Alive when referenced
Reference lost on navigation Separate references
Web Workers Shared Web Workers Separate Threads Alive when referenced
Reference lost on navigation Separate references Shared references
Web Workers
None
None
None
None
None
Shared Web Workers
None
None
None
None
None
None
None
/recorder
background-upload.js
background-upload.js
github.com/broofa/node-uuid stackoverflow.com/questions/13870853
/server
None
None
Was it worth it?
None
None
Chrome Only (for now)
Client side conversion
Firefox Nightly now has MediaStreamRecorder API
www.w3.org/TR/mediastream-recording
Streaming vs Uploading
Real background uploads
It’s live!
None
None
battlehack.org Istanbul, Berlin, Warsaw, London, Moscow
None
None
@cbetta slideshare.net/paypal
None
None
None
None