[package] name = "nokhwa" version = "0.11.0" authors = ["l1npengtul "] edition = "2024" description = "A Simple-to-use, cross-platform Rust Webcam Capture Library" keywords = ["camera", "webcam", "capture", "cross-platform"] categories = ["api-bindings", "multimedia", "os", "web-programming"] license = "MIT OR Apache-2.0" repository = "https://github.com/l1npengtul/nokhwa" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [workspace] members = ["nokhwa-bindings-macos", "nokhwa-bindings-windows", "nokhwa-bindings-linux", "nokhwa-core", "nokhwa-decoders", "nokhwa-iter-extensions"] [lib] crate-type = ["rlib"] [features] default = ["decoding-yuv","decoding-mjpeg"] serialize = ["serde", "nokhwa-core/serialize"] decoding-yuv = ["nokhwa-decoders/yuv"] decoding-mjpeg = ["nokhwa-decoders/mjpeg"] decoding-ffmpeg = ["nokhwa-decoders/ffmpeg"] input-avfoundation = ["nokhwa-bindings-macos", "flume"] input-msmf = ["nokhwa-bindings-windows"] input-v4l = ["nokhwa-bindings-linux"] input-native = ["input-avfoundation", "input-v4l", "input-msmf"] # Re-enable it once soundness has been proven + mozjpeg is updated to 0.9.x # input-uvc = ["uvc", "uvc/vendor", "usb_enumeration", "lazy_static"] input-opencv = ["opencv", "opencv/rgb", "rgb", "nokhwa-core/opencv-mat"] input-jscam = [ "wasm-bindgen-futures", "wasm-rs-async-executor", "output-async", "js-sys", "web-sys", "serde-wasm-bindgen", "serde"] output-wgpu = ["wgpu-types", "nokhwa-core/wgpu"] #output-wasm = ["input-jscam"] output-threaded = [] output-async = ["nokhwa-core/async", "async-trait"] docs-only = ["input-native", "input-opencv", "input-jscam","output-wgpu", "output-threaded", "serialize"] docs-nolink = ["nokhwa-core/docs-features"] docs-features = [] test-fail-warning = [] [dependencies] paste = "1.0" [dependencies.nokhwa-core] version = "0.2" path = "nokhwa-core" [dependencies.nokhwa-bindings-windows] version = "0.4" path = "nokhwa-bindings-windows" optional = true [dependencies.nokhwa-bindings-macos] version = "0.2" path = "nokhwa-bindings-macos" optional = true [dependencies.nokhwa-bindings-linux] version = "0.2" path = "nokhwa-bindings-linux" optional = true [dependencies.nokhwa-decoders] path = "nokhwa-decoders" optional = true [dependencies.serde] workspace = true optional = true [dependencies.flume] version = "0.11" optional = true [dependencies.image] workspace = true [dependencies.usb_enumeration] version = "0.2" optional = true [dependencies.wgpu-types] workspace = true optional = true [dependencies.opencv] workspace = true optional = true [dependencies.rgb] version = "0.8" optional = true [dependencies.web-sys] version = "0.3" features = [ "console", "CanvasRenderingContext2d", "CssStyleDeclaration", "Document", "Element", "HtmlElement", "HtmlVideoElement", "HtmlCanvasElement", "ImageData", "MediaDevices", "MediaDeviceInfo", "MediaDeviceKind", "MediaStreamConstraints", "MediaTrackSupportedConstraints", "MediaStream", "MediaStreamTrack", "MediaTrackSettings", "MediaTrackConstraints", "MediaStreamTrackState", "MimeType", "MimeTypeArray", "Navigator", "Node", "OffscreenCanvas", "Permissions", "PermissionDescriptor", "PermissionState", "PermissionStatus", "Plugin", "PluginArray", "Window" ] optional = true # FIXME: Change me back! Pls! REMEMBER PEG! [dependencies.js-sys] version = "0.3" optional = true [dependencies.wasm-bindgen] version = "0.2" optional = true [dependencies.wasm-bindgen-futures] version = "0.4" optional = true [dependencies.wasm-rs-async-executor] version = "0.9" optional = true [dependencies.serde-wasm-bindgen] version = "0.6" optional = true [dependencies.async-trait] version = "0.1" optional = true [package.metadata.docs.rs] features = ["docs-only", "docs-nolink", "docs-features"] [workspace.dependencies.image] version = "0.25" default-features = false [workspace.dependencies.serde] version = "1.0" features = ["derive"] [workspace.dependencies.wgpu-types] version = "26" [workspace.dependencies.opencv] version = "0.95" default-features = false