Rousavy describes VisionCamera as a React Native framework for iOS and Android cameras, supporting everyday photography and video as well as real-time frame processing. Developers can use frames for ML tasks such as face and object detection, or work with GPU textures and pixels. He says his team uses it for client projects and has benchmarked startup and initialization performance.
VisionCamera v5 With Marc Rousavy
Speakers
Marc Rousavy, CEO at Margelo, joins Mike of Callstack on React Universe On Air to discuss VisionCamera v5, its Nitro foundation, and camera APIs for React Native.
Rousavy recounts limitations of React Native's old bridge: it restricted callbacks and complex values, so photos often had to be written to a file instead of passed in memory. Earlier frame processors required manual C++ and JSI work across runtimes, which could cause crashes and thread-safety problems. Nitro grew from those needs and provides the foundation for VisionCamera v5 and other libraries, including MMKV.
Version 5 adds manual exposure, focus, and white balance controls, plus a Constraints API that ranks settings such as resolution, HDR, and frame rate. The camera negotiates a supported combination and can lower settings when a device cannot handle them together. A new output system also lets developers attach custom outputs, such as an HDR output, without patching VisionCamera.
The imperative API underpins the camera component and hooks, and developers can use it directly for cases such as multicamera sessions. Rousavy says basic photo setups should be straightforward to migrate from v4, while heavily customized apps may need more work; upgrade skills are available. He built v5 without AI agents, citing the depth and device-specific behavior of camera APIs, and describes testing commits on three phones through AWS Device Farm.
Rousavy advises developers to read the performance guide and test camera features across devices. He recommends React Native Data Scanner for simple scanning and VisionCamera for more advanced native camera needs. VisionCamera currently targets iOS and Android; web users can use Expo Camera, while other platform support would depend on interest and testing resources.
Takeaways
- Use the Constraints API to express preferred camera settings and let the device negotiate a workable combination.
- Consider custom outputs when built-in capture options do not meet an app's needs.
- Choose a simple scanner for basic QR or data capture; use VisionCamera when the app needs camera processing or control.
- Plan migration effort around customizations: a basic photo setup is simpler than an app with local patches.
- Test camera behavior on multiple devices because supported features and quirks vary by hardware.
Mentioned in this talk
Search inside this talk
What was claimed 20
- metricVisionCamera: Five years of development by 2026
“I think it's been a five-year story”
YouTube Unverified1 source· Talk
- usesVisionCamera uses Nitrov5
“VisionCamera was the next and latest project that I rewrote to Nitro”
YouTube Unverified1 source· Talk
- builtMarc Rousavy built Nitro
“I made it”
0:19inWhy Nitro Is More Than a Faster BridgeYouTube Verified5 sources· Talk
- ceo ofMarc Rousavy CEO of MargeloCEO
“I’m 23. I’m CEO of Margelo”
0:22inFrom teenage programmer to React Native mavenYouTube Verified3 sources· Talk
- builtMarc Rousavy built VisionCamera
“I built React Native Vision Camera”
0:22inFrom teenage programmer to React Native mavenYouTube Verified5 sources· Talk
- built
“I built React Native Vision Camera and MMKV”
0:22inFrom teenage programmer to React Native mavenYouTube Verified3 sources· Talk
- ceo ofCEO and founder
“I'm CEO and founder at Callstack”
YouTube Unverified1 source· Talk
- featureVisionCamera: Camera framework for React Native with photo capture, video recording, real-time frame streaming, and image processing
“It's a camera framework for React Native”
YouTube Unverified1 source· Talk






