OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  tldw:视频内容摘要工具,快速提取核心论点

tldw:视频内容摘要工具,快速提取核心论点

 
  query ·  2026-02-25 22:20:22 · 2 次点击  · 0 条评论  

tldw - YouTube 视频摘要工具

太长不看

快速高效地提取并总结 YouTube 视频字幕。

概述

tldw 技能接收一个 YouTube 视频链接,提取其字幕,并提供全面的内容摘要。这使您无需观看完整视频,即可快速理解其内容。

目的

此技能旨在解决视频内容带来的信息过载问题。您无需花费 10 到 60 分钟观看视频,即可在几秒钟内获得包含要点、主要论点和结论的简洁摘要。

使用场景

在以下情况使用此技能:
- 用户提供了 YouTube 视频链接并要求摘要
- 您需要快速理解视频内容而无需观看
- 您想分析或引用特定视频内容
- 您需要从教育、新闻或纪录片视频中提取信息

工作原理

  1. 提取:使用 yt-dlp 下载视频字幕(字幕/说明文字)
  2. 清理:应用去重功能,移除自动生成字幕中的伪影
  3. 处理:在主代理会话中直接分析清理后的字幕文本
  4. 总结:返回包含要点、关键论点和结论的结构化摘要

主要特性

  • 缓存:下载的字幕在本地缓存,避免重复下载
  • 去重:移除自动生成字幕中常见的重复行
  • 多格式支持:支持 VTT、SRT 和 JSON 字幕格式
  • Cookie 支持:可通过 Cookie 文件访问年龄限制内容
  • 全面摘要:提供主旨、关键示例、对比和结论
  • 快速处理:通常在几秒钟内完成视频摘要

归属说明

此技能基于 stong 的 tldw 项目。完整的归属和许可详细信息可在 ATTRIBUTION.md 中找到。


要求

系统要求

  • Python:3.8 或更高版本
  • 磁盘空间:虚拟环境和依赖项约需 60MB,外加字幕缓存所需空间

必需依赖项

该技能使用 Python 虚拟环境,包含以下依赖项:

  • yt-dlp:视频字幕下载器(通过 pip 安装)
  • Python 标准库:json, re, argparse(内置)

所有依赖项都安装在 venv/ 目录下的本地虚拟环境中。

可选依赖项

  • Cookie 文件:用于访问年龄限制或会员专属内容
    • 格式:Netscape cookie 格式(可从浏览器导出)
    • 放置在技能目录中,并通过 --cookies 标志引用

目录结构

tldw/
├── SKILL.md              # 本文档
├── ATTRIBUTION.md        # 原项目归属说明
├── LICENSE               # AGPL-3.0 许可证
├── scripts/
│   └── extract_transcript.py   # 主提取脚本
├── cache/                # 缓存字幕(自动创建)
└── venv/                 # Python 虚拟环境
    ├── bin/
    │   └── yt-dlp        # 视频字幕下载器
    └── lib/              # Python 包

安装步骤

按照以下步骤设置 tldw 技能:

  1. 进入技能目录:
    bash cd tldw/

  2. 创建 Python 虚拟环境:
    bash python3 -m venv venv

  3. 安装依赖项:
    bash venv/bin/pip install yt-dlp webvtt-py

  4. 验证安装:
    bash venv/bin/yt-dlp --version

  5. 缓存目录将在首次使用时自动创建

技能现已准备就绪!


使用说明

基本用法

当用户提供 YouTube 链接并要求摘要时,请使用以下工作流程:

  1. 使用提取脚本提取字幕
  2. 解析 JSON 输出以获取清理后的字幕文本
  3. 直接总结字幕文本(对于大型字幕,请勿使用子代理)
  4. 向用户返回结构化摘要

命令语法

cd tldw/ && \
venv/bin/python scripts/extract_transcript.py \
  --json --cache-dir cache "YOUTUBE_URL"

处理输出

脚本返回的 JSON 结构如下:

{
  "transcript": "完整的清理后字幕文本...",
  "video_id": "视频ID",
  "title": "视频标题",
  "description": "视频描述...",
  "duration": 1234,
  "uploader": "频道名称",
  "upload_date": "20260101",
  "view_count": 12345,
  "webpage_url": "https://www.youtube.com/watch?v=..."
}

提取 transcript 字段并直接处理以创建全面的摘要。

命令选项

  • --json:以 JSON 格式输出(推荐用于解析)
  • --cache-dir <路径>:指定缓存目录(默认:cache/
  • --cookies <文件>:用于访问年龄限制内容的 Netscape 格式 Cookie 文件路径

示例工作流程

# 1. 提取字幕
cd tldw/ && \
venv/bin/python scripts/extract_transcript.py \
  --json --cache-dir cache "https://www.youtube.com/watch?v=VIDEO_ID"

# 2. 解析 JSON 输出并提取 transcript 字段

# 3. 直接总结字幕文本(包含要点、关键论点、结论)

# 4. 向用户返回格式化摘要

访问年龄限制内容

对于年龄限制或会员专属视频,请从浏览器导出 Cookie:

  1. 安装浏览器扩展,如 "Get cookies.txt LOCALLY"
  2. 登录状态下访问 YouTube
  3. 以 Netscape 格式导出 Cookie
  4. 保存到 tldw 目录(例如 youtube_cookies.txt
  5. 使用:--cookies youtube_cookies.txt

错误处理

无可用字幕

  • 错误信息: "No subtitles/captions found"
  • 含义: 视频没有自动生成或手动添加的字幕。
  • 解决方案: 告知用户由于视频缺少字幕,无法进行转录。

无效链接

  • 错误信息: "ERROR: unable to download video data"
  • 含义: 链接格式错误、视频不存在或为私有/已删除。
  • 解决方案: 验证链接是否正确,并检查视频是否可公开访问。

年龄限制内容

  • 错误信息: "Sign in to confirm your age" 或类似的身份验证错误。
  • 含义: 视频需要年龄验证或 YouTube 登录。
  • 解决方案: 使用 --cookies 标志并配合导出的浏览器 Cookie(参见上文“访问年龄限制内容”)。

网络/连接错误

  • 错误信息: "Unable to download""Connection timeout"、提取失败。
  • 含义: 网络问题、YouTube 阻止请求,或 yt-dlp 版本过旧 与当前 YouTube 不兼容。
  • 解决方案:
    1. 首先,更新 yt-dlp:
      bash cd tldw/ && \ venv/bin/pip install --upgrade yt-dlp
    2. 重试提取操作
    3. 如果仍然失败:检查网络连接或稍后重试

YouTube 频繁更改其 API,因此保持 yt-dlp 更新至关重要。

缓存问题

  • 症状: 权限错误、磁盘空间不足错误。
  • 含义: 缓存目录存在权限问题或磁盘空间不足。
  • 解决方案: 使用 df -h 检查可用磁盘空间,并验证 cache/ 目录的写入权限。

处理大型字幕

  • 注意: 超过 50,000 字符的字幕可能需要更长时间处理。
  • 最佳实践: 在主代理会话中直接处理大型字幕。不要委托给子代理,因为它们在处理大型负载时已被发现不可靠。

调试

要查看完整的错误输出(不仅仅是最后 100 行):

cd tldw/ && \
venv/bin/python scripts/extract_transcript.py \
  --json --cache-dir cache "YOUTUBE_URL"

要检查缓存的字幕:

ls -lh tldw/cache/

局限性

字幕依赖性

  • 该技能仅适用于有字幕/说明文字的视频
  • 无法转录仅有音频的视频(无内置语音转文本功能)
  • 自动生成的字幕可能包含错误、拼写错误或时间伪影
  • 去重功能有助于清理自动生成字幕的问题,但并不完美

语言支持

  • 取决于 YouTube 提供的可用字幕语言
  • 脚本提取任何可用的字幕(自动生成或手动添加)
  • 非英语字幕可以工作,但摘要质量取决于语言模型的能力
  • 英语字幕通常能提供最佳结果

视频长度

  • 超长视频(2 小时以上)可能产生极大的字幕(10 万字符以上)
  • 处理时间与字幕长度成比例增加
  • 没有硬性限制,但需考虑上下文窗口和处理时间的实际因素

仅限 YouTube

  • 目前仅支持 YouTube 链接
  • 不适用于其他视频平台(Vimeo、Dailymotion、TikTok 等)
  • 虽然 yt-dlp 支持许多平台,但此脚本专门针对 YouTube 进行了优化

私有/受限内容

  • 无法访问真正私有的视频(未公开分享)
  • 会员专属或频道会员内容需要来自已验证会话的 Cookie
  • 直播流可能在直播结束后才有字幕可用
  • 某些地理限制即使使用 Cookie 也无法绕过

去重限制

  • 去重逻辑移除连续的重复行
  • 可能偶尔移除合法的重复短语或副歌
  • 主要设计用于处理自动生成字幕的伪影,而非所有重复场景
  • 手动添加的字幕通常不需要去重

无音频提取

  • 此技能仅提取文本字幕,而非音频文件
  • 如需音频提取或处理,需要其他工具(如直接使用带音频标志的 yt-dlp)
  • 重点是基于文本的内容分析,而非媒体文件

2 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor