+ All Categories
Home > Documents > Hacking with html5 video, rtc and shared web workers

Hacking with html5 video, rtc and shared web workers

Date post: 17-May-2015
Category:
Upload: cristiano-betta
View: 449 times
Download: 6 times
Share this document with a friend
Popular Tags:
125
The Web Can Do That Better! Hacking with HTML5 Video, RTC and Shared Web Workers Cristiano Betta CodeMotion Rome, 2014
Transcript
Page 1: Hacking with html5 video, rtc and shared web workers

The Web Can Do That Better! Hacking with HTML5 Video, RTC

and Shared Web Workers

Cristiano Betta CodeMotion Rome, 2014

Page 2: Hacking with html5 video, rtc and shared web workers

Cristiano Betta CodeMotion Rome, 2014

Cristiano Betta @cbetta

Page 3: Hacking with html5 video, rtc and shared web workers

Cristiano Betta CodeMotion Rome, 2014

Cristiano Betta @cbetta Developer Advocate @ PayPal

Page 4: Hacking with html5 video, rtc and shared web workers

Cristiano Betta CodeMotion Rome, 2014

Cristiano Betta @cbetta Developer Advocate @ PayPal

Event organiser

Page 5: Hacking with html5 video, rtc and shared web workers

Cristiano Betta CodeMotion Rome, 2014

Cristiano Betta @cbetta Developer Advocate @ PayPal

Event organiser

Serial entrepreneur

Page 6: Hacking with html5 video, rtc and shared web workers

Cristiano Betta CodeMotion Rome, 2014

Cristiano Betta @cbetta Developer Advocate @ PayPal

Event organiser

Serial entrepreneur

50% Italian

Page 7: Hacking with html5 video, rtc and shared web workers

Cristiano Betta CodeMotion Rome, 2014

Cristiano Betta @cbetta Developer Advocate @ PayPal

Event organiser

Serial entrepreneur

50% Italian

100% Ferrari Lover

Page 8: Hacking with html5 video, rtc and shared web workers

Cristiano Betta CodeMotion Rome, 2014

Cristiano Betta @cbetta Developer Advocate @ PayPal

Event organiser

Serial entrepreneur

50% Italian

100% Ferrari Lover

0% Ferrari owner

Page 9: Hacking with html5 video, rtc and shared web workers
Page 10: Hacking with html5 video, rtc and shared web workers
Page 11: Hacking with html5 video, rtc and shared web workers
Page 12: Hacking with html5 video, rtc and shared web workers
Page 13: Hacking with html5 video, rtc and shared web workers
Page 14: Hacking with html5 video, rtc and shared web workers

15s

Page 15: Hacking with html5 video, rtc and shared web workers
Page 16: Hacking with html5 video, rtc and shared web workers
Page 17: Hacking with html5 video, rtc and shared web workers
Page 18: Hacking with html5 video, rtc and shared web workers
Page 19: Hacking with html5 video, rtc and shared web workers
Page 20: Hacking with html5 video, rtc and shared web workers

Complicated setup

Page 21: Hacking with html5 video, rtc and shared web workers

Complicated setup

Network sensitive

Page 22: Hacking with html5 video, rtc and shared web workers

Complicated setup

Network sensitive

Data lock-in

Page 23: Hacking with html5 video, rtc and shared web workers
Page 24: Hacking with html5 video, rtc and shared web workers
Page 25: Hacking with html5 video, rtc and shared web workers
Page 26: Hacking with html5 video, rtc and shared web workers
Page 27: Hacking with html5 video, rtc and shared web workers
Page 28: Hacking with html5 video, rtc and shared web workers

28s

Page 29: Hacking with html5 video, rtc and shared web workers

We Can Do This Better

Page 30: Hacking with html5 video, rtc and shared web workers

The Web Can Do This Better

Page 31: Hacking with html5 video, rtc and shared web workers
Page 32: Hacking with html5 video, rtc and shared web workers
Page 33: Hacking with html5 video, rtc and shared web workers
Page 34: Hacking with html5 video, rtc and shared web workers
Page 35: Hacking with html5 video, rtc and shared web workers
Page 36: Hacking with html5 video, rtc and shared web workers
Page 37: Hacking with html5 video, rtc and shared web workers
Page 38: Hacking with html5 video, rtc and shared web workers

RTCPeerConnection

Page 39: Hacking with html5 video, rtc and shared web workers

RTCPeerConnectionPeer-to-Peer Data API

Page 40: Hacking with html5 video, rtc and shared web workers

RTCPeerConnectionPeer-to-Peer Data APIPeer-to-Peer DTMF

Page 41: Hacking with html5 video, rtc and shared web workers

Peer-to-Server?

Page 42: Hacking with html5 video, rtc and shared web workers

WebSockets?

Page 43: Hacking with html5 video, rtc and shared web workers

WebSockets?

Page 44: Hacking with html5 video, rtc and shared web workers
Page 45: Hacking with html5 video, rtc and shared web workers
Page 46: Hacking with html5 video, rtc and shared web workers
Page 47: Hacking with html5 video, rtc and shared web workers
Page 48: Hacking with html5 video, rtc and shared web workers
Page 49: Hacking with html5 video, rtc and shared web workers

webrtc-experiment.com

Page 50: Hacking with html5 video, rtc and shared web workers

RecordRTC.js github.com/muaz-khan/WebRTC-Experiment/

tree/master/RecordRTC

Page 51: Hacking with html5 video, rtc and shared web workers

RecordRTC is a server-less JavaScript library can be used to record WebRTC audio/

video media streams. It supports cross-browser audio/video recording

Page 52: Hacking with html5 video, rtc and shared web workers

stream

Page 53: Hacking with html5 video, rtc and shared web workers

stream

Page 54: Hacking with html5 video, rtc and shared web workers

stream

<canvas>

Page 55: Hacking with html5 video, rtc and shared web workers

stream

<canvas> <audio>

Page 56: Hacking with html5 video, rtc and shared web workers

stream

<canvas> <audio>

video blob

Page 57: Hacking with html5 video, rtc and shared web workers

stream

<canvas> <audio>

video blob audio blob

Page 58: Hacking with html5 video, rtc and shared web workers
Page 59: Hacking with html5 video, rtc and shared web workers

video blob audio blob

Page 60: Hacking with html5 video, rtc and shared web workers

gif blob

Page 61: Hacking with html5 video, rtc and shared web workers
Page 62: Hacking with html5 video, rtc and shared web workers
Page 63: Hacking with html5 video, rtc and shared web workers
Page 64: Hacking with html5 video, rtc and shared web workers
Page 65: Hacking with html5 video, rtc and shared web workers
Page 66: Hacking with html5 video, rtc and shared web workers

+

Page 67: Hacking with html5 video, rtc and shared web workers

+

Page 68: Hacking with html5 video, rtc and shared web workers
Page 69: Hacking with html5 video, rtc and shared web workers

13mb for 30s!

Page 70: Hacking with html5 video, rtc and shared web workers

30-90 seconds to upload 30 seconds of video

Page 71: Hacking with html5 video, rtc and shared web workers
Page 72: Hacking with html5 video, rtc and shared web workers
Page 73: Hacking with html5 video, rtc and shared web workers

bgrins.github.io/videoconverter.js !

webrtc-experiment.com/ffmpeg/merging-wav-and-webm-into-mp4.html

Page 74: Hacking with html5 video, rtc and shared web workers

Background Uploads

Page 75: Hacking with html5 video, rtc and shared web workers
Page 76: Hacking with html5 video, rtc and shared web workers

HTML Web Workers

Page 77: Hacking with html5 video, rtc and shared web workers

Web Workers

Page 78: Hacking with html5 video, rtc and shared web workers

Shared Web Workers

Page 79: Hacking with html5 video, rtc and shared web workers

Web Workers Shared Web Workers

Page 80: Hacking with html5 video, rtc and shared web workers

Web Workers Shared Web Workers

Separate Threads

Page 81: Hacking with html5 video, rtc and shared web workers

Web Workers Shared Web Workers

Separate Threads

Alive when referenced

Page 82: Hacking with html5 video, rtc and shared web workers

Web Workers Shared Web Workers

Separate Threads

Alive when referenced

Reference lost on navigation

Page 83: Hacking with html5 video, rtc and shared web workers

Web Workers Shared Web Workers

Separate Threads

Alive when referenced

Reference lost on navigation

Separate references

Page 84: Hacking with html5 video, rtc and shared web workers

Web Workers Shared Web Workers

Separate Threads

Alive when referenced

Reference lost on navigation

Separate references Shared references

Page 85: Hacking with html5 video, rtc and shared web workers

Web Workers

Page 86: Hacking with html5 video, rtc and shared web workers
Page 87: Hacking with html5 video, rtc and shared web workers
Page 88: Hacking with html5 video, rtc and shared web workers
Page 89: Hacking with html5 video, rtc and shared web workers
Page 90: Hacking with html5 video, rtc and shared web workers
Page 91: Hacking with html5 video, rtc and shared web workers

Shared Web Workers

Page 92: Hacking with html5 video, rtc and shared web workers
Page 93: Hacking with html5 video, rtc and shared web workers
Page 94: Hacking with html5 video, rtc and shared web workers
Page 95: Hacking with html5 video, rtc and shared web workers
Page 96: Hacking with html5 video, rtc and shared web workers
Page 97: Hacking with html5 video, rtc and shared web workers
Page 98: Hacking with html5 video, rtc and shared web workers
Page 99: Hacking with html5 video, rtc and shared web workers

/recorder

Page 100: Hacking with html5 video, rtc and shared web workers

background-upload.js

Page 101: Hacking with html5 video, rtc and shared web workers

background-upload.js

Page 102: Hacking with html5 video, rtc and shared web workers

github.com/broofa/node-uuid

stackoverflow.com/questions/13870853

Page 103: Hacking with html5 video, rtc and shared web workers

/server

Page 104: Hacking with html5 video, rtc and shared web workers
Page 105: Hacking with html5 video, rtc and shared web workers
Page 106: Hacking with html5 video, rtc and shared web workers

Was it worth it?

Page 107: Hacking with html5 video, rtc and shared web workers
Page 108: Hacking with html5 video, rtc and shared web workers
Page 109: Hacking with html5 video, rtc and shared web workers

Chrome Only (for now)

Page 110: Hacking with html5 video, rtc and shared web workers

Client side conversion

Page 111: Hacking with html5 video, rtc and shared web workers

Firefox Nightly now has MediaStreamRecorder API

Page 112: Hacking with html5 video, rtc and shared web workers

www.w3.org/TR/mediastream-recording

Page 113: Hacking with html5 video, rtc and shared web workers

Streaming vs Uploading

Page 114: Hacking with html5 video, rtc and shared web workers

Real background uploads

Page 115: Hacking with html5 video, rtc and shared web workers

It’s live!

Page 116: Hacking with html5 video, rtc and shared web workers
Page 117: Hacking with html5 video, rtc and shared web workers
Page 118: Hacking with html5 video, rtc and shared web workers

battlehack.orgIstanbul, Berlin, Warsaw,

London, Moscow

Page 119: Hacking with html5 video, rtc and shared web workers
Page 120: Hacking with html5 video, rtc and shared web workers
Page 121: Hacking with html5 video, rtc and shared web workers

@cbetta slideshare.net/paypal

Page 122: Hacking with html5 video, rtc and shared web workers
Page 123: Hacking with html5 video, rtc and shared web workers
Page 124: Hacking with html5 video, rtc and shared web workers
Page 125: Hacking with html5 video, rtc and shared web workers

Recommended