Go to file
Marc Rousavy ad5e131f6a
feat: frameProcessorFps="auto" and automatic performance suggestions (throttle or increase FPS) (#393)
* Add `onFrameProcessorPerformanceSuggestionAvailable` and make `frameProcessorFps` support `auto`

* Implement performance suggestion and auto-adjusting

* Fix FPS setting, evaluate correctly

* Floor suggested FPS

* Remove `console.log` for frame drop warnings.

* Swift format

* Use `30` magic number

* only call if FPS is different

* Update CameraView.swift

* Implement Android 1/2

* Cleanup

* Update `frameProcessorFps` if available

* Optimize `FrameProcessorPerformanceDataCollector` initialization

* Cache call

* Set frameProcessorFps directly (Kotlin setter)

* Don't suggest if same value

* Call suggestion every second

* reset time on set

* Always store 15 last samples

* reset counter too

* Update FrameProcessorPerformanceDataCollector.swift

* Update CameraView+RecordVideo.swift

* Update CameraView.kt

* iOS: Redesign evaluation

* Update CameraView+RecordVideo.swift

* Android: Redesign evaluation

* Update CameraView.kt

* Update REA to latest alpha and install RNScreens

* Fix frameProcessorFps updating
2021-09-06 16:27:16 +02:00
.github fix: Fix TypeScript relative imports (#358) 2021-08-16 10:45:41 +02:00
.vscode VSCode settings 2021-02-20 17:13:02 +01:00
android feat: frameProcessorFps="auto" and automatic performance suggestions (throttle or increase FPS) (#393) 2021-09-06 16:27:16 +02:00
docs docs: Add vision-camera-ocr plugin to Community Plugins 2021-09-02 10:24:04 +02:00
example feat: frameProcessorFps="auto" and automatic performance suggestions (throttle or increase FPS) (#393) 2021-09-06 16:27:16 +02:00
ios feat: frameProcessorFps="auto" and automatic performance suggestions (throttle or increase FPS) (#393) 2021-09-06 16:27:16 +02:00
scripts fix: Distribute Android code as source (#234) 2021-07-08 10:52:14 +02:00
src feat: frameProcessorFps="auto" and automatic performance suggestions (throttle or increase FPS) (#393) 2021-09-06 16:27:16 +02:00
.eslintrc.js fix: Fix TypeScript relative imports (#358) 2021-08-16 10:45:41 +02:00
.gitignore fix: Distribute Android code as source (#234) 2021-07-08 10:52: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 chore: Update CONTRIBUTING guidelines 2021-07-14 13:17:16 +02:00
LICENSE chore: Move to /mrousavy/ (#224) 2021-06-21 22:42:46 +02:00
package.json feat: frameProcessorFps="auto" and automatic performance suggestions (throttle or increase FPS) (#393) 2021-09-06 16:27:16 +02:00
README.md docs: Add link to Frame Processors to README 2021-07-06 10:26:41 +02:00
tsconfig.json fix: Fix TypeScript relative imports (#358) 2021-08-16 10:45:41 +02:00
VisionCamera.podspec fix: React Native 0.65 compatibility (#230) 2021-06-28 18:27:03 +02:00
yarn.lock feat: frameProcessorFps="auto" and automatic performance suggestions (throttle or increase FPS) (#393) 2021-09-06 16:27:16 +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



Documentation

Features

  • Photo, Video and Snapshot 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}
    />
  )
}

🚀 Get started by setting up permissions!