50个版本 (17个重大更新)

新版本 0.17.1 2024年8月12日
0.17.0 2024年5月10日
0.16.0 2024年2月5日
0.14.0 2023年12月18日
0.0.8 2020年11月29日

246多媒体 中排名

Download history 64/week @ 2024-04-26 49/week @ 2024-05-03 283/week @ 2024-05-10 78/week @ 2024-05-17 75/week @ 2024-05-24 266/week @ 2024-05-31 109/week @ 2024-06-07 99/week @ 2024-06-14 53/week @ 2024-06-21 83/week @ 2024-06-28 83/week @ 2024-07-05 177/week @ 2024-07-12 300/week @ 2024-07-19 192/week @ 2024-07-26 123/week @ 2024-08-02 152/week @ 2024-08-09

每月837次下载
hyperspeed-broadcast 中使用

ISC 许可证

2.5MB
65K SLoC

C++ 44K SLoC // 0.1% comments Rust 20K SLoC // 0.0% comments FlatBuffers Schema 1.5K SLoC // 0.0% comments Python 636 SLoC // 0.2% comments Shell 203 SLoC // 0.0% comments JavaScript 55 SLoC // 0.1% comments

mediasoup v3

网站和文档

支持论坛

设计目标

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

  • 成为一个SFU (选择性转发单元)。
  • 支持WebRTC和纯RTP输入和输出。
  • 作为服务器端的Node.js模块或Rust包。
  • 作为客户端的轻量级TypeScript和C++库。
  • 保持极简:仅处理媒体层。
  • 信号协议无关:不强制任何信号协议。
  • 提供超级底层的API。
  • 支持所有现有的WebRTC端点。
  • 使集成知名的多媒体库/工具成为可能。

架构

用例

mediasoup及其客户端库提供了一个超级底层的API。它们旨在支持不同的用例和场景,没有任何约束或假设。其中一些用例包括

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

功能

  • ECMAScript 6/惯用Rust底层API。
  • 多流:单个ICE + DTLS传输上的多个音频/视频流。
  • IPv6兼容。
  • ICE / DTLS / RTP / RTCP在UDP和TCP上。
  • 支持Simulcast和SVC。
  • 拥塞控制。
  • 使用空间/时间层分布算法进行发送方和接收方带宽估计。
  • 数据消息交换(通过WebRTC DataChannels、SCTP在纯UDP上,以及Node.js/Rust中的直接终止)。
  • 极其强大(基于libuv的C++编写的媒体工作线程/子进程)。

在线演示

v3demo.mediasoup.org 尝试它 (源代码)。

作者

社交

赞助商

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

许可

ISC

依赖

~5–15MB
~163K SLoC