34 lines
1.1 KiB
Rust
34 lines
1.1 KiB
Rust
//! vid2img is a Rust crate that allows the use of a video file as a collection of frame images. This crate exposes
|
|
//! a [`vid2img::FileSource`] type that accepts a video file path and the desired size of the frames, then you can convert the
|
|
//! instance into a iterator (`.into_iter()`). On every iteration you will receive a video frame data encoded as PNG.
|
|
//!
|
|
//!
|
|
//! We use [GStreamer] for processing the video and capturing the frames. We make use
|
|
//! of the official [Rust wrapper] to the GStreamer API.
|
|
//!
|
|
//! [`vid2img::FileSource`]: FileSource
|
|
//! [GStreamer]: https://gstreamer.freedesktop.org/
|
|
//! [Rust wrapper]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs
|
|
//!
|
|
//! # Example usage
|
|
//!
|
|
//! ```no_run
|
|
//! use std::path::Path;
|
|
//!
|
|
//! fn main() {
|
|
//! let file_path = Path::new("video.mp4");
|
|
//!
|
|
//! let frame_source = vid2img::FileSource::new(file_path, (200, 200)).unwrap();
|
|
//! for frame in frame_source.into_iter() {
|
|
//! if let Ok(Some(png_img_data)) = frame {
|
|
//! // do something with the image data here ...
|
|
//! }
|
|
//! }
|
|
//! }
|
|
//! ```
|
|
mod file;
|
|
mod video_stream;
|
|
|
|
pub use video_stream::*;
|
|
pub use file::*;
|