Thanks to visit codestin.com
Credit goes to lib.rs

18 releases

0.5.3 Sep 27, 2025
0.5.2 Jan 18, 2025
0.5.1 Aug 27, 2024
0.5.0 Jul 26, 2024

#443 in Embedded development

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

58 downloads per month
Used in 5 crates (3 directly)

Apache-2.0

30KB
603 lines

RVideo crates.io page docs.rs page

Real-time video server for embedded apps.

What is RVideo

RVideo is a library which solves the problem of streaming video from embedded computer-vision applications. Many of such are headless and do not require a dedicated interface, however it is often useful (especially for developers) to see what is happening on the device. RVideo provides a simple API to stream video from your embedded application to a remote client.

How does it work

Unlike other streaming solutions, the goal of RVideo is to provide a minimal overhead for an embedded application it is included into:

  • Frames are always sent as-is, usually in RAW formats (it is more than enough for most debugging use-cases)

  • All frames, not received by a client in time, are dropped

  • No any buffering is performed on the server side

  • Real-time-safe code is used to minimize the impact on the main application

Clients

RVideo streams can be received with clients provided by crate. For ready-to-use UI, see the rvideo-view crate.

Locking safety

By default, the server uses parking_lot for locking. For real-time applications, the following features are available:

  • locking-rt - use parking_lot_rt crate which is a spin-free fork of parking_lot.

  • locking-rt-safe - use rtsc priority-inheritance locking, which is not affected by priority inversion (Linux only).

Note: to switch locking policy, disable the crate default features.

About

RVideo is a part of RoboPLC project.

Dependencies

~10–25MB
~240K SLoC