Skip to main content

Crate crabcamera

Crate crabcamera 

Source
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.

It aims to be “The Standard” for high-quality, professional-grade camera applications on desktop platforms.

§Strict Engineering Standards

This codebase enforces:

  • Complete Documentation (#![warn(missing_docs)])
  • Safe Code (no unwrap() or expect() in library code via clippy::unwrap_used)
  • Idiomatic Rust Practices (clippy::pedantic)

§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 (RGB, YUYV, MJPEG)

§Usage

Add this to your Cargo.toml:

[dependencies]
crabcamera = { version = "0.8", 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
Tauri command handlers.
config
Configuration management. Configuration management for CrabCamera
constants
Global constants. Global constants for CrabCamera
errors
Error types.
focus_stack
Automatic focus stacking.
invariant_ppt
Invariant checks for PPT. Invariant PPT Testing Framework
permissions
Permission management.
platform
Platform abstraction layer. Platform-specific camera implementations with unified interface
preview
Preview stream module.
quality
Image quality analysis.
registry
System capabilities registry and manifest (Source of Truth). System Registry & Feature Manifest
testing
Testing utilities. Testing utilities for CrabCamera
tests
Integration tests and test utilities.
types
Common data types and structures.

Macros§

assert_invariant
Assert an invariant and log it for contract testing.

Structs§

CrateInfo
Crate information structure

Constants§

DESCRIPTION
A brief description of the crate.
NAME
The name of the crate.
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