一键导入
video-to-markdown
视频转 Markdown 技能。从在线视频(YouTube、Bilibili 等)提取语音内容, 生成带时间戳的字幕文本和结构化 Markdown 文档。当用户需要视频总结、 视频笔记、提取视频内容、分析视频要点时使用此技能。 支持长视频处理,输出包含完整字幕和结构化要点。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
视频转 Markdown 技能。从在线视频(YouTube、Bilibili 等)提取语音内容, 生成带时间戳的字幕文本和结构化 Markdown 文档。当用户需要视频总结、 视频笔记、提取视频内容、分析视频要点时使用此技能。 支持长视频处理,输出包含完整字幕和结构化要点。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
技术文档翻译技能。将英文技术文档翻译为中文,自动添加目录(TOC), 保持原有文档结构(标题层级、表格、代码块、列表等),保留专有名词不翻译。 翻译完成后保存到 docs/ 目录。当用户需要翻译技术文档、翻译 Markdown 文件、 翻译 README、翻译 API 文档、翻译技术博客时使用此技能。
笔记管理技能,使用 Blinko API 进行个人笔记和闪念的管理。 支持创建闪念、笔记、待办事项,搜索笔记,分享笔记,每日回顾等功能。 当用户询问笔记、记录想法、闪念、备忘、待办、搜索笔记、查找记录等问题时使用此技能。 通过 Python 脚本直接调用 Blinko HTTP API。
创建高效技能的指南。当用户想要创建新技能(或更新现有技能)以扩展 Copilot 的能力时,应使用此技能,包括专业知识、工作流程或工具集成。
月报工作汇总技能。将工作事项转换为专业的月报格式,每项工作一句话, 按重要程度排序。格式:动词开头 + 具体内容 + 业务目标 + 量化指标。 当用户需要写月报、总结工作、汇总成果时使用此技能。
查询天气信息的技能。获取指定城市的当前天气、温度、湿度、风速,并提供穿衣和出行建议。 当用户询问天气、气温、是否下雨、穿什么衣服、出行建议等问题时使用此技能。 支持中英文城市名称查询。
| name | video-to-markdown |
| description | 视频转 Markdown 技能。从在线视频(YouTube、Bilibili 等)提取语音内容, 生成带时间戳的字幕文本和结构化 Markdown 文档。当用户需要视频总结、 视频笔记、提取视频内容、分析视频要点时使用此技能。 支持长视频处理,输出包含完整字幕和结构化要点。 |
| license | MIT |
| compatibility | 需要安装 yt-dlp、FFmpeg 和 openai-whisper。 Python 3.8+ 和 uv 包管理器。 |
| metadata | {"author":"copilot-tools","version":"1.1.0","tools":["yt-dlp","ffmpeg","whisper"]} |
| allowed-tools | Bash(uv:*) Bash(python:*) Bash(yt-dlp:*) Bash(ffmpeg:*) Read |
从在线视频提取语音内容,生成结构化的 Markdown 文档,包含完整字幕和时间戳。
| 文件类型 | 存储位置 | 说明 |
|---|---|---|
| 临时字幕文件 | tmp/video-to-markdown/docs/ | 脚本生成的原始字幕 Markdown(含完整时间戳字幕) |
| 最终总结文档 | docs/video-to-markdown/ | 经 LLM 分析后的摘要文档,不含完整字幕,与临时文件同名 |
⚠️ 重要:
- 脚本输出的字幕文件统一保存到
tmp/video-to-markdown/docs/目录- LLM 生成摘要后,将仅包含摘要的文档保存到
docs/video-to-markdown/目录,保持同名- 最终总结文档不需要保留完整字幕,只保留结构化摘要
tmp/video-to-markdown/docs/docs/video-to-markdown/,保持同名💡 优先使用视频自带字幕:YouTube、Bilibili 等平台的视频大多有字幕,直接下载比语音识别更快更准确。
# 切换到 skill 目录
cd .github/skills/video-to-markdown
# 提取字幕到临时目录
uv run scripts/video_to_markdown.py <视频URL> --output ../../../tmp/video-to-markdown/docs/<文件名>.md
脚本输出字幕内容后,LLM 应根据字幕内容生成结构化摘要。
将包含字幕和摘要的完整文档保存到 docs/video-to-markdown/ 目录,保持与临时文件同名。
# 从 YouTube 视频提取字幕(保存到临时目录)
uv run scripts/video_to_markdown.py "https://www.youtube.com/watch?v=xxxxx" \
--output ../../../tmp/video-to-markdown/docs/视频标题.md
# 从 Bilibili 视频提取字幕
uv run scripts/video_to_markdown.py "https://www.bilibili.com/video/BVxxxxx" \
--output ../../../tmp/video-to-markdown/docs/视频标题.md
# 指定优先下载中文字幕
uv run scripts/video_to_markdown.py "https://..." --lang zh
# 强制使用 Whisper 语音识别
uv run scripts/video_to_markdown.py "https://..." --force-whisper --model medium
| 参数 | 说明 | 默认值 |
|---|---|---|
url | 视频 URL(必需) | - |
--lang | 优先下载的字幕语言(如 zh, en, ja) | 自动选择 |
--model | Whisper 模型,仅在无字幕时使用 | base |
--output | 输出文件路径(建议使用 tmp/video-to-markdown/docs/) | <video_title>.md |
--force-whisper | 强制使用语音识别,忽略自带字幕 | False |
--keep-audio | 保留下载的音频文件 | False |
--json | 输出 JSON 格式 | False |
生成的 Markdown 文件结构:
# 视频标题
> 来源: [原始链接](URL)
> 时长: HH:MM:SS
> 提取时间: YYYY-MM-DD
## 完整字幕
[00:00:00] 字幕内容...
[00:00:05] 字幕内容...
...
---
## 要点摘要
(由 LLM 根据字幕内容生成)
使用 uv 安装视频处理相关依赖:
uv sync --extra video
FFmpeg 需要单独安装(非 Python 包):
# Windows (winget)
winget install FFmpeg
# macOS
brew install ffmpeg
# Linux
sudo apt install ffmpeg
uv run yt-dlp --version
ffmpeg -version
uv run whisper --help
| 用户问题 | 处理方式 |
|---|---|
| "帮我总结这个视频" | 提取字幕后生成要点摘要 |
| "这个视频讲了什么" | 提取字幕并分析主要内容 |
| "把视频转成文字" | 提取完整字幕文本 |
| "视频太长,帮我提炼要点" | 提取字幕后生成结构化摘要 |
--lang zh 优先下载中文字幕--force-whisper 强制启用