video_editor_free 0.0.2
video_editor_free: ^0.0.2 copied to clipboard
A comprehensive Flutter UI widget to trim, crop, rotate, filter, and add draggable overlay text to videos using FFmpeg Kit Full.
video_editor_free #
A comprehensive Flutter UI widget to trim, crop, rotate, filter, and add draggable overlay text to videos using FFmpeg Kit Full.
This package provides a complete video editor out-of-the-box, allowing users to make adjustments, place overlays, preview their edits in real-time, and export the modified video locally.
Features #
- Trimming: Crop the duration of the video.
- Cropping: Adjust aspect ratios (Original, Square, 9:16 Portrait, 16:9 Landscape).
- Rotation: Rotate videos by 90, 180, or 270 degrees.
- Adjustments: Modify brightness, contrast, and saturation.
- Text Overlay: Add draggable, resizable text overlay with dynamic color choice and custom fonts.
- Filters: Apply filters like Sepia, Grayscale, Vintage, Cool, Cozy, Dramatic, and more.
- FFmpeg Powered: Utilizes FFmpeg Kit Full for high-quality video encoding and rendering.
Setup Requirements #
Because this package uses ffmpeg_kit_flutter_new_full, you must configure your native platforms as follows:
Android #
Set the minimum SDK version to 24 in android/app/build.gradle:
android {
defaultConfig {
minSdkVersion 24
...
}
}
If you face any issues with package size or builds on Android, refer to the ffmpeg_kit_flutter_new documentation.
iOS #
Set the iOS deployment target to 14.0 or higher in your ios/Podfile:
platform :ios, '14.0'
Getting Started #
Add the dependency to your pubspec.yaml:
dependencies:
video_editor_free: ^0.0.1
Usage #
You can launch the VideoTrimScreen and receive the output File when saving:
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:video_editor_free/video_trim_editor.dart';
void editVideo(BuildContext context, File videoFile) async {
final File? editedVideo = await Navigator.push<File>(
context,
MaterialPageRoute(
builder: (context) => VideoTrimScreen(
videoFile: videoFile,
primaryColor: Colors.deepPurple,
backgroundColor: Colors.black,
textColor: Colors.white,
),
),
);
if (editedVideo != null) {
print("Edited video saved at: ${editedVideo.path}");
// Use the edited video file
}
}
Additional Information #
For issues, feature requests, or contributions, please visit the repository: https://github.com/shubhamkhandelwal/video_editor_free.