mediasoup 3.13.0 已发布。在 Node/Rust 与 Worker 之间的内部通信中,它使用 FlatBuffers 9 代替了基于 JSON 的消息。
此处更新功能如下:
FlatBuffers
将基于 JSON 的消息转换为FlatBuffers(PR #1064 6)。
JSON 与 FlatBuffers 概述:
- JSON 解析需要大量 CPU 资源。
- JSON 类型不安全。
- flatbuffers 不解析缓冲区。读取一条信息的时间为 0ms。
- flatbuffers 是类型安全的,因为代码(C++、Typescript、Rust 等)是根据模式定义自动生成的。
迁移到 FlatBuffers 带来的额外功能:
- 现在只有一个通道用于 Worker 通信(以前有两个通道:Channel 和 PayloadChannel)。
- Node/Rust → Worker 发送的每条信息只需在 Channel 中调用一次 write()(以前每条信息需要在 Channel 中调用 2 次,在 PayloadChannel 中调用 4 次)。
- 每条发送的信息 Worker → Node/Rust 以前都要额外调用两次 memcpy(),现在不需要了。
mediasoup-client 3.7.0
mediasoup-client 3.7.0 已发布。除了在 TypeScript 类型上做了一些改动,使其与 mediasoup 3.13.0 完全兼容之外,该版本并无其他实质性改动。
关于 mediasoup
mediasoup 是一个 WebRTC 视频会议工具。
mediasoup设计目标:
- 成为一个 SFU;
- 同时支持 WebRTC 和普通 RTP 的输入和输出;
- 在服务器端是一个 Node.js 模块 / Rust crate;
- 在客户端是一个很小的 JavaScript 和 C++ 库;
- 极简主义:只处理媒体层;
- 不要求任何信令协议;
- 是超低级别的 API;
- 支持所有现有的 WebRTC 端点;
- 能够与知名的多媒体库 / 工具集成;
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/zixun/37800.html