Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/imgly/vesdk-flutter

Flutter plugin for VideoEditor SDK
https://github.com/imgly/vesdk-flutter

adjustment android brush crop filter flutter frames ios overlays sdk stickers text transform video video-edit-sdk video-editing video-manipulation videoeditor-sdk

Last synced: 2 days ago
JSON representation

Flutter plugin for VideoEditor SDK

Awesome Lists containing this project

README

        



VideoEditor SDK Logo




pub.dev version


Platform support


Twitter

# Flutter plugin for VideoEditor SDK

## System requirements

- Flutter: 1.20.0
- Dart: 2.12.0
- iOS: 13
- Android: 5 (SDK 21)

## Getting started

Add the plugin package to the `pubspec.yaml` file in your project:

```yaml
dependencies:
video_editor_sdk: ^3.2.0
```

Install the new dependency:

```sh
flutter pub get
```

### Android

1. Add the IMG.LY repository and plugin by opening the `android/build.gradle` file (**not** `android/app/build.gradle`) and changing the following block:

```diff
buildscript {
- ext.kotlin_version = '1.3.50'
+ ext.kotlin_version = '1.7.21'
repositories {
...
mavenCentral()
+ maven { url "https://artifactory.img.ly/artifactory/imgly" }
...
}
dependencies {
...
+ classpath 'com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:1.7.21-1.0.8' // Depending on your `kotlin_version` version.
+ classpath 'ly.img.android.sdk:plugin:10.9.0'
...
}
}
```

The KSP version depends on the Kotlin version that you are using. In order to find the correct version, please visit the [official KSP release page](https://github.com/google/ksp/releases?page=1).

In order to update VideoEditor SDK for Android replace the version string `10.9.0` with a [newer release](https://github.com/imgly/pesdk-android-demo/releases).

2. Still in the `android/build.gradle` file (**not** `android/app/build.gradle`), add these lines at the bottom:

```groovy
allprojects {
repositories {
maven { url 'https://artifactory.img.ly/artifactory/imgly' }
}
}
```

3. In the `android/app/build.gradle` file (**not** `android/build.gradle`) you will need to modify the `minSdkVersion` to at least `21` depending on the version of Flutter that you are using. We also recommend to update the `buildToolsVersion` to `34.0.0` as well as the `compileSdkVersion` to `34`:

```diff
android {
- compileSdkVersion flutter.compileSdkVersion
+ compileSdkVersion 34
+ buildToolsVersion "34.0.0"
...
defaultConfig {
...
- minSdkVersion flutter.minSdkVersion
+ minSdkVersion 21
...
}
...
}
```

Depending on your **stable** Flutter SDK version (<= `2.5.0`), your `android/app/build.gradle` file might look a bit different. In this case, please modify it in the following way:

```diff
android {
- compileSdkVersion 30
+ compileSdkVersion 34
+ buildToolsVersion "34.0.0"
...
defaultConfig {
...
- minSdkVersion 16
+ minSdkVersion 21
...
}
...
}
```

4. In the same file, configure VideoEditor SDK for Android by adding the following lines under `apply plugin: "com.android.application"`:

```groovy
apply plugin: 'ly.img.android.sdk'
apply plugin: 'kotlin-android'

// Comment out the modules you don't need, to save size.
IMGLY.configure {
modules {
include 'ui:text'
include 'ui:focus'
include 'ui:frame'
include 'ui:brush'
include 'ui:filter'
include 'ui:sticker'
include 'ui:overlay'
include 'ui:transform'
include 'ui:adjustment'
include 'ui:text-design'
include 'ui:video-trim'
include 'ui:video-library'
include 'ui:video-composition'
include 'ui:audio-composition'
include 'ui:giphy-sticker'

// This module is big, remove the serializer if you don't need that feature.
include 'backend:serializer'

// Remove the asset packs you don't need, these are also big in size.
include 'assets:font-basic'
include 'assets:frame-basic'
include 'assets:filter-basic'
include 'assets:overlay-basic'
include 'assets:sticker-shapes'
include 'assets:sticker-emoticons'
include 'assets:sticker-animated'

include 'backend:sticker-animated'
include 'backend:sticker-smart'
include 'backend:background-removal'
}
}
```

### Usage

Import the packages in your `main.dart`:

```dart
import 'package:video_editor_sdk/video_editor_sdk.dart';
import 'package:imgly_sdk/imgly_sdk.dart';
```

Each platform requires a separate license file. [Unlock VideoEditor SDK](./lib/video_editor_sdk.dart#L13-L22) with a single line of code for both platforms via platform-specific file extensions.

Rename your license files:

- Android license: `vesdk_license.android`
- iOS license: `vesdk_license.ios`

The licenses should be located on a project level. We recommend putting them into the `{PROJECT_ROOT}/assets/` folder.
Pass the relative file path (based on the project root) without the extension to the `unlockWithLicense` function to unlock both iOS and Android:

```dart
VESDK.unlockWithLicense("assets/vesdk_license");
```

Open the editor with a video:

```dart
VESDK.openEditor(Video("assets/video.mp4"));
```

Please see the [API documentation](https://pub.dev/documentation/video_editor_sdk) for more details and additional [customization and configuration options](https://pub.dev/documentation/imgly_sdk).

## Example

Please see our [example project](./example) which demonstrates how to use the Flutter plugin for VideoEditor SDK.

## License Terms

Make sure you have a [commercial license](https://img.ly/pricing?product=vesdk&?utm_campaign=Projects&utm_source=Github&utm_medium=VESDK&utm_content=Flutter) for VideoEditor SDK before releasing your app.
A commercial license is required for any app or service that has any form of monetization: This includes free apps with in-app purchases or ad supported applications. Please contact us if you want to purchase the commercial license.

## Support and License

Use our [service desk](https://support.img.ly) for bug reports or support requests. To request a commercial license, please use the [license request form](https://img.ly/pricing?product=vesdk&?utm_campaign=Projects&utm_source=Github&utm_medium=VESDK&utm_content=Flutter) on our website.