通讯模型及框架

Mesh

Mesh模型需基于P2P自行实现。无可用框架

SFU

MediaSoup

'''服务端平台支持:'''https://mediasoup.org/documentation/v3/mediasoup/installation/

支持NodeJs的任何平台

'''客户端开发套件提供:'''https://mediasoup.org/documentation/v3/

  • JavaScript
  • C++
  • aiortc(基于Python)

'''特性:'''https://mediasoup.org/documentation/v3/mediasoup/design/#features

  • ECMAScript底层API支持;
  • 多媒体六:通过单个ICE/DTLC传输多个音视频媒体流;
  • 支持IPv6;
  • 基于UDP和TCP的ICE / DTLS / RTP / RTCP;
  • 支持SVC和实况直播技术;
  • 优秀的拥塞控制;
  • 基于时间/空间层(spatial/temporal layers)分布算法的发送端和接收端带宽估算技术;
  • 核心媒体层在libuv上通过c++编写,以提供异常强大的性能;

'''安装:https://mediasoup.org/'''

# 使用nodejs进行安装
# windows平台需安装visual stduio 2019相关版本
# linux平台需安装g++开发套件
npm install mediasoup
[图片:缩略图|600x600像素|替代=|无]

OWT(基于LiCode)

'''服务端平台支持:https://github.com/open-webrtc-toolkit/owt-server#requirements'''

  • Ubuntu 18.04
  • CentOS 7.6

'''客户端开发套件提供:https://github.com/open-webrtc-toolkit/'''

  • JavaScript
  • C++
  • Java

'''特性:https://github.com/open-webrtc-toolkit/owt-server#open-webrtc-toolkit-media-server'''

  • 分布式、可扩展、可靠的SFU + MCU服务器;
  • Intel®Core™和Intel®Xeon®处理器上的高性能VP8, VP9, H.264和HEVC实时转码;
  • 广泛支持包括WebRTC, RTSP, RTMP, HLS, MPEG-DASH的流协议;
  • 通过高效的混合高清视频流节省移动设备带宽和电力的消耗;
  • 适应不同网络环境的智能服务质量(QoS)控制机制;
  • 用户可从MCU模式定义的媒体分析插件以对媒体流执行分析;
  • 从实时媒体流进行包括但不限于移动和目标侦测的使用场景分析;

'''安装:https://github.com/open-webrtc-toolkit/owt-server#how-to-build-release-package'''

# git clone repository from github
# In the root of the repository:
# 1.Build native components: 
scripts/build.js -t all --check.
# 2. Pack built components and js files: 
scripts/pack.js -t all --install-module --app-path ${webrtc-javascript-sdk-sample-conference-dist}.
'''相关链接:'''

[图片:缩略图|600x600像素|替代=|无]

Janus

'''服务器平台支持:'''

  • Fedora
  • Ubuntu/Debian
  • FreeBSD
  • Mac OS

'''客户端开发套件提供:'''

  • JavaScript
  • C++
  • Flutter(第三方)

'''特性:'''

  • 通用的WebRTC SFU服务器,仅提供核心(WebRTC媒体通信、JSON信息交换、RTP/RTCP中继)的基础功能,其他扩展功能以插件方式进行提供;
  • 支持音频MCU模式;

'''安装:'''

较为复杂,参考Janus-gateway ReadMe

'''相关链接:'''

Janus - General purpose WebRTC server

[图片:缩略图|600x600像素|替代=|无]

Jitsi

'''服务器平台支持:'''

  • Ubuntu/Debian

'''客户端开发套件提供:'''

'''特性:'''

'''安装:'''

直接安装

'''注意:'''

该项目的开源代码上次更新为2017年。目前已转为商业项目。

Kurento

'''服务器平台支持:'''

  • Ubuntu 16.04 (Xenial)
  • Ubuntu 18.04 (Bionic)
  • Amazon Web Services

'''客户端开发套件提供:'''

  • JavaScript
  • Java

'''特性:https://doc-kurento.readthedocs.io/en/latest/user/intro.html#why-kurento-media-server'''

  • 支持包括Http、RTP、WebRTC的网络媒体协议;
  • 支持以MCU和SFU模式的群组通信以及媒体混合和媒体路由调度分发;
  • 支持以过滤器的方式执行计算机视觉和增强显示算法;
  • 支持以WebM、mp4格式写入媒体存储,并通过GStreamer播放所有格式;
  • 通过GStreamer支持在任意的解码器之间进行包括vp8、h.264、h.263、amr、oups、speex、g.711等等的媒体自动转码;

'''安装:'''

参考Installation Guide

'''相关链接:'''

https://www.kurento.org/

https://doc-kurento.readthedocs.io/en/latest/index.html

[图片:缩略图|600x600像素|替代=|无]

Medooze

'''服务器平台支持:'''

  • Linux
  • Mac Os X
  • Raspberry Pi

'''客户端开发套件提供:'''

  • JavaScript

'''特性:'''

  • 支持对所有的所有的webrtc的解码格式(H264,VP8,VP9, OPUS and PCMU/A.)进行以mp4格式的多轨道录音;
  • VP9 SVC支持;
  • 支持实况直播技术;
  • RTP宽带拥塞控制;
  • 发送端比特率评估;
  • NACK和RTX支持;
  • 减少RTP包大小;
  • RTP广播流支持

'''安装:'''

npm i --save medooze-media-server
'''相关链接:'''

  • https://github.com/medooze
  • https://github.com/medooze/media-server

[图片:缩略图|600x600像素|替代=|无]

AntMedia

商业框架。

MCU

OWT(基于LiCode)

参考SFU OWT

LiCode

'''服务器平台支持:http://lynckia.com/licode/install.html'''

  • Ubuntu
  • MAC OS X (OSX 10.11 - El Capitan)

'''客户端开发套件提供:https://licode.readthedocs.io/en/master/client_api/#nodejs-client'''

  • JavaScript

'''特性:https://lynckia.com/licode/index.html#introducing-licode'''

暂无其特性相关说明

'''安装:https://licode.readthedocs.io/en/master/from_source/# https://licode.readthedocs.io/en/master/docker/'''

# Clone Licode
git clone https://github.com/lynckia/licode.git
cd licode


# Install dependencies
# Ubuntu
./scripts/installUbuntuDeps.sh
# Mac OS X
./scripts/installMacDeps.sh

# Install Licode
./scripts/installNuve.sh
./scripts/installErizo.sh

# Install basicExample
./scripts/installBasicExample.sh

# Start Licode!
./scripts/initLicode.sh
./scripts/initBasicExample.sh

# 或者从Docker构建

Medooze

参考SFU Medooze

参考资料