Communitygithub.com

beimeibeile/Remotion-controls-skill

Remotion 代码驱动视频动画专业控制技能。用 React/TypeScript 代码精确控制2D动画,原生支持透明背景(Alpha通道)渲染,可输出WebM/MOV带透明通道视频,适用于剪映模板动画素材制作、UI动画、文字排版动画、角色2D动画等场景。提供API服务化、模板库、质量控制和自学习进化能力。

Qu'est-ce que Remotion-controls-skill ?

Remotion-controls-skill is a Claude Code agent skill that remotion 代码驱动视频动画专业控制技能。用 React/TypeScript 代码精确控制2D动画,原生支持透明背景(Alpha通道)渲染,可输出WebM/MOV带透明通道视频,适用于剪映模板动画素材制作、UI动画、文字排版动画、角色2D动画等场景。提供API服务化、模板库、质量控制和自学习进化能力。.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add beimeibeile/Remotion-controls-skill

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Remotion Controls Skill

用代码驱动视频动画的专业控制技能。Remotion 是一个基于 React 的视频创作框架,用代码精确控制每一帧,原生支持透明背景渲染。

核心能力

能力说明
透明背景渲染原生支持 Alpha 通道,输出 WebM(VP9) / MOV(ProRes 4444) 带透明视频
代码精确控制用 React/TypeScript 精确控制位置、缩放、旋转、透明度、缓动曲线
API服务化HTTP API 接收动画指令,输出视频文件
模板库预设动画模板(角色动画、UI动画、文字动画、转场特效)
质量控制帧率、分辨率、码率、Alpha通道完整性自动检测
自学习进化记录渲染参数与效果评分,优化预设参数

与 ComfyUI / Blender 的定位差异

技能核心优势适用场景
ComfyUI-controlsAI生成(图/视频/音频),创意不可控角色图/场景图/特效视频生成
Blender-controls3D动画,物理模拟,高质量渲染3D角色动画、产品展示、物理特效
Remotion-controls2D代码动画,精确可控,透明背景模板动画素材、UI动画、文字排版、2D角色动画

快速开始

1. 安装依赖

cd remotion-project
npm install

2. 渲染透明背景视频

# CLI 方式
npx remotion render src/index.ts MyComp out/video.webm --transparent

# API 方式
python remotion_controls.py render --composition MyComp --output out/video.webm --transparent

3. 启动 API 服务

python remotion_controls.py serve --port 8765

透明背景渲染说明(已验证流程)

Remotion 原生支持透明背景,但 CLI 的 --transparent 编码会丢失 Alpha 通道(WebM VP8/VP9、MOV ProRes 均验证失败)。

已验证的正确流程(PIT-024):

  1. PNG序列渲染:npx remotion render src/index.ts Composition out/frames --sequence(输出带Alpha的PNG序列)
  2. ffmpeg合成ProRes 4444:
    ffmpeg -y -framerate 30 -i out/frames/%04d.png \
      -c:v prores_ks -profile:v 4 -pix_fmt yuva444p12le \
      out/animation.mov
    
  3. 验证Alpha通道:python verify_animation.py out/animation.mov

剪映集成注意事项(PIT-024):

  • add_media_safe 导入 ProRes 4444 mov 时会自动转码为 H.264 mp4,丢失Alpha(66MB→0.07MB)
  • 必须手动导入:直接复制 mov 到草稿 materials 目录 → 创建 VideoMaterial → 注册到 materials.videos → VideoSegment(material=anim_material) → add_segment

动画素材质量标准

完整标准见 QUALITY_STANDARD.md。

合格动画素材的硬性指标:

  • Alpha通道保留(yuva444p12le)
  • ProRes 4444 编码(profile=4)
  • 分辨率/帧率/时长与配置一致
  • 内容覆盖率 ≥ 50%(10点采样)
  • 文件大小合理(≤15MB/秒)

自动化验证:

python verify_animation.py <动画文件> --duration 20 --width 1080 --height 1920

基础动画组件库

位于 remotion-project/src/components/,所有组件均支持透明背景。

角色与运动组件

组件说明
CharacterSprite角色精灵:多姿态切换、位置/缩放/旋转/透明度关键帧动画
MotionPath运动路径:线性/贝塞尔/弹性/弹跳运动
FlashEffect闪白特效:快速淡入缓慢淡出
ShakeEffect震动特效:振幅衰减的随机震动
FadeEffect淡入淡出:可控淡入/淡出时长
PopEffect弹出特效:弹性缩放弹出
SlideEffect滑动特效:四方向缓出滑动

文字动画组件(TextAnimations.tsx)

组件说明适用场景
TextReveal逐字显现:打字机/淡入/上滑/左滑旁白、台词、标题入场
TextPop弹出文字:缩放/旋转/弹跳关键词强调、卡点
TextWave波浪文字:逐字正弦浮动趣味风格、背景音乐节奏
TextGlitch故障风:RGB分离+抖动科技感、故障艺术、转场
TextGradient渐变流光:颜色流动+扫光标题、品牌名、高级感
KineticText动态排版:多行组合动画开场标题、片尾字幕

转场特效组件(TransitionEffects.tsx)

组件说明适用场景
FadeTransition淡入淡出转场(in/out/inOut)通用转场、情绪过渡
SlideTransition滑动转场(上下左右)场景切换、内容替换
ZoomTransition缩放转场(推近/拉远)强调重点、镜头推进
WipeTransition擦除转场(上下左右/对角线)创意转场、风格化
BlurTransition模糊转场(先模糊后清晰)梦幻过渡、回忆闪回
GlitchTransition故障风转场(RGB分离+扫描线)科技感、故障艺术

冲击特效组件(ImpactEffects.tsx)

组件说明适用场景
PunchImpact拳击冲击(冲击波+星星+白闪)打斗、击打、碰撞
ImpactFlash冲击闪光(快速白闪)重击、爆炸、卡点
ParticleBurst粒子爆发(星星/火花/碎片)庆祝、爆炸、冲击
Shockwave冲击波(多环扩散)能量释放、爆炸、震感
SpeedLines速度线(放射状)高速冲击、冲刺、连击

使用示例:

import { PunchImpact, ParticleBurst, FadeTransition } from "./components";

// 打斗场景
<PunchImpact startFrame={90} x={540} y={800} scale={1.2} />
<ParticleBurst startFrame={90} x={540} y={800} count={16} particleType="star" />
<FadeTransition direction="in" duration={15} startFrame={0} color="#1a1a2e" />

使用示例:

import { CharacterSprite, FlashEffect, TextReveal, TextPop } from "./components";

<CharacterSprite
  poses={[
    { name: "idle", image: "/doubao_normal.png", frameRange: [0, 90],
      position: [{frame: 0, x: 0, y: 0}, {frame: 90, x: 100, y: 0}] },
    { name: "falling", image: "/doubao_falling.png", frameRange: [90, 150] },
  ]}
  width={250} height={250}
/>
<FlashEffect startFrame={90} duration={10} />
<TextReveal text="被打了!" fontSize={56} startFrame={95} revealType="typewriter" />
<TextPop text="痛!" fontSize={72} color="#ff6b6b" startFrame={110} popType="bounce" />

项目结构

remotion-controls-skill/
├── SKILL.md                    # 本文件
├── QUALITY_STANDARD.md         # 动画素材质量标准
├── verify_animation.py         # 自动化验证工具
├── remotion_controls.py        # 主控制脚本(CLI/API)
├── .env.example                # 环境变量示例
├── .gitignore
├── capabilities/
│   ├── cap_api_wrapper/        # Remotion API 封装
│   ├── cap_animation_renderer/ # 动画渲染器
│   ├── cap_template_library/   # 动画模板库
│   ├── cap_quality_control/    # 质量控制
│   └── cap_self_evolution/     # 自学习进化
├── remotion-project/           # Remotion 项目
│   ├── src/
│   │   ├── components/         # 基础动画组件库
│   │   │   ├── CharacterSprite.tsx
│   │   │   ├── MotionPath.tsx
│   │   │   ├── Effects.tsx
│   │   │   └── index.ts
│   │   ├── AnimationTemplate.tsx  # JSON驱动的动画模板
│   │   ├── Root.tsx
│   │   └── index.ts
│   ├── public/                 # 静态素材(角色/道具图片)
│   └── package.json
└── out/                        # 渲染输出

能力模块

cap_api_wrapper — Remotion API 封装

  • render_media():渲染视频(支持透明背景)
  • render_still():渲染单帧图片
  • select_composition():获取可用 Composition 列表
  • get_props_schema():获取 Composition 的 Props 定义

cap_animation_renderer — 动画渲染器

  • 输入动画指令 JSON → 输出透明背景视频
  • 支持关键帧动画(位置/缩放/旋转/透明度)
  • 支持缓动曲线(ease-in/ease-out/ease-in-out/linear/spring)
  • 支持多图层合成

cap_template_library — 动画模板库

  • 角色动画模板(豆包被打、表情切换等)
  • UI动画模板(按钮点击、页面切换等)
  • 文字动画模板(打字机、淡入淡出、弹跳等)
  • 转场特效模板(淡入淡出、滑动、缩放等)

cap_quality_control — 质量控制

  • 帧率检测(24/30/60fps)
  • 分辨率检测(1080p/4K)
  • Alpha通道完整性检测
  • 视频时长与预期对比
  • 文件大小合理性检查

cap_self_evolution — 自学习进化

  • 记录渲染参数与效果评分
  • 优化预设参数
  • 生成最佳实践文档
  • 模板效果排行榜

环境变量

REMOTION_PROJECT_PATH=./remotion-project
REMOTION_OUTPUT_DIR=./output
REMOTION_DEFAULT_FPS=30
REMOTION_DEFAULT_WIDTH=1080
REMOTION_DEFAULT_HEIGHT=1920
REMOTION_API_PORT=8765

与 ai-video-editor 的集成

Remotion-controls-skill 作为 ai-video-editor 的动画素材制作工具:

  1. ai-video-editor 的导演引擎输出动画指令
  2. Remotion-controls-skill 接收指令,渲染透明背景视频
  3. 透明背景视频作为剪映模板的动画素材层
  4. 用户替换背景后,动画完美叠加

注意事项

  • Remotion 需要 Node.js 18+ 环境
  • 透明背景视频建议使用 WebM 格式(剪映兼容性好)
  • 长视频渲染耗时较长,建议分段渲染后合成
  • 动画中避免使用 CSS 滤镜(部分滤镜不支持透明背景)

Skills associés