
关于
从 YouTube 视频中提取字幕并使用智能分析框架生成全面详细的摘要。
name: youtube-summarizer description: "从 YouTube 视频中提取字幕并使用智能分析框架生成全面、详细的摘要" category: content risk: safe source: community tags: "[video, summarization, transcription, youtube, content-analysis]" date_added: "2026-02-27"
youtube-summarizer
用途
此技能从 YouTube 视频中提取字幕,并使用 STAR + R-I-S-E 框架生成全面、详尽的摘要。它验证视频可用性,使用 youtube-transcript-api Python 库提取字幕,并生成详细文档,捕获所有见解、论点和关键要点。
此技能专为需要从教育视频、讲座、教程或信息内容中获取详尽内容分析和参考文档的用户设计。
何时使用此技能
在以下情况下使用此技能:
- 用户提供 YouTube 视频 URL 并需要详细摘要
- 用户需要记录视频内容以供参考而无需重新观看
- 用户想从教育内容中提取见解、关键要点和论点
- 用户需要 YouTube 视频的字幕进行分析
- 用户要求"总结"、"概述"或"提取内容"
- 用户需要优先考虑完整性而非简洁性的全面文档
步骤 0:发现与设置
处理视频前,验证环境和依赖:
# 检查 youtube-transcript-api 是否已安装
python3 -c "import youtube_transcript_api" 2>/dev/null
if [ $? -ne 0 ]; then
echo "⚠️ 未找到 youtube-transcript-api"
fi
# 检查 Python 可用性
if ! command -v python3 &>/dev/null; then
echo "❌ 需要 Python 3 但未安装"
exit 1
fi
如果缺少依赖,询问用户:
youtube-transcript-api 是必需的但未安装。
是否现在安装?
- [ ] 是 - 使用 pip 安装 (pip install youtube-transcript-api)
- [ ] 否 - 我将手动安装
如果用户选择"是":
pip install youtube-transcript-api
验证安装:
python3 -c "import youtube_transcript_api; print('✅ youtube-transcript-api 安装成功')"
主工作流
进度跟踪指南
在整个工作流中,每个步骤前显示可视化进度条以保持用户知情。格式为:
echo "[████░░░░░░░░░░░░░░░░] 20% - 步骤 1/5: 验证 URL"
格式规范:
- 20 字符宽(使用 █ 表示已填充,░ 表示空白)
- 百分比增量:步骤 1=20%,步骤 2=40%,步骤 3=60%,步骤 4=80%,步骤 5=100%
- 步骤计数器显示当前/总数(如"步骤 3/5")
- 当前阶段的简要描述
步骤 1:验证 YouTube URL
目标: 提取视频 ID 并验证 URL 格式。
支持的 URL 格式:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://m.youtube.com/watch?v=VIDEO_ID
操作:
# 使用正则或 URL 解析提取视频 ID
URL="$USER_PROVIDED_URL"
# 模式 1: youtube.com/watch?v=VIDEO_ID
if echo "$URL" | grep -qE 'youtube\.com/watch\?v='; then
VIDEO_ID=$(echo "$URL" | sed -E 's/.*[?&]v=([^&]+).*/\1/')
# 模式 2: youtu.be/VIDEO_ID
elif echo "$URL" | grep -qE 'youtu\.be/'; then
VIDEO_ID=$(echo "$URL" | sed -E 's/.*youtu\.be\/([^?]+).*/\1/')
else
echo "❌ 无效的 YouTube URL 格式"
exit 1
fi
echo "📹 已提取视频 ID: $VIDEO_ID"
步骤 2:检查视频和字幕可用性
目标: 验证视频存在且字幕可访问。
from youtube_transcript_api import YouTubeTranscriptApi, TranscriptsDisabled, NoTranscriptFound
import sys
video_id = sys.argv[1]
try:
transcript_list = YouTubeTranscriptApi.list_transcripts(video_id)
print(f"✅ 视频可用,找到字幕")
except TranscriptsDisabled:
print("❌ 此视频已禁用字幕")
except NoTranscriptFound:
print("❌ 未找到可用字幕")
兼容工具
Claude CodeCursor
标签
前端开发