react-native-vision-camera/example
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
..
android fix: Fix Android tasks execution (#407) 2021-09-06 10:32:06 +02:00
ios feat: frameProcessorFps="auto" and automatic performance suggestions (throttle or increase FPS) (#393) 2021-09-06 16:27:16 +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
app.json Bootstrap 2021-02-19 16:07:53 +01:00
babel.config.js feat: Frame Processors for Android (#196) 2021-06-27 12:37:54 +02:00
clean.sh feat: Frame Processors for Android (#196) 2021-06-27 12:37:54 +02:00
index.js chore: Cleanup codebase (#137) 2021-05-11 12:59:05 +02:00
metro.config.js feature: Frame Processors (iOS) (#2) 2021-05-06 14:11:55 +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 Update README.md 2021-06-28 13:54:16 +02:00
tsconfig.json fix: Fix TypeScript relative imports (#358) 2021-08-16 10:45:41 +02:00
yarn.lock feat: frameProcessorFps="auto" and automatic performance suggestions (throttle or increase FPS) (#393) 2021-09-06 16:27:16 +02:00

Vison Camera playground

Overview

This is a demo application featuring some of the many features of the Vision Camera:

  • Photo capture
  • Video capture
  • Flipping device (back camera <-> front camera)
  • Device filtering (ultra-wide-angle, wide-angle, telephoto, or even combined virtual multi-cameras)
  • Format filtering (targeting 60 FPS, best capture size, best matching aspect ratio, etc.)
  • Zooming using react-native-gesture-handler and react-native-reanimated
  • Smoothly switching between constituent camera devices (see demo on my Twitter)
  • HDR mode
  • Night mode
  • Flash for photo capture
  • Flash for video capture
  • Activating/Pausing the Camera but keeping it "warm"
  • Using the Example Frame Processor Plugin

Get started

To try the playground out for yourself, run the following commands:

git clone https://github.com/mrousavy/react-native-vision-camera
cd react-native-vision-camera
yarn bootstrap

iOS

  1. Open the example/ios/VisionCameraExample.xcworkspace file with Xcode
  2. Change signing configuration to your developer account
  3. Select your device in the devices drop-down
  4. Hit run

Android

  1. Open the example/android/ folder with Android Studio
  2. Select your device in the devices drop-down
  3. Hit run