Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/camerakit/camerakit-android
Library for Android Camera 1 and 2 APIs. Massively increase stability and reliability of photo and video capture on all Android devices.
https://github.com/camerakit/camerakit-android
android android-library c-plus-plus camera camera-api capture-video captured-images java native ndk performance
Last synced: about 1 month ago
JSON representation
Library for Android Camera 1 and 2 APIs. Massively increase stability and reliability of photo and video capture on all Android devices.
- Host: GitHub
- URL: https://github.com/camerakit/camerakit-android
- Owner: CameraKit
- License: mit
- Created: 2016-11-27T19:29:43.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-08-08T13:23:27.000Z (over 1 year ago)
- Last Synced: 2024-08-05T02:01:21.122Z (3 months ago)
- Topics: android, android-library, c-plus-plus, camera, camera-api, capture-video, captured-images, java, native, ndk, performance
- Language: C
- Homepage: https://camerakit.io
- Size: 20.8 MB
- Stars: 5,356
- Watchers: 157
- Forks: 878
- Open Issues: 162
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
CameraKit helps you add reliable camera to your app quickly. Our open source camera platform provides consistent capture results, service that scales, and endless camera possibilities.
With CameraKit you are able to effortlessly do the following:
- Image and video capture seamlessly working with the same preview session.
- Automatic system permission handling.
- Automatic preview scaling.
- Create a `CameraView` of any size (not just presets!).
- Automatic output cropping to match your `CameraView` bounds.
- Multiple capture methods.
- `METHOD_STANDARD`: an image captured normally using the camera APIs.
- `METHOD_STILL`: a freeze frame of the `CameraView` preview (similar to SnapChat and Instagram) for devices with slower cameras.
- `METHOD_SPEED`: automatic capture method determination based on measured speed.
- Built-in continuous focus.
- Built-in tap to focus.
- Built-in pinch to zoom.
# Get The Most From CameraKit
There are currently two versions of CameraKit that we support, `v1.0.0-beta3.X` and `v0.13.X`.If photo is your only need, try out the latest and greatest CameraKit features with `v1.0.0-beta3.11`. Our `beta3.11` release does not yet support video, but that feature is coming!
In the meantime, if your application requires video we recommend sticking with `v0.13.4`; the latest stable release with video implementation.
| Use Case | Version | Notes | Documentation Link |
| --- | --- | --- | --- |
| Photo only | `v1.0.0-beta3.11` | The latest and greatest CameraKit has to offer. Video support coming soon! | [camerakit.io/docs/beta3.11](https://camerakit.io/docs?v=1.0.0-beta3.10) |
| Photo and Video | `v0.13.4` | Stable build with full photo and video support | [camerakit.io/docs/0.13.4](https://camerakit.io/docs?v=0.13.2) |## Documentation Site
Setup instructions for `1.0.0-beta3.11` are below. To see the full documentation head over to our website, [camerakit.io/docs](https://camerakit.io/docs).## Setup
To include __CameraKit__ in your project, add the following to your `app` level `build.gradle`.
```java
dependencies {
implementation 'com.camerakit:camerakit:1.0.0-beta3.11'
implementation 'com.camerakit:jpegkit:0.1.0'
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.0'
}
```
## Usage
Create a `CameraKitView` in your layout as follows:
```app:camera_flash="auto"
app:camera_facing="back"
app:camera_focus="continuous"
app:camera_permissions="camera" />
```Then create a new `CameraKitView` object in your `Activity` and override the following methods.
```java
private CameraKitView cameraKitView;@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cameraKitView = findViewById(R.id.camera);
}@Override
protected void onStart() {
super.onStart();
cameraKitView.onStart();
}@Override
protected void onResume() {
super.onResume();
cameraKitView.onResume();
}@Override
protected void onPause() {
cameraKitView.onPause();
super.onPause();
}@Override
protected void onStop() {
cameraKitView.onStop();
super.onStop();
}@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
cameraKitView.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
```
## ProGuard
If using ProGuard, add the following rules:
```
-dontwarn com.google.android.gms.**
-keepclasseswithmembers class com.camerakit.preview.CameraSurfaceView {
native ;
}
```## License
CameraKit is [MIT License](https://github.com/CameraKit/CameraKit-Android/blob/master/LICENSE)