25次发布
使用旧的Rust 2015
0.8.0 | 2023年4月29日 |
---|---|
0.7.1 | 2023年3月27日 |
0.7.0 | 2022年6月24日 |
0.6.1 | 2022年1月12日 |
0.2.0 | 2018年7月19日 |
#125 in 视频
每月128次下载
在 5 个Crate中使用 (直接使用4个)
490KB
11K SLoC
该Crate提供与Adobe RTMP协议交互的函数。它包含低级和高级抽象,可用于将RTMP支持集成到客户端(发布者和播放器)和服务器。
文档
安装
此Crate与Cargo和crates.io兼容。将其添加到您的 Cargo.toml
中,如下所示
[dependencies]
rml_rtmp = "0.1"
性能
目标是使该库尽可能高效。我们使用 Bytes
crate 以尽可能减少分配,并根据我在Ryzen 5 1600X(单线程)上的 视频中继基准测试,我可以将10KB视频数据包从单个发布者转发到两个订阅者,平均延迟为24微秒。这应该为自定义逻辑以及它在低端设备上运行留出足够的CPU周期。
示例
两个大型示例可以在仓库中找到
-
线程化RTMP服务器 - 这是一个基本的RTMP服务器,展示了如何接受连接并将音频/视频路由到播放器
-
Mio RTMP服务器 - 这是一个相对高级的RTMP服务器,展示了如何将RTMP
ClientSession
和ServerSession
集成到mio应用程序中。它支持- 从发布者接收视频并将其路由到任何订阅的播放器
- 从远程RTMP服务器拉取视频并将其提供给订阅的播放器
- 从发布者接收视频并将其重新发布到外部RTMP服务器
依赖项
~1.2–2MB
~39K SLoC