SuperAPI AI 工具集

remotion-graphics

设计与创作

查看项目

更新于 10-15 10:11

技能介绍

动画图形与 Remotion(可选)

本技能用于在既有视频叠加/字幕流程之外,制作真正的动态设计效果,例如缓动入场、错落揭示、与词同步的动态字幕、动画下三分之一字幕条、品牌标题卡和数字递增等。

用途与定位

原有的视频叠加/字幕路径渲染的是静态 PNG,再由 ffmpeg 合成。当一个任务需要真正的动态设计时,可以把图形编写为 Remotion React 组件(每个词/颜色/节拍都是 prop,按帧动画化),渲染成透明图层,再用现有的 ffmpeg 叠加流程合成。ffmpeg 仍负责剪辑、音频、调色和最终编码;Remotion 只负责创作运动图形。

使用前提与限制

该能力是可选的,且依赖较重。需要 Node + npm 以及一个 Remotion 项目(此仓库中的 remotion/ 脚手架)。首次渲染会下载无头 Chromium(约 150–300 MB)。这比整个 Python 核心的依赖更大;与 grok-video-edit 的 vfx extra 类似,默认关闭。

许可:Remotion 对个人/小团队免费,但超过小型团队人数规模的公司需要付费席位许可,在公司使用前应先行核实。(无需 API key,但存在真实的许可门槛。)

渲染成本:逐帧 Chrome 渲染;只按叠加层尺寸/时长渲染叠加层(下三分之一字幕条只需几秒),绝不要渲染整段视频,以保持速度。

如果图形是静态的或只是简单淡入淡出,应使用 video-overlay,而不是本技能。

默认模式:透明层 → ffmpeg 合成

将组件编写/参数化(参见 remotion/src/ 中的脚手架)。通过 inputProps JSON 传入内容与时间,不要硬编码文本。

只在 alpha 上渲染图形:

cd remotion && npm install # 仅首次(拉取 Remotion + Chromium) npx remotion render LowerThird out/lower.mov
--codec=prores --prores-profile=4444 --pixel-format=yuva444p10le
--props='{"name":"Lior Kolnik","title":"Product, Eve Security","inSec":0.3,"outSec":4.0}'

(或透明 WebM:--codec=vp8 --pixel-format=yuva420p)

用常规叠加流程(限定时段窗口)合成到素材上,保留音频:

ffmpeg -y -i footage.mp4 -i remotion/out/lower.mov -filter_complex
"[0:v][1:v]overlay=40:H-h-60:enable='between(t,12,16)'"
-c:v h264_videotoolbox -b:v 9M -c:a copy out.mp4

这与 video-overlay 中的 RGBA 序列合成完全相同——Remotion 只是生成了更丰富的动画图层。对于全屏动画标题/片尾卡(无透明度),渲染为不透明,再在片段之间拼接(或作为剪辑放入 edl-edit 的 EDL)。

词同步时间来自转录(cue sheet)

不要凭目测判断词/叠加层何时出现。在 --words 转录中检索该短语,读取其时间戳,换算为帧(frame = round(t * fps)),再写入 cue sheet。脚手架的 FinalEdit.tsx 保存 CUES = [{id, at, dur}];例如强调落在 4.92s 的单词 "right" 上 → at: Math.round(4.92*fps)。动态字幕读取相同的词时间戳,按节拍逐词弹出。(参见编辑器的“剪辑即文本”约定。)

调参旋钮与自查

整体感觉位于 remotion/src/anim.ts——几个 TIMING 常量(reveal、stagger、overlayIn/Out)加上共享缓动函数。“让它更利落”就是改一个数字再重新渲染。

完整渲染前先审看:npx remotion still <Comp> still.png --frame=N --props=... 渲染单帧,查看后再调整,然后做完整渲染。迭代静帧,而不是完整渲染。

何时使用(与何时不用)

使用 Remotion:动态/卡拉 OK 式字幕、动画下三分之一字幕条、品牌化动画片头/片尾卡、数字递增/图表,以及任何需要缓动效果的场景。

改用 video-overlay/captions:静态 logo/标签/水印、烧录的普通字幕、简单淡入的 PNG——更省资源,不需要 Node/Chromium,也没有许可问题。

脚手架布局与新增组件参见 remotion/README.md。