跳到主要内容
知仓学习社ZHICANG

short-drama-edit

将已生成的短剧镜头剪成成片,记录入出点、镜序、声音、字幕与交付规格。用于套剪、加字幕、统一响度、调整节奏或导出精修素材;需要补素材或修改故事时转回对应创作阶段。

执行命令写文件读文件严重 0 · 高危 7zenstory-ai/drama-skills

它会碰到什么

扫了多少17 个文本文件,81 KB
它会碰到什么执行命令写文件读文件
命中总数9 处
命中统计严重 0 · 高 7 · 中 2 · 低 0
逐条看命中(7 条严重或高危)
  • scripts/edit_tool.py:364exec-spawn
    result = subprocess.run(
  • scripts/edit_tool.py:376exec-spawn
    result = subprocess.run(
  • scripts/edit_tool.py:748exec-spawn
    result = subprocess.run(
  • scripts/edit_tool.py:847exec-spawn
    result = subprocess.run(
  • scripts/edit_tool.py:974exec-spawn
    result = subprocess.run(
  • scripts/edit_tool.py:1030exec-spawn
    result = subprocess.run(
  • scripts/edit_tool.py:1081exec-spawn
    result = subprocess.run(command, capture_output=True, text=True, check=False)

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

短剧剪辑与成片

剧集/<EP>/制作成果/ 里的逐镜素材装配成一条成片,取舍写进 剧集/<EP>/剪辑单.md

每段使用二级标题 ## CUT-...,各自绑定一个 MOTION-... 和一个真实媒体文件。

根据实际素材选择可用片段,按剧本与分镜核对叙事。素材与意图不一致时,记录取舍和缺口。

Quick Start

用 $short-drama-edit 把 EP001 已生产的镜头剪成成片

入口

进入条件是素材已经存在且可读剧集/<EP>/制作成果/ 里有本次要用的视频文件。

提示词写完、job 确认过、adapter 返回成功,都不等于素材可用;本阶段只认当前能打开的文件字节。

素材不全时可以先剪已有连续段落;用户要求完整成片时,将这一版标为片段并列出缺口。

在「未采用镜头」说明缺文件、质量不可用或叙事取舍。

剧集/<EP>/分镜.md视频提示词.md 是镜序和职责的来源。剪辑可以取舍它们,不能改写

它们:删一镜、缩一镜、换顺序都属于本阶段;改台词、改镜头职责、改起终状态要回上游发修订请求。

内置渲染直接拼接编码后的分段,输入素材的画幅与帧率须一致。check 在可探测媒体时核对;

不同规格先通过外部工具按交付要求统一,保留构图并记录裁切或留边,再更新剪辑单的路径与时间。

渲染与测量需要 ffmpeg / ffprobe 在 PATH 上。没有时 edit_tool.py 直接失败并说明,

不用别的手段近似,也不把「没测」写成「通过」。

工作流

  1. 逐段看完整素材,先标可用带,再谈剪辑。 每个文件从头到尾看一遍,写下它实际能用的时间

区间,以及区间之外发生了什么(起势静止、结尾漂移、发白、动作回弹、多余的重复表演)。

这一步的产出是事实,不是决定。做法见 [生成素材的可用带](references/generated-footage.md)。

  1. 有台词的镜先定位发声区间。 保留完整字音和所需停顿。内置工具同步切画面与声音;

需要在连续对白上换画面时,使用外部剪辑工具分开处理。

  1. 在可用区间内选叙事入出点。 按动作、反应或停顿的需要选择入点,出点取信息完成之后、缺陷

开始之前。逐段写清入点理由和出点理由。做法见 [入出点与镜序](references/cut-craft.md)。

  1. 排镜序并检查相邻关系。 检查动作、空间、揭示与声音是否连贯;重复信息没有新增作用时再删。
  2. 比较相邻段的画面。 按同场景、同光态比较可比区域;有可见偏差时在对应段写 画面

做法见 [接镜与色彩一致性](references/generated-footage.md#接镜与色彩一致性)。

  1. 处理声音接缝与响度。 拼接后回听;需要混音时通过外部工具执行并记录。

做法见 [声音、字幕与音乐](references/sound-and-subtitles.md)。

  1. 写字幕。 字幕的每一个字都取自 剧本.md 的台词原文,不取自转写结果;标点可按字幕惯例调整,

字不能改。转写只用来定位时间。

  1. 写出 剪辑单.md,再渲染。 先有文档后有成片:文档是可审查、可修订、可复现的那一份,

成片是它的产物。

  1. 按可测项验收成片,再交付。 见 [交付与验收](references/delivery-verify.md)。

剪辑单要求

  • 正文开头写交付规格:成片目标时长画幅与帧率交付响度字幕。目标时长是意图,

实际时长与目标的差写在报告里。用户明确要求固定时长时,应满足要求或报告缺少的素材。

  • 每段一个 ## CUT-<EP>-<序号> · <中文名称>,块内逐行写:
  • - 来源:<MOTION-...> · <项目相对路径>——MOTION-... 必须是 视频提示词.md 里真实存在

的条目,路径必须是当前可读的文件。

  • - 入点:<秒> / - 出点:<秒> / - 时长:<秒>——三者必须自洽,出点 - 入点 == 时长

全部用秒,保留两位小数,不写时间码,不写帧号。

  • - 取舍:入点=<理由>;出点=<理由>——理由写画面上发生了什么,不写「节奏需要」。

理由应能对应实际素材与本镜叙事需要。

  • - 声音:<本段声音怎么处理>——记录保留原声或外部处理。此行不驱动内置 render 的混音。
  • - 画面:<接镜校正>- 画面:无——只在这一段与相邻段明显对不上时写,

格式是「亮度 <数>」「饱和 <数>」「色温 <数>」三项的任意组合,用 分隔。

详见 [接镜与色彩一致性](references/generated-footage.md#接镜与色彩一致性)。

  • - 字幕:<逐字台词原文>- 字幕:无。本段有多句台词时改用编号写法,

每句自带时间:- 字幕 1:0.20-1.50 请进- 字幕 2:2.30-4.30 门没有锁

编号从 1 连续,时间相对本 CUT 入点,且不得重叠。

  • 素材里没有被采用的镜头,在正文开头写一行 - 未采用镜头:<MOTION-...>(理由:……)

多项用 连接。理由区分两类:文件缺失(还没生产 / 生产失败)和质量不可用

(生成结果不能用),也可说明叙事取舍。补素材前先判断需要重出还是修订上游。

  • 同一个 MOTION-... 可以拆成多个 CUT-...(同一段素材的两处分别使用),也可以整段不用。

不能凭空出现没有素材来源的 CUT-...

  • 一段素材被用两次时,两个 CUT-... 的区间不得重叠:同一批帧在成片里出现两次是重复镜头,

不是复用。确需重复出现(闪回、强调)时写明它是有意重复,并说明第二次为什么仍然成立。

边界

  • 不生成新素材。 需要补拍、重出、换参考图,回 $short-drama-produce;需要改提示词,

$short-drama-video-prompts$short-drama-image-prompts

  • 不改上游语义。 剪辑单可以让某句台词不出现在成片里(整镜未采用),不能改这句台词是什么。

发现剧本层面的问题就点名报告,交回 $short-drama-write

  • 沿用剧本的声音设计。 保留已有对白、VO 和 OS,不自行增加解说;需要新增叙述时回写作阶段。
  • 不把技术成功写成质量结论。 渲染完成、时长对上、文件存在,都不是「这条片子能看」。

成片质量的判断交给 $short-drama-review,或交给创作者本人。

  • 按已授权目标完成。 继续修复影响交付的问题;新增创作方向或补素材需求交给创作者决定。

命令

命令由 [edit_tool.py](scripts/edit_tool.py) 提供:

python3 <本技能目录>/scripts/edit_tool.py check <剧集/EP001> --project-root <project>
python3 <本技能目录>/scripts/edit_tool.py render <剧集/EP001> --project-root <project> [--no-subtitles] [--subtitles ffmpeg|remotion] [--remotion-concurrency N]
python3 <本技能目录>/scripts/edit_tool.py verify <剧集/EP001> --project-root <project>

check 只核对不渲染:素材是否比剪辑单新(重出之后字幕时间必须重测)、区间自洽、MOTION-... 解析、文件存在、区间不越过素材时长、

同源区间不重叠、字幕文字能在 剧本.md 里找到。其中「区间不越过素材时长」需要 ffprobe

没有时这一项报「未测」并说明原因,不静默跳过。render 按剪辑单切段、拼接、烧字幕、统一响度,

输出 剧集/<EP>/制作成果/成片/verify 只测量已经渲染出来的成片并回报数字,不改文件、

不给质量结论。

字幕默认由带 libass 的 ffmpeg 烧录。--subtitles remotion 换成一条排版可调的

路线,代价是装一次 Node 依赖,而且叠层要逐帧过无头浏览器渲整部成片——慢且吃内存,

并发默认压在 2(--remotion-concurrency 可调,调高前先量本机)。取舍见

[声音、字幕与音乐](references/sound-and-subtitles.md),装法见

[Remotion 字幕叠层](assets/remotion/README.md)。

render 保留切好的中间文件。它只切段、硬拼接、统一字幕样式、接镜校正和整片响度,

不执行 声音 行中的混音方案,也不按交付规格自动缩放或改帧率。需要混音、逐镜字幕避让、

转场或画幅转换时用外部工具完成并记录,验收实际交付文件。

按需知识

先读本 SKILL、当前分镜、视频提示词和素材;有字幕时读取剧本原文。按需要打开参考资料:

  • 阶段边界与规则分级:[阶段契约](references/stage-contract.md)
  • 可用带、生成缺陷与逐镜取舍:[生成素材的可用带](references/generated-footage.md)
  • 入出点、镜序与节奏:[入出点与镜序](references/cut-craft.md)
  • 声音接缝、字幕与音乐落点:[声音、字幕与音乐](references/sound-and-subtitles.md)
  • 成片可测项与验收:[交付与验收](references/delivery-verify.md)
  • 剪辑单成稿样例:[剪辑单样例](assets/剪辑单.md)
  • 可选的 Remotion 字幕排版:[Remotion 字幕叠层](assets/remotion/README.md)

修订

保留未受影响的 CUT-... ID。改一段的入出点不触碰其它段;删一段时说明它承担的信息由哪一段

接住,或明确说明这条信息在成片里不再出现。重新渲染前先更新剪辑单,不要让成片领先于文档。

完成

每个 CUT-... 都绑定真实素材与自洽区间,台词在成片里完整可听,字幕逐字等于剧本原文,

剪辑点没有可听的音床硬切,成片响度落在交付目标上,未采用镜头都写明理由并区分了缺文件与缺质量,

即完成。目标时长与实际时长的差、以及仍然值得再剪一版的地方,写在末尾报告里交给创作者判断。

安装维护

只有安装、升级或排障时运行 python3 scripts/selftest.py

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。