How to Program Interactive Videos for the Modern Web 🎥

This is me ... obviously

How can we record and upload video in the browser?

What about video chat?

What about streaming?

Questions

Intro: getUserMedia() 📹

MediaStream is the backbone of web video

But a MediaStream is not very useful on its own...

... a MediaStream is always an input to another browser API

Recording with MediaRecorder 🎞

MediaRecorder records the contents of a MediaStream into a "Blob"

But what about Safari?

<input type="file" accept="video/*" capture="user" />

Mobile Recording

Video Chat with WebRTC 📞

WebRTC: peer-to-peer browser connection to exchange, video, audio, or other abritrary data among users

Think Google Meet in the browser!

  • You still need infrastructure for some things
  • Focus: quantity over quality 
  • Recording this video not trivial

Bonus: Streaming

Stream Consumption

Protocols: HLS vs MPEG-DASH

Goals: Adaptive Bitrate, Smart Buffering

Stream Creation

Theoretically? yes.

Pracitcally? Not very much 😞

Made with Slides.com