tapioca_v2 1.0.0+2
tapioca_v2: ^1.0.0+2 copied to clipboard
Tapioca V2 is a Flutter plugin for video editing on Android and iOS.
Tapioca_V2 - a Flutter plugin for video editing #
"Tapioca_v2 is a Flutter plugin designed for video editing on both Android and iOS platforms. It has been updated and improved based on the source code of Tapioca."
Note: Feedback welcome and Pull Requests are most welcome!
Previews #
![]() No filter |
![]() Apply pink filter |
![]() Apply blue filter |
![]() Apply text filter |
Features #
- Develop for iOS and Android from a single codebase
- Edit videos(Apply filter, Overlay text)
Installation #
First, add tapioca_V2
as a dependency in your pubspec.yaml file.
iOS #
Add the following entry to your Info.plist file, located in <project root>/ios/Runner/Info.plist
:
- NSPhotoLibraryUsageDescription - Specifies the reason for your app to access the user’s photo library. This is called
Privacy - Photo Library Usage Description
in the visual editor. - NSPhotoLibraryAddUsageDescription - Specifies the reason for your app to get write-only access to the user’s photo library. This is called
Privacy - Photo Library Additions Usage Description
in the visual editor.
Android #
Step 1. Ensure the following permission is present in your Android Manifest file, located in <project root>/android/app/src/main/AndroidManifest.xml
:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Step 2. Add the JitPack repository to your Android build file, located in <project root>/android/build.gradle
:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
minSdkVersion 21
Usage #
Add filter,text for your video
import 'package:tapioca_v2/tapioca.dart';
import 'package:path_provider/path_provider.dart';
final tapiocaBalls = [
TapiocaBall.filter(Filters.pink),
TapiocaBall.textOverlay("text",100,10,100,Color(0xffffc0cb)),
];
var tempDir = await getTemporaryDirectory();
final path = '${tempDir.path}/result.mp4';
final cup = Cup(Content(videoPath), tapiocaBalls);
cup.suckUp(path).then((_) {
print("finish processing");
});
Cancel export
await VideoEditorTapioca.cancelExport();
TapiocaBall #
TapiocaBall is a effect to apply to the video.
TapiocaBall | Effect |
---|---|
TapiocaBall.filter(Filters filter) | Apply color filter |
TapiocaBall.textOverlay(String text, int x, int y, int size, Color color,double? alpha) | Overlay text |
Content #
Content is a class to wrap a video file.
Cup #
Cup is a class to wrap a Content
object and List<TapiocaBall>
object.
You can edit the video by executing .suckUp()
.
Supported Formats #
- On iOS, the backing video editor is AVFoundation. please refer here for list of supported video formats.
- On Android, the backing video editor is Mp4Composer-android, The supported format is only MP4.
Articles #
- “Tapioca_V2”, the flutter package to edit videos easily and not using FFmpeg
Contributing #
Contributions are welcomed!
- Report bugs and scenarios that are difficult to implement
- Report parts of the documentation that are unclear
- Update the documentation / add examples
- Implement new features by making a pull-request
Please see the following guidelines when modifying the repository
Contributing