mediasoup

尖端的 WebRTC 视频会议。(Cutting Edge WebRTC Video Conferencing)

Github星跟蹤圖

mediasoup v3

网站和文档

mediasoup.org

支持论坛

mediasoup.discourse.group

设计目标

mediasoup 及其客户端库旨在实现以下目标:

  • 成为 SFU(选择性转发单元)。
  • 支持 WebRTC 和普通 RTP 输入和输出。
  • 在服务器端成为 Node.js 模块。
  • 在客户端成为小型 JavaScript 和 C++ 库。
  • 极简主义:只需处理媒体层。
  • 与信号无关:不要强制使用任何信号协议。
  • 是超低级的 API。
  • 支持所有现有的 WebRTC 端点。
  • 启用与知名多媒体库/工具的集成。

架构

用例

mediasoup 及其客户端库提供了超低级的 API。它们旨在实现各种用例和场景,而没有任何约束或假设。其中一些用例是:

  • 组视频聊天应用程序。
  • 实时一对多(或很少对多)广播应用程序。
  • RTP 流。

特性

  • ECMAScript 6低 级 API。
  • 多流:通过单个 ICE + DTLS 传输的多个音频/视频流。
  • IPv6 就绪。
  • UDP/TCP 上的 ICE/DTLS/RTP/RTCP。
  • 同播和 SVC 支持。
  • 拥塞控制。
  • 使用空间/时间层分布算法的发送者和接收者带宽估计。
  • 数据消息交换(通过 WebRTC 数据通道,通过纯 UDP 的 SCTP 以及 Node.js 中的直接终止)。
  • 极其强大(在 libuv 之上用 C++ 编码的媒体工作程序子进程)。

在线演示

v3demo.mediasoup.org源代码)上尝试一下。

作者

赞助

您可以通过赞助来支持 mediasoup。谢谢!

许可

ISC


(The first version translated by vz on 2020.07.22)

概覽

名稱與所有者versatica/mediasoup
主編程語言C++
編程語言Makefile (語言數: 11)
平台Docker, Linux, Mac, Windows, BSD, Solaris, Unix-like
許可證ISC License
發布數326
最新版本名稱3.13.18 (發布於 2024-02-05 12:40:13)
第一版名稱0.0.1-alpha.1 (發布於 2016-01-01 23:39:38)
創建於2014-12-12 12:00:36
推送於2024-02-07 11:31:07
最后一次提交
星數5.8k
關注者數230
派生數1.1k
提交數3.4k
已啟用問題?
問題數646
打開的問題數25
拉請求數529
打開的拉請求數15
關閉的拉請求數129
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

mediasoup v3




Website and Documentation

Support Forum

Design Goals

mediasoup and its client side libraries are designed to accomplish with the following goals:

  • Be a SFU (Selective Forwarding Unit).
  • Support both WebRTC and plain RTP input and output.
  • Be a Node.js module in server side.
  • Be a tiny JavaScript and C++ libraries in client side.
  • Be minimalist: just handle the media layer.
  • Be signaling agnostic: do not mandate any signaling protocol.
  • Be super low level API.
  • Support all existing WebRTC endpoints.
  • Enable integration with well known multimedia libraries/tools.

Architecture

Use Cases

mediasoup and its client side libraries provide a super low level API. They are intended to enable different use cases and scenarios, without any constraint or assumption. Some of these use cases are:

  • Group video chat applications.
  • One-to-many (or few-to-many) broadcasting applications in real-time.
  • RTP streaming.

Features

  • ECMAScript 6 low level API.
  • Multi-stream: multiple audio/video streams over a single ICE + DTLS transport.
  • IPv6 ready.
  • ICE / DTLS / RTP / RTCP over UDP and TCP.
  • Simulcast and SVC support.
  • Congestion control.
  • Sender and receiver bandwidth estimation with spatial/temporal layers distribution algorithm.
  • Data message exchange (via WebRTC DataChannels, SCTP over plain UDP, and direct termination in Node.js).
  • Extremely powerful (media worker subprocess coded in C++ on top of libuv).

Demo Online

Try it at v3demo.mediasoup.org (source code).

Authors

You can support mediasoup by sponsoring it. Thanks!

License

ISC

去到頂部