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:
npm i react-native-vision-camera
cd ios && pod install
..and get started by setting up permissions!
To see VisionCamera in action, check out ShadowLens!
function App() {
const device = useCameraDevice('back')
if (device == null) return <NoCameraErrorView />
return (
<Camera
style={StyleSheet.absoluteFill}
device={device}
isActive={true}
/>
)
}
See the example app
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.
- π¦ 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