Как начать потоковое видео с помощью webRTC?

1

Я пишу следующий код для запуска своей камеры и просмотра своего видео в браузере 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>
Теги:
webrtc

1 ответ

1

Кажется, вы используете старый код, теперь 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);
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню