Flutter Native Video Trimmer
A lightweight Flutter plugin for video manipulation using native code. Trim videos without FFmpeg dependency.
Note: This library focuses specifically on video trimming functionality. If you need more advanced video editing features (trim, merge, crop, rotate, etc.), consider using easy_video_editor.
Why choose this plugin?
- ð No FFmpeg Dependency: Uses platform-native video processing capabilities instead of heavy FFmpeg libraries
- ðŠķ Lightweight: Smaller app size and faster processing compared to FFmpeg-based solutions
- âĄïļ Native Performance: Direct use of Media3 (Android) and AVFoundation (iOS) for optimal performance
- ðą Memory Efficient: Processes videos without loading entire files into memory
- ð Privacy Focused: All processing happens locally on the device
âĻ Features
- ðž Video Loading: Load and process video files from any source
- âïļ Precise Trimming: Trim videos with millisecond precision
- ð ïļ Native Implementation: Clean and efficient platform-specific code
ðĶ Installation
Add this to your package's pubspec.yaml
file:
dependencies:
flutter_native_video_trimmer: ^1.1.8
Or install via command line:
flutter pub add flutter_native_video_trimmer
ð Usage
Import
import 'package:flutter_native_video_trimmer/flutter_native_video_trimmer.dart';
Initialize
final videoTrimmer = VideoTrimmer();
Load a Video
await videoTrimmer.loadVideo('/path/to/video.mp4');
Trim Video
// Trim the first 5 seconds of the video
final trimmedPath = await videoTrimmer.trimVideo(
startTimeMs: 0, // Start time in milliseconds
endTimeMs: 5000, // End time in milliseconds (5 seconds)
includeAudio: true, // Optional, default is true
);
Clear Cache
// Clear the cache
await videoTrimmer.clearCache();
Example
Check the example folder for a complete sample app demonstrating all features.
ðą Platform Support
Platform | Implementation | Minimum Version | Status |
---|---|---|---|
Android | Media3 | API 21 (5.0) | â |
iOS | AVFoundation | iOS 11.0 | â |
ð ïļ Requirements
Android
- Minimum SDK: API 21 (Android 5.0)
- Target SDK: API 34
- Kotlin: 1.9.0
- AndroidX
iOS
- Minimum iOS: 11.0
- Swift: 5.0
- Xcode: Latest version
ðĪ Contributing
Contributions are always welcome! Here's how you can help:
- ð Report bugs by opening an issue
- ðĄ Suggest new features or improvements
- ð Improve documentation
- ð§ Submit pull requests
ð License
This project is licensed under the MIT License - see the LICENSE file for details.
ð§ Author
â Show Your Support
If you find this plugin helpful, please give it a star on GitHub! It helps others discover the plugin and motivates me to keep improving it.