WebRTC搭建与应用(二)
近期由于项目需要在研究前端WebGL渲染转为云渲染,借此机会对WebRTC、ICE信令协议等有了初步了解,在此记录一下,以防遗忘。
第二章 WebRTC通信
前言
之前工作主要集中于桌面端和前端的轻量化图形渲染与数据组织,对于云渲染的认识主要还停留在使用UE或者U3D编译项目,进行配置后通过PixelStreaming服务实现WebRTC,接下来主要研究一下WebRTC的大致流程以及相关开源框架的使用。
一、WebRTC是什么?
WebRTC:网络实时通信,Web Real Time Communication。
WebRTC让浏览器具备三个能力:
(1)获取音频和视频
(2)进行音频和视频通信
(3)进行任意数据的通信
WebRTC的三个主要API:
(1)MediaStream (又称getUserMedia)
(2)RTCPeerConnection:建立通信,WebRTC采用基于UDP的传输协议,通过ICE(Interactive Connectivity Establishment)框架进行网络连接的建立和管理。ICE框架支持NAT穿透和防火墙穿越,保证音视频数据在各种网络环境下的稳定传输。这部分的主要任务是确保音视频数据能够在不同设备和网络之间可靠地传输。
(3)RTCDataChannel:数据通道