Don't use createObjectURL, it leaks
by jib1
HTML
<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
<video id="video" width="160" height="120" autoplay></video><br>
<div id="div"></div>
JavaScript
var log = msg => div.innerHTML += msg + "<br>";
var wait = ms => new Promise(resolve => setTimeout(resolve, ms));
navigator.mediaDevices.getUserMedia({ video: true })
.then(stream => video.srcObject = stream)
.then(() => wait(2000))
.then(() => video.srcObject = null)
.catch(e => log(e.name + ": "+ e.message));