Hacking with HTML5 Videp, RTC and Shared Web Workers

Hacking with HTML5 Videp, RTC and Shared Web Workers

E0ee803f10db4d5fb85f8288a421850b?s=128

Cristiano Betta

April 11, 2014
Tweet

Transcript

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

    RTC and Shared Web Workers Cristiano Betta CodeMotion Rome, 2014
  2. Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta

  3. Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta Developer Advocate

    @ PayPal
  4. Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta Developer Advocate

    @ PayPal Event organiser
  5. Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta Developer Advocate

    @ PayPal Event organiser Serial entrepreneur
  6. Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta Developer Advocate

    @ PayPal Event organiser Serial entrepreneur 50% Italian
  7. Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta Developer Advocate

    @ PayPal Event organiser Serial entrepreneur 50% Italian 100% Ferrari Lover
  8. Cristiano Betta CodeMotion Rome, 2014 Cristiano Betta @cbetta Developer Advocate

    @ PayPal Event organiser Serial entrepreneur 50% Italian 100% Ferrari Lover 0% Ferrari owner
  9. None
  10. None
  11. None
  12. None
  13. None
  14. 15s

  15. None
  16. None
  17. None
  18. None
  19. None
  20. Complicated setup

  21. Complicated setup Network sensitive

  22. Complicated setup Network sensitive Data lock-in

  23. None
  24. None
  25. None
  26. None
  27. None
  28. 28s

  29. We Can Do This Better

  30. The Web Can Do This Better

  31. None
  32. None
  33. None
  34. None
  35. None
  36. None
  37. None
  38. RTCPeerConnection

  39. RTCPeerConnection Peer-to-Peer Data API

  40. RTCPeerConnection Peer-to-Peer Data API Peer-to-Peer DTMF

  41. Peer-to-Server?

  42. WebSockets?

  43. WebSockets?

  44. None
  45. None
  46. None
  47. None
  48. None
  49. webrtc-experiment.com

  50. RecordRTC.js github.com/muaz-khan/WebRTC-Experiment/ tree/master/RecordRTC

  51. RecordRTC is a server-less JavaScript library can be used to

    record WebRTC audio/ video media streams. It supports cross- browser audio/video recording
  52. stream

  53. stream

  54. stream <canvas>

  55. stream <canvas> <audio>

  56. stream <canvas> <audio> video blob

  57. stream <canvas> <audio> video blob audio blob

  58. None
  59. video blob audio blob

  60. gif blob

  61. None
  62. None
  63. None
  64. None
  65. None
  66. +

  67. +

  68. None
  69. 13mb for 30s!

  70. 30-90 seconds to upload 30 seconds of video

  71. None
  72. None
  73. bgrins.github.io/videoconverter.js ! webrtc-experiment.com/ffmpeg/merging- wav-and-webm-into-mp4.html

  74. Background Uploads

  75. None
  76. HTML Web Workers

  77. Web Workers

  78. Shared Web Workers

  79. Web Workers Shared Web Workers

  80. Web Workers Shared Web Workers Separate Threads

  81. Web Workers Shared Web Workers Separate Threads Alive when referenced

  82. Web Workers Shared Web Workers Separate Threads Alive when referenced

    Reference lost on navigation
  83. Web Workers Shared Web Workers Separate Threads Alive when referenced

    Reference lost on navigation Separate references
  84. Web Workers Shared Web Workers Separate Threads Alive when referenced

    Reference lost on navigation Separate references Shared references
  85. Web Workers

  86. None
  87. None
  88. None
  89. None
  90. None
  91. Shared Web Workers

  92. None
  93. None
  94. None
  95. None
  96. None
  97. None
  98. None
  99. /recorder

  100. background-upload.js

  101. background-upload.js

  102. github.com/broofa/node-uuid stackoverflow.com/questions/13870853

  103. /server

  104. None
  105. None
  106. Was it worth it?

  107. None
  108. None
  109. Chrome Only (for now)

  110. Client side conversion

  111. Firefox Nightly now has MediaStreamRecorder API

  112. www.w3.org/TR/mediastream-recording

  113. Streaming vs Uploading

  114. Real background uploads

  115. It’s live!

  116. None
  117. None
  118. battlehack.org Istanbul, Berlin, Warsaw, London, Moscow

  119. None
  120. None
  121. @cbetta slideshare.net/paypal

  122. None
  123. None
  124. None
  125. None