抖音视频蒸馏
核心原则
把视频处理成可复用知识,而不是只生成泛泛摘要。必须区分视频明确说出/展示的内容、模型归纳、用户可能需要确认的推测,并尽量保留时间戳。下载失败、视频不可访问或视觉模型不支持完整视频时,要如实报告并停止冒充已完成。
输入与权限
支持抖音链接、本地视频和用户提供的转录文本。链接下载需要用户已有访问权限;不绕过验证码、登录墙、访问控制或平台限制。Cookie、API Key 和账号信息只从本机安全配置读取,不显示、不写入输出、不上传到 Wiki。
执行流程
- 判断输入类型。链接先解析并保存原始链接信息;本地视频记录文件路径、大小、时长和格式;文本直接进入转录蒸馏流程。
- 处理抖音链接时,优先调用已安装的
douyin-video-download下载器(脚本路径按你的实际安装位置替换,如python3 <下载器安装目录>/scripts/download_douyin_video.py "<分享链接>" --output-dir "<临时输出目录>")。 输出目录应优先使用任务临时目录,而不是长期保存目录。不要复制下载器源码,也不要输出视频签名直链、Cookie 或凭据。 - 下载成功后,检查视频大小:NVIDIA API 单次请求体上限为 25 MB(base64 后),即原始视频须 ≲ 18 MB。超限时先用 FFmpeg 切段压缩(推荐每段 ≤150 秒、
scale=720:-2、CRF 32、AAC 64k),逐段分析后合并结果。 - 调用本 skill 自带的视觉分析工具处理本地视频:
分析结果保存为临时分析文本或 JSON,不自动写入 Wiki、Index、graph.json 或知识蛛网。ruby "<本 skill 目录>/scripts/analyze.rb" "<视频文件>" "请完整分析视频并输出带时间戳的转录、画面文字、时间线、明确证据、模型归纳和待确认事项。" - 只有在分析成功且分析结果已保存后,才删除本次下载的临时视频文件及其临时下载目录;删除前确认路径位于本次任务临时目录内。分析失败、超时、结果为空或无法验证完整视频时,保留视频以便重试,并明确报告原因。不得删除用户原本已有的本地视频,除非用户在当前请求中明确要求删除。
- 获取转录和视觉证据。视频明确展示/说出的信息标为"原视频证据";模型归纳标为"蒸馏结论";无法核实的信息标为"待确认"。
- 输出时间线、关键概念、因果链、例子、反例、行动步骤和关键词。不要把单条视频观点自动升级成客观事实。
- 若用户明确要求写入知识库,先读取相关 Schema 和 Wiki 文件,优先更新同主题文件;来源写相对路径或原始链接,状态默认为
draft,等待审核。分析、下载、删除、写 Wiki 是不同动作,不能自动串联未被请求的 Wiki 写入。 - 完成后给出处理状态:下载、分析和清理分别是否成功;列出实际使用的输入和未完成原因。
标准输出
---
title: ""
type: learning
topic: ""
source:
- "原始抖音链接或相对文件路径"
confidence: high | medium | low
status: draft
---
# 标题
## 一句话结论
## 原视频证据
按时间戳列出明确说出或展示的内容。
## 蒸馏结论
模型归纳出的框架、因果关系和可迁移方法。
## 关键概念与关键词
## 可执行行动
## 待确认事项
## 关联主题
失败处理
- 下载失败:返回"未取得视频",说明错误类别和下一步,不生成虚假的视频内容;不要删除任何文件。
- 抖音反爬(只返回壳页/无视频数据):如实报告,建议用户改用浏览器登录态方式手动获取视频后走本地视频流程。
- 只有标题或短链接元数据:只能整理元数据,不能声称完成视频蒸馏。
- 视频超过 API 载荷上限:必须按执行流程第 3 步切段压缩,或如实报告未完成。
- 分析失败、超时、返回空结果或拒绝视频:保留本次下载的视频,明确说明分析未完成,不执行自动删除;如用户允许,可改为"转录 + 抽帧"并明确这不是完整视频理解。
- 清理失败:如实报告残留文件路径,不重复删除用户原有文件。
- 内容含个人隐私、健康、财务、密码、Cookie、API Key 或身份凭据:不上传、不输出、不写入公开 Wiki。
