WebRTC Look Ma, no Flash!

The same “About Me” as last time

OMG! WebRTC WTF

webrtc.org

WebRTC Browser Support

NOTE: Very likely to be out of date by the time you read this.

Desktop

Opera Chrome Firefox Safari IE
Webcam 12 18 (webkit, with flag)
21 (webkit, no flag)
18 (moz, with flag)
20 (moz, no flag)
via Chrome Frame
Microphone 24 (webkit, with flag)
PeerCommunication 23 (webkit) 20 (moz) via Chrome Frame

Mobile

Android iOS Windows Phone
Opera Mobile 12
Bowser
Bowser Good luck

What I’ll be rambling about

Basic webcam feed

navigator.getUserMedia({video: true}) create stream source <video> <canvas>

Old canvas tricks, new dynamic src

Crouching tiger, hidden canvas

A more practical example

User avatar picker for Confluence.

(YET ANOTHER DEMO)

Augmented Reality

Surely someone was going to ask, right?

Why WebRTC > Flash

Where it fails (so far)

Basic microphone feed

navigator.getUserMedia({audio: true}) create stream source Web Audio API

Web Audio API

www.w3.org/TR/webaudio/

Check... check... 1... 2...

getUserMedia() + Web Audio API = Microphone shenanigans

Creepy music

Combine powers

Webcam + Microphone + Audio API

Time to make a game

Always Bet on JS Image courtesy Brendan Eich

Questions?