#video-stream #gstreamer #video-processing #multimedia-video #codec #multimedia

dextreamer

A sleek and simple wrapper around gstreamer for handling video streams in Rust

2 unstable releases

new 0.2.0 Jan 10, 2025
0.1.0 Jan 4, 2025

#332 in Video

Download history 132/week @ 2025-01-01 154/week @ 2025-01-08

286 downloads per month

Apache-2.0/MIT

31KB
421 lines

dextreamer

dextreamer is a sleek and simple wrapper around gstreamer for handling video streams in Rust. While it provides a more straightforward interface, please note that it may not offer the complete functionality of gstreamer.

Developed as a part of the larger project, the Daiko UI framework, dextreamer stands alone and does not depend on Deko. It is a separate library that can be utilized independently in any Rust application that requires video streaming capabilities.

Installation

Prerequisite: Gstreamer

Before using dextreamer, you must install gstreamer on your system. For detailed installation instructions, please refer to the original gstreamer bindings README.

Installing dextreamer

To add dextreamer to your Rust project, add the following line to your Cargo.toml file:

[dependencies]
dextreamer = "0.1.0"

Then run cargo build to build your project.

Usage

Here's a simple example of how you might use dextreamer in your project:

// Add the dextreamer crate
use dextreamer;

fn main() {
    // Open a video stream
    let (sender, receiver) = dextreamer::open_video("path_to_your_video_file");

    // Handle video stream events
    while let Ok(event) = receiver.recv() {
        match event {
            dextreamer::VideoStreamEvent::VideoLoaded(video_info) => println!("Video loaded: {:?}", video_info),
            _ => (),
        }
    }
}

For more examples and detailed usage instructions, please see the dextreamer documentation.

Authors

License

This project is licensed under the MIT License. See LICENSE for details.

Dependencies

~11MB
~251K SLoC