通讯模型及框架
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等等的媒体自动转码;
'''安装:'''
'''相关链接:'''
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
DISCUSSION
评论
还没有公开评论,欢迎留下想法。