A USB Video Class (UVC) camera library for Android and a plugin for Flutter.
This project is a hard fork of the original UVCCamera by saki4510t and is brought to you by Alexey Pelykh with a great gratitude to the original project's author saki4510t and its community of contributors. It includes some improvements from the original project's forks and PRs.
The library is available on Maven Central. To use it in your project, add the following dependency:
either to your build.gradle
file in the
dependencies
block:
'org.uvccamera:lib:0.1.0' implementation
or to your build.gradle.kts
file in the
dependencies
block:
("org.uvccamera:lib:0.1.0") implementation
The Flutter plugin is available on pub.dev. To use it in your Flutter project, add the following dependency:
dependencies:
uvccamera: ^0.1.0
See the Flutter example for an app that uses the plugin.
This section describes how to build the Android library and the Flutter plugin from the source code locally.
The Android library is built using Gradle. To build the library, run the following command:
./gradlew :lib:assembleRelease
There are number of test applications available.
A prerequisite for building the Flutter plugin example locally is to have the Android library built and published to the machine's local Maven repository. To publish the library to the local Maven repository, run the following command:
./gradlew :lib:publishToMavenLocal
After that, you can build the Flutter plugin example by running the following command:
cd flutter/example
flutter build apk
The original license applies to the relevant parts of this project as well:
Copyright (c) 2014-2017 saki t_saki@serenegiant.com
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
All files in the folder are under this Apache License, Version 2.0. Files in the jni/libjpeg, jni/libusb and jin/libuvc folders may have a different license, see the respective files.
Some dependencies may have different licenses, so please check the dependencies' licenses before using this project.
Most of the contributions picked from the original project's forks and PRs are attributed to the respective authors in the commit messages and stored or referenced in the upstreams folder.