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
59
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
130
DevRelCon London 2019 - Developer Experience Workshop
cbetta
0
270
The 7 Deadly Sins of Developer Experience (DevRelCon Tokyo)
cbetta
0
4k
The State of Encryption
cbetta
0
340
Developer Experience Workshop
cbetta
1
570
The 7 Deadly Sins of Developer Onboarding
cbetta
0
180
A brick by brick guide to developer experience
cbetta
2
620
Hackathons Workshop
cbetta
0
270
Other Decks in Technology
See All in Technology
Two Blades, One Journey: Engineering While Managing
ohbarye
4
1.9k
Raycast Favorites × Script Command で実現するお手軽情報チェック
smasato
1
140
Pwned Labsのすゝめ
ken5scal
1
370
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
630
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
500
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
140
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
610
Iceberg Meetup Japan #1 : Iceberg and Databricks
databricksjapan
0
330
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
180
AWSを活用したIoTにおけるセキュリティ対策のご紹介
kwskyk
0
340
AIエージェント元年
shukob
0
150
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
190
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Writing Fast Ruby
sferik
628
61k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
Designing for Performance
lara
604
68k
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