Apparence-io / CamerAwesome

📸 Embedding a camera experience within your own app shouldn't be that hard. A flutter plugin to integrate awesome Android / iOS camera experience.
https://ApparenceKit.dev
MIT License
958 stars 245 forks source link

✨ Video recording settings #304

Closed apalala-dev closed 1 year ago

apalala-dev commented 1 year ago

Description

Current implementation of CamerAwesome does not provide any settings on Android and only a few on iOS on the video recording output.

This PR adds the following Android settings:

On iOS, it may be possible to record square videos using something like this: https://stackoverflow.com/questions/36743842/record-square-video-using-avfoundation-and-add-watermark It does not seem as straightforward as on Android though. Not sure about other settings.

This should help #211 but doesn't include FPS.

Checklist

Before creating any Pull Request, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).

Breaking Change

If your feature break something, please detail it

Arunachalam-G commented 1 year ago

Hi @apalala-dev , Is this feature available on camerawesome: ^1.4.0 ?

apalala-dev commented 1 year ago

No, it's for the 2.0 release (#315).

Arunachalam-G commented 1 year ago

Ok, Thanks @apalala-dev . Can you please tell when the 2.0 will be released ?

apalala-dev commented 1 year ago

Ok, Thanks @apalala-dev . Can you please tell when the 2.0 will be released ?

No ETA yet, there are still a few bugs that need fixes. If should not be too far though, probably in 1 or 2 weeks.

Arunachalam-G commented 1 year ago

Hi @apalala-dev , I have one requirement. I want to upload video chunks to AWS S3 while the video is recording. I tried reading the bytes from the video path (where the recording video is being written) and uploaded it to server as part by part using AWS multipart request. But I think the uploaded parts are corrupted or broken. Because after all parts upload is completed, the final stitched video is not playing. I guess the issue is in reading bytes from the video path while it is being written. Can you please tell me, is there any option in this plugin to get the valid video bytes as chunks while the recording is going on. Thanks.

apalala-dev commented 1 year ago

Hi @apalala-dev , I have one requirement. I want to upload video chunks to AWS S3 while the video is recording. I tried reading the bytes from the video path (where the recording video is being written) and uploaded it to server as part by part using AWS multipart request. But I think the uploaded parts are corrupted or broken. Because after all parts upload is completed, the final stitched video is not playing. I guess the issue is in reading bytes from the video path while it is being written. Can you please tell me, is there any option in this plugin to get the valid video bytes as chunks while the recording is going on. Thanks.

Based on that discussion, I assume it's not possible (or at least not easily) right now. CameraX doesn't offer enough control over the output so your use case is quite hard to implement. If you find a workaround, feel free to share it here or on a new issue (it might interest other people). The iOS side being completely different, it may be possible there, I don't know.

If you are interested in this feature on Android, your best bet atm would probably to try to implement it with Camera2 on the native side. This means implementing the native part yourself.

You may try to create an issue to let know the CameraX team that you are interested in this feature. They may take a look at this feature faster.