一切福田,不離方寸,從心而覓,感無不通。

WebRTC + WebSocket 实现视频通话

前言

WebRTC

WebRTC(Web Real-Time Communication)。Real-Time Communication,实时通讯。

WebRTC能让web应用和站点之间选择性地分享音视频流。在不安装其它应用和插件的情况下,完成点对点通信。 WebRTC背后的技术被实现为一个开放的Web标准,并在所有主要浏览器中均以常规JavaScript API的形式提供。对于客户端(例如Android和iOS),可以使用提供相同功能的库。 WebRTC是个开源项目,得到Google,Apple,Microsoft和Mozilla等等公司的支持。2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。

WebSocket

WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。
WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

大致原理

代码编写

项目是SpringBoot + Thymeleaf + WebSocket,配置了https,不熟悉的同学可以看我们的《SpringBoot系列》

html页面

webrtc.html页面

Controller

Controller页面跳转

WebRtcWSServer

WebSocket服务

WebRtcWSServer

WebSocket服务

效果演示

测试环境,笔记本、手机再同一局域网

张三

zs在笔记本浏览器上访问,https://xxxx.16.xx.156:10086/webrtc/zs.html

李四

ls在手机浏览器上访问,https://xxxx.16.xx.156:10086/webrtc/ls.html

 

后台打印

 

from:https://blog.csdn.net/m0_60259116/article/details/132050287