JITSI开源视频直播

   JITSI开源视频直播

          徐景周

  • 一、 引言

WebRTC被认为是一种点对点技术,浏览器可以直接通信而无需任何类型的基础设施。此模型足以创建基本应用程序,但难以在其之上实现诸如组通信、媒体流记录、媒体广播或媒体转码之类的功能。

 

  • 二、 WebRTC

2.1 Mesh架构模式

下面是WebRTC Mesh(网格P2P)模式下,1对1的视频通讯如图一所示。

 

 

2.2 Mesh事件序列

如图二所示,Mesh模式下1对1模式下的事件序列图。其中,Coturn Server为开源的NAT穿透服务器(支持STUN/TURN/ICE);Signal Server为信令服务器(可采用开源的Collider/SkyRTC/SignalMaster);

2.3 WebRTC框架

如图三、图四所示。

  • 三、WebRTC流媒体服务器

 3.1 概述

WebRTC规范只定义了实时通信中客户端的行为,而没有规范服务端(包括哪些信令、数据如何流转)的行为。所以,你可以使用WebRTC库方便的实现1:1 实时通信,但对于多人实时互动,通常会使用WebRTC + 流媒体服务器的方案。WebRTC流媒体服务器类似“多媒体中间件”,从源到目的地时,媒体流量会通过该中间件。流媒体服务器能够处理媒体流并提供不同的类型,包括组通信(将一个对等方生成的媒体流分配给多个接收方),混合(将多个传入流转换为一个单一的复合流),转码(在不兼容的客户端之间适应编解码器和格式),录制(以持久的方式存储对等体之间交换的媒体)等。

如图五所示。WebRTC媒体服务器包括SFU(Selective Forwarding Unit,可选择转发单元),MCU(MultiPoint Control Unit,多点控制单元)或混合模式。

3.2 媒体流

如图六、图七所示。WebRTC由语音引擎,视频引擎和网络传输三大模块组成。其中,WebRTC音频处理(VoiceEngine)默认编解码是ISAC(Internet Speech Audio Codec),源码目录“/audio_coding”;视频处理(VideoEngine)默认采集与编解码是I420和VP8(源码目录“/video_coding”)。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值