15个版本 (4个破坏性更新)
0.5.0 | 2024年7月26日 |
---|---|
0.4.1 | 2024年7月6日 |
0.4.0 | 2024年6月17日 |
0.3.4 | 2024年6月15日 |
0.1.2 | 2024年6月8日 |
#660 in 嵌入式开发
每月254次下载
用于 4 个crate(直接使用3个)
28KB
563 代码行
RVideo
嵌入式应用的实时视频服务器。
RVideo是什么
RVideo是一个库,用于解决从嵌入式计算机视觉应用中流式传输视频的问题。许多此类应用是无头且不需要专用接口,然而,对于开发者来说,通常很有用(尤其是对于开发者)可以看到设备上发生了什么。RVideo提供了一个简单的API,将您的嵌入式应用程序中的视频流式传输到远程客户端。
它如何工作
与其他流式传输解决方案不同,RVideo的目标是为嵌入其中嵌入式应用程序提供最小开销
-
帧始终以原样发送,通常以RAW格式(对于大多数调试用例来说已经足够了)
-
所有未及时接收到的帧都将被丢弃
-
服务器端不执行任何缓冲操作
-
使用实时安全代码以最小化对主应用程序的影响
客户端
RVideo流可以通过crate提供的客户端接收。对于现成的UI,请参阅rvideo-view
crate。
锁定安全性
默认情况下,服务器使用parking_lot进行锁定。对于实时应用程序,以下功能可用
-
locking-rt
- 使用parking_lot_rt crate,它是parking_lot的无自旋分支。 -
locking-rt-safe
- 使用rtsc优先级继承锁定,不受优先级反转的影响(仅限Linux)。
注意:要切换锁定策略,请禁用crate默认功能。
关于
RVideo是RoboPLC项目的一部分。
依赖关系
~4–14MB
~170K SLoC