Go to file
Marc Rousavy 0e9f1ca640
perf: Improve pixelFormat and add CameraDevice.sensorOrientation (#1729)
* feat: Orientation

* fix orientation value in manifest

* Update AndroidManifest.xml

* Style

* fix: Set MAX_IMAGES to 3

* Pass `isMirrored` to `VideoPipeline`

* Update docs about Skia FPs

* Options

* Add iPad target

* Remove UIDevice onOrientationChanged listener

* Update CameraView+AVCaptureSession.swift

* Update CameraView+AVCaptureSession.swift

* Update CameraView+AVCaptureSession.swift

* Get available pixelFormats on iOS

* format

* Update CameraSession.kt

* Expose `CameraDevice.sensorOrientation`

* Lock orientation again
2023-09-01 15:07:16 +02:00
.github feat: Use clang-format to keep the C++ codebase clean (#1741) 2023-09-01 12:58:32 +02:00
.vscode VSCode settings 2021-02-20 17:13:02 +01:00
android perf: Improve pixelFormat and add CameraDevice.sensorOrientation (#1729) 2023-09-01 15:07:16 +02:00
cpp feat: Use clang-format to keep the C++ codebase clean (#1741) 2023-09-01 12:58:32 +02:00
docs perf: Improve pixelFormat and add CameraDevice.sensorOrientation (#1729) 2023-09-01 15:07:16 +02:00
example perf: Improve pixelFormat and add CameraDevice.sensorOrientation (#1729) 2023-09-01 15:07:16 +02:00
ios perf: Improve pixelFormat and add CameraDevice.sensorOrientation (#1729) 2023-09-01 15:07:16 +02:00
scripts feat: Use clang-format to keep the C++ codebase clean (#1741) 2023-09-01 12:58:32 +02:00
src perf: Improve pixelFormat and add CameraDevice.sensorOrientation (#1729) 2023-09-01 15:07:16 +02:00
.clang-format feat: Use clang-format to keep the C++ codebase clean (#1741) 2023-09-01 12:58:32 +02:00
.eslintrc.js chore: Upgrade Skia to new Ganesh Rendering Pipeline and RN to 0.72 (#1638) 2023-07-03 12:40:07 +02:00
.gitignore feat: Add React Native 0.66 support (#490) 2021-10-05 12:22:14 +02:00
app.plugin.js feat: Expo support (#260) 2021-07-07 14:55:25 +02:00
CODE_OF_CONDUCT.md chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2021-10-05 15:01:26 +02:00
LICENSE chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
package.json feat: Use clang-format to keep the C++ codebase clean (#1741) 2023-09-01 12:58:32 +02:00
README.md feat: Full Android rewrite (CameraX -> Camera2) (#1674) 2023-08-21 12:50:14 +02:00
tsconfig.json feat: Complete iOS Codebase rewrite (#1647) 2023-07-20 15:30:04 +02:00
VisionCamera.podspec chore: Remove Skia 🎨 (#1740) 2023-09-01 12:20:17 +02:00
yarn.lock chore: Remove Skia 🎨 (#1740) 2023-09-01 12:20:17 +02:00

Vision Camera



📸 The Camera library that sees the vision.
npm i react-native-vision-camera
npx pod-install
Buy Me a Coffee at ko-fi.com



‼️‼️‼️‼️‼️ VisionCamera V3 ‼️‼️‼️‼️‼️

See this discussion for the latest upcoming version of VisionCamera

Documentation

Features

  • Photo and Video capture
  • Customizable devices and multi-cameras (smoothly zoom out to "fish-eye" camera)
  • Customizable FPS
  • Frame Processors (JS worklets to run QR-Code scanning, facial recognition, AI object detection, realtime video chats, ...)
  • Smooth zooming (Reanimated)
  • Fast pause and resume
  • HDR & Night modes

See the example app

Example

function App() {
  const devices = useCameraDevices('wide-angle-camera')
  const device = devices.back

  if (device == null) return <LoadingView />
  return (
    <Camera
      style={StyleSheet.absoluteFill}
      device={device}
      isActive={true}
    />
  )
}

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.


🚀 Get started by setting up permissions!