Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/iakmds/librecamera

A free and open source camera app for Android written in Flutter and Dart
https://github.com/iakmds/librecamera

android camera f-droid

Last synced: about 2 months ago
JSON representation

A free and open source camera app for Android written in Flutter and Dart

Awesome Lists containing this project

README

        

# 🌟 New release: v1.9.1 🌟
### Take a look at what has changed [here](https://github.com/iakmds/librecamera/releases/tag/v1.9.1)!















Translation status



Libre Camera app icon

Libre Camera


A free and open source camera app for Android written in Flutter and Dart licensed under the GPLv3



Get it on F-Droid

Table of Contents




  1. About Libre Camera


  2. Roadmap


  3. Contributing


  4. Packages used

  5. License

# Screenshots


Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4

# Download

You can download Libre Camera on [F-Droid](https://f-droid.org/packages/com.iakmds.librecamera) by tapping on the badge below. Alternatively, download and install the apk directly from the GitHub [releases](https://github.com/iakmds/librecamera/releases) page. Downloading directly from the GitHub releases page will likely download a more recent version (if a new version was published recently) – notice though that the F-Droid and the GitHub versions aren't compatible with one another. You will need to reinstall the app; make sure you remember your settings.

[Get it on F-Droid](https://f-droid.org/packages/com.iakmds.librecamera)
[Get it on GitHub](https://github.com/iakmds/librecamera/releases/latest)

# Features

- Take pictures and record videos with your rear and front camera
- Privacy: No EXIF metadata saved by default when taking pictures (enable optionally in settings) – without ads, tracking, or unnecessary permissions
- Themes: Material Design with a Dark, Light or system theme
- Multiple languages supported – [Contribute translating your language!](#translate)
- Zoom: Zoom with 2 fingers or with an optional slider
- Timer/Delay: Select a photo capture timer to get ready for your photo
- Flashlight modes: On at capture, Off, Auto, Always on
- Focus: Auto focus, locked focus and manual focus by touching the screen
- Exposure: Auto exposure, locked exposure and manual exposure with an optional slider
- Image compression: Set the compression amount in the settings
- Formats: Switch between 3 camera formats (JPEG, PNG, WebP)
- Resolutions: Switch between different camera resolutions
- Save location: Choose your preferred save location
- Small size (<20 MB)
- Customizable: Open the settings to customize the app to your liking!

# Roadmap

- [ ] More supported languages (See [#translate](#translate) below)
- [ ] [Your features](https://github.com/iakmds/librecamera/issues)
- [ ] Flutter issue: [Allow custom resolution and aspect ratio](https://github.com/flutter/flutter/issues/45665) (Fix [#21](https://github.com/iakmds/librecamera/issues/21))
- [ ] Flutter issue: [Set custom frame rate and bit rate](https://github.com/flutter/flutter/issues/54339) (Fix [#21](https://github.com/iakmds/librecamera/issues/21))
- [ ] Flutter issue: [Switch between multiple cameras](https://github.com/flutter/flutter/issues/91247) (Fix [#18](https://github.com/iakmds/librecamera/issues/18))
- [ ] Flutter issue: [Manual focus distance](https://github.com/flutter/flutter/issues/111476) (Fix [#3](https://github.com/iakmds/librecamera/issues/3))
- [ ] Feature: Add integrated QR-Scanner (Fix [#32](https://github.com/iakmds/librecamera/issues/32))
- [ ] Settings: Add a search bar for the settings page
- [x] (Included in version 1.9.0) Theme: Add a black Dark mode for AMOLED screens
- [x] (Included in version 1.8.0) Feature: Add "photo capture at phone volume button press" as an option in settings
- [x] (Included in version 1.7.0) Flutter issue: [Flip camera while recording](https://github.com/flutter/flutter/issues/82467)
- [x] (Included in version 1.3.0) Feature: Add photo capture delay option
- [x] (Included in version 1.3.0) Feature: Add a capture sound as an option in settings
- [x] [Weblate](https://hosted.weblate.org/engage/librecamera/) integration
- [x] Check tablet support

# Contributing

These are the ways you can contribute to Libre Camera:


Translation status

## Translate

Translation status

**Translating guide:** Translations are now handled using [Weblate](https://hosted.weblate.org/engage/librecamera/)! To use Weblate, log into your Weblate account and choose one of the 2 components you want to translate: Either the [app itself](https://hosted.weblate.org/projects/librecamera/librecamera) or the [F-Droid metadata](https://hosted.weblate.org/projects/librecamera/f-droid). Now, select the language you want to translate or add a new language. You will see a list of different strings to choose from; untranslated and unfinished strings will probably be of most interest to you. And finally: Have fun translating!

Before using Weblate you had to translate Libre Camera manually via pull requests. Thank you [@Loughty](https://github.com/Loughty), [@zehrique](https://github.com/zehrique), [@vladkorotnev](https://github.com/vladkorotnev), [@metezd](https://github.com/metezd), [@ZiTAL](https://github.com/ZiTAL) and [@melentan](https://github.com/melentan)!

## Bug Reporting or Feature Requests

Open an issue on GitHub: [Open issue](https://github.com/iakmds/librecamera/issues)

Remember to check for duplicates and try to give important information such as the app version, Android version, etc.

## Code

Feel free to send in a [pull request](https://github.com/iakmds/librecamera/pulls)! To get started with Flutter, follow this link: [https://docs.flutter.dev/get-started/install](https://docs.flutter.dev/get-started/install)

1. Clone this repository
2. Switch to the project's directory and run `flutter pub get` to get all necessary packages. To test the app, run the project in debug mode by selecting an Android device or emulator in your preferred Flutter IDE and running the app in debug mode
3. To build the final app, run the following command in your terminal: `flutter build apk` – the output apk will be generated at `librecamera/build/app/outputs/apk/release/`. To receive all localized strings, run `flutter gen-l10n`. If you'd like to get multiple apks by splitting them into different platforms (results in smaller sizes), use `flutter build apk --split-per-abi`.

# Packages used

The packages used for this app, also listed in the pubspec.yaml file. See their respective licenses.

Package | Use case
-|-
[camera](https://pub.dev/packages/camera) | Camera functionality
[device_info_plus](https://pub.dev/packages/device_info_plus) | Getting the Android version to adapt saving behaviour
[dynamic_color](https://pub.dev/packages/dynamic_color) | Getting the Android Material 3 dynamic color
[file_picker](https://pub.dev/packages/file_picker) | Picking the save path
[flutter](https://pub.dev/packages/flutter) | Flutter SDK
[flutter_android_volume_keydown](https://pub.dev/packages/flutter/flutter_android_volume_keydown) | Capture photo/video on volume button press
[flutter_image_compress](https://pub.dev/packages/flutter_image_compress) | Image compression and EXIF metadata removal
[flutter_localizations](https://pub.dev/packages/flutter_localizations) | Localization
[image](https://pub.dev/packages/image) | Ability to flip captured photos horizontally
[intl](https://pub.dev/packages/intl) | Localization
[native_device_orientation](https://pub.dev/packages/native_device_orientation) | Automatic orientation based on the phones sensor
[package_info_plus](https://pub.dev/packages/package_info_plus) | Display the programs version number
[permission_handler](https://pub.dev/packages/permission_handler) | Handling permissions
[provider](https://pub.dev/packages/provider) | State management (localization and themes)
[screen_brightness](https://pub.dev/packages/screen_brightness) | Maximum screen brightness option
[shared_preferences](https://pub.dev/packages/shared_preferences) | Saving app data like settings
[smooth_page_indicator](https://pub.dev/packages/smooth_page_indicator) | Page indicator in the onboarding screen
[url_launcher](https://pub.dev/packages/url_launcher) | Open the GitHub repository link inside the about menu
[video_thumbnail](https://pub.dev/packages/video_thumbnail) | Displaying a captured video inside the thumbnail
[wakelock](https://pub.dev/packages/wakelock) | Keeping the display always on

# License

This project is licensed under the [GNU General Public License Version 3](https://www.gnu.org/licenses/gpl-3.0.html). For details, see [LICENSE](LICENSE)