Spaces:
Runtime error
Runtime error
File size: 2,139 Bytes
348414c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
// establishing connection between client and server by getting the url.
var socket = io.connect(window.location.protocol + '//' + document.domain + ':' + location.port, {
transports: ['websocket']
});
// once connected sending out printing out connected
socket.on('connect', function () {
console.log("Connected...!", socket.connected)
});
// print results
var result = document.getElementById('name')
var score = document.getElementById('score')
socket.on('result',(data) =>{
//console.log(data);
result.innerHTML = data['name']
score.innerHTML = data['score']
});
// global varibales for video and output.
var video = document.getElementById('videoElement');
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var send_data;
// set video dimentions.
video.width = 400;
video.height = 300;
// rate of sending image
const FPS = 10;
// function for sending the webcam input
function send() {
width = video.width;
height = video.height;
context.drawImage(video, 0, 0, width, height);
var data = canvas.toDataURL('image/jpeg', 0.5);
context.clearRect(0, 0, width, height);
socket.emit('image', data);
};
// funtion to start webcam on client side
function start_camera() {
send_data = setInterval(send, 1000 / FPS)
let devices = navigator.mediaDevices
if (!devices || !devices.getUserMedia) {
console.log("getUserMedia() not supported.");
return;
}
devices.getUserMedia({
video: true
})
.then(function (vidstream) {
if ("srcObject" in video) {
video.srcObject = vidstream;
} else {
video.src = window.src = window.URL.createObjectURL(vidstream);
}
video.onloadeddata = function (e) {
video.play();
};
})
.catch(function (e) {
console.log(e.name + ": " + e.massage);
});
};
// stopping camera input and sending data.
function stop_camera() {
video.srcObject.getTracks()[0].stop();
video.srcObject = null;
clearInterval(send_data);
}; |