Search categories, packages and repositories

Package detailsv1.0.6+1

tapioca

Tapioca is a Flutter plugin for video editing on Android and iOS.

AndroidiOS
30-day downloads
36
Likes
151
Pub points
140

Install package

flutter pub add tapioca

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Tapioca is a Flutter plugin enabling video editing capabilities on both Android and iOS platforms. It allows developers to perform basic video manipulations such as trimming, merging, and applying filters directly within Flutter applications. Designed for seamless integration, Tapioca simplifies multimedia processing by providing a consistent API across mobile platforms. The plugin is particularly useful for apps requiring on-device video editing without relying on external services. Its lightweight nature and native performance make it suitable for real-time video processing tasks.

Use cases

  • Video trimming in mobile apps
  • Merging multiple video clips
  • Applying basic video filters
  • On-device video processing
  • Creating video editing features in Flutter apps

Key features

  • Cross-platform video editing
  • Support for Android and iOS
  • Simple API for video manipulation
  • Lightweight and efficient
  • Native performance for video operations

Suitable for

  • Flutter developers building video-centric apps
  • Apps needing on-device video editing
  • Developers seeking cross-platform multimedia solutions
  • Projects requiring minimal video processing overhead
  • Mobile apps with user-generated video content

Considerations

  • Limited to basic video editing functions
  • No support for advanced effects or transitions
  • Dependent on platform-specific video codecs
  • Requires careful handling of large video files
  • May have platform-specific limitations in edge cases

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Tapioca - a Flutter plugin for video editing

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!

Previews


No filter

Apply pink filter

Apply blue filter

Apply text filter

Apply image filter

Features

  • Develop for iOS and Android from a single codebase
  • Edit videos(Apply filter, Overlay text and images)

Installation

First, add tapioca 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' }
	}
}

Usage

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

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

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

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

Community

Questions and proposals are most welcome!
Discord Banner 4

Categories

Source repository

Projects using this package

No data available yet.