Skip to content
Video & Audio
Skill

/gtrk-live-slicing

直播切片图纸——把一场数小时的直播回放,拆成一批可编辑的逐 clip 粗剪工程(gtrk+剪映+PR),交给用户自己挑、自己改、自己出片。含超长源片分段规约(服务端 2h 硬闸 + 60min 轮询墙钟)、选题清单确认停点、按画面形态配分屏、源片贴片如实告知。当用户想「直播切片 / 直播回放切高光 / 把这场直播剪成短视频 / 三小时直播怎么切 / 带货直播剪片段 / 讲座直播出短片 / 录播切片」时使用本 skill。凡涉及把直播回放拆成一批短片工程,优先用本图纸编排,别直接裸跑 long2short(超过 2 小时会被服务端直接拒)。

From plugin
gtrk
96924 skills4 commands

Claude Code

$ npx -y skills add Gitruck/cli --skill gtrk-live-slicing --agent claude-code

SKILL.md

gtrk-live-slicing.SKILL.md
name: gtrk-live-slicing
description: 直播切片图纸——把一场数小时的直播回放,拆成一批可编辑的逐 clip 粗剪工程(gtrk+剪映+PR),交给用户自己挑、自己改、自己出片。含超长源片分段规约(服务端 2h 硬闸 + 60min 轮询墙钟)、选题清单确认停点、按画面形态配分屏、源片贴片如实告知。当用户想「直播切片 / 直播回放切高光 / 把这场直播剪成短视频 / 三小时直播怎么切 / 带货直播剪片段 / 讲座直播出短片 / 录播切片」时使用本 skill。凡涉及把直播回放拆成一批短片工程,优先用本图纸编排,别直接裸跑 long2short(超过 2 小时会被服务端直接拒)。

gtrk-live-slicing(直播切片 · 组合成片图纸)

把**一场直播回放**(1–4 小时)变成**一批可编辑的逐 clip 粗剪工程**:五问定策略 → 分段 → 逐段选段 → **选题清单必停** → 出工程。

> **定位**:第三张 **structure 级组合图纸**(前两张=`gtrk-travel-recap` 旅拍解说、`gtrk-vlog-docu` Vlog 纪实)。不新增任何命令,只编排既有零件。参数细节以 `gtrk-long2short` 与 `--help` 为准,**本图纸引用不复制**;**编排次序、分段规约、检查点**以本图纸为准。**CLI 是手,你是脑。**

⚠️ 定位铁律(先读这条,后面全部服从它)

**本图纸产的是「粗剪工程」,不是成片。**

由此推出一条贯穿全文的边界:**MUST NOT 对源片做任何像素级改动。**

  • ❌ 不去水印、❌ 不去烧录贴片、❌ 不做画面清理美化、❌ 不调色不裁切
  • 源片长什么样,切片就长什么样。要不要动那些元素,是**用户在客户端二次编辑时的决定**,不是你的。
  • 分段所需的时间轴裁切**必须用 `ffmpeg -c copy` 流拷贝**(不重编码)。
  • **工程层设置不算像素改动**:变速倍率(`--speed-factor`)、运镜关键帧(`--camera-move`)、客户端字幕轨(`gtrk subtitle lay`)、画布模糊底(`gtrk project background`)都写在工程里、可在客户端撤销,源片本身一个像素不动——与本条不冲突。

> **用户只要能直接发的成片、不打算再剪?** 那不是本图纸的活,转 `gtrk tool video_long2short_pro`(精剪,整片上传、云端渲染、计费约两倍)。判断句同 `gtrk-long2short`:**「剪完还要不要再动?」要动 → 留这儿;不动 → 转精剪。**

一、输入契约与开工六问

**输入**:一条直播回放的**本地文件**(`.ts` / `.mp4` 等均可)。

**MUST NOT 执行录制或下载**——平台动作与版权责任归用户。用户给什么文件就用什么。

开工前先答六问,答案决定后面全部策略:

| # | 问 | 怎么取证 | 决定什么 | |---|---|---|---| | ① | 源片总时长与几何 | `ffprobe`(或直接跑一次 `gtrk long2short` 让它打印) | **要不要分段、分几段**(§二) | | ② | 画面形态是否单一 | **问用户**——全程主播口播位?还是含实景走播/换机位? | **哪些段开分屏**(§四) | | ③ | 有无烧录贴片 | 抽 2–3 帧看(开头/中段/尾段各一) | **交付时要如实告知什么**(§五) | | ④ | 入选切片要不要叠 MG 动画 | **问用户**——缺省不叠(粗剪定位) | **选题清单敲定后是否走 MG 车道**(§七) | | ⑤ | 入选切片要不要加运镜(推拉镜头) | **问用户**——缺省不加 | **逐段提交是否带 `--camera-move`**(§七「运镜」) | | ⑥ | 入选切片要不要做合成包装 | **问用户**——缺省不做(公约 §三⁵) | **选题清单敲定后是否对入选 clip 做精剪包装**(§七「合成包装」);答要时 `gtrk composite bake --abi` 报烘焙浏览器没装,同一张表里多问一句装不装 |

> **②④⑤⑥ MUST 问用户、MUST NOT 代猜。** ②猜错的代价是白跑一轮分屏(几十分钟 + 积分); > ④缺省是**不叠**——用户没要就零 MG 动作,MUST NOT 硬塞;⑤缺省是**不加**——用户没要就全程不带 `--camera-move`、不再追问。 > ⑤ 必须在提交前问:运镜是云端任务参数,交上去之后改不了(没入选的 clip 带了运镜也无害,随 clip 一起丢弃)。 > **③ 的取证目的只是「告知」,不是「处置」**——看到贴片不要动手,见定位铁律。 > ② 与 `/gtrk-long2short`、`/gtrk-tools` 精剪开工的「多人同框」一问同口径:是就开、不确定按否; > 分屏单段最长 8 秒、每条最多 3 处。

> **推荐面(公约 §三‴)**:问答收口时可问一句「要不要看看第三方 skill?」;题材命中场景触发词才定向推荐,读取 `gtrk skills recommend --scene <id> --json`;用户拒绝后不执行推荐动作。

二、分段规约(本图纸的骨干)

两道闸

| | 闸 | 值 | 命中时的表现 | |---|---|---|---| | **闸一** | 服务端媒体探测层全局业务限制 | **2 小时** | **建单期直接拒**:`6019 媒体时长无效或超过业务限制`。**任务不创建、不计费** | | **闸二** | CLI 轮询墙钟 | **60 分钟** | 轮询超时报错(任务在云端照常跑完,可取回) |

**处理耗时 / 源时长比值按分屏与否分档**:

  • **不开分屏**:墙钟压力较小;
  • **开分屏**:处理耗时明显增加,优先按较短段切分。

⇒ **单段 MUST ≤ 2h(硬拒线),开分屏时 SHOULD ≤ 48min(墙钟线)。**

判据与做法

**源片 > 40 分钟即 MUST 分段。** 40 是落在两条线内并留余量的取值。

# 段边界优先级:内容自然停顿(长静音/话题转折)> 等分兜底
# MUST 用 -c copy,MUST NOT 重编码
ffmpeg -ss 3600 -t 2400 -i "<直播回放>" -c copy "<工作区>/inputs/<名>_seg02_60-100min.mp4"
  • 命名带上**源片时间范围**(如 `_60-100min`),后面汇总选题清单时你要靠它把 clip 定位回原片。
  • 有弹幕文件时可用热区微调边界(§六),**但不作为主依据**。

⚠️ 两条必须在动手前告诉用户

1. **切段是新文件,工程指向它、不指向原片。** 逐 clip 工程的 `materials[].path` 实指切段;用户删掉切段文件,工程就素材脱机。让他把 `inputs/` 留着。 2. **超过 2 小时整条提交会被直接拒**,不是慢、是拒。好消息是零计费(不进队列),但会白抽白传一个大文件——所以先分段。

超时兜底

单段仍超墙钟时,**轮询超时属预期不属故障**:

gtrk oralcut-result <task_id> --out <目录>   # task_id 在产物根 task.json;--out 必填

服务端按 task_id 取结果**幂等**。**MUST NOT 重跑**——重跑是重复计费。

三、双模式(两种都要停)

**为什么直播切片必须停,而口播/TTS 不用?**

口播毛片是用户**已经讲完**的内容、TTS 稿是他**已经认可**的文本——内容选择在进剪辑链之前就完成了,agent 只是执行。而一场数小时直播里「这几十个候选哪些值得做」**尚未发生、本身就是创作决策**。全自动跑完 = 替创作者行使了选题权。

| 模式 | 停点 | |---|---| | **快速成片** | 六问 + 分段方案确认 → 逐段跑 → **【必停】选题清单** → 确认后一路出工程(⑥ 答要时含逐条精剪包装,合成静帧随交付一次给) | | **逐步推进模式** | 上述基础上每步都停(分段方案 / 逐段选段结果 / 逐条工程产物) |

两模式共用同一套分段规约与参数配方,**差别只在停几次,不在停不停**。

选题清单长什么样

每段跑完后产物根有 `clips.md`,一张五列表(标题 / 时长 / 评分 / 简介)。**把各段的表合并成一张给用户**,标注每条回溯到原片的大致时间,让他勾。真实样例:

| # | 标题 | 时长 | 评分 | |---|---|---|---| | clip1 | 别被高认知陷阱害了 | 5:40 | 8.5 | | clip2 | 孩子情绪稳定靠父母正反馈 | 3:06 | 8.2 |

**别让用户自己开工程猜**——他要的就是这张表。

四、按形态配分屏(不给一刀切默认)

`--split-screen` **只对用户在开工②里确认含多人同框的段开**。

⚠️ **静默面(务必知道)**:段内无多人同框候选时,服务端**静默跳过——不报错、不记 `errors`、不置降级标志**。所以:

> **判断分屏是否真的生效,MUST 看产物证据,MUST NOT 按「没报错」推定。** > 证据 = `report.json` 的 `split_manifest` 条数 + 毛片旁 `split_screen/` 目录里的素材(可抽帧看)。

**分屏在子轨、主轨原片可回退**:分屏素材落在独立子轨上叠放, 主轨的原片全程完整在场——用户对某段分屏不满意时,在客户端隐藏/删除子轨该段即回退原片, 零重跑。交付时把这条回退动线告诉用户。⚠️ 连带边界:本地 `gtrk render` 是快照渲染、 **不合成子轨**——渲出来没有分屏画面;要分屏成片走客户端出片(或剪映导出)。

其余参数配方:

  • `--language` **必填**,缺失在上传前就报错(省一次白上传)
  • 竖屏直播源通常**无需转比例**,`--output-size` 缺省即可
  • `--duration-pref` / `--max-clip-sec` 按投放平台口径给档
  • `--subtitle-out` 产逐 clip **独立 `.srt`**(不烧进画面)——**可选**,给要拿去 PR 精修的用户;客户端用户走 §七 的字幕上轨
  • `--speed-factor` **只在用户主动要求时加**(见 §七「调速」);开工问询里不问速度
  • `--camera-move` 按开工⑤:用户要运镜才带(见 §七「运镜」),各段一致

> 完整参数表在 `gtrk-long2short`,本节只给直播场景的**配方差异**,不搬手册。

五、贴片如实告知(交付项,不是处置项)

直播源片常自带烧录元素。你的义务是**说清楚**,不是动手。

| 类型 | 后果 | 怎么说 | |---|---|---| | **静态标题贴片**(贯穿全场不变) | 每条切片都带一个**与自己主题无关**的标题 | 举实例给用户看:某条讲 A,画面上却写着 B | | **时效信息贴片**(价格 / 截止日期) | 切片再发布时是**过期信息** | 额外点一句,让用户自行判断是否适合再发 | | **无叠加** | — | 不必提 |

> 贴片可能贯穿全场且与切片主题无关,也可能包含会过期的价格或日期;交付时按实际画面如实告知。

**这一节不含任何去除动作。** 用户问「能不能去掉」→ 告诉他这超出本图纸射程,可在客户端二次编辑时自行处理。

六、弹幕(可选增强,不是必需输入)

**真实场景绝大多数没有弹幕**——无弹幕是**默认路径,不是降级**。本图纸主干全部步骤在零弹幕下完整可执行。

用户**确实**给了弹幕文件时,可以额外用:

  • **格式**:B站式 `.xml` 是 `<d p="秒数,…">用户:文本</d>`,**`p` 首字段即距开播秒数 = 源片时码**;平台导出 `.txt` 通常是时钟列。归一化成「秒 + 文本 + 用户」三元组即可。
  • **两个信号**:**复述密度**(同一句话被多个用户在短窗口内重复——观众自发复述的往往就是金句)、**刷屏密度**(互动符号瞬时峰值)。

⚠️ 别高估它:弹幕对「选哪些段」通常只是辅助

**结论**:弹幕主要用于验证选段、提取观众原句标题和微调边界,不是必需输入:

  • ❌ **不要**为了「更准地选段」去要用户补弹幕(没有就没有,主干照跑)
  • ✅ 它真正剩下的价值是 **取候选标题原句**:观众自发复述出来的那句话(如「大脑不接受否定」被 15 人复述),

往往比 LLM 生成的标题更有传播力。**有弹幕时,优先把这类原句作为标题候选给用户挑。**

  • ✅ 次要价值:微调段边界(别把一个热区从中间切开)。

⚠️ 红线

**弹幕 MUST NOT 当 `--subtitle-file` 喂入。** 那个入口收的是**主播口述的转写**;弹幕是观众文本,喂进去会污染选段依据。

两者都是「带时码的文本文件」、形状极像,极易误用——**看到弹幕文件先想这条**。

> 现实诱因实例:某创作者的弹幕就存在名为「文稿」的目录里——**目录名叫文稿,内容却是弹幕**。别被目录名带偏。

七、二次包装(可选;全部不动源片像素)

看板点名的三件,都不碰源片:

  • **标题钩子**:文本建议。有弹幕时优先取观众复述的原句。
  • **字幕**:见下「字幕上轨」——选题确认后对入选 clip **缺省做**。
  • **模糊底**:见下「模糊底」——源片与画布横竖不一致时,对入选 clip **缺省做**。
  • **封面**:走 `/gtrk-
Read more
@gitruck
Ships withgtrk

一条命令,把口播毛片变成可二次精修的剪辑工程。

Stars on GitHub

Momentum

stars in total
969
Star history of Gitruck/cli on GitHub, a chart by star-history.com

Other skills on gtrk.

openspec-apply-change

openspec-apply-change

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through…

@gitruck@gitruckInstall Skill
openspec-archive-change

openspec-archive-chang…

Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after…

@gitruck@gitruckInstall Skill
openspec-explore

openspec-explore

Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the…

@gitruck@gitruckInstall Skill
openspec-propose

openspec-propose

Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to…

@gitruck@gitruckInstall Skill
gtrk-ai-drama

gtrk-ai-drama

AI 情景动画分镜稿生成器——把成片 SOP 第③步(B-roll 底轨阶段)分到 AI_DRAMA 车道的 beat,逐个产**四段朴素描述(故事背景 / 角色 / 分镜 / 原文文稿)+ 独立视觉基调段 + 时长预算**,中英双版;Markdown…

@gitruck@gitruckInstall Skill
gtrk-composite

gtrk-composite

合成层包装(合成颗粒)——粗剪、B-roll、字幕都定了之后,把选定时间窗做成「合成」:一段时间内的整个画面由一颗代码颗粒接管(画中画拼贴、逐句换画面、对照并排、并列卡片、字幕排版),讲者与 B-roll 作为槽位画进去。三种入口:整片铺满 / 让 AI…

@gitruck@gitruckInstall Skill

More skills from other plugins.

captions-overlay

captions-overlay

Overlay doctrine for captions in HyperFrames videos — the caption MODEL (drop / rail / embed) and the rule that captions are an…

@heygen-com@heygen-comInstall Skill
acestep

acestep

AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction for video production. Use when…

@calesthio@calesthioInstall Skill
seedance-antislop

seedance-antislop

This skill should be used when a Seedance 2.0 prompt contains generic AI filler, hollow superlatives, vague cinematic language,…

@emily2040@emily2040Install Skill

Questions about gtrk-live-slicing.

Which coding agents can use gtrk-live-slicing?
gtrk-live-slicing installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.