2 个版本
0.1.1 | 2022年4月25日 |
---|---|
0.1.0 | 2021年3月13日 |
156 在 多媒体 中
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 插件:uridecodebin
、videoconvert
、videoscale
、capsfilter
、pngenc
、appsrc
。
使用方法
要使用此库,请将以下依赖项添加到 Cargo.toml
[dependencies]
vid2img = "0.1.0"
依赖项
~10MB
~226K SLoC