tapioca
Tapioca ist ein Flutter-Plugin für die Videobearbeitung unter Android und iOS.
Ein Flutter-Plugin für die Videobearbeitung unter Android und iOS.
{"sdk":"flutter"}{"sdk":"flutter"}Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.
Version Generic badge Discord tippin.me
codecov Tapioca is a Flutter plugin for video editing on Android and iOS.
Note: Feedback welcome and Pull Requests are most welcome!
| https://raw.githubusercontent.com/anharu2394/tapioca/master/assets/non_filter.gif No filter |
https://raw.githubusercontent.com/anharu2394/tapioca/master/assets/pink_filter.gif Apply pink filter |
https://raw.githubusercontent.com/anharu2394/tapioca/master/assets/blue_filter.gif Apply blue filter |
https://raw.githubusercontent.com/anharu2394/tapioca/master/assets/text_filter.gif Apply text filter |
https://raw.githubusercontent.com/anharu2394/tapioca/master/assets/tapioca_filter.gif Apply image filter |
First, add tapioca as a dependency in your pubspec.yaml file.
Add the following entry to your Info.plist file, located in <project root>/ios/Runner/Info.plist:
Privacy - Photo Library Usage Description in the visual editor.Privacy - Photo Library Additions Usage Description in the visual editor.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' }
}
}
import 'package:tapioca/tapioca.dart';
import 'package:path_provider/path_provider.dart';
final tapiocaBalls = [
TapiocaBall.filter(Filters.pink),
TapiocaBall.imageOverlay(imageBitmap, 300, 300),
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");
});
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) | Overlay text |
| TapiocaBall.imageOverlay(Uint8List bitmap, int x, int y) | Overlay images |
Content is a class to wrap a video file.
Cup is a class to wrap a Content object and List<TapiocaBall> object.
You can edit the video by executing .suckUp().
Contributions are welcomed!
Please see the following guidelines when modifying the repository
Contributing
Questions and proposals are most welcome!
Discord Banner 4