На момент написания этой статьи лучшим решением является WebRTC. поддерживается в Chrome, Mozilla и Opera , но все еще недоступен в Internet Explorer и Safari.
Минималистическая демонстрация.
Index.html
<!DOCTYPE html>
<head>
</head>
<body>
<video></video>
<script src="webcam.js"></script>
</body>
webcam.js
(function () {
navigator.getMedia = (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia);
navigator.getMedia(
// constraints
{video:true, audio:false},
// success callback
function (mediaStream) {
var video = document.getElementsByTagName('video')[0];
video.src = window.URL.createObjectURL(mediaStream);
video.play();
},
//handle error
function (error) {
console.log(error);
})
})();
Подробнее здесь или там