有问题或需要源码请点赞关注收藏后评论区留言私信~~~
一、WebRTC的系统架构
WebRTC(网页即时通信)是一个支持浏览器之间实时音视频对话的新型技术,WebRTC体系由应用于实时通信的编程接口和一组通信协议组成,已成为互联网流媒体通信以及协作服务的基石。WebRTC的愿景是让开发者能够基于浏览器快速开发流媒体应用,而不必要求用户下载安装任何插件,开发者也无需关注音视频数据的编解码过程,只要编写简单的JavaScript代码即可实现业务逻辑。
WebRTC的架构如下
用于WebRTC的服务器主要有以下三种
1:网页服务器 提供浏览器观看的页面
2:信令服务器 用于响应设备发送的指令请求
3:穿透服务器 绕过NAT协议的限制
WebRTC的应用架构如下
二、搭建信令服务器
信令服务器的处理任务主要包括下列三类:
(1)会话控制消息
(2)交换网络信息
(3)交换媒体能力
信令服务器有好几种可选的技术方案,本次选择了SocketIO承载信令交互。 第一类任务——会话控制消息类似于传递聊天消息。 WebRTC主要关注后面两类任务:交换网络信息和交换媒体能力,这两种事件均需明确请求的目的地,也就是说,请求数据必须包含对方终端的设备标识,然后才能把WebRTC需要的相关信息送给对端。
三、搭建穿透服务器
此处有一些计算机网络相关知识 科班同学们应该比较熟悉
coturn的安装配置过程
(1)安装cygwin的时候,除了Best组件之外,还要安装gcc、make、libevent-devel、libssl-devel等必需库:
(2)cygwin安装完毕,把coturn整个源码目录复制到cygwin64\home\***目录下。
(3)双击打开cygwin64终端,接着在命令行依次执行coturn的配置、编译与安装命令:
(4)进入/usr/local/etc目录,把turnserver.conf.default复制到turnserver.conf:
(5)在cygwin64终端执行下面命令启动stun服务器:
STUN服务器的验证结果
创作不易 觉得有帮助请点赞关注收藏~~~