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 嵌入式开发

Download history 458/week @ 2024-06-03 835/week @ 2024-06-10 231/week @ 2024-06-17 210/week @ 2024-07-01 35/week @ 2024-07-08 141/week @ 2024-07-22 63/week @ 2024-07-29 27/week @ 2024-08-05 23/week @ 2024-08-12

每月254次下载
用于 4 个crate(直接使用3个)

Apache-2.0

28KB
563 代码行

RVideo crates.io页面 docs.rs页面

嵌入式应用的实时视频服务器。

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