用途:这是 Remotion React Markup 的编写指导,用于在 Remotion 中构建视频内容、动画与特效。若场景不相关,应改用 Remotion Best Practices。
主要能力与规则:在 composition 或 scene 组件内用 useVideoConfig() 获取 fps,所有秒转帧计算(from、trimBefore、durationInFrames、premountFor 等)都基于它,并保持表达式写在 JSX 节点上。动画用 useCurrentFrame() 与 interpolate() 驱动;CSS transition/animation 和 Tailwind 动画类无法正确渲染,需重构。用 Easing.bezier() 与 Easing.spring() 定制节奏。interpolate() 调用保持内联在 style 中,优先用 scale、translate、rotate 而非 transform。
结构:按 Remotion Interactivity Best Practices 组织标记;可编辑 props 的场景优先用 Interactive.withSchema({wrapInSequence: true, layout: 'absolute-fill'}),可复用场景注册为 connected compositions。时间属性直接放在支持它的组件上,避免多余 <Sequence> 包装;支持 premountFor 的计时组件给一秒预挂载 premountFor={fps}。Studio 编辑的是创建条目的 JSX 源节点,因此每个应独立编辑的注册、片段、场景、图层和序列都要写成独立 JSX 节点并内联可编辑 props。
媒体与资源:资源放项目根目录 public/,用 staticFile() 引用。视频音频用 @remotion/media 的 <Video>、<Audio>,图片用 <CanvasImage>,动图用 <AnimatedImage>(非 Chrome 用 @remotion/gif)。
特效:<Img>、<CanvasImage>、<AnimatedImage>、<Solid>、<HtmlInCanvas>、<Video>、<Gif>、<RemotionRiveCanvas> 及 @remotion/shapes 组件可直接接收 effects;普通 HTML、<Interactive.*>、<AbsoluteFill>、<Sequence> 不支持,需包进 <HtmlInCanvas>。内置特效来自 @remotion/effects,涵盖色彩、模糊、光照、扭曲、纹理、边缘、像素化等类别。
安装:用 npx remotion add 添加正确版本,如 npx remotion add @remotion/media。
限制与说明:资料未提供收费、价格、平台支持范围等信息。大量专项主题(转场、音频、字幕、字体、3D、地图、语音旁白、FFmpeg、静音检测等)以独立文档形式引用,需按需加载对应文件。