CamerAwesome icon indicating copy to clipboard operation
CamerAwesome copied to clipboard

Development status - we need help

Open g-apparence opened this issue 2 years ago • 19 comments

Edit on 9/7/2022: We don't plan anymore to deprecate this package

Thanks to all people that contributed to this thread it seems clear that

  • this package helps many people.
  • it provides a different experience/features than the official one and seems to help many
  • it's hard to think of pushing cameraX on the official plugin without rewriting everything. But we certainly can try here.

Do you want to help? Write us here.

Next step

  • [ ] create a public feature board
  • [ ] finish testing cameraX on Android
  • [ ] migrate to pigeon
  • [ ] creating a web interface

~~Should we consider deprecating CamerAwesome~~

2 years ago there was a lack of official support for the camera with flutter. That’s why we started camerawesome. That’s not true anymore and camerawesome seems far away from the official plugin.

As I and our team would prefer not wasting time and maybe contribute into offical plugin instead of maintaining this one alone. Is there still any reason to work on this plugin instead of official camera plugin?

Let's discuss 🙏

g-apparence avatar Jan 08 '22 14:01 g-apparence

For images captured, the results of CameraAwesome are noticeably better than the flutter camera in my experience. The max resolution is also greater and focus time is much less. I have noticed blurry images from the main camera plugin. I haven't tested other features so I can't say anything on that. One thing that is an issue is the image quality compared to native apps. I don't know why but all the flutter plugins I tried have this issue. If I take photo of a book page then the results on native camera is much better on all the android devices I tested compared to flutter plugins. Also the image size generated for 4k image is much less than it should be. For 4k images both CameraAwesome and Flutter camera give a size of approx 1-1.5 mb image while native apps give 3-5mb size. This issue has been opened on the flutter camera plugin for more than a year now and still no progress. One advantage of working on CameraAwesome in my opinion is that you can work on these types of issues quickly.

physxP avatar Jan 18 '22 20:01 physxP

If I take photo of a book page then the results on native camera is much better on all the android devices I tested compared to flutter plugins.

The image taking process is much more complex than what camera plugin does using Camera2 APIs. Unfortunately camera plugin does not take advantage of CameraX APIs that make it much easier to capture high quality photos or take advantage of advanced camera features (like blur reduction).

If there are any improvements in the camera_awesome compared to camera, then I'd love to see them landed in the official plugin.

orestesgaolin avatar Jan 18 '22 20:01 orestesgaolin

Thank you for your feedbacks. The camera2 api is a headache and took me hours to understand some little things. Creating a camera plugin is a really big thing.

CameraX seems more stable now and maybe it's time to invest in it. Someone suggested on twitter to merge efforts with official plugin on making camerAwesome using the official camera plugin platform interface.
This could be a way to merge these effort without making this plugin deprecated and continue improving it.

g-apparence avatar Jan 19 '22 06:01 g-apparence

That sounds awesome! I have a suggestion in this approach. Maybe if we extend the flutter camera controller class and override specific functionalities only then it would be better for usability. E.g. if you only implement taking picture from CameraX Api it will still mean that all the other features of the flutter camera would work until they are better implemented in CameraX Api. This will also mean that flutter camera updates are automatically applied in CameraAwesome.

physxP avatar Jan 19 '22 08:01 physxP

[Edit: Retracted. The comment used to point out that the official plugin would benefit from the contributors of this repo. However, I consider my opinion at the time uninformed, and based on the discussion below it seems that CamerAwesome has it's own advantages]

otto-dev avatar Feb 07 '22 00:02 otto-dev

I'm using the cameraawesome package in my app and did some testing with the flutter official Camera plugin and the problem I'm facing with it is related to lagging when changing flash settings and taking pictures with low light (mostly on samsung devices) and I see a lot of errors related to the Camera2 similar to that.

GabrielAraujo avatar Feb 09 '22 17:02 GabrielAraujo

Hi, sorry I didn’t completely understand. Do you have this lag on cameraAwesome or on official camera plugin ? Le 9 févr. 2022 à 18:11 +0100, Gabriel Araujo @.***>, a écrit :

I'm using the cameraawesome package in my app and did some testing with the flutter official Camera plugin and the problem I'm facing with it is related to lagging when changing flash settings and taking pictures with low light (mostly on samsung devices) and I see a lot of errors related to the Camera2 similar to that. — Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.Message ID: @.***>

g-apparence avatar Feb 09 '22 17:02 g-apparence

Sorry! On the official camera plugin!

GabrielAraujo avatar Feb 09 '22 17:02 GabrielAraujo

Ah ok, Thank you! Le 9 févr. 2022 à 18:14 +0100, Gabriel Araujo @.***>, a écrit :

Sorry! On the official camera plugin! — Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.Message ID: @.***>

g-apparence avatar Feb 09 '22 17:02 g-apparence

As @GabrielAraujo has mentioned, we have been working on converting to the official camera plugin given that this package isn't being actively maintained and we were running into overexposure of photos when using the flash. That said, now that @GabrielAraujo has finished the conversion, we're seeing that this plugin performs better across the board though both suffer from issues with overexposure when using the flash.

It's interesting that the Camera plugin is using Camera2 and not CameraX as you are here.

This is unrelated, but does anyone know why neither iOS or Android provide access to the full-featured native cameras and instead provide a stripped-down version with fewer features? I realize some want their own custom cameras but that would solve camera problems for likely a vast majority of users.

jamesdixon avatar Feb 10 '22 03:02 jamesdixon

@g-apparence I recall that you had developed this to serve your clients for your agency work. Are you continuing to use the package or considering migrating to the official Camera plugin?

jamesdixon avatar Feb 10 '22 03:02 jamesdixon

@jamesdixon iOS is way easier to use than Android that is really low level and with multiple hardware possibilities. iOS and Android let you use the official camera app (https://pub.dev/packages/image_picker). They invest a lot of money adding AI et many other image correction algorithms. Each android manufacturer does its own app. That's why it's hard to compete with theirs...

It's been some time we didn't really need an embedded photo app. But as we grow I try to keep some time for the team working on open source projects. The android part has been made mainly by me at a time I was a bit less busy. Last week two members of the team worked on an implementation of cameraX. (You can check the branch feature/cameraX). I think it's promising and maybe this could make a way better rendering. If so I would like to suggest this on the official camera plugin.

g-apparence avatar Feb 10 '22 07:02 g-apparence

I just switched to CamerAwesome from the official Camera plugin, because the latter is too slow. CamerAwesome is easier to use, faster, and all-around excellent for me.

adrian-brennan avatar Feb 12 '22 04:02 adrian-brennan

@adrian-brennan Thank you for you kind feedback. I appreciate our efforts helps people :).

g-apparence avatar Feb 12 '22 21:02 g-apparence

I am here cause the Camera plugin is really slow. This plugin solved that for me

Jayvd avatar Jun 17 '22 01:06 Jayvd

Starting using it this morning, it's easy to use and works really well. I haven't spent much time with the official plugin but thanks for this one :)

HugoHeneault avatar Jun 28 '22 07:06 HugoHeneault

Today I switched from camera to awesome camera mainly because of auto focus, with camera package autofocus seems to just not work and when you make manual focus it takes an eternity to focus, even with their provided example. With camera awesome autofocus works like native camera. the only thing I do not like is that screen rotation is blocked and thus I had to use rotation animations in order to achieve rotation. Aside from that i really like it more than regular camera package.

DevNim98 avatar Sep 01 '22 22:09 DevNim98

I'm planning to switch to this package as the one that we use flutter_better_camera lacks for dev support and since Flutter 3, is not even working on iOS. Unfortunately official plugin is still missing mandatory options as Flash and Zoom. After investigating most of the camera plugins this one gives most confident over the others as support and functionality. Please keep up with good work!

P.S. Helping official plugin will be probably more complicated, as there the main reason to miss functionalities, is that they have to work 100% on all devices and we know how hard is to deal with 99$ devices. While packages as yours will work on 95+% of devices is reasonable sacrifice.

Galeen-Bidpath avatar Sep 05 '22 08:09 Galeen-Bidpath

If camera awesome supported video recording on Android, we would not waste a second and migrate to this awesome package :)

aytunch avatar Sep 19 '22 22:09 aytunch

i haven't tried either this package nor the original flutter camera package – i just read a bit about them… and i had to implement Photo/Video to a Xamarin.Forms app lately.

BACKGROUND From that i can say:

  • almost every "easy" camera implementation (even in all docs and demos i've found) are using a Video-Live-Stream from a camera and taking pictures out of this stream.
  • which means: On a HD-Camera the best you get is a 1920x1080 picture… without flash and other picture-enhancements … and it means it can be blurry very easily because the Video often has a longer exposure time like a 1/30 to a 1/60 second or so

I was blown away not being able to find some easy solutions for iOS AND Android to solve that … other than calling the OS-Build-In-Camera "App/Intent" … which brings other nasty problems with it (like your app could be kicked out of memory) … AND STILL you have to handle A LOT yourself (like adding GPS positions, metadata etc.) and you only get ONE Picture - no easy way (on both platforms) to show a list of taken pictures to return with a batch of files… meh

When i read about how easy it would be to use the flutter camera package i thought i might be too good to be true as now i know some insides of the iOS and Android platforms. When read thru the issues i found myself back thinking about all those problems i had with Xamarin ;) … So it seems that flutter is using the Videostream to take single pictures out of it too

Then i landed here at Camerawsome because of the ability to take full resolution pictures, (pinch-to-)Zoom, Flashlight… all from within the very own App! Nice! i REALLY appreciate the afford… as stated above: i can feel the pain ;)

MY HOPE please let this project alive… as far as i was able to find, the official camera plugin still can't do a lot of things (no even sure about the full resolution like 12MP for example) and as i can read here to: it's slow

I hope you can find a solution to record video on android.

Is GPS-Metadata integrated in android in the meantime? if not: It may be an idea to let a developer get a gps location itself (with default packages, out of a stored / cached location, etc.); then offer a setter to give lat/long to the camerawsome widget. Then the widget could add that given location to the metadata (at least for android it shouldn't be too hard as there should be a simple function to modify just the exif-information of a file… not sure how to do this on iOS as i don't know if there is such an easy function for it)

I cannot wait to try this package … even if i'm a bit nervous about build a complete camera screen from scratch by myself (maybe using the demo as a hint of course) … unfortunately it have to wait a little longer because of other projects waiting … but THEN i would cry tears if this package would be gone or outdated :') so please keep up the quality work - i REALLY REALLY appreciate that

bnSonic avatar Oct 04 '22 13:10 bnSonic

...so please keep up the quality work - i REALLY REALLY appreciate that

Thank you for your kind feedback. All our team is proud of this work and we decided to continue make it progress outside of the official plugin path.

We also have some great news for you guys coming soon :).

g-apparence avatar Oct 04 '22 13:10 g-apparence