Go to file
Marc Rousavy 84598c24f0
docs: Update FrameProcessorPlugin's init method callsites (#2385)
* fix: Remove `FrameProcessorPlugin` init method

It was unused.

* fix: Update usage

* Revert "fix: Update usage"

This reverts commit 523f0606808afee998922241f01adf7fb40b0c7b.

* Revert "fix: Remove `FrameProcessorPlugin` init method"

This reverts commit 9025476a842c553d233de9c14f56d422270e98ef.

* Update FRAME_PROCESSOR_CREATE_PLUGIN_IOS.mdx
2024-01-12 16:11:43 +01:00
.github docs: Update BUG_REPORT 2024-01-11 16:41:15 +01:00
docs docs: Update FrameProcessorPlugin's init method callsites (#2385) 2024-01-12 16:11:43 +01:00
package feat: Add zero-copy SharedArray type to Frame Processor Plugins (#2383) 2024-01-12 16:00:36 +01:00
.gitignore Update .gitignore 2023-09-01 18:29:15 +02:00
CODE_OF_CONDUCT.md chore: Move everything into package/ (#1745) 2023-09-01 18:15:28 +02:00
CONTRIBUTING.md docs: Update CONTRIBUTING 2023-09-01 18:32:23 +02:00
LICENSE chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
README.md docs: Update README.md 2024-01-09 18:11:28 +01:00
yarn.lock fix: Remove string-hash-64 dependency 2023-10-05 12:03:57 +02:00

VisionCamera

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

ShadowLens

To see VisionCamera in action, check out ShadowLens!

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

This library helped you? Consider sponsoring!

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