gUM Demo

Adapted getUserMedia demo

by jib1

HTML

<video id="v" height="120" width="160" autoplay></video><br>
<button onclick="start()">Start!</button><div id="div"></div>

JavaScript

var constraints = {
  audio: true,
  video: {
    width: { min: 320, max: 480 },
    height: { min: 240, max: 360 },
    facingMode: "user",
    require: ["width", "height"] // needed pre-Firefox 38
  },
};

function start() {
  navigator.mediaDevices.getUserMedia(constraints)
  .then(stream => v.mozSrcObject = stream)
  .then(() => new Promise(resolve => v.onloadedmetadata = resolve))
  .then(() => wait(4000)) // needed pre-Firefox 38 (bug)
  .then(() => log("Success: " + v.videoWidth + "x" + v.videoHeight))
  .catch(failed);
}

var wait = ms => new Promise(resolve => setTimeout(resolve, ms));
var log = msg => div.innerHTML += "<p>" + msg + "</p>";
var failed = e => log(e.name +": "+ e.message +" : "+ e.lineNumber);