3

我正在使用getUserMedia()进行node.js和angular project(MEAN)中的视频流。我的<video>标签位于部分文件内。该项目在本地服务器中与Google Chrome,Opera和Firefox兼容,运行流畅,&。但是当我试图通过使用谷歌浏览器的Ubuntu服务器运行它时(只有Chrome的问题),视频不显示。在控制台
错误的详细信息如下:为什么getUserMedia()在chrome中显示权限被拒绝错误

(程序):84 navigator.getUserMedia错误:PermissionDeniedError(错误名称)

我使用的Chrome版本47.0.2526.80。我现在用的HTTP为这个项目。我也收到警告,要将我的应用程序切换到安全的来源,例如HTTPS。为什么它在Chrome中无法正常运行。

+0

Ubuntu有它自己的浏览器铬你铬 – Ahmer

+0

检查更具体,表明你的代码,请。 – Jairo

+1

已弃用navigator.getUserMedia: 此功能已从Web标准中删除。尽管一些浏览器可能仍然支持它,但它正在被丢弃。避免使用它并尽可能更新现有的代码;请参阅本页底部的兼容性表格来指导您的决定。请注意,此功能可能随时停止工作。 @Rajib – zahed

回答

4

谷歌浏览器已停止支持getUserMedia()以及一些其他功能,如Geolocation,Fullscreen等不安全的起源。我认为它允许localhost的这些功能,以启用测试,但它们不会在实际的服务器上工作。

这里是从谷歌的相关公告:

https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins

+0

如果我让我的服务器HTTPS将解决这个问题 – Rajib

+2

是的,从现在开始,如果你使用这些API,它已经成为强制部署在安全的服务器上 – beaver

+1

是的,你现在需要https服务器作为@海狸说。 – axaq