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 在 多媒体 中排名
每月837次下载
在 hyperspeed-broadcast 中使用
2.5MB
65K SLoC
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 尝试它 (源代码)。
作者
社交
- Twitter: @mediasoup_sfu
赞助商
您可以通过赞助来支持 mediasoup。谢谢!
许可
依赖
~5–15MB
~163K SLoC