Browsers generally will not set `navigator.mediaDevices` unless you're using a secure connection (except for localhost). This is frustrating when testing apps that use these features as you then need to use self signed certs. I understand why, though.