搜索分类、插件与代码仓

插件详情v1.0.6+1

tapioca

Tapioca 是一个用于 Android 和 iOS 上视频编辑的 Flutter 插件。

AndroidiOS
近 30 天下载
36
喜欢数
151
Pub 分数
140

安装插件

flutter pub add tapioca

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Tapioca 是一个 Flutter 插件,可在 Android 和 iOS 平台上实现视频编辑功能。它允许开发者在 Flutter 应用中直接执行基本的视频操作,如剪辑、合并和应用滤镜。Tapioca 设计用于无缝集成,通过提供跨移动平台的一致 API 简化多媒体处理。该插件特别适用于需要在设备上进行视频编辑而无需依赖外部服务的应用程序。其轻量级特性和原生性能使其非常适合实时视频处理任务。

适合场景

  • 移动应用中的视频剪辑
  • 合并多个视频片段
  • 应用基本视频滤镜
  • 设备端视频处理
  • 在Flutter应用中创建视频编辑功能

主要特点

  • 跨平台视频编辑
  • 对 Android 和 iOS 的支持
  • 视频操作的简单 API
  • 轻便高效
  • 原生性能用于视频操作

适合对象

  • Flutter 开发者构建以视频为中心的应用程序
  • 需要设备端视频编辑的应用
  • 寻求跨平台多媒体解决方案的开发者
  • 需要最少视频处理开销的项目
  • 带有用户生成视频内容的移动应用

使用建议

  • 仅限基本视频编辑功能
  • 不支持高级效果或过渡
  • 依赖于平台特定的视频编解码器
  • 需要仔细处理大型视频文件
  • 在边缘情况下可能具有平台特定的限制

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

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

所属分类

源码仓库

使用此插件的项目

暂无相关数据。