mediasoup v3
网站和文档
支持论坛
设计目标
mediasoup 和它的客户端库被设计为完成以下目标:
- 成为一个SFU(选择性转发单元)。
- 同时支持WebRTC和普通RTP的输入和输出。
- 在服务器端成为一个Node.js模块/Rust crate。
- 在客户端是一个很小的JavaScript和C++库。
- 极简主义:只处理媒体层。
- 与信令无关:不要求任何信令协议。
- 是超低级别的API。
- 支持所有现有的WebRTC端点。
- 能够与知名的多媒体库/工具集成。
使用案例
mediasoup 和它的客户端库提供了一个超低级别的 API。它们旨在实现不同的用例和场景,没有任何限制或假设。这些用例中的一些是。
- 小组视频聊天应用。
- 一对多(或几对多)的实时广播应用。
- RTP流媒体。
特点
- ECMAScript 6/Idiomatic Rust低级别API。
- 多流:通过一个ICE+DTLS传输的多个音频/视频流。
- IPv6就绪。
- 通过UDP和TCP的ICE / DTLS / RTP / RTCP。
- 支持同步广播和SVC。
- 拥堵控制。
- 发送方和接收方带宽估计与空间/时间层分配算法。
- 数据信息交换(通过WebRTC DataChannels,通过普通UDP的SCTP,以及在Node.js/Rust中直接终止)。
- 功能极其强大(在libuv之上用C++编码的媒体工作者线程/子进程)。
在线演示
在v3demo.mediasoup.org(源代码)上试用。
