2个版本
0.0.2 | 2023年8月13日 |
---|---|
0.0.1 | 2023年7月10日 |
#1012 in 硬件支持
71KB
2K SLoC
kamera
用于基本用例和学习的简化功能的摄像头API。
-
🚧 Mac支持基于AVFoundation
-
🚧 Windows支持基于MediaFoundation
-
🚧 Linux支持基于V4L2
-
❌ 测试需要在单线程下运行
cargo t -- --test-threads=1 --nocapture
并建议查看测试用例的输出 -
✔️ PR检查是在Mac、Windows和Linux笔记本电脑内部摄像头设备和罗技外部摄像头上手动运行测试
-
✔️ CI运行对主分支和PR进行检查、格式化和clippy
use kamera::Camera;
let camera = Camera::new_default_device();
camera.start();
let Some(frame) = camera.wait_for_frame() else { return }; // always blockingly waiting for next new frame
let (w, h) = frame.size_u32();
frame.data().data_u32() // use this buffer, per default in ARGB format
// for real use cases processing or displaying frames can get more complicated when trying to be most efficient
camera.stop() // or drop it
Linux系统依赖
在类似于Debian的系统(例如MX Linux)上,我需要安装以下系统依赖项来构建所有crates
sudo apt install build-essentials cmake libfontconfig1-dev clang
- TODO winit依赖于sctk-adwaita,它也间接依赖于freetype进行字体渲染。我认为
- winit可能没有在默认或最小配置中进行字体渲染的真正需求
- 基本的字体渲染也可以由一个纯Rust依赖项来完成
依赖项
~2–43MB
~623K SLoC