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