Expand description
CrabCamera: Advanced cross-platform camera integration for Tauri applications
This crate provides unified camera access across desktop platforms with real-time processing capabilities and professional camera controls.
§Features
- Cross-platform camera access (Windows, macOS, Linux)
- Real-time camera streaming and capture
- Platform-specific optimizations
- Professional camera controls
- Thread-safe camera management
- Multiple camera format support
§Usage
Add this to your Cargo.toml:
[dependencies]
crabcamera = { version = "0.6", features = ["recording", "audio"] }
tauri = { version = "2.0", features = ["protocol-asset"] }Then in your Tauri app:
ⓘ
use crabcamera;
fn main() {
tauri::Builder::default()
.plugin(crabcamera::init())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}Re-exports§
pub use errors::CameraError;pub use platform::CameraSystem;pub use platform::PlatformCamera;pub use types::CameraDeviceInfo;pub use types::CameraFormat;pub use types::CameraFrame;pub use types::CameraInitParams;pub use types::FrameMetadata;pub use types::Platform;
Modules§
- commands
- config
- Configuration management for CrabCamera
- errors
- focus_
stack - invariant_
ppt - Invariant PPT Testing Framework
- permissions
- platform
- Platform-specific camera implementations with unified interface
- quality
- testing
- Testing utilities for CrabCamera
- tests
- types
Macros§
- assert_
invariant - Assert an invariant and log it for contract testing.
Structs§
- Crate
Info - Crate information structure
Constants§
- DESCRIPTION
- NAME
- VERSION
- Version information
Functions§
- current_
platform - Detect the current platform using the Platform enum
- current_
platform_ string - Get current platform as string (legacy compatibility)
- get_
info - Get crate information
- init
- Initialize the CrabCamera plugin with all commands
- init_
logging - Initialize logging for the camera system