最全的免费PDF处理软件 WEB-IM 中文艺术字体 WEBRTC视频会议 ESP32智能小车 多功能PDF,流水码,二维码,条码 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中,如果你想根据某个特定值查询单条记录 JSP 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开发工具 联系我们 小张介绍 视频会议 文档操作
扫码关注公众号了解更多内容 扫码了解更多
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.外围:登录、注册、授权