PackageTrack
Sign in Get early access

video_editor

A flutter package for editing video with fully customizable UI. Supports crop, trim, rotation and cover selection. Provides commands to run in order to export the video or cover.

3.0.0 30K downloads/mo #1856 most downloaded on pub.dev LeGoffMael/video_editor

What this package is like to depend on

Last release 3 years ago

no release in 18 months

Release timing varies

gaps range from 8 days to 4 months

Nearly every release is documented

notes for 29 of 29 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

29 releases · first in 2020

0 releases in the last 12 months

see the full history below

Release timeline

29 releases · Dec 2020 to Jun 2023
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 29
  1. 3.0.0 26 Jun 2023
    Release notes
    • Removed dependency to FFmpeg from this package (reasons)
    • New complete control over the command generation using commandBuilder in VideoFFmpegVideoEditorConfig
      • Removed VideoExportPreset, you can specifies it using the commandBuilder.
      • Removed customInstruction, you can now custom the command using the commandBuilder.
    • The exportation is now very fast if there is no filter #140
    • Fix assert error while triming #157
    • New coverThumbnailsQuality and trimThumbnailsQuality in controller
      • Removed quality in CoverSelection, instead uses coverThumbnailsQuality
      • Removed quality in ThumbnailSlider, instead uses trimThumbnailsQuality
      • Removed quality in TrimSlider, instead uses trimThumbnailsQuality
    Open source →
    Release notes

    Note If you continue to use the previous versions (from 1.2.3 to 2.4.0) your project might be subject to a GPL license.

    • Removed dependency to FFmpeg from this package (reasons)

    Before:

    // Basic export video function
    Future<void> exportVideo() => _controller.exportVideo(
      onCompleted: (file) {}, // show the exported video
    );
    

    After:

    /// Basic export video function
    Future<void> exportVideo() async {
      // You could generate your command line yourself or if you want to continue to use FFmpeg : 
      final config = VideoFFmpegVideoEditorConfig(_controller);
      // Returns the generated command and the output path
      final FFmpegVideoEditorExecute execute = await config.getExecuteConfig();
    
      // ... handle the video exportation yourself, using ffmpeg_kit_flutter, your own video server, ... (more example in the example app)
    }
    
    • New complete control over the command generation using commandBuilder in VideoFFmpegVideoEditorConfig
      • Removed VideoExportPreset, you can specifies it using the commandBuilder.
      • Removed customInstruction, you can now custom the command using the commandBuilder.
    • The exportation is now very fast if there is no filter #140
    • Fix assert error while triming #157
    • New coverThumbnailsQuality and trimThumbnailsQuality in controller
      • Removed quality in CoverSelection, instead uses coverThumbnailsQuality
      • Removed quality in ThumbnailSlider, instead uses trimThumbnailsQuality
      • Removed quality in TrimSlider, instead uses trimThumbnailsQuality
    Open source →
  2. 2.4.0 27 Feb 2023
    Release notes
    • Fix update TrimSlider trim values from controller #141

    • Add scrollController param in TrimSlider #139 by @jcsena

    • Some controller's methods name has been changed :

    Breaking changes

    • updateCrop() method is now renamed applyCacheCrop().
    • Setters minTrim, maxTrim, minCrop & maxCrop has been removed.<br>Prefer using updateTrim(min, max) and the new updateCrop(min, max) methods instead.
    Open source →
  3. 2.3.0 10 Feb 2023
    Release notes
    • fixes GIF file exportation #134

    Breaking changes

    • format argument in exportVideo and exportCover, is now an object.

    Before:

    await controller.exportVideo(format: 'mp4', onCompleted: (_) {});
    await controller.extractCover(format: 'jpg', onCompleted: (_) {});
    

    After:

    await controller.exportVideo(
      format: VideoExportFormat.mp4, // or const VideoExportFormat('mp4')
      onCompleted: (_) {}.
    );
    
    await controller.extractCover(
      format: CoverExportFormat.jpg, // or const CoverExportFormat('jpg')
      onCompleted: (_) {}.
    );
    
    Open source →
  4. 2.2.0 05 Jan 2023
    Release notes

    What's Changed

    Full Changelog: v2.1.0...v2.2.0

    Open source →
    Release notes
    • improved widgets performances #130 & #132
    • improve crop preview internal logic by using mixin #131
    • new rotateCropArea parameter in CropGridViewer.edit #130
    Open source →
  5. 2.1.0 01 Dec 2022
    Release notes

    What's Changed

    Full Changelog: v2.0.0...v2.1.0

    Open source →
    Release notes
    • Trim values are now more accurate for exportation #127
    • New minDuration argument in controller #126
      • Timeline shows milliseconds
    • Crop values are now more accurate for exportation #125
      • Fix issue were crop were not applied on export
      • New trimmedDuration getter
    Open source →
  6. 2.0.0 28 Nov 2022
    Release notes

    What's Changed

    Migration guide
    Full Changelog: v1.5.1...v2.0.0

    Open source →
    Release notes
    • New trimmer gesture #124
    • New animation during rotation #123
    • Better trimmer #122
    • Better crop boundaries touch detection #121
    • New style parameters
    • New thumbnails fadein animation at generation
    • Video cursor position updated better while trimming
    • Fix scale issue in thumbnails

    Check migration guide.

    Open source →
  7. 1.5.2 04 Nov 2022
    Release notes
    • Fix scale issue when video is rotated
    Open source →
  8. 1.5.1 03 Nov 2022
    Release notes

    What's Changed

    Full Changelog: v1.5.0...v1.5.1

    Open source →
    Release notes
    • New aspectRatio param in initialize function, to set up the crop param without opening the crop view
    • Fix some crop resize issue with ratio
    • Fix scale issue
    Open source →
  9. 1.5.0 28 Oct 2022
    Release notes

    What's Changed

    Full Changelog: v1.4.4...v1.5.0

    Open source →
    Release notes
    • Upgrade flutter_ffmpeg_kit to latest 5.1.0
    Open source →
  10. 1.4.4 27 Oct 2022
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v1.4.3...v1.4.4

    Open source →
    Release notes
    • Fix export error when space in output path #108 by @martingeorgiu
    • Bump video_thumbnail dependencies to 0.5.3 so upgrade android compileSdkVersion to 33
    Open source →
  11. 1.4.3 23 Jun 2022
    Release notes

    What's Changed

    Full Changelog: v1.4.2...v1.4.3

    Open source →
    Release notes
    • New onError param in export functions #98
    • New selectedIndicator param in CoverSelectionStyle #97
    • Update dependencies
    Open source →
  12. 1.4.2 22 May 2022
    Release notes

    What's Changed

    Full Changelog: v1.4.1...v1.4.2

    Open source →
    Release notes
    • Update to flutter 3 #91
    Open source →
  13. 1.4.1 14 Apr 2022
    Release notes

    What's Changed

    • Exception in thumbnails generation should not clear the list by @LeGoffMael in #88

    Full Changelog: v1.4.0...v1.4.1

    Open source →
    Release notes
    • Generated thumbnails list is not cleared after an exception #88
    Open source →
  14. 1.4.0 11 Apr 2022
    Release notes
    • Fix crop grid : gesture, aspect ratio, and painting area #87
    • [MAJOR INTERNAL CROP CHANGES]
      • The aspect ratio is resizing the crop area differently depending of the current crop ratio
      • The crop rect is updated using Rect.LTRB
      • The crop area gesture is detected differently
      • The crop paint area is diplayed using Path.combine
    Open source →
  15. 1.3.1 08 Apr 2022
    Release notes
    • Implements flutter_lints configuration #86
    • [NEW] Exportation progress value is returned in onProgress function of exportVideo #85
    Open source →
  16. 1.3.0 04 Apr 2022
    Release notes
    • [BREAKING CHANGE]
      • In TrimTimeline, secondGap param is no more nullable
      • In TrimSliderStyle, positionlineWidth param is renamed positionLineWidth
      • In CoverSelection, nbSelection param is renamed quantity
    • Improve package documentation #84
    • Switch from LTS FFmpeg package to Main release #81 by @adigladi
    Open source →
  17. 1.2.5 29 Mar 2022
    Release notes
    • Upgraded video_thumbnail dependency
    • Fix dependency conflict with path 1.8.1 #79
    Open source →
  18. 1.2.4 11 Mar 2022
    Release notes
    • Updated dependencies
    • Add isFiltersEnabled param to disable all changes at extraction #76 by @AlexSmirnov9107
    • Fix an error at extraction if the destination path contains a space #74 by @rgplvr
    Open source →
  19. 1.2.3 06 Jan 2022
    Release notes
    • Update ffmpeg_kit_flutter to latest 4.5.1 #65
    • Print ffmpeg session state, return code and fail stack trace if exists #63
    • New function to get metadata of video file #57
    • Update README.md about ffmpeg_kit_flutter configuration #53 by @qiongshusheng
    Open source →
  20. 1.2.2 05 Nov 2021
    Release notes

    @legoffmael changes

    • Error MissingPluginException with video_thumbnail fixed #49
    • Add epoch to exportation names by default #50
    Open source →
  21. 1.2.1 02 Nov 2021
    Release notes

    @legoffmael changes

    • Added icons customization in trimmer style #45
    • Improved cover exportation + apply cover quality in thumbnail #46
    • Fix exportation directory issues + add exportation parameters (cover format and exportation directory) #47
    • Change how video dimensions are computed + update example and libraries #48

    FELIPE MURGUIA changes

    • Migrated to FFMPEG KIT xd
    Open source →
  22. 1.2.0 09 Aug 2021
    Release notes

    @legoffmael changes

    • Portrait scale's bugs fixed #32
    • Video export's bugs fixed #31
    • Crop's bugs fixed #30
    • Export video cover #29
    • Trim slider timeline #28
    • New smooth trimmer when video durarion > maxDuration #27
    Open source →
  23. 1.1.0 31 Mar 2021
    Release notes
    • Sound Null Safety Migration #21 by @paricleu
    • Preffered Aspect Ratio on crop
    • Improved gesture on crop screen
    Open source →
  24. 1.0.3 20 Feb 2021
    Release notes
    • Progress bar on export
    • Improved export function
    Open source →
  25. 1.0.3+1 21 Feb 2021
    Release notes
    • [UNIDENTIFIED] ERROR FIXED.
    Open source →
  26. 1.0.2 14 Jan 2021
    Release notes
    • Improved cropping gestures
    • TrimSlider bugs fixed
    Open source →
  27. 1.0.1 14 Jan 2021
    Release notes
    • Export Video:

      • VideoExportPreset
      • customFFMPEGInstruction
    • Trim Slider:

      • Load faster thumbnails
      • MaxTrimDuration
      • Bugs Fixed
    Open source →
  28. 1.0.0 24 Dec 2020
    Release notes
    • Initial Release.
    Open source →
  29. 1.0.0+1 25 Dec 2020
    Release notes
    • Export error fixed.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive