Video editing
Platforms
Android, iOS
Description
Would be a game changer to let the editor upload a video, like instagram, so its inserted as a layer same as its done with te image. Would love to help if i can with anything.
Why
Now a days social medias are based on video as well as images.
That would be a great feature, but implementing it will take a significant amount of time, especially for the generation aspect. In my current projects, I do not require this feature, so I have no plans to implement it. However, for anyone who wishes to implement it and want to create a PR, I will explain below which parts will need to be modified.
Layer
- Create a new layer class, possibly named
VideoLayerData, in the following file: layer.dart. - Update the layer widget to include the new video layer in this file: layer_widget.dart. I suggest using the media_kit package, as it supports video playback across all platforms, making it the easiest option.
Generation
- To capture the final video, it will be necessary to write entirely new logic in the content_recorder to capture only the video. Similar to how the photo capture process is handled, it will be essential to use multi-threading. This means using isolates on Dart native platforms and setting up a web worker for Dart-web.
- Update the output_formats file with the possible formats. At a minimum, it should support
MP4andGIF. If you want to implement additional formats,MOV,AVI, andMKVcould also be useful. - Implement the logic to apply filters, paintings, and other effects.
- It should also support video cropping, allowing users to trim the video length.
- Consider the possibility of running background threads to apply changes directly, similar to how it's currently done in the photo editor.
Import/ Export
- The editor currently supports importing/exporting everything as a
JSONfile. It may be necessary to add parameters for features like cropped duration.
Various
This issue is stale because it has been open for 3 days with no activity.
This issue was closed because it has been inactive for 5 days since being marked as stale.