video_editor 3.0.0 copy "video_editor: ^3.0.0" to clipboard
video_editor: ^3.0.0 copied to clipboard

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 #

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
  • 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
    • Removed quality in ThumbnailSlider
    • Removed quality in TrimSlider

2.4.0 #

  • 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.
    Prefer using updateTrim(min, max) and the new updateCrop(min, max) methods instead.

2.3.0 #

  • 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: (_) {}.
);

2.2.0 #

  • improved widgets performances #130 & #132
  • improve crop preview internal logic by using mixin #131
  • new rotateCropArea parameter in CropGridViewer.edit #130

2.1.0 #

  • 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

2.0.0 #

  • 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.

1.5.2 #

  • Fix scale issue when video is rotated

1.5.1 #

  • 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

1.5.0 #

  • Upgrade flutter_ffmpeg_kit to latest 5.1.0

1.4.4 #

  • 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

1.4.3 #

  • New onError param in export functions #98
  • New selectedIndicator param in CoverSelectionStyle #97
  • Update dependencies

1.4.2 #

  • Update to flutter 3 #91

1.4.1 #

  • Generated thumbnails list is not cleared after an exception #88

1.4.0 #

  • 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

1.3.1 #

  • Implements flutter_lints configuration #86
  • [NEW] Exportation progress value is returned in onProgress function of exportVideo #85

1.3.0 #

  • [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

1.2.5 #

  • Upgraded video_thumbnail dependency
  • Fix dependency conflict with path 1.8.1 #79

1.2.4 #

  • 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

1.2.3 #

  • 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

1.2.2 #

@legoffmael changes

  • Error MissingPluginException with video_thumbnail fixed #49
  • Add epoch to exportation names by default #50

1.2.1 #

@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

1.2.0 #

@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

1.1.0 #

  • Sound Null Safety Migration #21 by @paricleu
  • Preffered Aspect Ratio on crop
  • Improved gesture on crop screen

1.0.3+1 #

  • [UNIDENTIFIED] ERROR FIXED.

1.0.3 #

  • Progress bar on export
  • Improved export function

1.0.2 #

  • Improved cropping gestures
  • TrimSlider bugs fixed

1.0.1 #

  • Export Video:

    • VideoExportPreset
    • customFFMPEGInstruction
  • Trim Slider:

    • Load faster thumbnails
    • MaxTrimDuration
    • Bugs Fixed

1.0.0+1 #

  • Export error fixed.

1.0.0 #

  • Initial Release.
486
likes
140
pub points
96%
popularity
screenshot

Publisher

verified publisherlegoffmael.dev

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.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter, path, path_provider, transparent_image, video_player, video_thumbnail

More

Packages that depend on video_editor