Installations
npm install react-native-vision-camera
Score
61.6
Supply Chain
65.9
Quality
90.4
Maintenance
50
Vulnerability
95.1
License
Releases
Contributors
Developer
Developer Guide
Module System
CommonJS
Min. Node Version
Typescript Support
Yes
Node Version
18.18.0
NPM Version
10.8.1
Statistics
7,630 Stars
1,749 Commits
1,105 Forks
54 Watching
72 Branches
105 Contributors
Updated on 28 Nov 2024
Bundle Size
26.51 kB
Minified
7.42 kB
Minified + Gzipped
Languages
Swift (37.45%)
TypeScript (25.49%)
Kotlin (18.46%)
C++ (6.77%)
Objective-C++ (5.62%)
Java (1.99%)
Objective-C (1.76%)
Ruby (0.9%)
JavaScript (0.71%)
Shell (0.44%)
CMake (0.4%)
C (0.01%)
Total Downloads
Cumulative downloads
Total Downloads
8,844,717
Last day
-7.2%
23,763
Compared to previous day
Last week
2.1%
133,941
Compared to previous week
Last month
8.7%
588,845
Compared to previous month
Last year
96%
5,123,474
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Peer Dependencies
5
Dev Dependencies
19
Features
VisionCamera is a powerful, high-performance Camera library for React Native. It features:
- 📸 Photo and Video capture
- 👁️ QR/Barcode scanner
- 📱 Customizable devices and multi-cameras ("fish-eye" zoom)
- 🎞️ Customizable resolutions and aspect-ratios (4k/8k images)
- ⏱️ Customizable FPS (30..240 FPS)
- 🧩 Frame Processors (JS worklets to run facial recognition, AI object detection, realtime video chats, ...)
- 🎨 Drawing shapes, text, filters or shaders onto the Camera
- 🔍 Smooth zooming (Reanimated)
- ⏯️ Fast pause and resume
- 🌓 HDR & Night modes
- ⚡ Custom C++/GPU accelerated video pipeline (OpenGL)
Install VisionCamera from npm:
1npm i react-native-vision-camera 2cd ios && pod install
..and get started by setting up permissions!
Documentation
ShadowLens
To see VisionCamera in action, check out ShadowLens!
Example
1function App() { 2 const device = useCameraDevice('back') 3 4 if (device == null) return <NoCameraErrorView /> 5 return ( 6 <Camera 7 style={StyleSheet.absoluteFill} 8 device={device} 9 isActive={true} 10 /> 11 ) 12}
See the example app
Adopting at scale
VisionCamera is provided as is, I work on it in my free time.
If you're integrating VisionCamera in a production app, consider funding this project and contact me to receive premium enterprise support, help with issues, prioritize bugfixes, request features, help at integrating VisionCamera and/or Frame Processors, and more.
Socials
- 🐦 Follow me on Twitter for updates
- 📝 Check out my blog for examples and experiments
- 💬 Join the Margelo Community Discord for chatting about VisionCamera
- 💖 Sponsor me on GitHub to support my work
- 🍪 Buy me a Ko-Fi to support my work
No vulnerabilities found.
Reason
30 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10
Reason
no dangerous workflow patterns detected
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
0 existing vulnerabilities detected
Reason
binaries present in source code
Details
- Warn: binary detected: example/android/gradle/wrapper/gradle-wrapper.jar:1
- Warn: binary detected: package/android/gradle/wrapper/gradle-wrapper.jar:1
Reason
Found 11/26 approved changesets -- score normalized to 4
Reason
branch protection is not maximal on development and all release branches
Details
- Info: 'allow deletion' disabled on branch 'main'
- Info: 'force pushes' disabled on branch 'main'
- Info: 'branch protection settings apply to administrators' is required to merge on branch 'main'
- Warn: branch 'main' does not require approvers
- Warn: codeowners review is not required on branch 'main'
- Warn: no status checks found to merge onto branch 'main'
- Warn: PRs are not required to make changes on branch 'main'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: no topLevel permission defined: .github/workflows/build-android-release.yml:1
- Warn: no topLevel permission defined: .github/workflows/build-android.yml:1
- Warn: no topLevel permission defined: .github/workflows/build-ios.yml:1
- Warn: no topLevel permission defined: .github/workflows/compress-images.yml:1
- Warn: no topLevel permission defined: .github/workflows/validate-android.yml:1
- Warn: no topLevel permission defined: .github/workflows/validate-cpp.yml:1
- Warn: no topLevel permission defined: .github/workflows/validate-ios.yml:1
- Warn: no topLevel permission defined: .github/workflows/validate-js.yml:1
- Info: no jobLevel write permissions found
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-android-release.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android-release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-android-release.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android-release.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-android-release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android-release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-android-release.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android-release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-android-release.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android-release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-android.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-android.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-android.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-android.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-android.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-android.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-android.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-android.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-android.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-ios.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-ios.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ios.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-ios.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ios.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-ios.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ios.yml:91: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-ios.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-ios.yml:98: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-ios.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-ios.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-ios.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ios.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-ios.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ios.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-ios.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-ios.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-ios.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-ios.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/build-ios.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/compress-images.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/compress-images.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/compress-images.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/compress-images.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-android.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-android.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/validate-android.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-android.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-android.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-android.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-cpp.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-cpp.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/validate-cpp.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-cpp.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-ios.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-ios.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/validate-ios.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-ios.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-ios.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-ios.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-js.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-js.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/validate-js.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-js.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/validate-js.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-js.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-js.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-js.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/validate-js.yml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/mrousavy/react-native-vision-camera/validate-js.yml/main?enable=pin
- Info: 0 out of 22 GitHub-owned GitHubAction dependencies pinned
- Info: 0 out of 16 third-party GitHubAction dependencies pinned
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 21 are checked with a SAST tool
Score
4.8
/10
Last Scanned on 2024-11-18
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn MoreOther packages similar to react-native-vision-camera
react-native-vision-camera-face-detector
Frame Processor Plugin to detect faces using MLKit Vision Face Detector for React Native Vision Camera!
vision-camera-cropper
A react native vision camera frame processor for cropping
vision-camera-dynamsoft-barcode-reader
React Native Vision Camera Frame Processor Plugin of Dynamsoft Barcode Reader
react-native-vision-camera-v3-image-labeling
The frame processor plugin to image labeling using Google ML Kit library for react-native-vision-camera with high performance.