Jitsi与XMPP学习名词笔记

Network2年前 (2022)更新 bruce
484 0
内容纲要

名词解释

  • WebRTC:名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源;
  • MCU (MultiPoint Control Unit) MCU是传统视频会议系统中的核心控制单元,在WebRTC的系统实现中, 适合于多人音视频通话场景,MCU可以对接收到的多路流进行转码和混合,并向每个终端输出单路流。
  • SFU 的全称是:Selective Forwarding Unit(选择性转发单元),是一种通过服务器来路由和转发 WebRTC 客户端音视频数据流的方法。如果你计划在WebRTC中有多个参与者,那么最终可能会使用选择性转发单元(SFU);

可选SFU:

Janus Jitsi Kurento mediasoup Medooze

P2P穿越协议总结

STUN/TURN/ICE TCPDUMP/WireShark 抓包及协议分析 RTP/RTCP 协议建立在用户数据报协议(UDP) DTLS/SRTP 数据报传输层安全性

SDP协议总结

非音视频数传输 带宽及码流限制 WebRTC 数据统计 WebRTC网络质量

XMAPP和SIP

标准化的XMPP(可扩展的消息和到场协议)和SIP(会话发起协议); 在设计Jitsi的时候,我们必须记住的三个最重要的约束(在称为SIP通信者)的时候,我们的协议支持、跨平台的操作和开发人员的友好性。 第二个约束条件:跨平台操作。 比如从您的网络摄像头中捕获视频。因此,我们需要在windows上使用DirectShow,在Mac OS X上使用QTKit,在Linux上使用Linux 2的视频。

常用服务

  • Nginx是一个Web服务器,与著名的Apache同类。它的用途是提供网页访问。
  • Prosody是一个XMPP服务器。XMPP全称是Extensible Messaging and Presence Protocol,即可扩展通信和表示协议。它是一种即时通信协议,主要是实现文字聊天。
  • XMPP的前身是Jabber,一个开源的即时通信协议。Jabber被IETF标准化为XMPP。Google Talk用的就是它。
  • Jitsi-Videobridge用于处理视频传输,也就是视频流在各参与者之间的转发。如果没有这个组件,各参与者能文字聊天,但无法互相看见。 转发意味着服务器要从N个参与者那里接受视频流,然后给每个参与者发送其他N-1个参与者的视频数据,这对服务器带宽要求很高。 但由于未对视频做任何处理,CPU负载并不高。
  • Restund,这是一个STUN/TURN服务器。 STUN是一种NAT穿透技术,用于帮助处在内网的主机确定自己的公网IP和端口,从而与别的主机建立直接连接(WebRTC中PeerConnection)。 TURN是STUN的增强版,可以在无法穿透NAT进行直连的情况下提供数据的转发。 上述整个系统都是开源的,更多信息可参见相关的GitHub代码库和Jitsi主页。

WebRTC业务场景

音视频会议在线教育 照相机 音乐播放器 共享远程桌面 录制 即时通信工具 P2P网络加速 文件传输工具 游戏 实时人脸识别

网络传输与协议

  • STUN/TURN/ICE P2P技术详解(四):P2P技术之STUN、TURN、ICE详解
  • RTP/RTCP RTP协议和RTP控制协议RTCP一起使用,而且它是建立在用户数据报协议上的(UDP)
  • DTLS/SRTP Datagram Transport Layer Security数据报传输层安全性(DTLS)是一种通信协议,旨在保护数据隐私并防止窃听和篡改。 它基于传输层安全性(TLS)协议,该协议为基于计算机的通信网络提供安全性。 DTSL和TLS之间的主要区别在于DTLS使用UDP,而TLS使用TCP。 它可用于Web浏览,邮件,即时消息传递和VoIP。 DTSL是与SRTP一起用于WebRTC技术的安全协议之一。

SRTP(SecureReal-time Transport Protocol) 安全实时传输协议,SRTP是在实时传输协议(Real-time Transport Protocol)基础上所定义的一个协议,旨在为单播和多播应用程序中的实时传输协议的数据提供加密、消息认证、完整性保证和重放保护安全实时传输协议。

  • 数据统计与质量反馈 延时率,语音视频通话质量反馈

参考资料

基于WebRTC的多人视频会议 相关文章

© 版权声明

相关文章

暂无评论

暂无评论...