16

I am trying to access my webcam using the getUserMedia() using my own website that run using my own ip address.

it was working fine until i tried my website again. i had tried the other demo site and the error given was getUserMedia is not supported.

Chrome version v47.0.2526.80m 32bits

enter image description here

I am able to access the webcam if i enter localhost instead of my ipadress. it also work in firefox.

Mick Jack
  • 530
  • 1
  • 4
  • 18

3 Answers3

21

Chrome is requiring secure origins (HTTPS) for getUserMedia.

Starting with Chrome 47, getUserMedia() requests are only allowed from secure origins: HTTPS or localhost.

https://developers.google.com/web/updates/2015/10/chrome-47-webrtc?hl=en

Clay
  • 4,458
  • 3
  • 29
  • 45
12

Chrome finally implemented the new navigator.mediaDevices.getUserMedia() method, but they added a security that will prevent the calls from unsecure address (non https or non localhost servers)

You will call it like this :

var video = document.querySelector('video');
navigator.mediaDevices.getUserMedia({video:true}).then(function(mediaStream){
    window.stream = mediaStream;
    video.src = URL.createObjectURL(mediaStream);
    video.play();
});

Or you can use the official webRTC polyfill adpater.js library.

var constraints = { video: true, audio: true };

navigator.mediaDevices.getUserMedia(constraints)
  .then(stream => video.srcObject = stream)
  .catch(e => console.error(e));
Kaiido
  • 87,051
  • 7
  • 143
  • 194
11

I am not sure if this exactly solves your problem. However, it might be helpful to someone who is struggling to have getUserMedia() in a working state.

I came across a medium link that helped me solve this issue.

Go to : chrome://flags/#unsafely-treat-insecure-origin-as-secure

Enable the option.

Also, there will be a checkbox provided below. Use that to provide the link to your HTTP server.

Referr to this image for better clarity

Provide the port number too. (In my case it is 8000)

Source: https://medium.com/@Carmichaelize/enabling-the-microphone-camera-in-chrome-for-local-unsecure-origins-9c90c3149339