使用浏览器登录管理中心时的通话问题汇总与解决
1. 当服务器不是安装在本机时,使用浏览器通过内网IP地址去登录管理中心,收到门口机设备呼叫后点击接听会直接出现黑屏问题。
a. Google Chrome浏览器,如下图
因为服务器不在本机,又是通过ip为
192.168.252.80:1744
来访问,所以Chrome认为是不安全的(左上角,地址栏前显示)。在这种情况下点击接听或者监视想访问本机电脑的麦克风就会直接报错崩溃,例如出现如图左侧的黑屏,如果打开了浏览器调试工具可看到控制台打印了TypeError: Cannot read properties of undefined (reading 'getUserMedia')
和Uncaught TypeError: Cannot read properties of undefined (reading 'getUserMedia')
两个报错。
解决方法:
- 在Chrome浏览器地址栏输入
chrome://flags
,然后按回车进入到配置页面; - 在
chrome://flags
配置页面的搜索框输入Insecure origins treated as secure
进行搜索,找到对应的配置项; - 在
Insecure origins treated as secure
配置项的框里输入你访问服务器主机的IP地址和端口号,例如:192.168.252.80:1744
,进行配置白名单; - 把
Insecure origins treated as secure
配置项右侧选择设置为Enabled
; - 然后点击右下角
Relaunch
按钮重启浏览器;
b. 火狐浏览器,如下图
访问不是本机的IP地址
192.168.252.80:1744
的服务后,浏览器地址栏前侧会出现一个红杠锁,代表不安全地址。来电点击接听后,会出现黑屏,如果打开了浏览器调试工具可以看到控制台打印了TypeError: navigator.mediaDevices is undefined
与Uncaught TypeError: navigator.mediaDevices is undefined
这两个错误。
解决方法:
- 在火狐浏览器地址栏输入:
about:config
然后回车,会显示底层首选项的警示页面,点击“接受风险并继续”,会跳入底层首选项设置页面; - 在底层首选项设置页面的搜索框输入
insecure
,然后回车搜索相关设置选项; - 找到
media.devices.insecure.enabled
和media.getusermedia.insecure.enabled
都设置成true
; - 刷新管理中心重新登录,监视或者接听呼叫时接受浏览器访问摄像头或者麦克风就可以正常监视通话了。
c. Safari浏览器,点击监视会直接不显示视频和报错(已打开开发者JavaScript控制台)
Unhandled Promise Rejection: TypeError: undefined is not an object (evaluating 'navigator.mediaDevices.getUserMedia')
报错信息。
解决方法:
- 打开Safari浏览器,找到
开发
-->WebRTC
勾选允许不安全站点进行媒体捕捉
; - 回到管理中心访问页面,退出登录后,刷新浏览器,如果无法进入登录页面则修改地址
http://192.168.252.80:1744/login
为http://192.168.252.80:1744
,去掉“/login”重新访问; -
再进行监视或者接听通话,点击允许访问摄像头或者麦克风就可以正常显示视频画面和通话了。
d. Microsoft Edge浏览器
服务器不在本机安装,其地址是
192.168.252.80:1744
,Edge浏览器地址栏左侧会出现不安全的警示标识。进行监视设备时,视频区域不显示画面,再打开调试工具控制台时会输出Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'getUserMedia')
报错信息。
解决方法:
- 在Edge浏览器地址栏输入
edge://flags
,然后按回车进入到配置页面; - 在
edge://flags
配置页面的搜索框输入Insecure origins treated as secure
进行搜索,找到对应的配置项; - 在
Insecure origins treated as secure
配置项的框里输入你访问服务器主机的IP地址和端口号,例如:192.168.252.80:1744
,进行配置白名单; - 把
Insecure origins treated as secure
配置项右侧选择设置为已启用
; - 然后点击右下角
重启
按钮重启浏览器; - 再进行监视或者接听通话,点击允许访问摄像头或者麦克风就可以正常显示视频画面和通话了。
e. Oprea浏览器
服务器不在本机安装,其地址是
192.168.252.80:1744
,Oprea浏览器地址栏左侧会出现不安全的警示标识。进行监视设备时,视频区域不显示画面,再打开调试工具控制台时会输出Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'getUserMedia')
报错信息。
解决方法:
- 在Chrome浏览器地址栏输入
flags
,然后按回车进入到Experiments页面; - 在Experiments页面的搜索框输入
Insecure origins
进行搜索,找到对应的配置项; - 在
Insecure origins treated as secure
配置项的框里输入你访问服务器主机的IP地址和端口号,例如:192.168.252.80:1744
,进行配置白名单; - 把
Insecure origins treated as secure
配置项右侧选择设置为Enabled
; - 然后点击右下角
Relaunch
按钮重启浏览器; - 再进行监视或者接听通话,点击允许访问摄像头或者麦克风就可以正常显示视频画面和通话了。