andrew_video_sdk
Video editing SDK for Flutter — timeline, multi-track, transitions, effects, filters, AI subtitle, smart cut, screen recording.
安装
dependencies:
andrew_video_sdk: ^0.0.1
快速开始
import 'package:andrew_video_sdk/andrew_video_sdk.dart';
final editor = VideoEditor();
await editor.init(const VideoSdkConfig(enableGpu: true));
// 注入 SPI(可选,按需注入)
editor.setMaterialProvider(MyMaterialProvider());
editor.setCloudAiProvider(MyCloudAiProvider());
editor.setModelProvider(MyModelProvider());
// 新建项目
editor.projectManager.newProject(name: 'demo');
// 预览 → 导出
final texId = await editor.renderEngine.createPreviewTexture();
await editor.renderEngine.startPreview(fps: 30, quality: 'adaptive');
await editor.exportManager.export(
const ExportConfig(
width: 1080, height: 1920, fps: 30,
videoBitrate: 5000,
videoCodec: VideoCodec.h264,
format: ExportFormat.mp4,
),
);
核心特性
- 25 个 Manager:项目 / 时间线 / 片段 / 轨道 / 关键帧 / 蒙版 / 滤镜 / 调色 / 转场 / 动画 / 特效 / 贴纸 / 美颜 / 字幕 / 音频 / 拍摄 / AI / 渲染 / 导出 / 数据交换 / 智能剪辑 / 预设 / 水印
- 业界标准协议:FFmpeg + 平台硬编(VideoToolbox/MediaCodec)+ Metal/GLES3
- 专业级时间线模型:多轨 / 关键帧 / 蒙版 / 曲线变速
- SPI 架构:所有外部依赖通过 SPI 注入,SDK 零硬编码地址
- 算法模型三种策略:本地内置 / 动态下发(SPI)/ 云端 API(SPI)
- 互通:导入剪映 draft、导出 OpenTimelineIO/FCPXML/PR XML
SPI 接口
SDK 不包含任何私有服务地址,所有外部能力通过 SPI 接口由接入方注入:
| SPI 接口 | 说明 | 未注入时 |
|---|---|---|
MaterialProvider |
素材市场 | 素材市场不可用 |
MusicProvider |
在线音乐 | 音乐功能不可用 |
TemplateProvider |
模板市场 | 模板功能不可用 |
AiProvider |
高级 AI | 高级 AI 不可用 |
CloudRenderProvider |
云端合成 | 云端渲染不可用 |
AssetStorageProvider |
素材存储 | 云端素材不可用 |
CloudAiProvider |
云端 AI | 云端 AI 不可用,本地功能正常 |
ModelProvider |
模型动态下载 | 动态模型不可用,本地功能正常 |
许可证
MIT License
Libraries
- andrew_video_sdk
- Video SDK — Layer 1 Core with SPI Architecture