最全的免费PDF处理软件 OCR文字识别,图片转word,pdf转word OCR文字识别,导出带格式word WEB-IM 中文艺术字体 WEBRTC视频会议 ESP32智能小车 多功能PDF,流水码,二维码,条码 阿里通义全家桶 nginx代理转发时路径变化,session丢失处理 oracle 建表语句,id自增,insert时如果有id就用insert的id,没有就自增 nginx配置网站全站转发 Springboot中@ResponseBody返回对象JSON和返回String,json对象嵌套引用解决 Vue自定义组件的样式不生效 VUE自定义控件值改变,父控件跟着变 Vue3 自定义组件,setup 详细写法,组件名称怎么指定,组件属性怎么设置 从 JDK 5 开始到目前最新的 JDK 版本,Java 平台经历了多个重要的升级和功能改进 java http请求multipart/form-data数据,文本和附件 Jpa 使用Example模糊查询,多字段模糊查询 使用Spring Data JPA的查询方法命名规则,查询多条记录的一条记录可以通过以下方式实现 Spring Data JPA中,如果你想根据某个特定值查询单条记录 JPA JpaRepository 模糊查询的几种方式 pdf.js Nginx的 MIME TYPE问题导致的mjs文件加载出错的问题解决 The server responded with a non-JavaScript MIME type of "application/octet-stream". Vue.js中实现拖拽功 在使用JPA的JpaRepository进行模糊查询时,可以使用Like关键字,也可以使用Containing关键字。 three.js 设计一个类似红警的摄像机代码 three.js第三人称控制类代码 要使用FFmpeg将两个视频合成为一个视频 ffmpeg一个文件拆分成多个文件 ffmpeg调用方法,ffmpeg基础命令 java 语音播报 js监听页面所有网络请求 Three.js中文手册 Springboot多数据源配置 国外服务器网站会被百度收录吗?影响百度收录的情况有哪些 Spring Boot中内置Tomcat最大连接数、线程数与等待数 实践调优 jquery附件上传 java开发工具 联系我们 小张介绍 视频会议 文档操作 通义万相 通义千问 deepseek liblib哔哩哔哩旗下大模型 Stable Diffusion 哟派出海
扫码关注公众号了解更多内容 扫码了解更多
WEBRTC视频会议

WEBRTC视频会议

WEBRTC视频会议

WEBRTC视频会议入口点击进入


参与文档及其思路

  1. 所有参考来至于火狐开发者,其中没有讲解全面,需要结合demo https://developer.mozilla.org/zh-CN/docs/Web/API/WebRTC_API/Signaling_and_video_calling

2.思路,难点,重点

1.主叫端,被叫端。主叫端开启视频流,将sdp通过socket发送给被叫端,被叫端通过sdp初始化。被叫端通过socket发送给主叫端自己已经应答。主叫端 

var desc = new RTCSessionDescription(data.sdp); myPeerConnection.setRemoteDescription(desc).catch(function(e){ console.error(e); });,

与此同时,主叫端还需要发送handleICECandidateEvent给被叫端,被叫端 

var candidate = new RTCIceCandidate(dcand); myPeerConnection.addIceCandidate(candidate) .catch(function(e){ console.error(e); }); 

最后两端各自handleTrackEvent,设置对方的视频流。

问题处理记录

1.ios微信内置浏览器黑屏的问题 为iOS版微信浏览器刚刚支持webrtc的缘故,只有一则3月10多日的新闻说随着ios的更新,采用wkwebview的微信浏览器也已经支持webrtc,再没有其它有用的资料。 后来看了一个使用webrtc支持ios版微信浏览器的网站,发现玄机竟然是下面的代码 

document.addEventListener("WeixinJSBridgeReady", function () {document.getElementById("remoteVideo").play(); }, false);

 加上去以后,测试OK,可以不用加班了 值得注意的是,WeixinJSBridgeReady这个事件会在页面加载后马上触发,因此,上面的这个代码最好写在

window的load事件里面

函数体中,所以video标签也要提前写在html网页中,不要等webrtc通道建立后再去动态创建video。 顺便贴一下我的video标签使用的属性

开发任务

1.页面加入各个操作入口,两到三个的用户点击链接登录入口。

2.debug输出框页面上显示。加入清除按钮

3.页面上加入各个测试按钮,例如:获取本地摄像头列表,麦克风列表,测试推流

4.两个固定账号的视频链接

5.房间相关操作:获取房间用户列表,向房间里的所有用户发送消息,用户类型指定,有的用户可以作为房间的中转服务器

6.外围:登录、注册、授权