Remotion

作者 digitalsamba2c99460a5d0c无许可证2.1K 个星标收录于 2026年10月8日更新于 2026年10月8日仓库3天前更新

Toolkit-specific Remotion patterns — custom transitions, shared components, and project conventions. For core Remotion framework knowledge (hooks, animations, rendering, etc.), see the `remotion-official` skill.

AI 生成的概览

面向视频项目的 Remotion 工具包专用模式:共享组件、自定义转场与时间约定。

功能
该技能记录构建视频项目时工具包专用的 Remotion 约定,涵盖可复用组件(如动态背景、幻灯片转场和叠加层),以及 glitch、light leak、clock wipe、checkerboard 等自定义场景转场库。它还列出时间与节奏约定,包括 30fps 项目、场景时长和旁白节奏,并指向参考文件以了解高级 API 细节。该技能仅包含说明,不含脚本。
适用场景
在扩展或维护遵循该工具包组件与转场约定的 Remotion 视频模板时,或为视频选择转场效果和场景时长时使用。若需 Remotion 框架核心知识,它会引导读者参考另一个官方技能。
运行要求
需要一个 Remotion 项目,包含该工具包的 lib/components 和 lib/transitions 目录以及 @remotion/transitions 包;预览转场需在 showcase 目录运行 npm run studio。该技能不附带脚本。

Remotion — Toolkit Extensions

Core Remotion knowledge lives in .claude/skills/remotion-official/ (synced from the official remotion-dev/skills repo). This file covers toolkit-specific patterns only.

Shared Components

Reusable video components in lib/components/. Import in templates via:

tsx
import { AnimatedBackground, SlideTransition, Label } from '../../../../lib/components';
ComponentPurpose
AnimatedBackgroundFloating shapes background (variants: subtle, tech, warm, dark)
SlideTransitionScene transitions (fade, zoom, slide-up, blur-fade)
LabelFloating label badge with optional JIRA reference
VignetteCinematic edge darkening overlay
LogoWatermarkCorner logo branding
SplitScreenSide-by-side video comparison
NarratorPiPPicture-in-picture presenter overlay
Envelope3D envelope with opening flap animation
PointingHandAnimated hand emoji with slide-in and pulse
MazeDecorationAnimated isometric grid decoration for corners

Custom Transitions

The toolkit includes a transitions library at lib/transitions/ for scene-to-scene effects beyond the official @remotion/transitions package.

Using TransitionSeries

tsx
import { TransitionSeries, linearTiming } from '@remotion/transitions';// Import custom transitions from lib (adjust path based on your project location)import { glitch, lightLeak, clockWipe, checkerboard } from '../../../../lib/transitions';// Or import from @remotion/transitions for official onesimport { slide, fade } from '@remotion/transitions/slide';
<TransitionSeries>  <TransitionSeries.Sequence durationInFrames={90}>    <TitleSlide />  </TransitionSeries.Sequence>  <TransitionSeries.Transition    presentation={glitch({ intensity: 0.8 })}    timing={linearTiming({ durationInFrames: 30 })}  />  <TransitionSeries.Sequence durationInFrames={120}>    <ContentSlide />  </TransitionSeries.Sequence></TransitionSeries>

Available Custom Transitions

TransitionOptionsBest For
glitch()intensity, slices, rgbShiftTech demos, edgy reveals, cyberpunk
rgbSplit()direction, displacementModern tech, energetic transitions
zoomBlur()direction, blurAmountCTAs, high-energy moments, impact
lightLeak()temperature, directionCelebrations, film aesthetic, warm moments
clockWipe()startAngle, direction, segmentsTime-related content, playful reveals
pixelate()maxBlockSize, gridSize, scanlines, glitchArtifacts, randomnessRetro/gaming, digital transformations
checkerboard()gridSize, pattern, stagger, squareAnimationPlayful reveals, structured transitions

Checkerboard patterns: sequential, random, diagonal, alternating, spiral, rows, columns, center-out, corners-in

Transition Examples

tsx
// Tech/cyberpunk feelglitch({ intensity: 0.8, slices: 8, rgbShift: true })
// Warm celebrationlightLeak({ temperature: 'warm', direction: 'right' })
// High energy zoomzoomBlur({ direction: 'in', blurAmount: 20 })
// Chromatic aberrationrgbSplit({ direction: 'diagonal', displacement: 30 })
// Clock sweep revealclockWipe({ direction: 'clockwise', startAngle: 0 })
// Retro pixelationpixelate({ maxBlockSize: 50, glitchArtifacts: true })
// Checkerboard patternscheckerboard({ pattern: 'diagonal', gridSize: 8 })checkerboard({ pattern: 'spiral', gridSize: 10 })checkerboard({ pattern: 'center-out', squareAnimation: 'scale' })

Transition Duration Guidelines

TypeFramesNotes
Quick cut15-20Fast, punchy
Standard30-45Most common
Dramatic50-60Slow reveals
Glitch effects20-30Should feel sudden
Light leak45-60Needs time to sweep

Preview Transitions

Run the showcase gallery to see all transitions:

bash
cd showcase/transitions && npm run studio

Toolkit Conventions

These are choices specific to this toolkit. For general Remotion best practices (interpolation clamping, useVideoConfig, delayRender, staticFile, no CSS animations), see the remotion-official skill.

  1. All projects use 30fps — Timing: frames = seconds × 30
  2. playbackRate must be constant — For variable/extreme speeds, pre-process with FFmpeg
  3. Video/audio components — Templates use <OffthreadVideo> and <Audio> from remotion. Upstream now also documents <Video>/<Audio> from @remotion/media (newer, has trim props + pitch shifting). Both render correctly; prefer the toolkit's choice when extending existing templates for consistency.

Project Timing Conventions

Scene TypeDurationNotes
Title3-5s (90-150f)Logo + headline
Overview10-20s3-5 bullet points
Demo10-30sAdjust playbackRate to fit
Stats8-12s3-4 stat cards
Credits5-10sQuick fade

Pacing: ~150 words/minute for voiceover. Voiceover drives timing.

Advanced API

For detailed API documentation on all hooks, components, renderer, Lambda, and Player APIs, see reference.md [blocked].

License Note

Remotion has a special license. Companies may need to obtain a license for commercial use. Check https://remotion.dev/license


Feedback & Contributions

If this skill is missing information or could be improved:

  • Missing a pattern? Describe what you needed
  • Found an error? Let me know what's wrong
  • Want to contribute? I can help you:
    1. Update this skill with improvements
    2. Create a PR to github.com/digitalsamba/claude-code-video-toolkit

Just say "improve this skill" and I'll guide you through updating .claude/skills/remotion/SKILL.md.

来源与署名

来源:digitalsamba/claude-code-video-toolkit位于.claude/skills/remotion提交2c99460

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架