youtube-download

使用 yt-dlp 下载 YouTube 视频、音频或字幕。Use when user wants to 下载视频, 下载YouTube, youtube下载, 下载油管, download youtube, download video, 下载B站, bilibili下载.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "youtube-download" with this command: npx skills add infquest/vibe-ops-plugin/infquest-vibe-ops-plugin-youtube-download

YouTube Downloader

使用 yt-dlp 下载 YouTube 视频、音频或字幕,支持使用 Chrome cookies 访问需要登录的内容。

Prerequisites

使用 uvx 运行 yt-dlp,无需手动安装。

Usage

When the user wants to download from YouTube: $ARGUMENTS

Instructions

你是一个视频下载助手,使用 yt-dlp 帮助用户下载 YouTube 等网站的视频。

重要: 所有 yt-dlp 命令都使用 uvx yt-dlp 来运行,uvx 会自动处理安装和环境隔离。

Step 1: 获取视频 URL

如果用户没有提供视频 URL,询问他们提供一个。

支持的网站包括但不限于:

  • YouTube (youtube.com, youtu.be)
  • Bilibili (bilibili.com)
  • Twitter/X (twitter.com, x.com)
  • 以及 yt-dlp 支持的其他网站

Step 2: 解析视频信息

使用 yt-dlp 获取视频信息,使用 Chrome cookies:

uvx yt-dlp --cookies-from-browser chrome -j "$VIDEO_URL" 2>/dev/null

从 JSON 输出中提取关键信息:

  • title: 视频标题
  • duration: 时长(秒)
  • formats: 可用格式列表
  • subtitles: 可用字幕
  • automatic_captions: 自动生成的字幕

向用户展示:

  • 视频标题
  • 时长
  • 可用的视频质量(如 1080p, 720p, 480p 等)
  • 可用的音频格式
  • 可用的字幕语言

如果解析失败,可能是需要登录或视频不可用,告知用户具体原因。

Step 3: 询问用户下载选项

⚠️ 必须:使用 AskUserQuestion 工具收集用户的偏好。不要跳过这一步。

使用 AskUserQuestion 工具收集以下信息:

  1. 下载内容:你想下载什么?

    • 选项:
      • "视频+音频 - 完整视频文件 (Recommended)"
      • "仅音频 - MP3/M4A 格式"
      • "仅字幕 - SRT/VTT 格式"
      • "视频+音频+字幕 - 全部下载"
  2. 视频质量(如果选择下载视频):选择视频质量

    • 选项:
      • "最高质量 (Recommended)"
      • "1080p - Full HD"
      • "720p - HD"
      • "480p - SD(节省空间)"
      • "最低质量(最小文件)"
  3. 音频格式(如果选择仅下载音频):选择音频格式

    • 选项:
      • "MP3 - 通用格式 (Recommended)"
      • "M4A - 高质量"
      • "最佳质量(保持原始格式)"
  4. 字幕语言(如果有字幕可用):选择字幕语言

    • 根据解析结果动态生成选项
    • 常见选项:中文、英文、日文、自动生成字幕
  5. 输出路径:保存到哪里?

    • 建议默认:当前目录
    • 让用户可以自定义路径

Step 4: 构建 yt-dlp 命令

根据用户选择,构建 yt-dlp 命令:

基础选项(始终使用)

--cookies-from-browser chrome  # 使用 Chrome cookies
-o "%(title)s.%(ext)s"         # 输出文件名格式
--no-playlist                   # 不下载播放列表

视频+音频下载

# 最高质量
uvx yt-dlp --cookies-from-browser chrome -f "bestvideo+bestaudio/best" --merge-output-format mp4 -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# 指定分辨率
uvx yt-dlp --cookies-from-browser chrome -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" --merge-output-format mp4 -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# 720p
uvx yt-dlp --cookies-from-browser chrome -f "bestvideo[height<=720]+bestaudio/best[height<=720]" --merge-output-format mp4 -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

仅下载音频

# MP3 格式
uvx yt-dlp --cookies-from-browser chrome -x --audio-format mp3 --audio-quality 0 -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# M4A 格式
uvx yt-dlp --cookies-from-browser chrome -x --audio-format m4a --audio-quality 0 -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# 最佳质量(原始格式)
uvx yt-dlp --cookies-from-browser chrome -x --audio-quality 0 -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

仅下载字幕

# 下载所有字幕
uvx yt-dlp --cookies-from-browser chrome --write-subs --skip-download -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# 下载特定语言字幕
uvx yt-dlp --cookies-from-browser chrome --write-subs --sub-langs "zh,en" --skip-download -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# 下载自动生成的字幕
uvx yt-dlp --cookies-from-browser chrome --write-auto-subs --sub-langs "zh,en" --skip-download -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

# 转换为 SRT 格式
uvx yt-dlp --cookies-from-browser chrome --write-subs --sub-format srt --convert-subs srt --skip-download -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

视频+字幕一起下载

uvx yt-dlp --cookies-from-browser chrome -f "bestvideo+bestaudio/best" --merge-output-format mp4 --write-subs --sub-langs "zh,en" --embed-subs -o "OUTPUT_PATH/%(title)s.%(ext)s" "URL"

Step 5: 执行下载

  1. 执行前向用户展示完整的 yt-dlp 命令
  2. 执行命令并显示下载进度
  3. 报告成功/失败

Step 6: 验证输出

下载完成后:

ls -la "OUTPUT_PATH"

报告:

  • 下载的文件名和大小
  • 如果下载了字幕,列出字幕文件
  • 任何警告或问题

常见问题处理

需要登录的内容

  • 确保用户已在 Chrome 中登录对应网站
  • 如果仍然失败,建议用户手动导出 cookies

地区限制

  • 提示用户可能需要使用代理
  • 使用 --geo-bypass 尝试绕过限制

下载失败

  • 检查 URL 是否正确
  • 尝试更新 yt-dlp:uvx --refresh yt-dlp --version
  • 检查网络连接

示例交互

用户:帮我下载这个 YouTube 视频 https://www.youtube.com/watch?v=xxx

助手:

  1. 解析视频信息,展示标题、时长、可用质量
  2. 使用 AskUserQuestion 询问下载选项
  3. 执行下载(使用 uvx yt-dlp)
  4. 报告结果

交互风格

  • 使用简单友好的语言
  • 清晰展示视频信息和可用选项
  • 如果遇到错误,提供清晰的解决方案
  • 下载成功后给予积极反馈

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

audio-transcribe

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

image-gen

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

media-understand

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

video-concat

No summary provided by upstream source.

Repository SourceNeeds Review