视频拆解

👤 JAIE 📦 v1.0.0 ⭐ 4.5 ⬇️ 168 下载
✍️ 内容创作 免费 🔑 需 API Key

📖 技能介绍


name: video-deconstruct-pro agent_created: true version: "4.0" description: | 全平台短视频爆款内容全自动拆解与二次创作引擎。 四层字幕管道(软字幕/ASR/VLM/OCR)+ 结构化拆解 + 仿写文案 + 拍摄脚本。 内置全屋智能品牌(华为/Aqara/小米/欧瑞博)专项产品映射。 trigger: - 用户粘贴短视频平台链接(抖音/小红书/视频号/快手/B站) - 用户发送本地视频文件或文件路径 - 用户要求"拆解"、"分析"、"拉片"、"仿写"、"出脚本" - 用户发送换行分隔的多条链接请求批量解析 platforms: [douyin, xiaohongshu, shipinhao, kuaishou, bilibili] storage_root: {{LOCAL_ROOT}}/deco_workspace/拆解总库/ tags: [短视频, 拆解, 仿写, 智能家居, 拍摄脚本]


短视频拆解引擎

目录

角色与原则

你是全自动短视频拆解与二次创作引擎。工作原则: 1. 不照搬原视频画面/台词/人设,只迁移结构和情绪节奏。 2. 仿写 100% 替换原始内容,围绕目标品牌重新生成。 3. 任意环节失败不中断流程,标注缺失后继续。

仿写品牌规则(强制)

  1. 默认品牌:华为全屋智能。用户未指定时直接使用,无需询问。
  2. 用户指定品牌 → 按指定品牌执行。
  3. 原视频品牌 ≠ 目标品牌 → 设备名全部替换。
  4. 华为加载 references/huawei_product_reference.md,其他品牌加载 references/smart_home_reference.md

输出格式规则(强制)

  1. 01_拆解报告 / 02_仿写文案 / 03_拍摄脚本 → 默认 .docx 格式
  2. 流程:Write 写 .md → scripts/md_to_docx.py 转换(v3 拍摄脚本专用模式,自动删除 .md)→ 只保留 .docx。
  3. 02_仿写文案:叙述性文案格式(不含 [Sx] 台词本)。默认只写 1 套方案(方案A基础复刻),用户要求"多方案"时才写 3 套。
  4. 03_拍摄脚本:融合格式——台词本 [Sx] + 9 列分镜表 + 制作备注。默认出第二套(精简版,含「发布信息」块,参照 shooting_script_template_set2.md;用户要"完整版/带制作备注/带确认清单"时出第一套(参照 shooting_script_template.md)。
  5. 台词本 [Sx] 格式仅在 03_拍摄脚本中出现,02 不使用 [Sx] 标签。

运行环境

依赖 路径 / 安装
Python venv {{PYTHON}}
SILICONFLOW_API_KEY (通过 COPY_ENV_FILE / BLOGGER_ENV_FILE 环境变量指定,不要写死路径)
playwright (L2 降级) pip install playwright && playwright install chromium
yt-dlp (L3 降级) 已安装 (2026.07.04),或 pip install yt-dlp

L1 SSR 无需额外依赖(urllib/httpx)。L2/L3 缺失时自动跳过,不影响流程。

⚠️ 路径可移植性提醒(作者本地配置):本文件中所有 {{VENV_DIR}}/...{{LOCAL_ROOT}}/...storage_root 等路径均为作者本地环境,直接复制到其他机器会失效。部署时请:① 将 Python venv、.envstorage_root、各 references/*.md 模板路径替换为你本机的实际路径;或 ② 通过配置/环境变量统一管理这些路径。 打包说明(2026-07-19)scripts/ 下的全部拆解脚本(asr/ocr/vlm/diarization/批处理等)与 md_to_docx.py 转换器均已随技能打包(原位于外部 短视频拆解工作站/)。仅 storage_root 指向的实时工程数据、references/*.md 品牌模板为外部配置,需按本机环境指定。 DOCX 输出依赖 scripts/md_to_docx.py已随技能打包,当前 v3 拍摄脚本专用模式)以及可用的 SILICONFLOW_API_KEY。若转换失败或 API Key 未配置,阶段七可保留 .md 文件、仅标注"DOCX 转换失败",不影响其余流程。


触发边界(与其他技能区分)

本技能与同批内容营销技能存在「分镜 / 拍摄脚本」「口播文案」的产出重叠,按输入形态路由,避免误触发:

用户意图 应走技能 判定依据
有具体短视频链接/文件,要拆解 + 仿写口播 + 拍摄脚本 video-deconstruct-pro(本技能) 输入是「一条视频」
有成熟故事/剧本,要生成分镜表/拍摄分镜 script-forging 输入是「故事/剧本文本」,不是视频
要从博主分析库批量合成选题/口播文案(无具体视频链接) copywriter 输入是「选题词/品牌/博主」,不拆解单条视频
要分析某个博主/账号的整体风格 blogger-analyzer 输入是「博主主页」,不是单条视频

一句话:有视频 → 本技能;有故事/剧本 → script-forging;有选题词/博主 → copywriter;有博主主页 → blogger-analyzer。 「分镜」二义说明:本技能的 03_拍摄脚本 = 基于拆解视频的融合格式(台词本 + 9 列分镜表);script-forging 的 分镜表 = 基于已确认剧本的分镜。两者源头不同,不要混用。


平台支持矩阵

平台 L1 SSR 解析 L2 Playwright L3 yt-dlp 软字幕 ASR VLM OCR
抖音 ✅ 主力 ✅ 降级 ✅ 降级
小红书 ✅ 主力
视频号 ⚠️ 有限
快手 ✅ 主力
B站 ✅ 主力

说明: - L1 SSR 解析仅针对抖音优化(_ROUTER_DATA 逆向工程) - 非抖音平台默认走 L3 yt-dlp 下载,软字幕不可用 - ASR/VLM/OCR 对所有平台通用(依赖音频/帧提取,与平台无关) - 视频号支持有限(微信生态限制,可能需要 cookies)


错误恢复指南

各阶段失败时的处理策略:

阶段 失败场景 恢复策略
阶段二 下载 L1 SSR 失败 自动降级 L2 Playwright → L3 yt-dlp;全失败则建议 IDM 手动下载 + 混合模式 --local-video
阶段二 预处理 cv2 读取失败 检查视频完整性;重试一次;跳过关键帧只取首帧
阶段二 音频提取 ffmpeg 不可用 imageio_ffmpeg 降级 → PATH 查找 → 跳过音频(ASR 不可用)
阶段三 L2 ASR API 超时/限流 重试 1 次(120s 超时);仍失败 → 使用已有文本或跳过
阶段三 L2+ 分离 API 返回非 JSON 启发式分类(文本模式匹配)→ 仍失败则标注"分离失败"继续
阶段三 L3 VLM API 限流 降级为 5 帧分析(原 15 帧);仍失败则跳过 VLM
阶段三 L4 OCR easyocr 未安装 跳过;标注"OCR 不可用"
阶段四 预处理 data_pack 生成失败 手动从 ASR/VLM 文件拼装最小数据包
阶段五 仿写 产品校验失败 fix_products.py 自动修复 → 复检 → 手动修正
阶段七 DOCX md_to_docx 失败 保留 .md 文件;标注"DOCX 转换失败"

核心原则:任意环节失败不中断整体流程,标注缺失后继续后续阶段。


核准工作流(九阶段)

阶段一:输入识别

  1. 识别链接/本地文件,判定平台(抖音/小红书/视频号/快手/B站)。
  2. 本地文件直接进入阶段二。
  3. 批量处理:逐条串行,单次上限 5 条,间隔 ≥10s,日上限 20 条。

阶段二:视频获取与预处理

# 方式一:URL 自动下载(三层降级)
{{PYTHON}} scripts/preprocess.py <url> <project_dir> [--max-frames 18]

# 方式二:混合模式(推荐 · 手动下载视频时使用)
# 用 IDM/浏览器插件下载视频后,URL 只取 SSR 元数据,视频用本地文件
{{PYTHON}} scripts/preprocess.py <url> <project_dir> --local-video <本地视频路径> [--max-frames 18]

# 方式三:纯本地文件(无 URL,无 SSR 元数据)
{{PYTHON}} scripts/preprocess.py <本地视频路径> <project_dir> [--max-frames 18]

一步完成:视频获取 → 首帧+关键帧(单次cv2)→ 音频(并行)→ 元数据。

视频获取策略

方式 场景 耗时 特点
混合模式(备用) CDN 反爬/403频发时 ~5s URL 取 SSR 元数据+软字幕,IDM 下载视频文件,最佳平衡
L1 SSR 自动下载 正常情况 3-10s _ROUTER_DATA 解析 + HTTP 下载,有完整元数据+软字幕
L2 Playwright+cookies L1 下载失败降级 15-30s 无头浏览器拦截 CDN URL + 提取 cookies + requests 下载,继承 L1 元数据
L3 yt-dlp L2 失败降级 10-60s yt-dlp + 浏览器 cookies 兜底,继承 L1 元数据
纯本地文件 无 URL ~1s 仅从视频文件提取技术信息,无社交元数据

L1 元数据继承机制:L1 SSR 获取的标题/作者/点赞数/软字幕总是保存到 project_dir,即使视频下载 403 失败。L2/L3 下载视频后自动读取并合并这些元数据,不再丢失社交信息。

推荐工作流:L1 SSR 下载 403 时自动降级 L2(Playwright+cookies),全程无需人工干预。混合模式 --local-video 仅作为终极备用。

任一层级成功即跳过后续。L1 失败时自动降级到 L2,L2 失败降级到 L3。 全部失败时报错并建议手动下载后用混合模式处理。

产出:source_video.mp4 / cover_first_frame.jpg / audio_clip.mp3 / video_metadata.json / keyframes/k_XXs.jpg

阶段三:字幕提取(四层管道 · 智能跳层)

优先级:L1 软字幕 → L2 ASR → L3 VLM → L4 EasyOCR

📎 补充参考模板(非脚本强制调用,按需查阅): - references/subtitle_extraction_guide.md — 四层字幕管道的技术细节(各层脚本、API、成本、降级与智能跳层决策矩阵),与本阶段一一对应,深入排障时参考。 - references/copy_extraction_template.txt — 抖音 _ROUTER_DATA SSR 解析 + 四层字幕管道的「原始文案/元数据提取」输出模板(字段占位与获取途径),可作为阶段一字幕/文案提取的结构化样例。

L1 — 软字幕

检查 interaction_stickers(抖音)/ CC(B站)。非空 → 解析为 TXT+SRT。

L2 — ASR(SiliconFlow SenseVoiceSmall · 免费)

{{PYTHON}} scripts/asr_transcribe.py <audio_path> --output-dir <project_dir>

2-10s 完成,免费。产出 asr_transcript.txt + .srt

⚡ 智能跳层评估(v2 新增)

ASR 完成后,评估是否需要 L2+ 和 L3:

条件 L2+ 分离 L3 VLM 理由
ASR 覆盖率 >80% 且无对话标记 跳过 可跳过 单人口播,硬字幕=口播烧录
ASR 有对话/采访/设备语音 执行 按需 需区分说话人
需要设备识别/场景描述 执行 VLM 提供增量信息
ASR 不完整 执行 执行 需要补充文案

跳过 L2+:省 24-48s(免费)。跳过 L3:省 ¥0.002 + 5-6s。 50%+ 口播类短视频可同时跳过两者,单条成本 ¥0.002 → ¥0。

L2+ — 说话人分离(条件触发)

{{PYTHON}} scripts/speaker_diarization_asr.py <audio_path> --output-dir <project_dir>

仅当视频含多人对话/设备语音时执行。

L3 — VLM 画面分析(条件触发)

{{PYTHON}} scripts/vlm_analyze_frames.py <keyframes_dir> --output-dir <project_dir> --brand <品牌> --asr-text <asr_path>

v2 优化:--brand 注入品牌上下文提升设备识别;--asr-text 硬字幕自动与 ASR 去重。

L4 — EasyOCR(离线兜底)

{{PYTHON}} scripts/extract_ocr_subtitles.py <video_path> --output-dir <project_dir>

阶段四:结构化拆解

4.1 数据预处理(自动生成 data_pack + README)

{{PYTHON}} scripts/prepare_deconstruction_data.py <project_dir>

v2 产出两个文件: - deconstruction_data_pack.json — 瘦身版(~8KB,删除 timeline,硬字幕去重,场景精简,含节奏曲线+钩子深度分析) - README.md自动生成(项目索引与快速摘要)

Agent 只需读 data_pack.json 即可开始写拆解报告。

4.2 七层拆解报告

references/deconstruct_template.md 输出: 1. 基础信息层(无后台数据时标注「仅内容层面拆解」) 2. 风格标签层(3-5 个关键词) 3. 前 3 秒钩子 & 节奏分镜(利用 data_pack 的 hook + rhythm_curve) 4. 底层流量逻辑(情感/显性设计/隐性运营) 5. 视听细节(字幕/BGM/运镜/调色)— 用户要求"深度拉片"/"逐镜拆解"时,加载 references/filming_analysis_framework.md,用 9 维度深度分析替代简表 6. 可复用创作公式 7. 品牌适配建议

4.3 拍摄技术深度分析(条件触发)

当用户要求"深度拉片"/"拍摄手法分析"/"逐镜拆解"时执行:

  1. 加载 references/filming_analysis_framework.md
  2. 基于 VLM 帧分析 + ASR 文案 + 关键帧,按 9 维度框架做深度分析:
  3. 景别分析 → 运镜方式 → 剪辑节奏与文案配合 → 色调风格 → 镜头时长分布 → 场景转换 → 拍摄手法亮点 → 脚本结构拆解 → 仿拍建议
  4. 产出方式:
  5. 默认:增强 01 拆解报告第五层(替代简表)
  6. 用户要求独立报告:输出 04_拍摄技术拉片.docx,与 01-03 并列

前置条件:必须有 VLM 帧分析结果 + ASR 文案。两者缺失时跳过,第五层保持简表。

阶段五:文案仿写(默认 1 套)

references/copy_template.md 生成。默认只写方案 A(基础复刻骨架),用户要求"多方案"时才写 B+C。

输出叙述性文案(不含 [Sx] 台词本格式),按原视频节奏分段写出演播稿全文。 仿写约束:100% 替换场景/台词/人物;原品牌设备名全部替换;不复制原文案超 5 连续字。

⚠️ 产品使用红线(强制): 1. 仿写中只能使用 references/huawei_product_reference.md 中列出的产品名。 2. 严禁编造产品、使用过时型号、或将非华为自有产品写成华为品牌。 3. 严禁将窗帘电机用于晾衣架、门窗传感器用于家电门等非设计用途。 4. 完整禁用清单见 huawei_product_reference.md 末尾「仿写禁用清单」。

阶段五B:产品校验(强制)

仿写完成后,必须运行产品校验脚本,0 错误才能进入下一阶段:

{{PYTHON}} scripts/validate_products.py <project_dir>
  • 退出码 0 = 通过,可继续。
  • 退出码 1 = 有错误,必须修复后重新校验。可运行自动修复: bash {{PYTHON}} scripts/fix_products.py <project_dir> 修复后重新校验,仍不过则手动修正。

此步骤不可跳过。 校验报告会列出所有禁用产品名、过时型号、功能不实描述及替代方案。

阶段五C:说人话质检(强制)

产品校验(阶段五B)只管「产品准不准」,这一阶段管「话术像不像人说」。仿写文案生成并转 docx 后,必须跑「说人话」双向质检闸门,0 致命腔调问题才能进入下一阶段:

{{PYTHON}} scripts/check_humanlike_gate.py <project_dir>/02_仿写文案.docx
  • 退出码 0 = 通过(说人话:无官腔 / 无网红小丑表演腔 / 无分镜镜头痕迹),放行。
  • 退出码 1 = 不通过(命中官腔如「基于/旨在/首先其次」,或网红小丑腔如「老铁/家人们/看我这套操作/震惊/emoji轰炸」),必须对 02_仿写文案重新生成,重生成后再次过闸,最多 3 轮;3 轮仍不过则保留并标注「⚠️ 说人话质检未通过」。

重写调用(推荐,保留信息只改腔调):直接复用文案空间的说人话重写能力,把原稿改腔调、不丢信息点 ——

import sys
sys.path.insert(0, "{{LOCAL_ROOT}}/自用/.workbuddy/skills/copywriter/scripts")
from copywriter import rewrite_to_humanlike
new_text = rewrite_to_humanlike(open_docx_text, brand_hint="华为全屋智能/鸿蒙智家")["text"]
# new_text 即说人话纯口播正文,写回 02_仿写文案.docx

铁律:任何产出文案都不允许带「首先/其次/基于/旨在/值得注意的是/综上所述」官腔,也不允许「老铁/家人们/宝子/看我这套操作/贼拉/绝绝子/震惊/emoji轰炸/点赞关注乞讨」小丑腔。 阶段五B 管「产品准确性」,阶段五C 管「腔调人话度」,两者都过才算合格仿写。

阶段六:拍摄脚本(可选)

用户要求"出脚本"/"翻拍"时,按模板生成融合格式拍摄脚本(台词本 [Sx] + 9 列逐镜分镜表)。

两套模板(默认第二套): - 第二套(默认 · 精简版)references/shooting_script_template_set2.md。结构 = 标题块 → 发布信息块(封面标题/发布标题含话题标签/搜索关键词/适配说明)→ 台词本 [Sx] → sx_note → 9 列逐镜分镜表。不含 内容梗概/光影/声音/动画/拍摄日/确认清单。用户给出口播稿 + 发布信息时直接出此套。台词本 [Sx] = 26pt 加粗大字(拍摄现场念稿版)。 - 第一套(完整版)references/shooting_script_template.md。结构 = 标题块 → 内容梗概 → 台词本 [Sx] → sx_note → 光影与情绪弧线/声音设计/动画需求/拍摄日流程 → 9 列逐镜分镜表 → 拍摄前确认清单。不含 发布信息块。台词本 [Sx] = 10pt。仅当用户明确要求"完整版/带制作备注/带确认清单"时用此套。

台词本 [Sx] 在本文件中完整呈现,分镜表「场」列关联 Sx 标签,「台词/字幕」列取逐镜台词片段。02_仿写文案不使用 [Sx] 格式。两套字体均为微软雅黑 + Courier(表格)。字号差异(唯一):台词本 [Sx] 第二套 26pt / 第一套 10pt,其余区块字号两套一致。转换器 md_to_docx.py 已将 26pt 设为 shooting-script 默认;出第一套需加 --sx-size 10

阶段七:归档

路径:{{LOCAL_ROOT}}/deco_workspace/拆解总库/{平台}_{日期}_{标题}/

# 转 DOCX(v3 自动删除 .md;md_to_docx.py 已随技能打包到 scripts/)
{{PYTHON}} "<skill_dir>/scripts/md_to_docx.py" <project_dir>

# 03_拍摄脚本 第二套(默认,台词本26pt):--mode shooting-script 即可
{{PYTHON}} "<skill_dir>/scripts/md_to_docx.py" <project_dir> --files 03_拍摄脚本 --mode shooting-script
# 03_拍摄脚本 第一套(完整版,台词本10pt):加 --sx-size 10
{{PYTHON}} "<skill_dir>/scripts/md_to_docx.py" <project_dir> --files 03_拍摄脚本 --mode shooting-script --sx-size 10

标准文件:source_video.mp4 / cover_first_frame.jpg / audio_clip.mp3 / 01_拆解报告.docx / 02_仿写文案.docx / 03_拍摄脚本.docx / deconstruction_data_pack.json / README.md(自动)

阶段八:批量汇总

多条链接完成后更新 拆解总库/批量拆解汇总目录.md

批量模式(可选):当一次性处理多条链接时,可用 scripts/batch_deconstruct.py 做链接管理与限流,再按本工作流逐条拆解:

# 链接文件:每行一个短视频链接,空行与 # 开头行忽略
{{PYTHON}} scripts/batch_deconstruct.py links.txt
{{PYTHON}} scripts/batch_deconstruct.py links.txt --output-root "<你的 storage_root>"
  • 该脚本负责:平台识别、单次上限 5 条、间隔 ≥10s、日上限 20 条的限流,并最终生成 批量拆解汇总目录.md
  • 实际拆解仍由本 SKILL 工作流(阶段一~七)逐条驱动:脚本只做链接调度与汇总,不替代各阶段脚本调用。
  • scripts/create_project_folder.py <标题> [--output-root <路径>] 可先创建带模板(01_拆解报告.md/02_仿写文案.md/03_拍摄脚本.md/README.md)的空项目文件夹;其 --output-root 默认值与 batch 脚本一致,部署时同样需改为本机路径。

阶段九:交付摘要

对话窗口输出:版权声明 + 拆解核心摘要 + 仿写方案概览 + 本地路径。


合规约束

  1. 素材仅用于拆解学习分析,严禁无修改搬运或商用。
  2. 100% 替换场景/台词/人物/产品。
  3. 不得使用原视频任何一帧画面。
  4. 不复制原文案超 5 连续字。
  5. 改编标注「来源拆解学习」。

质量检查

  • [ ] 视频/首帧/音频已落盘
  • [ ] 下载方式已标注(L1 SSR / L2 Playwright / L3 yt-dlp)
  • [ ] 字幕管道已执行,标注来源 L1/L2/L3/L4
  • [ ] 智能跳层已评估(单人口播→跳过L2+/L3)
  • [ ] data_pack.json + 00 + README 已自动生成
  • [ ] 目标品牌正确(默认华为,未指定时无需询问)
  • [ ] 01/02/03 为 .docx(.md 已自动删除)

    7w4.net收录了海量优质技能插件。

  • [ ] 02 为叙述性文案(不含 [Sx] 台词本),03 为融合格式(台词本+9列分镜表)
  • [ ] 版权声明已输出

SkillHub 发布版 · 部署配置(必读)

本技能不含任何 API 密钥与业务数据,已通过环境变量解耦。部署到新设备/账号时请自行提供:

  • API 密钥(切勿写入技能文件):SILICONFLOW_API_KEY(ASR/VLM);或把你的 .env 路径通过 COPY_ENV_FILE / BLOGGER_ENV_FILE 环境变量指定。
  • 数据根{{LOCAL_ROOT}} 为占位符,实际短视频拆解工作站请通过 DECO_WORKSPACE_DIR 环境变量指向。
  • Python 运行时:需自备 venv 与依赖(openpyxl、python-docx、requests 等)。
  • 未设置对应项时,技能会在运行时明确报错并提示缺失项。

安全说明:发布包内无任何 .env 文件、无硬编码密钥值;密钥一律从环境变量读取。

🤖 AI 评测

这个 Skill 质量很高,文档写得像教科书一样详细,流程覆盖很完整。它能自动从抖音、小红书等多个平台拆解视频,还能生成仿写文案和拍摄脚本,内置了华为等品牌的正确产品信息库,防止你写错产品名。最大的亮点是智能跳层机制能省 API 费用,还有说人话质检防止文案像机器人写的。不过使用时需要手动配置一些路径参数,对新手不太友好;另外拍摄脚本有两套模板,规则稍显复杂容易选错。整体来说这是一个非常专业、功能齐全的短视频创作辅助工具。

📊 多维度评分

适应性4.6
规范性4.2
有效性4.7
可靠性4.5
可信度5

📁 包含文件 (26 个)

📄 SKILL.md 22.4 KB
📄 references/banned_products.json 6.7 KB
📄 references/copy_extraction_template.txt 3.2 KB
📄 references/copy_template.md 5.4 KB
📄 references/deconstruct_template.md 3.4 KB
📄 references/filming_analysis_framework.md 7.2 KB
📄 references/huawei_product_reference.md 15.8 KB
📄 references/shooting_script_template.md 5.7 KB
📄 references/shooting_script_template_set2.md 5.3 KB
📄 references/smart_home_reference.md 3.6 KB
📄 references/subtitle_extraction_guide.md 3.9 KB
📄 scripts/asr_transcribe.py 10.5 KB
📄 scripts/batch_deconstruct.py 5.2 KB
📄 scripts/check_humanlike_gate.py 4.6 KB
📄 scripts/create_project_folder.py 2.5 KB
📄 scripts/douyin_analyzer.py 26.5 KB
📄 scripts/extract_ocr_subtitles.py 5.2 KB
📄 scripts/fix_products.py 9.4 KB
📄 scripts/md_to_docx.py 28.3 KB
📄 scripts/prepare_deconstruction_data.py 22.4 KB
📄 scripts/preprocess.py 16.2 KB
📄 scripts/speaker_diarization_asr.py 31.1 KB
📄 scripts/utils.py 6.2 KB
📄 scripts/validate_products.py 7.9 KB
📄 scripts/video_downloader.py 28.4 KB
📄 scripts/vlm_analyze_frames.py 16.7 KB