mcpField
R
remotion

remotion

github.com/davila7创意与媒体33.0k1.5k 次安装1 天前更新
代码仓库

关于 remotion

remotion 为使用 Remotion 和 React 编写程序化视频的开发者提供技能指南,涵盖帧动画、媒体处理、合成配置与渲染。

主要功能

  1. 01帧动画控制
  2. 02合成与元数据设置
  3. 03音频、视频和图像处理
  4. 04字幕与文字动画
  5. 05图表和 3D 内容
  6. 06转场与序列编排

适用场景

  1. 01构建 React 动画视频合成
  2. 02为视频添加字幕和媒体
  3. 03制作图表类视频画面

安装

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

$npx skills add https://github.com/davila7/claude-code-templates --skill remotion

安装后在 Claude Code 中输入/remotion确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
3d.md
animations.md
assets.md
audio.md
calculate-metadata.md
can-decode.md
charts.md
compositions.md
display-captions.md
extract-frames.md
fonts.md
get-audio-duration.md
get-video-dimensions.md
get-video-duration.md
gifs.md
images.md
import-srt-captions.md
lottie.md
measuring-dom-nodes.md
measuring-text.md
sequencing.md
tailwind.md
text-animations.md
timing.md
transcribe-captions.md
transitions.md
trimming.md
references/assets/
text-animations-typewriter.tsx
text-animations-word-highlight.tsx
references/assets/charts/
bar-chart.tsx

详细介绍

Remotion - 使用 React 创建视频

使用 Remotion 以编程方式创建视频的综合技能集。Remotion 是一个基于 React 以编程方式创建视频的框架。

适用场景

在处理 Remotion 代码时,使用此技能获取特定领域的知识,例如:

  • 使用 React 组件创建视频合成
  • 使用基于帧的动画制作元素动画
  • 使用音频、视频和图像素材
  • 构建图表和数据可视化
  • 实现文本动画和字幕
  • 使用 Three.js 创建 3D 内容
  • 应用转场和序列编排
  • 集成 Tailwind CSS 和 Lottie 动画

核心概念

Remotion 支持通过以下方式创建视频:

  • React 组件:使用熟悉的 React 语法构建视频内容
  • 基于帧的动画:所有动画均由 useCurrentFrame() hook 驱动
  • 合成:定义包含时长、尺寸和 props 的视频合成
  • 素材:导入和处理图像、视频、音频和字体
  • 渲染:使用可自定义的设置以编程方式导出视频

主要功能

  • 逐帧控制动画
  • 动态计算元数据
  • 媒体处理(修剪、音量、速度、音高)
  • 生成和显示字幕
  • 使用图表进行数据可视化
  • 集成 3D 内容
  • 专业文本动画
  • 场景转场和序列编排

使用方法

阅读各个规则文件,了解详细说明和代码示例:

核心动画与计时
合成与元数据
素材与媒体
文本与排版
字幕与转录
数据可视化
高级功能
样式与布局
媒体处理(Mediabunny)

快速入门示例

import { useCurrentFrame, useVideoConfig, interpolate } from "remotion";

export const MyComposition = () => {
  const frame = useCurrentFrame();
  const { fps } = useVideoConfig();

  const opacity = interpolate(frame, [0, 2 * fps], [0, 1], {
    extrapolateRight: 'clamp',
  });

  return (
    <div style={{ opacity }}>
      <h1>Hello Remotion!</h1>
    </div>
  );
};

最佳实践

  1. 始终使用 useCurrentFrame() - 根据当前帧驱动所有动画
  2. 避免使用 CSS 动画 - 它们在视频中无法正确渲染
  3. 以秒为单位思考 - 将时间(秒)乘以 fps 来计算帧数
  4. 使用 interpolate 实现平滑动画 - 使用内置插值和缓动函数
  5. 限制外推范围 - 避免数值超出预期范围
  6. 经常测试 - 渲染前在 Remotion Studio 中预览

资源

评论

支持 Markdown