Alibabacloud Video Editor

基于阿里云的云端视频编辑技能,无需本地安装ffmpeg。

已扫描
适合谁
需要快速制作短视频的创作者、使用阿里云服务进行媒体处理的技术人员
不适合谁
无阿里云账号或未配置凭证的用户、希望在本地完全离线处理视频的用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @sdk-team/alibabacloud-video-editor

Skill 说明

命令、参数、文件名以原文为准

视频编辑技能

一个自动化的视频编辑工具,可根据提供的素材和编辑需求提交阿里云视频编辑任务,无需安装 ffmpeg,等待任务完成后输出最终视频的 URL。

核心设计哲学

本技能采用 关注点分离 的设计原则:

  1. references/ - LLM 知识库,包含各类场景的最佳实践文档
  2. scripts/ - 纯执行工具,仅负责提交任务和轮询状态

LLM 应参考 references/ 中的文档生成符合阿里云 ICE 格式的 Timeline JSON,然后使用 scripts 提交任务。

前置条件

前置检查:安装 Python 依赖

pip install -r requirements.txt

前置检查:需配置阿里云凭证

脚本会通过阿里云默认凭证链自动获取凭证,支持以下方法(按优先级顺序):

  1. 环境变量中的凭证
  2. 配置文件:~/.alibabacloud/credentials.ini
  3. ECS RAM 角色(在 ECS 上运行时)

推荐使用 aliyun configure 命令配置凭证:

aliyun configure

或参考 [阿里云凭证配置文档](https://help.aliyun.com/document_detail/China Site/2China Site/Chinese2Chinese10China Site/Chinese0China Site/Chinese6China Site/Chinese2China Site.html) 配置默认凭证链。

OSS 存储桶配置

OSS 上传功能需要通过环境变量配置存储桶信息:

export OSS_BUCKET=your_bucket_name
export OSS_ENDPOINT=oss-cn-shanghai.aliyuncs.com

若未配置 OSS_BUCKET,则列出当前账号下的所有存储桶,由用户选择一个作为最终视频的输出存储桶。

OSS 操作复用阿里云默认凭证链,无需单独配置 OSS 凭证。

User-Agent 配置

所有阿里云服务调用必须设置 User-Agent 为 AlibabaCloud-Agent-Skills

脚本 scripts/video_editor.py 已自动完成该配置。

工作流程

步骤 1:理解用户需求

分析用户希望创建的视频类型:

  • 相册类视频(图片轮播)
  • 多轨道音频混音(配音 + 背景音乐)
  • 多片段拼接
  • 添加字幕/标题
  • 特效与转场
  • 画中画 / 分屏效果

步骤 2:参考最佳实践

查阅 references/ 中对应的文档:

文档适用场景
01-timeline-basics.mdTimeline 基础结构说明
02-multi-track-audio.md多轨道音频混音
03-subtitles-and-titles.md字幕与标题效果
04-effects-and-transitions.md视觉特效与转场
05-slideshow-template.md相册视频模板
06-multi-clip-editing.md多片段视频编辑

步骤 3:准备素材 URL

  • 若为本地文件,需调用 oss-upload 技能上传并获取 OSS URL,可直接拼接到 Timeline 中
  • 若已有 URL,可直接拼接到 Timeline 中

步骤 4:生成 Timeline JSON

根据参考文档生成符合阿里云 ICE 格式的 Timeline:

{
  "VideoTracks": [...],
  "AudioTracks": [...],
  "SubtitleTracks": [...]
}

步骤 5:提交编辑任务

使用脚本提交任务(基于阿里云通用 SDK):

# 提交并等待完成
python scripts/video_editor.py submit \
  --timeline timeline.json \
  --output-config output.json \
  --wait

# 仅提交,不等待
python scripts/video_editor.py submit \
  --timeline timeline.json \
  --output-config output.json

参数说明:

参数描述是否必填
--timeline, -tTimeline JSON 文件路径或 JSON 字符串
--output-config, -o输出配置 JSON 文件路径或 JSON 字符串
--region, -r区域 ID(默认:cn-shanghai)

OutputMediaConfig 示例:

{
  "MediaURL": "https://{your-bucket}.oss-cn-shanghai.aliyuncs.com/{your-target-video-path}",
  "Width": 1080,
  "Height": 1920
}

若上下文中未明确指定输出分辨率,使用常见分辨率:1080×1920 或 1920×1080。

任务提交后将返回 JobId

步骤 6:轮询任务状态

使用脚本查询或等待任务完成:

# 查询状态
python scripts/video_editor.py status --job-id <job_id>

# 等待任务完成
python scripts/video_editor.py status --job-id <job_id> --wait

当任务状态为 Success 时,根据返回的 MediaId 调用 GetMediaInfo 获取带鉴权的 OSS URL,并返回该地址。

Timeline 示例

最简单的相册视频

markdown

Alibaba Cloud 视频编辑技能

示例配置

{
  "VideoTracks": [
    {
      "VideoTrackClips": [
        {
          "Type": "Image",
          "MediaURL": "https://bucket.oss-cn-shanghai.aliyuncs.com/image1.jpg",
          "In": 0,
          "Out": 5,
          "TimelineIn": 0,
          "TimelineOut": 5
        },
        {
          "Type": "Image",
          "MediaURL": "https://bucket.oss-cn-shanghai.aliyuncs.com/image2.jpg",
          "In": 0,
          "Out": 5,
          "TimelineIn": 5,
          "TimelineOut": 10,
          "Effects": [
            {
              "Type": "Transition",
              "SubType": "linearblur",
              "Duration": 0.3
            }
          ]
        }
      ]
    }
  ],
  "AudioTracks": [
    {
      "AudioTrackClips": [
        {
          "Type": "Audio",
          "MediaURL": "https://bucket.oss-cn-shanghai.aliyuncs.com/music.mp3",
          "In": 0,
          "Out": 10,
          "TimelineIn": 0,
          "TimelineOut": 10,
          "Effects": [
            {
              "Type": "Volume",
              "Gain": 0.3
            }
          ]
        }
      ]
    }
  ],
  "SubtitleTracks": []
}

LLM 提示建议

在生成时间线时,请按以下逻辑思考:

  1. 用户需要什么类型的视频?→ 查找对应的参考文档
  2. 需要哪些轨道?(视频轨道、音频轨道、字幕轨道)
  3. 每个轨道中包含哪些剪辑?
  4. 是否需要设置 In/Out/TimelineIn/TimelineOut?(简单拼接可不设)若需设置,各参数分别是什么?
  5. 是否需要添加特效、转场、音量调整等?
  6. 生成完整的 JSON 配置

相关文件

alibabacloud-video-editor/
├── SKILL.md                          # 本文件
├── references/
│   ├── 01-timeline-basics.md         # 时间线基础
│   ├── 02-multi-track-audio.md       # 多轨道音频
│   ├── 03-subtitles-and-titles.md    # 字幕与标题
│   ├── 04-effects-and-transitions.md # 特效与转场
│   ├── 05-slideshow-template.md      # 相册模板
│   └── 06-multi-clip-editing.md      # 多剪辑编辑
└── scripts/
    ├── requirements.txt              # Python 依赖
    └── video_editor.py               # 通用 SDK 脚本
ST
@sdk-team

已收录 3 个 Skill

相关推荐