一、搭建环境
- 阿里云ECS
- Ubuntu 22.04.5 LTS
二、 WebRTC简介
WebRTC,支持网页浏览器进行实时的语音或者视频的通话。一共需要搭建房间服务器、信令服务器以及内网穿透服务器。
内网穿透服务器
Coturn 是一个开源的 TURN 和 STUN 服务器实现,主要用于 WebRTC 和其他实时通信应用中的 NAT(网络地址转换)穿透问题。以下是关于 Coturn 的基本介绍:
-
TURN(Traversal Using Relays around NAT):当直接 P2P(端对端)通信由于 NAT 或防火墙而无法建立时,TURN 服务器作为一个中继,帮助建立通信连接。
-
STUN(Session Traversal Utilities for NAT):用于帮助客户端发现它们的公网 IP 地址和端口号,从而尝试建立直接的 P2P 连接。
-
ICE (Interactive Connectivity Establishment), 综合以上2种协议的综合性NAT穿越解决方案。首先会尝试用设备系统或网卡获取到的主机地址去建立连接;如果这个失败了(设备在NATs后面就会)ICE从STUN服务器获得外部的地址,如果这个也失败了,就用TURN中转服务器做通讯
信令服务器
Collider是用 go 语言实现的基于 WebSocket 的信令服务器
房间服务器
开源实现: github.com/webrtc/appr…
三、云环境部署
1.ECS控制台准备:
- 查看内、外网IP地址
- 安全组规则入端口开放 3478、8090、8088、8089、80、443
端口规划如下
2.安装JDK
3.安装 node,js
4.安装 google_appengine
5. 安装go(apprtc用到)
注意go的版本
6.安装libevent
7.安装apprtc
需要注意以下几点:
- 注意go版本,需要选用1.16之前的版本才可以正确执行go get collidermain、go install collidermain。另外版本太低也不行,因此我选用了go 1.15.3
- 此外clone https://github.com/golang/net.git 后,git checkout 切换到相对应go release 的版本。这里使用release-branch.go1.15
8.coturn NAT穿透服务器
9.collider 信令服务器
10.apprtc 房间服务器
修改如下:
需要注意以下几点:
- username 和 credential 和 8.coturn NAT穿透服务器 中给出的保持一致
- 在公网部署,需要替换成自己的公网IP
- 注意端口严格一致
启动apprtc
需要注意以下几点:
- host 写内网IP
- port 写apprtc监听地址
11.配置ICE Service
注意在公网部署,需要替换成自己的公网IP
启动ICE REST API服务
12. nginx配置反向代理
注意在公网部署,需要替换成自己的公网IP
最后启动
12. 访问测试
13.运行
服务器关机重新启动之后,需要重新执行以下指令,来启动上面的服务。
以上就是本篇文章【2024阿里云ECS搭建WebRTC环境】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/news/1936.html
栏目首页
相关文章
动态
同类文章
热门文章
网站地图
返回首页 企库往资讯移动站 https://sicmodule.kub2b.com/mobile/ , 查看更多