Viral Video Distiller Pro
将视频变成可审计的证据包、可阅读的蒸馏报告和可直接执行的原创结构迁移方案。核心原则是:先取证、后分析;事实和推断分层;没有证据就明确降级。
触发与意图路由
优先保证“一句话使用”,不要要求用户复述证据等级、切镜算法、时间轴覆盖率或校验规则。
自动触发
满足任一项即进入本 Skill:
- 文本包含“分析/拆解/拉片/复刻/仿拍/模仿/研究”以及“视频/短视频/抖音/TikTok/Reels/小红书/B站/YouTube/口播”等视频语义。
- 输入包含可识别的视频平台 URL,例如
douyin.com、v.douyin.com、tiktok.com、xiaohongshu.com、xhslink.com、bilibili.com、b23.tv、youtube.com、youtu.be、instagram.com/reel。 - 输入包含本地视频路径或附件,扩展名为
.mp4、.mov、.mkv、.webm、.m4v、.avi、.flv、.ts。 - 用户只提供视频链接/视频文件但没有动词:默认理解为“分析这条视频”;先预检,不要求补一段长提示词。
不触发或转交
- 仅分析 PDF、Word、网页文章、图片或音频,且没有视频分析意图。
- 仅要求播放、上传、压缩、转码、下载或删除视频,不需要内容拆解。
- 只想快速总结视频内容且明确不要钩子、镜头、互动或生产脚本时,使用普通视频总结能力。
“分析”与“复刻”的默认行为
- “分析/拆解/拉片”:直接生成完整蒸馏生产包。
- “复刻/仿拍”:先自动完成原片分析;若用户已经给出新主题/受众,继续生成原创迁移脚本。
- 用户说“复刻”但没有新主题:分析不中断,先交付原片蒸馏与可替换槽位;只在生成具体新稿确实需要主题时,询问一个简短问题。
- 禁止要求用户确认镜头、证据等级、算法阈值、评分权重或报告字段,这些是 Skill 内部责任。
推荐用户提示词:帮我分析复刻这条抖音视频:<链接>。
适用输入
- 本地
.mp4、.mov、.mkv、.webm。 - 抖音公开链接;仅分析用户有权获取和研究的内容。
- 可选补充:平台数据截图/JSON、目标受众、新主题、账号定位。
如果只有文本、音频或关键帧,可以做局部分析,但不得声称完成全量视频蒸馏。将无法验证的模块写成 N/A。
必须交付
最终目录既是报告包,也是可继续剪辑和审计的生产资产包:
- 九个核心文件:
蒸馏报告.md、evidence.json、transcript.json、逐字稿.md、逐秒时间轴.csv、复刻生产脚本.md、剪映执行清单.md、素材清单.md、质量自检报告.md。 - 生产资产:
source_video.mp4、关键帧/、音频与转写/、分镜文件/、复刻SOP.md。
.venv、模型缓存、__pycache__、下载临时文件等可重建运行垃圾放到交付目录外的 work/。视频、帧、音频、转写、分镜和 SOP 属于可复核过程资产,必须交付。
执行流程
1. 预检与授权边界
运行:
python3 scripts/preflight.py "<本地路径或链接>"
- 本地文件不存在时先确认路径。
- 抖音链接运行
download_douyin.py:先尝试yt-dlp;若提示 fresh cookies、登录/验证码失败,或环境没有yt-dlp,脚本自动请求分享页 HTML、提取受限的抖音/字节视频 CDN 候选、下载并用ffprobe验证。两条路径都失败后才要求用户提供本地视频。 - 分享页 fallback 不得打印、保存或写入报告中的完整签名 CDN URL、Cookie、鉴权参数;不得绕过登录、验证码、付费或私密内容访问控制。只处理用户有权分析的公开分享链接。
- 不要仅根据标题、封面或网页简介生成逐秒报告。
2. 建立工作与交付目录
python3 scripts/scaffold_delivery.py <输出目录> --source "<来源>"
将 assets/templates/蒸馏报告.md 作为报告正文模板。
输出目录保存生产资产;在同级 work/ 或系统临时目录建立运行环境与缓存,不得在输出目录创建 .venv。
3. 提取确定性证据
本地视频运行:
python3 scripts/extract_evidence.py <视频> <工作目录/evidence>
工具会提取媒体元数据、16kHz 单声道分析音轨、静音区间、场景候选切点和 1fps 关键帧。将原视频规范化复制为 source_video.mp4,关键帧保存到 关键帧/,分析音轨与 ASR 原始结果保存到 音频与转写/。完整阅读 references/automated-visual-analysis.md:通过多信号自动确认切镜,低置信度结果自动降为疑似切镜或内部视觉事件。分析过程不要求人工参与,也不得把单一场景阈值结果称为真实镜头。
3a. 获取带时间戳的口播转写(ASR)
优先运行 Whisper(small 模型,跨平台,支持中文):
python3 scripts/run_asr_whisper.py <视频或音频> <交付目录> [--model small] [--language zh]
- 首次使用自动下载模型(small 约 460MB,缓存在本机),并需安装依赖:
pip install openai-whisper(或faster-whisper)。 - 脚本输出带起止时间戳的转写,合并进
evidence/raw_evidence.json(analysis_mode.asr="A"、speech_metrics、ev-asr证据项),并生成transcript.json、逐字稿.md与音频与转写/asr_raw.json。 - ASR 原文不可变:每段保留
raw_text;可靠校正写入normalized_text,并在corrections[]登记原词、修正词、依据和置信度。没有可靠依据时不校正。 - 无 whisper 且无法安装时:对应模块标 N/A,不得伪造语速;有其他 ASR 工具时按其输出合并,同样注册
ev-asr并标实际等级。
若环境有 OCR 能力,生成字幕观察并合并进证据登记簿;若没有,将对应模块标 N/A 或使用直接多模态观察标 B。不要为了完整而编造。
4. 构建统一证据包
完整阅读 references/evidence-schema.md 与 references/analysis-protocol.md。把 raw_evidence.json 合并为交付目录的 evidence.json:
- 每项观察注册唯一证据 ID。
- 所有结论引用
evidence_ids。 - C 级推断写
rationale,并说明替代解释。 - 交付前写入
delivery_metrics.evidence_item_count = len(evidence_items);《质量自检报告》引用该值,不得手工加总。 - 使用“外部资料/官方项目/交叉印证”等措辞时,将来源登记到
external_sources[](id/title/url/accessed_at/grade),相关结论通过external_source_ids引用;未登记时删除该措辞,不得暗示已查证。 逐秒时间轴.csv必须每秒一行且连续覆盖至少 95%;分别填写visual_evidence_ids、audio_evidence_ids、subtitle_evidence_ids和各模态置信度。视觉事实只能引用帧、OCR 或直接多模态观察,ASR 不能单独支撑视觉描述;音频、字幕同理。每行至少引用一条跨度不超过 15 秒且与该秒重叠的时间邻近证据。空白、黑场、静音也要占一行并写明状态。- Hook 固定覆盖 0.000–3.000 秒,不能借用 3 秒后的信息。
5. 分析爆款机制
按以下顺序分析,避免先有结论再找证据:
- 首帧、首句、字幕、声音、承诺和信息差。
- ASR 停顿 + 语义转折 + 镜头候选切点的段落边界。
- 有完整 ASR 才计算中文字符/分钟、语义停顿和重音;没有 ASR 时精确口播指标为 N/A。声学停顿、BGM、音效和响度独立分析。
- 候选切点、自动确认切镜、疑似切镜、字幕刷新和内部视觉事件分别报告;综合视觉刷新率说明去重口径。
- 字幕位置、占屏、行数、颜色、关键词强调、出现/退出动画。OCR/关键帧覆盖不足 95% 时,只能写“采样点观察到一致/基本一致”,禁止写“全片严格同步”。
- 互动原句、时间戳、目标动作和留言机制。
- 结尾五动作:点赞、关注、收藏、下期预告、开放式问题。
- 按固定八维权重自动计算评分、覆盖率和缺失维度;不得手填总分。评分基于证据,不因用户称其为爆款而预设高分。
- 每个核心段生成“事实→机制→观众反应→迁移公式”专家洞察;禁止只描述画面。
6. 生成结构迁移生产包
完整阅读 references/report-contract.md,按模板填写《蒸馏报告.md》。随后输出:
“一句话结论”先在 evidence.json.executive_summary 填满八个槽位,再组合成一个紧凑段落。工具链只能作为 C 级推断,并同时列出依据和替代解释;没有平台数据时使用“传播机制”,不要直接断言“爆款原因”。
若工具链仅为 C 级推断,复刻生产脚本.md 只能给工具无关流程或明确标注的候选实现,不得把推断的软件名升级成确定依赖、版本、安装命令或 CLI。只有实际执行验证并在 toolchain_inference.execution_verified=true 登记验证证据后,才可给确定命令。
复刻生产脚本.md:时间、功能槽位、原创口播、画面、字幕、音效、互动目的。分镜文件/分镜表.csv:固定字段time_range,shot_function,normalized_visual_text,normalized_spoken_text,asset_ids,evidence_ids,confidence。口播使用transcript.json.normalized_text,屏幕文字保留原始 OCR 证据并另做规范化,不得把明显识别噪声直接交给剪辑;剪辑工程或 EDL/XML 也放入此目录。复刻SOP.md:主题迁移、脚本、分镜、素材准备、剪辑、质检到发布的顺序化操作步骤。剪映执行清单.md:轨道、切点、字幕模板、关键帧、音量、导出与发布前检查。素材清单.md:素材角色、规格、来源/授权状态、替代素材;不得直接复用原片资产。逐字稿.md与transcript.json:保留时间戳、说话人和置信度。质量自检报告.md:记录证据缺口、自动降级结果、门禁结果和低置信度清单;不要求人工复核后才能交付。
这里的“一比一复刻”只指一比一映射结构槽位、节奏节点与镜头功能;台词、例子、人物、品牌、音乐和画面素材必须原创或已授权。
7. 运行生产门禁
python3 scripts/validate_delivery.py <交付目录>
只有输出 PASS 才能宣称完整交付。失败时按错误逐项修复,不得删除规则绕过。
8. 分析完成后的渐进式复刻引导
分析包通过门禁后,不要只告知文件路径,也不要一次性要求用户提交全部物料。复制 assets/templates/remake-brief.json 到交付目录,并按下列顺序每次只问一个当前必需问题;用户回答后立即写入 brief,再进入下一步:
先运行确定性编排脚本,让后续步骤真实消费分析产物:
python3 scripts/create_remake_project.py init --analysis <分析交付目录> --output <原创复刻工程目录>
脚本会读取报告、复刻生产脚本、SOP、时间轴、规范化分镜、素材与剪映清单,生成 remake-context.json 并返回唯一的 next_field/question。每次收到用户答案后执行:
python3 scripts/create_remake_project.py set --output <原创复刻工程目录> --field <next_field> --value "<用户答案>"
- 新主题:先问“你想把这个结构迁移到什么主题?”这是唯一无可靠默认值的必答项。
- 目标受众:根据主题推荐一个受众并让用户确认;用户已有账号定位时直接沿用。
- 时长与画幅:根据参考片和发布平台给推荐值,例如抖音默认
60 秒、9:16;将两个强相关参数放在同一次确认中。 - 呈现方式:从真人口播、录屏讲解、PPT/文字动画、纯素材混剪中推荐一种,只要求用户确认或改选。
- 结尾动作:根据账号阶段推荐关注、收藏、评论问题或私域领取中的一个主 CTA。
- 可用素材:最后才询问用户是否有头像、Logo、录屏、图片、配音或品牌色。没有素材时不要阻塞,提供 TTS + 原创占位图形 + 纯文字动画的降级方案。
每一步先展示“已确认内容 + 当前只需回答的问题”。用户说“你决定/默认即可”时采用推荐值继续,不重复追问。信息足够后自动生成原创复刻工程包:原创口播稿、SRT、规范化分镜、素材缺口表、剪映执行清单、发布文案和 render-manifest.json。
当脚本返回 status=ready 后运行:
python3 scripts/create_remake_project.py build --output <原创复刻工程目录>
随后 Agent 必须读取 生成任务.md、remake-context.json 和 remake-brief.json,填充工程包中的原创内容;不得把脚本生成的占位骨架冒充完成稿。
当前 Skill 的“一键生成”边界是:一键生成可执行复刻工程包,不承诺直接输出 MP4。只有运行时具备并实际验证 Remotion、剪映草稿或其他渲染后端时,才能把 render_backend 改为对应后端并宣称生成成片。
分析完成后的第一条引导固定为:
分析已经完成。下一步我可以带你把它迁移成一条原创视频,我们一次只确认一项。先告诉我:你想用这套结构讲什么新主题?
降级矩阵
| 可用证据 | 可完成 | 必须标 N/A |
|---|---|---|
| 视频 + FFmpeg + ASR + OCR | 全量分析 | 无法验证的平台数据 |
| 视频 + FFmpeg + Whisper ASR | 媒体、音频候选、镜头候选、视觉观察、口播与词级时间戳 | OCR 指标 |
| 视频 + FFmpeg,无 ASR/OCR | 媒体、声学停顿、镜头候选、视觉观察 | 口播速度、语义节奏、重音、情绪曲线、口播评分与 OCR 指标;口播维度退出总分并重归一化 |
| 只有音频/带时间戳转写 | 口播、叙事、部分互动 | 镜头密度、视觉字幕包装 |
| 只有文本 | 文案结构与候选互动 | 所有精确音画指标 |
| 链接下载失败 | 链接层可见信息 | 逐秒视频分析;请求本地文件 |
禁止事项
- 禁止捏造播放量、发布日期、ASR、字幕颜色、镜头数或工具链。
- 禁止把算法候选切点直接当作自动确认切镜。
- 禁止要求人工确认或把人工复核设为交付前置条件;低置信度结果必须自动降级。
- 禁止 ASR 缺失时估算精确语速、重音或语义停顿。
- 禁止 ASR 缺失时填写口播语义节奏、情绪曲线或口播评分;必须标 N/A 并从综合评分分母移除。
- 禁止用长区间表格冒充逐秒时间轴。
- 禁止用重复章节摘要铺满逐秒时间轴,或用全片证据冒充该秒的直接证据。
- 禁止用 ASR 证据支撑颜色、构图、镜头、字幕样式等视觉事实,或用单一综合置信度掩盖模态证据缺失。
- 禁止在稀疏 OCR/关键帧采样下声称“全片字幕严格同步”。
- 禁止静默改写 ASR 原文;规范化文本必须保留
raw_text和corrections溯源。 - 禁止手工估算证据总数,或声称外部资料交叉印证却不登记
external_sources。 - 禁止分镜继续使用已被
corrections修正的原始误识别词;分镜必须带素材、证据与置信度字段。 - 禁止把
.venv、模型缓存或临时下载文件放入最终交付;也禁止删除原视频、关键帧、分析音频、转写、分镜或复刻 SOP。 - 禁止把 C 级工具链推断写成确定依赖或未经执行验证的安装、初始化、渲染命令。
- 禁止输出无法按固定权重复算的综合评分。
- 禁止用“约”“推测”掩盖无证据的精确数字。
- 禁止复制长段原台词、品牌包装、音乐或画面素材。
- 禁止只输出漂亮报告而缺少
evidence.json和校验结果。 - 禁止
yt-dlp首次失败就终止:抖音公开分享链接必须自动尝试分享页 CDN fallback;fallback 失败后才请求本地文件。 - 禁止记录或回显分享页中的 Cookie、完整签名 CDN URL 和鉴权查询参数,也不得用 fallback 绕过访问控制。