flutter_video_editor_plugin 1.1.0
flutter_video_editor_plugin: ^1.1.0 copied to clipboard
Timeline-based multi-clip video editor: trim, split, stickers, text, color filters, transitions and audio. Preview and export share one native composition.
1.1.0 #
- Up to seven videos or photos can be selected at once, both when the editor opens the picker and from
the timeline's add button. They are added in the order selected, and a single undo removes them all.
Items that cannot be opened are skipped and each is reported through
onFailureassourceUnreadable. - The output size is chosen from five aspect ratio presets:
RenderOutputConfig(aspectRatio:)withRenderAspectRatio9:16, 1:1, 4:5, 3:4 or 16:9. Thewidthandheightarguments have been removed. The default is still 9:16 (1080×1920). - The editor canvas has a thin border that shows the area included in the result. Fullscreen preview has none.
- Depends on native SDK 1.1.0 (iOS
VideoEditorCore, Androidshow.infini:videoeditor).
1.0.10 #
- A completed render no longer deletes the draft. The rendered state is saved, and its id is returned as
VideoEditorResult.draftId; pass it toVideoEditor.deleteDraftto remove the draft.draftIdisnullwhen drafts are disabled or no draft was saved. VideoEditor.deleteAllDrafts()deletes every draft.- Depends on native SDK 1.0.10 (iOS
VideoEditorCore, Androidshow.infini:videoeditor).
1.0.9 #
- iOS: exporting again after cancelling an export no longer fails with "Video processing failed". Once an export was cancelled, every later export from the same editor failed until it was closed.
- Depends on native SDK 1.0.9 (iOS
VideoEditorCore, Androidshow.infini:videoeditor).
1.0.8 #
- Dragging a trim handle, or long-pressing and dragging an audio clip, near the left or right edge of the timeline now scrolls the timeline. A trim extends by the distance scrolled, so the handle stays under the finger. Scrolling starts within 80 pt (dp on Android) of the edge.
- Sticker GIFs are decoded at the size they appear on the canvas on both platforms. Stickers on Android were previously decoded at 80% of that size.
- The preview stops playing when the editor closes or the app goes to the background. On Android, audio could continue briefly after closing.
- Android: the selection border of a sticker larger than the canvas now matches the sticker.
- iOS: while the start of a clip is trimmed, its thumbnails stay in place instead of moving with the handle.
- Depends on native SDK 1.0.8 (iOS
VideoEditorCore, Androidshow.infini:videoeditor).
1.0.7 #
- Rendered audio is AAC stereo at 48 kHz and 256 kbps (previously 44.1 kHz on iOS and 128 kbps on both platforms).
- Depends on native SDK 1.0.7 (iOS
VideoEditorCore, Androidshow.infini:videoeditor).
1.0.6 #
- Internal cleanup; no functional changes.
1.0.5 #
- Android: the host
pickAudiocallback kept working only while the engine that presented the editor was the last one attached. An application that opens a secondFlutterActivityas its audio browser detached that engine on close, and every later audio pick was cancelled immediately. The plugin now calls back through the instance that presented the editor. Native SDKs unchanged (1.0.4).
1.0.4 #
- A host
pickAudiocallback that returnsnullnow cancels; nothing happens. Previously the system file picker opened instead. The system picker is used only whenpickAudiois not provided. - Depends on native SDK 1.0.4 (iOS
VideoEditorCore, Androidshow.infini:videoeditor).
1.0.3 #
VideoEditorConfig.coverPickerEnabled(defaultfalse). When set, a cover screen follows “Next”: slide along a thumbnail strip of the whole video to pick a frame, or choose a photo from the gallery (center-cropped to the output aspect). The chosen frame or photo becomescoverPath. When off, nothing changes.VideoEditorResult.audioPaths: the audio tracks used on the audio lane, in timeline order, exactly as yourpickAudiocallback (or the system picker) supplied them. Empty when no audio was added.- The “Checking license…” text is gone; while the license server is contacted the editor shows only a spinner.
- Depends on native SDK 1.0.3 (iOS
VideoEditorCore, Androidshow.infini:videoeditor).
1.0.2 #
- Breaking.
TextFontSpecis nowTextFontSpec(displayName:, asset:): one pubspec asset path per font. The plugin locates the file through Flutter’s asset lookup on both platforms and registers it with Core Text on iOS, so fonts no longer need anUIAppFontsentry or aflutter_assets/path.id,iosFontName,androidFontAssetandandroidFontBoldAssetare removed. Give the bold face; overlay text is rendered in one weight. - Depends on native SDK 1.0.2 (iOS
VideoEditorCore, Androidshow.infini:videoeditor).
1.0.1 #
- The transition picker’s preview swatches now show a transition between two scenes (a house on a hill to a lighthouse). A transition between identical frames read as a flicker. The preview plays each transition at 1.5× the editor default; the defaults are unchanged.
- Depends on native SDK 1.0.1 (iOS
VideoEditorCore, Androidshow.infini:videoeditor).
1.0.0 #
First release. The editing screen, the engine and the result live in the native SDKs (iOS
VideoEditorCore, Android show.infini:videoeditor); this package presents that screen and returns
the result.
VideoEditor.present()presents the editor and awaits aVideoEditorResult?(nullon cancel).onFailurereports render failures, unreadable sources and a missing cover while the screen stays open.VideoEditorConfig: license key (required), GIPHY key, text fonts (TextFontSpec, per-platform fields), duration limits, add-clip control, string language (locale).RenderOutputConfig: output resolution, bitrate cap, frame-rate cap and codec (H.264 / HEVC). Only the fields that are set are overridden.- Drafts: with
VideoEditorConfig.draftsEnabled, leaving the editing screen saves the state and a completed render deletes it.VideoEditor.drafts(),deleteDraft(),present(draftId:),VideoEditorDraft. The list screen is the host’s. - The iOS editor requests photo-library read access and references originals without copying. Only full access is accepted.
- Strings are native SDK resources (Korean and English). The host overrides them by defining the same keys in its native resources.
VideoEditorScreenis deprecated; it remains as a wrapper for hosts that pushed it as a route.