Я пишу следующий код для запуска своей камеры и просмотра своего видео в браузере Google Chrome с помощью технологии webRTC. Есть два файла, которые я создал index.html и client.js. Я прикрепил код обоих. Сервер Node.js установлен на моем ПК. Проблема заключается в том, что моя камера включена, но я не могу видеть потоковое видео.
client.js
function hasUserMedia() {
//check if the browser supports the WebRTC
return !!(navigator.getUserMedia || navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia);
}
if (hasUserMedia()) {
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia
|| navigator.mozGetUserMedia;
//enabling video and audio channels
navigator.getUserMedia({ video: true, audio: true }, function (stream) {
var video = document.querySelector('video');
//inserting our stream to the video tag
video.src = window.URL.createObjectURL(stream);
}, function (err) {});
} else {
alert("WebRTC is not supported");
}'
index.html
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "utf-8" />
<link rel="stylesheet" href="css/main.css" />
</head>
<body>
<video autoplay></video>
<script src = "js/client.js"></script>
</body>
</html>
Кажется, вы используете старый код, теперь API изменился, лучше начать с новейшего API.
Попробуйте использовать сниппет в вашем client.js
var constraints = { audio: true, video: true};
navigator.mediaDevices.getUserMedia(constraints).then(function(stream) {
var video = document.querySelector('video');
video.srcObject = stream;
}).catch(function(err) {
console.log('Error in getting stream', err);
});