Communitygithub.com

reagansaw/jingjian

把真人口播竖屏短视频剪出「网感」——用 Remotion 做文字版式、换场画面、补停顿、配音效,并守住社媒安全区。用于:剪口播、口播精剪、抖音精剪(B-roll / 小人像窗 PIP / 分屏 / 海报大字)、抖音/Reels/Shorts 竖屏短视频、字幕太长或跑边、画面太平没网感、「用剪映那种花字/版式」、talking-head short video editing、Douyin-style 精剪 edit、B-roll、kinetic captions、safe zone。需要 1080×1920 的口播视频;有稿子更好。不用于:没有真人口播的品牌宣传片、多场景长片、纯素材混剪、静态标题卡。

¿Qué es jingjian?

jingjian is a Claude Code agent skill that 把真人口播竖屏短视频剪出「网感」——用 Remotion 做文字版式、换场画面、补停顿、配音效,并守住社媒安全区。用于:剪口播、口播精剪、抖音精剪(B-roll / 小人像窗 PIP / 分屏 / 海报大字)、抖音/Reels/Shorts 竖屏短视频、字幕太长或跑边、画面太平没网感、「用剪映那种花字/版式」、talking-head short video editing、Douyin-style 精剪 edit、B-roll、kinetic captions、safe zone。需要 1080×1920 的口播视频;有稿子更好。不用于:没有真人口播的品牌宣传片、多场景长片、纯素材混剪、静态标题卡。.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/reagansaw/jingjian/tree/HEAD/skills/video-craft

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

video-craft:口播剪出网感

目标:学生拿一条真人口播,按这份规则剪成「有节奏、有画面、字不越界」的竖屏短视频。 规则来自:70 条剪映口播工程的统计 + 维护者的多条实战成片的踩坑。每条规则标了来源;没验证过的写明了。

先看 references/ 里的细节;挑版式时打开 library 网页(docs/library.html),每款都有预览。 想要抖音精剪那种(素材密、画面每 1.5–3 秒变一次)→ 读 references/douyin-jingjian.md。 抠像 · 字在人后 · 玻璃字 → references/text-behind-glass.md。 不同行业怎么配(4 个风格家族 + 3 个主题预设)→ references/industry-styles.md;音效的精确时间 / 音量 / 动画配对表 → references/sfx-timing.md。 字怎么搭配(字体 / 颜色 / 大小比 / 位置、版式家族)→ references/typography-pairing.md;字怎么动(38 种入场动画、18 个预设)→ references/motion-vocabulary.md。 edit.json 每个版式要写哪些属性 → references/edit-json.md。 一条片的骨架(钩子 → 内容套路 → 呼吸 → 结尾行动,64 条成片共同的排法)→ references/essence.md,排片前先读。 用户说什么语言就用什么语言回答。English: see SKILL.en.md.

0. 开剪前先确认(缺一就问,别猜)

没法提问时(自动化 / 用户说别问)的默认值:视频按合格处理、平台抖音、有转写就当稿用、脸不大、不用抠像;结尾行动:口播里本来就有行动话术(点左下角、找我聊聊)就用原话,没有就不放结尾胶囊,不编账号。把这些默认值写在汇报里。

  1. 视频:1080×1920、有人声的口播?没有就先别剪。
  2. 平台:抖音 / Reels / Shorts(决定安全区,默认按下面这组)。
  3. 有没有稿?有 → 用来校对错字;没有 → 先转写。
  4. 脸是不是很大(特写)?是 → 画面要先上移+放大,见 §3.2。
  5. 能不能用抠像?抠像只有 macOS(Apple Vision)能跑;不能就别选「记者出镜」。

1. 工作流(按顺序,别跳)

  1. 转写 + 逐字时间:mlx-whisper(Mac)或任一 whisper,要 word_timestamps。中英混说、马来/粤语口音会听错字(例:「网感」→「玩感」「删停顿」→「三停顿」)→ 字幕必须人工/对稿校对,时间用转写的,字用校对后的。
  2. 分节拍:按意思切 8–12 段:钩子(0–5s)→ 故事/问题 → 转折 → 方法 → 金句 → 签名。每段决定「这一段用哪个版式或换场」。排法先读 references/essence.md:第 1 秒就要有 2–4 个字的巨字钩子、选一个内容套路套全片、结尾一定给行动。
  3. 补停顿:很多人念稿一口气不换气。在句间插 0.2–0.45 秒:定帧 + 静音,下一句配一次景别切换(推近/拉远),读起来像换气不像卡住。剪点要吸到画格(不然累积漂音画)。示例脚本 tools/build_master.py。
  4. 分配版式 / 换场:套 §4 的节奏规则(每 5–10 秒换一次画面)和 §5 的选用表。
  5. 钉时间:每个字/画面的出现时间 = 他讲那个字的开始时间(词级时间戳),不是估的。重剪后不会错位。
  6. 配音效:一个动画一个不同的音,见 §6。
  7. 渲染 + 检查:先渲带安全区红框的静帧逐款目视,再渲全片,量响度。见 §7。
  8. BGM 默认不加。 学生要加:tools/mix_bgm.py(淡入/金句压低/淡出,−15 LUFS)。

2. 硬规则(违反就返工)

规则说明来源
安全区所有字整个落在 x 60–1010、y 250–1250;y>900 时右边收到 950维护者两次实战纠正;下 35% 被文案+按钮盖住
字幕最多两行、每行 ≤12 字超出就在标点处断行;底边贴 y≤1230维护者反复纠正「字幕太长」
字不盖脸脸大时字只放「胸口带」y≈880–1250;卡片在场就把脸推上去/换人像窗实战成片
一段只留一个巨字其他用小字幕;每块都上色 = 重点被稀释评审反馈
两层节奏换场(整屏构图换)每 5–10 秒;视觉变化(字块弹出/推近/素材/小窗)每 1.5–3 秒。约 1/3 时间不是正脸全屏评审反馈 + 维护者「5–10 秒换一下」;参考片「每 1.5–3 秒一个视觉变化」。两层是整理时对齐两条规则的写法,不是参考片原话
钩子要有「东西」开头 3 秒给一个画面(卡片/曲线/手机),不能只有字幕评审反馈
音效贴字字出现的同一帧响(88% 的音效和字同帧);约 1/3 的字块安静(留呼吸)70 口播统计(见 §6)

3. 画面框架(真人口播)

3.1 镜头

  • 手持晃动:几条不同频率的正弦叠加,开头 1 秒手没拿稳(幅度 ≈ ±7px / ±0.2°)。
  • 跳切:每个句子在两档缩放之间交替硬切,以脸为圆心推近。实战成片用 1.15× / 1.20×;剪映数据的中位是 1.1×。起步项目 Edit 默认 zoom:[1.0,1.12],要实战值就在 edit.json 写 "zoom":[1.15,1.2]。
  • 强调拍:说到重点词那一瞬间推近 +0.09,0.18 秒衰减回来。 数据对照(73 个剪映口播工程的视频轨,template.json.bak):人像片段的缩放中位 1.1×(p10 0.8 / p90 1.4),1614 个视频片段里 54% 被重新缩放(= 推近跳切);64/73 的工程用了遮罩——圆形 131、矩形 120、线性 33、镜面 11、钢笔 3(人像窗以圆窗和圆角矩形为主);0.9× 慢放用了 27 次(做戏剧停顿);人像上用了大量美颜类特效(约 270 处,本库没有)。

3.2 脸很大时(特写口播,下巴约 y860–940)

整个画面上移 120px 并放大 ≥1.12 倍(不放大底边会露),文字压进下巴到 y1250 之间那 ~370px 的「胸口带」。版式坐标按 y≈1050 起排,用 <Zone> 整体上移 150px。

3.3 结尾

人缩小到 0.56 倍放中央,头顶放巨字(y≥250),下面放签名卡(≤y1240)。

4. 节奏数字(70 条剪映口播工程,66 个行业成片,中位时长 23.5 秒)

指标中位数
文字片段 / 分钟~69
音效 / 分钟~39
单个文字片段时长1.22 秒(p25 0.88 / p75 1.72)
音效相对文字起点0.00 秒(同一帧)
有音效跟随的文字比例66%

⚠ 这是 15–60 秒短片的密度。本 skill 的 66 秒 sample 用了约 44 个音效/分钟(接近)。更长的片不要照搬 69 个字块/分钟(会累);重击点(钩子/转折/金句/签名)用高密度,其余降到约 40/分钟——这条是经验判断,没有数据验证。

5. 版式 / 换场选用表(预览见 library)

文字版式(叠在人脸视频上,放胸口带):

id图鉴#什么时候用
chest-big23一句铺垫 + 一个要点词(最常用,每支至少 3 次)
strike-swap24纠正误区:旧说法被划掉,新说法砸出来
left-stair53递进:原因 → 过程 → 结果
a-to-b41因果 / 「越 A 越 B」
two-column17两个方案对照(A|B)
bars9两个并列要点(荧光条)
vertical-wall352–4 字重点词,竖贴右墙
dark-question27低声、反问、悬念(一支最多 1–2 次)
chapter—讲步骤:01/02 + 打勾卡片
giant-fill25落点金句(全片最多 1 次,留给最后一句)
typed-quote38引用 / 金句:黑底圆窗 + 逐字打出
signature—片尾签名卡
top-title骨架整片挂顶部的两行栏目名(头顶要有空间)
stack-list骨架累加清单,新条出现旧条变暗(≤3 条+金句)
end-cta骨架结尾蓝色胶囊 + 指向左下角的箭头(文案由用户给)
换场(把整个画面换掉,用来打破「同一个正脸」):
id什么时候用
------
split-retention钩子 / 讲「没人看完」:上留存曲线卡 + 下人像窗
split-compare「乱 vs 齐」:上对比图 + 下人像窗
phone-swipe讲「划走」:手机放口播,说到关键句往上划走
reporter讲步骤:卡片 + 抠像站前面(需要抠像,仅 macOS)
抖音精剪 · 素材类(讲到什么名词就切什么素材;素材不附带,作为 broll 传入):
id什么时候用
------
pip-broll讲具体名词:素材全屏 + 你缩成白边小圆窗(位置 右上/左上/底中 轮换)
split-broll一边讲一边给看:上你、下素材 + 黄色标签牌命名
broll-bottom最轻的素材插入:素材从底部滑上来盖下半屏(字幕要让开)
poster-hero关键名词/痛点词:整屏海报压暗 40% + 金(利益)/红(痛点)大字,慢慢长大
每款的参数、避免场景:references/layouts.md;精剪配方全文:references/douyin-jingjian.md。

字怎么搭配(5 个排版搭配,叠在人脸视频上,放胸口带):

id什么时候用
label-hero小标 + 大字叠搭(数字、关键词一眼看清)
spread-hero拉开字距的大字(1–3 字,最狠的一句)
ghost-word背景巨字(半透明)+ 一句小字点题
quote-card引用卡:背景压暗虚化 + 编号小标 + 关键词黄 + 出处
chapter-tag章节标签:「01 ▶ 标题」黄色块 + 虚线框
搭配公式(来自 81–88 个版式的统计,完整解析版,细节见 typography-pairing.md):①白色打底 + 一种强调色(黄 = 利益 / 红 = 痛点;80% 的版式只用 1–2 种颜色)②字体 ≤2 种:主角衬线粗体、配角无衬线 ③配角 : 主角 ≈ 1 : 2,≥4× 的巨字全片 1–2 个 ④≤3 行 ⑤全部压进安全区。排版四原则(对齐 / 对比 / 亲密 / 重复):一支片一种对齐;主角词一眼是主角;相关的行靠近;并列内容用同一个样式。

字在人后 / 玻璃字(TextBehind / GlassWord):text-behind 字在人后(背景 → 字 → 抠像 PNG 盖在最上面)· glass-hero 玻璃字(半透明渐层,背后纹理透进字里)· glass-behind 两者结合。三条硬规则:玻璃字不能被带 transform / opacity / filter 的外层包住(不能放进 Zone / FitBox);字要和视频在同一个镜头容器里;背景要有明暗起伏。🔴 字必须一眼看得清,人只能遮住一点点(平均 8–20%、最多 ≤30%):先用 Headroom 给字腾出头顶空间,再用 tools/check_text_visible.py 量;没抠像的帧不画字。抠像仅 macOS(tools/mk_matte.py 抠人、tools/mk_subject_matte.py 抠任意主体)。

情绪字(一个词就是一个情绪,EmotionWord):emo-cry 哭泣(红色从下往上灌满)· emo-surprise 惊讶(两字一上一下摆动)· emo-joy 开心(放射光芒脉动)· emo-shout 喊话(向外倾斜 + 回声)。全片 1–2 次;放胸口带(原包放人头上方,本库的画面里没有空间)。⚠ 只做了文字;原包的眼泪 / 真香光晕翅膀是剪映的人脸特效,没有做。

字怎么动(18 个入场动画预设,MotionText 的 preset):fade slide-up reveal-up curtain roll-in leap grow grow-soft shrink slam glow-blur blur-left rise-random wave-bounce typewriter develop tracking-in echo。 规则(70 个工程的统计):入场 0.4 秒(0.3–0.5;模糊/光效类 0.7);52% 的字完全没有动画、45% 只有入场、2% 有出场——动画留给重点,不要每个字都动;每句换一个入场;重击词配 slam/shrink/echo + 重音效。按功能选动画:references/motion-vocabulary.md §三。

6. 音效

原则:一个动画一个不同的音;不要全片只用 10 种。峰值调到 −11 ~ −20 dBFS;转场类更低(≈−22 ~ −26)。 配对(来自 70 口播统计 + 实战;id 是语义,文件自己准备):

动画/时刻音效语义 id
打字光标 / 逐字打出type typing
模糊发光、柔、情感drip bowl
随机上升 / 开幕(知识)paper
缩小 / 重击 / 强调peng stamp dong fist clang heavy filmdong
放大 / 数字 / 要点click ding ding3 tishi
滚入 / 讲钱cash gold
转场 / 换话题sou sou2 hu shua wind zoom page whoosh
失落 / 划走 / 反问sigh huh sus eerie
对(✓) / 确认correct bowl
魔法 / 揭晓magic fairy chime
完整 57 个 id 和语义:references/sfx-pairing.md。
⚠ 本仓库不附带音效文件(来源是剪映库/付费素材包,不能再发布)。请自备可商用音效,按 id 命名成 lg-<id>.mp3。

7. 检查清单(出片前逐条过)

  • 起步项目:edit.json 设 "guides": true,npx remotion still … 每款版式抽一帧(旧的预览合成才叫 *-guides)。出片前必须改回 false,用 npm run final(先跑 scripts/check-edit.mjs,红框没关会拒绝出片):所有字都在红框内(x60–1010,y250–1250,y>900 右 950)
  • 字幕 ≤2 行、每行 ≤12 字
  • 钩子(前 3 秒)有画面,不只有字幕
  • 每 5–10 秒有一次换场;约 1/3 时间不是正脸全屏
  • 一段只有一个巨字
  • 每个动画的音效不重复;约 1/3 字块安静
  • 响度 −15 LUFS、真峰值 ≤ −2 dBFS
  • 听一遍、看一遍动态(静帧看不出手感,下面「已知限制」)

8. 已知限制(别假装没有)

  • 没有自动越界检测:靠 Txt/FitBox 渲染时量宽→缩小→推回 + 红框目视。逐字打出和嵌套文字仍可能差几像素。
  • 动态手感只能人看:静帧检查不出砸字力度、淡出时机。
  • 抠像仅 macOS(Apple Vision)。
  • 音效/BGM 不附带(版权)。
  • 字搭配 / 动画还没做完:白底小块列表、白边抠像贴纸、取景框 / REC / 扫描线、散布错落、情绪字的人脸特效类、聊天气泡 CTA、拼音标注;粒子类 / 3D 类 / 光效转场动画、出场动画、循环动画(见两份 reference 的「还没做」)。
  • 动画只验证了静帧(动到一半的时刻),没有逐帧核对速度曲线;动画倍数是从帧里估的。
  • 钩子目前是「卡片」;电视彩条+「嘟」那类钩子还没做。
  • 素材(B-roll)本身不附带:精剪组件里是占位画面,真用时传入实拍 / stock / AI 图;撕纸/运动模糊转场、黑场聚光灯、方窗 PIP、素材自动挑点还没做(见 douyin-jingjian.md)。
  • 「精剪区每分钟 21–47 个切点」是 8 月的实测,这次没有重新量。
  • 真人实拍的素材收尾(真实画面 + 抠像 + 签名)组件待补。

9. 代码在哪

可运行的起步项目:remotion/(npm install → 放视频 → 写 edit.json → npm run check → npm run final(出片前自动拦「红框没关」),细节读 remotion/README.md)。别在别处重写一套,用它。 先复制再用:装成 plugin 后这些文件在 Claude 的缓存目录里,更新时会被清掉,不要在原地 npm install 或放视频。先把 remotion/ 整个复制到用户的工作文件夹(cp -R <你读到本 SKILL.md 的目录>/remotion ./my-video),之后所有操作都在那份副本里做;references/ 和 tools/ 留在原地只读即可。 remotion/craft/:kit.tsx(SAFE、Zone、Txt/FitBox、主题)· layouts.tsx(12 款版式)· scenes.tsx(4 个换场 + 4 个精剪素材类 + LabelTag)· typo.tsx(5 个排版搭配)· motion.tsx(18 个入场动画预设 MotionText)· emotion.tsx(4 个情绪字)· glass.tsx(玻璃字 GlassWord + 字在人后 TextBehind)· gallery.tsx(预览合成 + 注册表)。 工具:tools/(补停顿、混 BGM、BGM 分析、音效库构建)。

Skills relacionados