flutter_native_video_trimmer 1.1.5
flutter_native_video_trimmer: ^1.1.5 copied to clipboard
A lightweight Flutter plugin for video manipulation using native code. Trim videos, generate thumbnails, and retrieve video information without FFmpeg dependency.
Flutter Native Video Trimmer #
A lightweight Flutter plugin for video manipulation using native code. Trim videos and generate thumbnails without FFmpeg dependency.
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
- ðžïļ Thumbnail Generation: Create high-quality thumbnails with customizable size
- ð ïļ 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.4
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)
);
Generate Thumbnail #
// Generate a thumbnail at 1 second mark
final thumbnailPath = await videoTrimmer.getVideoThumbnail(
positionMs: 1000, // Position in milliseconds
quality: 100, // Quality (0-100)
width: 640, // Optional width
height: 480, // Optional height
);
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 13.0 | â |
ð ïļ Requirements #
Android #
- Minimum SDK: API 21 (Android 5.0)
- Target SDK: API 34
- Kotlin: 1.9.0
- AndroidX
iOS #
- Minimum iOS: 13.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.