WebRTC概念

定义

一个实时通信标准

通话原理

媒体协商

在WebRTC中,参与视频通讯的双方必须先交换SDP信息,获得一个都支持的编码格式

网络协商

目的:找到一条相互通讯的链路

做法:获取外网IP地址映射,通过信令服务器交换"网络信息"

STUN

NAT会话穿越应用程序,一种网络协议。允许位于NAT后的 客户端 找出自己的公网ip ,查出自己位于哪种类型的NAT之后,以及NAT为某一个 本地端口 所绑定的Internet段端口。这些信息被用来在两个同时处于NAT路由器之后的主机之间创建UDP通信。

TURN

STUN的一个拓展,主要添加了Relay功能。因为只有STUN的情况下有一定的失败率,所以需要公网服务器作为中继 ,对来往数据进行转发。这个转发的协议就是TURN。

STUN和TURN可以使用coturn开源项目 搭建。

在WebRTC中用来描述网络信息的术语叫candidate

信令服务器

实现非唯一,可以用ws等等。一般搭建在公网,实现SDP媒体信息及Candidate网络信息交换等

API

MediaStream:媒体数据流,通过getUserMedia 接口获取

PTCPeerConnection :此对象允许用户在两个浏览器之间直接通讯

过程



相关推荐
爱学习的程序媛1 天前
Windows系统下安装与配置FreeSWITCH完整指南
windows·实时互动·webrtc·实时音视频·信息与通信·媒体
xiejiashu1 天前
EasyRTC成功发布!原生WebRTC/嵌入式WebRTC,Windows/Linux/Android/ARM全支持
webrtc·嵌入式webrtc·easyrtc·webrtc原生库·arm-webrtc
爱学习的程序媛3 天前
【WebRTC】呼叫中心前端技术选型:SIP.js vs JsSIP vs Verto
前端·javascript·typescript·音视频·webrtc·实时音视频·web
bug大湿3 天前
WEBRTC——AGC API
webrtc·信号处理·agc
穷人小水滴7 天前
使用 WebRTC 实现局域网投屏: PC (GNOME ArchLinux) -> 平板 (Android)
android·linux·webrtc·浏览器·js·gnome·投屏
EasyDSS10 天前
场景深耕:低延迟高并发EasyDSS无人机RTMP高清推流直播技术剖析
ffmpeg·webrtc·rtmp
EasyDSS11 天前
EasyDSS以视频点播VOD/高清直播/WebRTC视频会议/语音转写STT技术创新,解决校园数字化核心难题
音视频·webrtc·语音识别·点播技术·流媒体直播
daad77712 天前
WEBRTC DTLSv1.2 加密示例
webrtc
淡泊if13 天前
低延迟直播终极方案:WebRTC + MediaMTX,延迟<500ms!
webrtc·视频流·mediamtx
Eanve13 天前
python搭建webrtc音视频服务端客户端
python·音视频·webrtc