a291642c53
in VisionCamera v1 & v2 there were two ObjC macros that were helping in creation/registration of Frame Processors, but these were removed with v3 This PR reintroduces such macros, which will not only make FP development easier, but also it will also fix issues people had with registration of Swift Frame Processors (+load vs +initialize issues) Docs were also updated to reflect that the macros should be used to correctly initialize and register ObjC/Swift Frame Processors |
||
---|---|---|
.github | ||
docs | ||
package | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
yarn.lock |
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, ...)
- 🔍 Smooth zooming (Reanimated)
- ⏯️ Fast pause and resume
- 🌓 HDR & Night modes
- ⚡ Custom C++/GPU accelerated video pipeline (OpenGL)
Install VisionCamera from npm:
yarn add react-native-vision-camera
cd ios && pod install
..and get started by setting up permissions!
Documentation
V3
You're looking at the V3 version of VisionCamera, which features a full rewrite on the Android codebase and a huge refactor on the iOS codebase. If you encounter issues on V3, you can also downgrade to V2, which is still partially supported.
Example
function App() {
const device = useCameraDevice('back')
if (device == null) return <NoCameraErrorView />
return (
<Camera
style={StyleSheet.absoluteFill}
device={device}
isActive={true}
/>
)
}
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