使用WebRTC实现多人视频会议

1.初步准备

1.1.使用同事nodejs开发的一个信令服务器。提供Https的WebSocket功能

1.2.准备一个多人视频会议的客户端Web程序client.html

2.遇到问题

2.1.在Tomcat下打开client.html,如果不使用http://127.0.0.1:8081/vedio/client.html,而使用实际IP地址访问如http://192.168.1.136:8081/vedio/client.html

 就会出现如下图的问题,没有权限打开本地摄像头和麦克风:

 

Uncaught TypeError: Cannot read properties of undefined (reading 'getUserMedia')
    at createLocalStream (client.html:26:36)
    at client.html:178:9

2.2.解决chrome同源问题 

been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource

可以采用的解决方法参考:https://www.dgrt.cn/a/2076488.html?action=onClick

 2.3.由于同事开发的信令服务器使用了自签名证书,chrome等浏览器会报如下错误:

net::ERR_CERT_AUTHORITY_INVALID

解决方案1: (chrome测试没有效果)

代码忽略

					const socket = io.connect('https://127.0.0.1:8443', {
					    rejectUnauthorized: false//由于信令服务器使用了自签名证书
					});

解决方案2: (chrome测试没有效果,可能是因为我不会启动解决了同源问题的浏览器2)

将chrome添加到环境变量中(我应该把chome2加到系统环境变量),然后用命令行打开浏览器

 解决方案3:(可以,目前触发了信令服务器的崩溃,信令服务器已经收到了请求)

  1. 启动 Chrome 浏览器。

  2. 在地址栏中输入 chrome://flags 并按下回车键,这将打开 Chrome 的隐藏配置页面。

  3. 在搜索框中搜索 "ignore certificate errors"(忽略证书错误)。

  4. 在结果中找到 "Allow invalid certificates for resources loaded from localhost"(允许从 localhost 加载的资源使用无效证书)并将其设置为 "Enabled"(已启用)。

  5. 重启 Chrome 浏览器。

基于WebRTC多人视频会议系统是一种通过Web浏览器实现的即时通讯系统。该系统允许多个用户通过互联网同时进行视频会议和实时交流,无需安装额外的软件或插件。 WebRTC基于一组实时通信协议,包括音视频传输、网络连接和通信控制等。通过利用WebRTC技术,系统可以实现低延迟的音视频传输和高质量的音视频通信,为用户提供更加沉浸式和真实的会议体验。 在多人视频会议系统中,用户可以通过浏览器访问系统网站,并通过输入会议号或邀请链接加入到会议中。系统会自动检测用户设备的音视频设备并进行配置,以确保用户在会议中能够正常进行音视频通信。 在会议中,用户可以选择开启或关闭自己的摄像头和麦克风,实现视频和音频的双向交流。系统会将用户的视频流实时传输给其他与会者,并显示其他与会者的视频流。此外,系统也提供文本聊天功能,方便用户进行实时的文字交流。 多人视频会议系统还允许用户共享屏幕,以便在会议中展示自己的电脑桌面、文档或应用程序。此外,系统还支持会议录制和回放功能,方便用户进行会议内容的保存和回顾。 基于WebRTC多人视频会议系统提供了一个高效便捷的方式,让用户能够方便地进行远程会议和协作。无论是商业会议、在线培训还是团队协作,该系统都能满足用户的实时通信需求,并提供良好的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值