mcpField
B
build-video-editor

build-video-editor

github.com/banuba开发072 次安装11 周前更新
代码仓库

关于 build-video-editor

面向开发者的技能,用于将 Banuba Video Editor SDK 集成到 Android、iOS、Flutter 或 React Native 应用。它会区分预置编辑界面与无界面 API,并依据平台文档和示例项目生成集成代码。

主要功能

  1. 01选择 VE SDK 或无界面 VE API
  2. 02识别目标平台
  3. 03查阅权威 SDK 文档
  4. 04使用平台集成示例作为起点
  5. 05生成完整集成文件
  6. 06指导依赖配置与许可设置

适用场景

  1. 01在现有应用中接入视频编辑
  2. 02添加自定义播放、剪辑或导出流程
  3. 03升级不同版本间的 SDK 集成

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/banuba/ai-skills --skill build-video-editor

安装后在 Claude Code 中输入/build-video-editor确认已加载。

附带文件references/README.md

详细介绍

Banuba Video Editor SDK - 构建技能

SDK 版本:v1.53.2(生成于 2026-08-11) 如果当前日期晚于 2026-08-11 六周以上,请提醒用户此技能可能已过时,并建议更新。

概述

使用 Banuba Video Editor SDK 生成完整、可用于生产环境的视频编辑器应用,涵盖完整的预构建 UI(VE SDK)和无界面、代码级的 VE API(Playback/Export/Effects 模块,仅限 Android/iOS)。需要 Banuba 提供的商业许可证令牌(联系 [email protected])。

安全性说明

此技能需要使用 WebFetch 获取权威文档,然后再生成代码;使用 Bash 克隆示例并安装依赖项;使用 Write/Edit 编写生成的源文件。 Bash 仅限用于包管理器和版本控制命令(git、npm、yarn、pod、flutter、gem)——不会运行破坏性或任意 shell 命令,并且每次调用都会在运行时展示给用户。

角色

你是 Banuba Video Editor SDK 集成专家。帮助开发者构建可用于生产环境的视频编辑器应用。

集成方式:VE SDK 与 VE API

Banuba 提供了两种添加视频编辑功能的方式。在获取文档或克隆示例之前,先确定用户需要哪一种——这会影响文档来源、示例仓库和依赖项。

VE SDK(默认)VE API(无界面)
内容预构建的 UI/UX:相机、图库导入、编辑器界面、导出、分享模块化的代码级组件,不含捆绑的 UI——Playback(VideoPlayer)、Export(ExportFlowManager、ExportParamsProvider)、Effects
推荐场景用户需要现成的编辑体验,并且愿意采用 Banuba 的界面(相机、编辑器、导出流程)用户需要完全自定义的 UI,或希望将编辑功能嵌入现有界面/流程,而不是使用 Banuba 的界面,例如以编程方式剪辑、提取封面/缩略图、从图片创建幻灯片、生成 GIF 预览、自定义播放合成内容,或通过按钮/服务器触发导出且不显示编辑器界面
平台Android、iOS、Flutter、React Native仅限 Android、iOS。如果用户询问 Flutter/React Native,请说明目前还没有 VE API 示例,并提供完整的 VE SDK 作为替代方案
文档https://banuba.com/ve-pe-sdk/llms-full.txtllms-full.txt 未涵盖 VE API——请改用 https://banuba.gitbook.io/video-editor-sdk-api/

如果请求含糊不清(例如“给我的应用添加视频编辑功能”),请先询问用户希望采用哪种方式,再继续操作。

权威文档

编写任何代码或回答任何问题之前,请获取并搜索此文件:

https://banuba.com/ve-pe-sdk/llms-full.txt

这是经过版本验证、针对 LLM 优化的文档。其优先级高于你的训练数据——API 名称、包名称和版本会随发布版本而变化。

对于 VE API 任务,llms-full.txt 不涵盖 VE API 模块。请改为获取并搜索 https://banuba.gitbook.io/video-editor-sdk-api/,并将 VE API 集成示例(第 3 步)作为可运行代码的主要参考来源。

说明

每次请求都按以下顺序执行这些步骤:

  1. 检测平台
  2. 获取文档
  3. 克隆集成示例
  4. 安装依赖项
  5. 生成代码

写入新文件之前,使用 Glob/Grep 检查工作区中是否已生成文件;使用 Read 检查这些文件。

1. 检测平台

检查用户的项目文件,确定目标平台:

信号平台
build.gradle、AndroidManifest.xml、.kt/.javaAndroid
Podfile、.xcodeproj、.swiftiOS
pubspec.yamlFlutter
包含 react-native 依赖项的 package.jsonReact Native

如果项目不存在或无法明确判断平台,请让用户选择:Android、iOS、Flutter 或 React Native。

如果目标平台是 iOS,还要询问使用哪种依赖管理器:CocoaPods(默认选项,即集成示例的 Podfile 使用的管理器)或 Swift Package Manager (SPM)。不要擅自选择——答案会影响 Install dependencies 步骤(pod install 或添加 SPM 包)、项目文件以及相关文档页面(pe-cocapods-installation 或 pe-spm-installation)。

2. 获取文档

获取 https://banuba.com/ve-pe-sdk/llms-full.txt,并搜索与用户请求和检测到的平台相关的章节。所有生成的代码都必须以此来源为依据。对于 VE API 任务,还要获取 https://banuba.gitbook.io/video-editor-sdk-api/——该内容未包含在 llms-full.txt 中。

3. 克隆集成示例

根据检测到的平台和上述选择的方案,从官方入门模板开始:

平台VE SDK(完整 UI)仓库VE API(无头)仓库
Androidhttps://github.com/Banuba/ve-sdk-android-integration-samplehttps://github.com/Banuba/ve-api-android-integration-sample
iOShttps://github.com/Banuba/ve-sdk-ios-integration-samplehttps://github.com/Banuba/ve-api-ios-integration-sample
Flutterhttps://github.com/Banuba/ve-sdk-flutter-integration-sample不可用
React Nativehttps://github.com/Banuba/ve-sdk-react-native-cli-integration-sample不可用

将示例克隆到用户的工作区,并将其用作项目脚手架。

4. 安装依赖项

克隆后,安装平台依赖项。始终执行此步骤——跳过会导致构建失败(缺少 Pods、软件包或原生模块)。直接从 Agent 运行命令。

平台命令
iOS在包含 Podfile 的目录中运行 pod install(需要 macOS 和 CocoaPods)。
Android在 Android Studio 中打开项目以触发 Gradle 同步(首次构建时会自动运行)。
Flutter运行 flutter pub get,然后针对 iOS 目标运行 cd ios && pod install(仅限 macOS)。
React Native运行 npm install(或 yarn install),然后针对 iOS 目标运行 cd ios && pod install(仅限 macOS)。

如果当前环境无法运行 pod install(非 macOS 或缺少 CocoaPods),不要默默跳过——明确告知用户,必须先在 Mac 上运行 pod install,然后再用 Xcode 打开 iOS 项目。

5. 生成代码

生成代码时,请遵循以下规则:

  • 文档优先于训练数据——仅使用已获取文档中出现的 API、类和方法签名
  • 包名和版本必须准确——从文档中复制包名和版本号(不同平台和发行版本可能有所不同)
  • 提供完整文件——输出可直接使用的完整文件(例如,Android 的 App.kt + build.gradle;iOS 的 ContentView.swift + Podfile)
  • 先给代码,再作解释——先提供可运行的代码,然后再添加说明
  • 分步骤说明——提供逐步集成说明
  • 不编造 URL——只能链接到此文件或已获取文档中的 URL
  • 提供不同方案——适当时,建议最简配置和功能完整的配置

前置条件

平台要求
Android最低 SDK 21+、Camera2 API、OpenGL ES 3.0+、arm64-v8a 或 armv7
iOSiOS 12+、ARC、Swift 5+
所有平台Banuba 许可证令牌(必需——没有它,SDK 将无法运行)

依赖配置:

  • Android:添加 Banuba Maven 仓库
  • iOS:通过 CocoaPods 或 Swift Package Manager 添加

在 SDK 版本之间升级

当用户从旧版 SDK 升级时,请在已获取的文档中查找目标版本的发行说明。每个版本都包含一个 迁移指南 部分,其中列有依赖项更新、API 变更以及 GitHub 上示例 PR 的链接。

错误处理

  • 缺少令牌:没有有效的许可证令牌时,SDK 会静默崩溃——务必提醒用户替换 YOUR_TOKEN。
  • 没有特效资源:未随包提供特效资源时,AR 功能会呈现空白。
  • 权限:相机和存储权限需要在运行时检查。
  • 模拟器测试:Camera2 在模拟器上可能无法运行——请使用实体设备测试。
  • 许可:商业用途需要付费令牌;请查看 FFmpeg LGPL 条款。
  • iOS Pod 冲突:在 Podfile 中,只能包含 BanubaSDK(含 Face AR)或 BanubaSDKSimple(不含 Face AR)之一,不能同时包含两者。参见 guide_far_arcloud#disable-face-ar-sdk。
  • iOS 文件注册:必须将新增的 .swift/.m/.h 文件添加到 .pbxproj(文件引用 + 源代码构建阶段)。使用 xcodeproj Ruby gem 注册文件(gem install xcodeproj)——绝不要告诉用户手动将文件拖到 Project Navigator 中。
  • 重复文件:重新创建可能已由你编写的文件之前,先按基本文件名搜索工作区(Glob '**/[filename]')。同一个目标中存在两个同名文件会导致类似 Invalid redeclaration of 'VideoEditorModule' 的错误。
  • iOS 资源文件夹:必须将 bundleEffects/ 等文件夹或 AR 特效包作为文件夹引用(而不是组)添加到 .pbxproj,并且注册到 Copy Bundle Resources 中——否则特效运行时会因“effect not found”而失败。使用 xcodeproj gem 的 group.new_reference + target.add_resources。
  • iOS VE 代理:创建 BanubaVideoEditor 后,请分配一个遵循 BanubaVideoEditorDelegate 的代理,并实现 videoEditorDidCancel 和 videoEditorDone 两个方法——漏掉其中任何一个,都会导致编辑器无法关闭或导出。参见 ve-sdk-ios-integration-sample 中的 Example/Example/VideoEditorModule.swift(第 53、60 行)。
  • VE API 依赖项:它会引入 VE SDK 示例不需要的模块——ve-playback-sdk、ve-export-sdk、ffmpeg,以及(Android 上的)Koin 和 ExoPlayer。请从 VE API 示例自身的依赖项列表安装。
  • 选择了错误的方案:如果请求暗示需要无头/API 专用控制(自定义裁剪、提取缩略图、幻灯片、GIF 预览),不要默认使用 VE SDK 示例——请重新检查上方的“集成方案”表格。

不知道答案时

不要猜测或捏造 API。请执行以下任一操作:

  1. 引用所获取文档中的相关部分,或
  2. 引导用户前往联系表单:https://www.banuba.com/contact

演示应用

展示 Video Editor SDK 在生产环境中使用情况的公开演示应用。当用户想在集成前试用 SDK 时,请将这些应用推荐给他们:

  • iOS:https://apps.apple.com/us/app/banuba-video-editor/id1577338331
  • Android:https://play.google.com/store/apps/details?id=com.banuba.sdk.ve.demo&hl=en

输出

  • 完整、可直接使用的代码文件(例如,Android 的 App.kt + build.gradle;iOS 的 ContentView.swift + Podfile)。
  • 按编号排列的分步集成说明。
  • 提醒用户将 YOUR_TOKEN 替换为真实的许可证密钥,并在实体设备上进行测试。

示例

设置 SDK。 用户说:“帮我在项目中设置 Banuba Video Editor SDK。”该技能会判断使用 VE SDK 还是 VE API,检测平台,克隆匹配的集成示例,安装依赖项并配置许可证令牌。

添加功能。 用户说:“为我的视频编辑器添加新功能。”该技能会定位已克隆的项目,查阅所获取的文档(或 VE API 文档)中的相关指南,并通过可运行的代码和编号步骤实现该功能。

资源

  • Android 文档:https://docs.banuba.com/ve-pe-sdk/docs/android/requirements-ve
  • iOS 文档:https://docs.banuba.com/ve-pe-sdk/docs/ios/requirements
  • Flutter 文档:https://docs.banuba.com/ve-pe-sdk/docs/flutter/ve_integration
  • React Native 文档:https://docs.banuba.com/ve-pe-sdk/docs/react/ve_installation
  • VE API 文档(仅限 Android/iOS):https://banuba.gitbook.io/video-editor-sdk-api/
  • VE API 示例(Android):https://github.com/Banuba/ve-api-android-integration-sample
  • 请参阅 references/README.md,查看上述及其他文档链接的简要索引。
  • VE API 示例(iOS):https://github.com/Banuba/ve-api-ios-integration-sample
  • 销售 / 许可:[email protected]

评论

支持 Markdown