内容整理自2019RTC大会webrtc工作坊李超老师演讲ppt
实时通信与网络传输的矛盾
网络传输质量与音视频服务质量的矛盾
音视频实时互动
游戏,即时通讯,文件传输等
音视频处理(回音消除,降噪)
音视频采集
webrtc信令服务器的实现
NAT,STUN,TURN,ICE
媒体协商
webrtc使用的sdp
1对1实时通话
(1)TCP/UDP如何选择
(2)如何保证网络服务质量
延迟低,丢包 RTX
延迟高 FEC
jitterBuffer 网络平滑,防止乱序
(3)网络带宽的评估
GCC-REMB
GCC-TransportCC
基于丢包的评估算法
基于延迟的评估算法
(4)减少网络上传输的内容
固定带宽减少内容:动态码流,simulcast,SVC,业务定制
多人互动架构方案
各媒体服务器架构模型
如何实现流媒体服务器
枚举音视频设备
采集音视频数据
信令系统的作用:
①让双方进入到同一个房间进行管理
②交换双方的媒体能力(SDP)
③交换双方的candidate数据
socket.io
websocket/protoo
join加入房间
leave离开房间
message端到端消息
offer消息
answer消息
candidate消息
joined已加入房间
otherjoin其他用户加入房间
full房间人数已满
leaved已离开房间
bye对方离开房间
NAT(network address translator)
STUN(simple traversal of UDP through NAT)
TURN(traversal using relays around NAT)
ICE(interactive connectivity establishment)
完全锥形NAT
地址限制锥形NAT
端口限制锥形NAT
对称性NAT
主机候选者
反射候选者
中继候选者
收集candidate
对candidate pair排序
连通性检查
意思大概就是能直接用本机地址通信就直接用本机地址,不能的话就NAT,还不行的话就通过中继。
(1)会话层
会话的名称与目的
会话的存活时间
会话中包括多个媒体信息
(2)媒体层
媒体格式
传输协议
传输IP与端口
媒体负载类型
SDP组成:会话元,网络描述,流描述,安全描述,服务质量
(1)加入房间
(2)离开房间
mesh方案
MCU方案
SFU方案
所有人之间两两建立P2P连接
multipoint conference unit
服务器把所有人的视频合并为一路视频,音频合并成一路音频,并转发给所有人,注意。给一个人转发的混合后的音视频不包含这个人本身的音视频。
优点是带宽小,缺点是不够灵活,因为每个终端收到的都是混合后的一路音视频,无法在客户端侧分别处理各路音视频。
selective forwarding unit
中心服务器转发,将收到的音视频转发给所有其他人。
这样每个终端都能收到分开的各路音视频,可以灵活的进行处理,但占用带宽大。
mediasoup架构
medooz架构
janus架构
licode架构