📦 Video Insight — 视频字幕提取
v1.0.0跨平台视频字幕提取工具,支持 YouTube 和 Bilibili 视频的转录及可选 AI 摘要。GPU 自动检测,默认仅提取字幕,可选启用 LLM 摘要。输出结构化 JSON。适用于 macOS、Linux、WSL、Windows VM。
详细分析 ▾
运行时依赖
版本
v1.0.0
安装命令
点击复制技能文档
跨平台视频字幕提取和可选 AI 摘要工具,支持 YouTube 和 Bilibili。
描述
从 YouTube 和 Bilibili 视频中提取字幕、元数据和可选的关键帧。输出结构化 JSON 到 stdout。默认情况下,不执行 LLM 摘要——代理接收完整字幕并使用其自己的 LLM 上下文窗口进行摘要。支持:macOS、Linux、WSL、Windows VM。
用法
# 单个视频 — 仅字幕(默认,推荐) video-insight --url "https://www.youtube.com/watch?v=VIDEO_ID"# Bilibili 视频 video-insight --url "https://www.bilibili.com/video/BV1xxxxx"
# 带 LLM 摘要(可选) video-insight --url "https://..." --summarize
# 频道扫描(最近视频) video-insight --channel "UC_x5XG1OV2P6uZZ5FSM9Ttw" --hours 24
# 安静模式(无 stderr 进度) video-insight --url "https://..." --quiet
# 强制刷新(忽略缓存) video-insight --url "https://..." --no-cache
# 同时提取关键帧 video-insight --url "https://..." --frames
触发词
总结视频、提取字幕、YouTube 摘要、Bilibili 字幕、视频字幕、视频摘要、视频总结、B站视频、YouTube视频
输出模式
{
"ok": true,
"data": {
"video_id": "dQw4w9WgXcQ",
"platform": "youtube",
"title": "Video Title",
"channel": "Channel Name",
"duration_seconds": 212,
"transcript": "Full transcript text without truncation...",
"transcript_with_timestamps": "[0.0-3.2] First segment\n[3.2-6.5] Second...",
"frames": [{"file": "/tmp/.../frame_001.jpg", "time_sec": 30}],
"cached": false
},
"error": null
}
缓存
字幕永久缓存在 ~/.cache/video-insight/{platform}_{video_id}.json。JSON 格式将元数据和字幕存储在一起,以获得更丰富的缓存命中(标题、频道、时长、时间戳)。使用 --no-cache 强制重新获取。
代理集成指南
- 默认工作流:调用
video-insight --url,接收包含完整字幕的 JSON。使用您自己的 LLM 上下文进行摘要——您有 128K+ token,不需要脚本截断。 - 对于关键帧:添加
--frames标志。仅在用户明确要求视觉/图像审查时才需要。 - 长视频(2小时+):字幕可能非常大。使用 map-reduce 或分块摘要。
- Bilibili 视频需要
ffmpeg和faster-whisper(通过setup.sh安装)。YouTube 视频通常有字幕,速度更快。 - Cron/无头模式:为自动化管道使用
--summarize --quiet。
设置
cd ~/.openclaw/skills/video-insight && bash setup.sh
依赖
必需:yt-dlp、youtube-transcript-api、innertube、ffmpeg(系统)
可选:faster-whisper(用于 Bilibili/无字幕视频)、requests(用于 --summarize)