怎样向搜索引擎提交网站,刘家窑做网站的公司,oa系统公司排名,哪个网站可以接广告做WebRTC搭建与应用(一)
近期由于项目需要在研究前端WebGL渲染转为云渲染#xff0c;借此机会对WebRTC、ICE信令协议等有了初步了解#xff0c;在此记录一下#xff0c;以防遗忘。
第一章 ICE服务搭建
文章目录
WebRTC搭建与应用(一)前言一、ICE是什么#xff1f;二、什么…WebRTC搭建与应用(一)
近期由于项目需要在研究前端WebGL渲染转为云渲染借此机会对WebRTC、ICE信令协议等有了初步了解在此记录一下以防遗忘。
第一章 ICE服务搭建
文章目录
WebRTC搭建与应用(一)前言一、ICE是什么二、什么是STUN、TURN三、Coturn开源框架 环境准备部署过程 1.Ubuntu开启图形桌面化2.Windows远程连接Ubuntu3 安装Coturn 总结
前言
之前工作主要集中于桌面端和前端的轻量化图形渲染与数据组织服务端相关技术主要是接口调用没有什么技术积累本次搭建工作属于摸着石头过河。 最开始在本地测试WebRTC点对点传输没有任何问题但是跨电脑测试时会提示ICE失败所以还是得研究一下什么是ICE。
一、ICE是什么
ICE即交互式连通建立方式(Interactive Connectivity Establishment)ICE并非一种新的协议而是通过综合运用某几种协议(STUN、TURN等)使之在最适合的情况下工作以弥补单独使用其中任何一种所带来的固有缺陷。
基于IP的语音、数据、视频等业务在网络中所面临的一个实际困难就是如何有效地穿透各种NAT(Network Address Translator网络地址转换)以及FW(Fire Wall防火墙)的问题。对此SIP(会话初始化协议)以往的解决方法由ALGs(Application Layer Gateway Service应用层网关)、STUN、TURN等方式。
二、什么是STUN、TURN
STUN(Session Traversal Utilities for NAT)即网络地址转换会话穿越应用程序。STUN提供了一种方式使一个端点能够确定NAT分配的和本地私有IP地址和端口相对应的公网IP地址和端口以及NAT的类型信息。它也为端点提供了一种方式保持一个NAT绑定不过期。NAT绑定过期则表示为相同的内网地址重新分配外网地址也就是端口号。
TURN(Traversal Using Relay NAT)即网络地址转换中继穿越协议。
TURN与STUN的共同点都是通过修改应用层中的私网地址达到NAT穿透的效果不同点是TURN是通过两方通讯的“中间人”方式实现穿透。
三、Coturn开源框架
Coturn 是一种开源服务器框架用于实现 TURN及STUN协议用于解决 NAT 穿透问题。它帮助客户端在受限网络环境(例如防火墙或 NAT 后面)中实现双向通信。
环境准备
Coturn主要部署在Linux系统中本次测试采用华为云服务器Ubuntu 24.04版本。
部署过程
1.Ubuntu开启图形桌面化
之前仅通过FinalShell远程连接过Ubuntu系统的命令行模式此次是本人第一次操刀服务器使用说来惭愧各种坑各种不会所以好好记录一下一路的曲折。 sudo startx 启动图形用户界面 如果失败查看是否安装了图形界面如果没有可按下述流程安装 (1)确保apt源可用并更新源 sudo apt-get update (2)安装桌面图形化显示 sudo apt-get install ubuntu-desktop (3)设置默认开启方式为图形化界面显示 sudo systemctl set-default graphical.target (4)重启 reboot
2.Windows远程连接Ubuntu
对于前端开发人员来说一般都是在Windows环境进行开发如果想要连接到Ubuntu服务器进行操作和测试需要进行一些配置。 Windows的远程桌面使用的协议为RDP首先需要在Ubuntu的操作系统中安装xrdp。 sudo apt-get install tightvncserver xrdp 安装完成后在Windows中通过远程桌面连接输入Ubuntu的ip以及用户名、密码即可实现远程连接。
3 安装Coturn
安装过程请参考 https://blog.csdn.net/yushangyong/article/details/129973873
切记listening-port设置的监听端口一定要将TCP和UDP都开放min-port和max-port设置的端口一定要将UDP开放对外否则会无法连接。
以下是中文版TURN服务测试地址 https://docs.wildfirechat.cn/webrtc/trickle-ice/
总结
以上步骤如果都正确完成以后那恭喜你WebRTC的长征迈出了坚实的一步下面就要开始研究点对点通信以及WebRTC推流了后续有时间在尝试一下使用docker部署Coturn我们下一章继续WebRTC之旅。