【Android App】在线直播之搭建WebRTC的服务端(图文解释 简单易懂)

有问题或需要源码请点赞关注收藏后评论区留言私信~~~

一、WebRTC的系统架构

WebRTC(网页即时通信)是一个支持浏览器之间实时音视频对话的新型技术,WebRTC体系由应用于实时通信的编程接口和一组通信协议组成,已成为互联网流媒体通信以及协作服务的基石。WebRTC的愿景是让开发者能够基于浏览器快速开发流媒体应用,而不必要求用户下载安装任何插件,开发者也无需关注音视频数据的编解码过程,只要编写简单的JavaScript代码即可实现业务逻辑。

  WebRTC的架构如下

【Android App】在线直播之搭建WebRTC的服务端(图文解释 简单易懂)_第1张图片

用于WebRTC的服务器主要有以下三种

1:网页服务器 提供浏览器观看的页面

2:信令服务器  用于响应设备发送的指令请求

3:穿透服务器  绕过NAT协议的限制 

 WebRTC的应用架构如下

【Android App】在线直播之搭建WebRTC的服务端(图文解释 简单易懂)_第2张图片

二、搭建信令服务器

信令服务器的处理任务主要包括下列三类:

(1)会话控制消息

(2)交换网络信息

(3)交换媒体能力

信令服务器有好几种可选的技术方案,本次选择了SocketIO承载信令交互。 第一类任务——会话控制消息类似于传递聊天消息。 WebRTC主要关注后面两类任务:交换网络信息和交换媒体能力,这两种事件均需明确请求的目的地,也就是说,请求数据必须包含对方终端的设备标识,然后才能把WebRTC需要的相关信息送给对端。

三、搭建穿透服务器

此处有一些计算机网络相关知识 科班同学们应该比较熟悉

【Android App】在线直播之搭建WebRTC的服务端(图文解释 简单易懂)_第3张图片

 

 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服务器的验证结果

【Android App】在线直播之搭建WebRTC的服务端(图文解释 简单易懂)_第4张图片

 创作不易 觉得有帮助请点赞关注收藏~~~

你可能感兴趣的:(Android,App,webrtc,android,studio,java,网络协议,视频编解码)