#video #gstreamer #audio-video #audio

vid2img

使用视频内容作为图像集合

2 个版本

0.1.1 2022年4月25日
0.1.0 2021年3月13日

156多媒体

MIT 许可证

3.5MB
210

vid2img - 视频转图像

vid2img 是一个 Rust crate,允许使用视频文件作为一系列帧图像。此 crate 提供了一个 FileSource 类型,该类型接受视频文件路径和所需帧大小,然后你可以将该实例转换为迭代器 (.into_iter())。在每次迭代中,你将收到一个编码为 PNG 的视频帧数据。

use std::path::Path;
use vid2img::FileSource;

fn main() {
    let file_path = Path::new("video.mp4");

    let frame_source = 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 ...
        }
    }
}

我们使用 GStreamer 处理视频并捕获帧。我们使用官方的 Rust 包装器 来访问 GStreamer API。

安装

由于我们使用 GStreamer,必须遵循 GStreamer-rs crate 的安装步骤

我们使用了以下 GStreamer 插件:uridecodebinvideoconvertvideoscalecapsfilterpngencappsrc

使用方法

要使用此库,请将以下依赖项添加到 Cargo.toml

[dependencies]
vid2img = "0.1.0"

依赖项

~10MB
~226K SLoC