SuperAPI AI 工具集

yt-dlp

通用与其它

查看项目

更新于 10-16 02:42

技能介绍

yt-dlp 是一个围绕 yt-dlp 命令行工具的 CLI 技能,用于对支持的视频/音频站点执行只读探测、字幕/转录文本提取,以及可选的媒体下载。其核心要求是遵循“先转录后下载”的协议,即在任何下载之前优先完成探测与字幕获取。

【用途】 适用于通过 yt-dlp 支持的主机进行元数据查询、字幕(转录)提取和本地媒体保存;支持用户自有的 cookie 文件、播放列表元数据和指定目录下的本地输出。不适用于静态页面抓取(应使用 Fetch MCP 或 curl)、广泛的多来源研究、ffmpeg 转码,或绕过平台服务条款的操作。

【主要能力】

  • 探测(probe):通过 --dump-json 进行只读元数据查询,不写入媒体文件。
  • 转录(transcript):将字幕/字幕文件提取为文本文件,默认优先于完整下载。
  • 下载(download):在探测并获得用户批准后保存媒体文件。
  • 播放列表(playlist):对多条目 URL 先枚举,再进行选择性下载。
  • Cookie:使用用户自有的 Netscape cookie 文件(通过 --cookies 传入)。
  • 环境检查(doctor):对二进制、版本、ffmpeg 进行预检并输出 JSON 报告。

【使用方式】 技能根据参数进行模式分派:

  • probe <url> / metadata <url> / info <url>:运行 probe_url.py,汇总标题、ID、时长、字幕信息。
  • transcript <url> / subs <url> / captions <url>:先探测,再提取最佳可用字幕,不下载视频。
  • download <url> / fetch <url> / save <url>:先探测,确认权利与格式后下载到明确输出目录。
  • playlist <url>:允许播放列表探测,列出条目,仅在批准后选择性下载。
  • cookies <path> / cookies check <path>:校验用户自有的 cookie 文件路径。
  • doctor / preflight:运行 scripts/doctor.py --format json。 自然语言请求会按协议映射为探测→转录→下载。

转录优先协议:先运行 doctor 预检,再执行强制探测,优先提取字幕(使用 --skip-download),最后才在用户明确批准后下载。下载前需确认用户拥有保存内容的权利、确认输出目录(默认 $HOME/Downloads/yt-dlp/media/)并确认格式(如 bv*+ba/b)。

【适用场景】 需要获取视频元数据、字幕/转录文本,或需要将媒体保存到本地的场景。播放列表场景下可先枚举条目再选择性下载。需要通过登录访问的内容可使用用户自有 cookie 文件。

【限制】

  • 必须先探测,不能跳过。
  • 优先转录而非下载,除非用户明确需要媒体文件。
  • 下载需要明确批准,需确认权利、范围、输出目录和格式。
  • 仅使用用户自有的 cookie,绝不提交、复制进仓库或编造 cookie 路径。
  • 不提供绕过服务条款的指导,拒绝 DRM 规避或付费墙规避请求。
  • 不用于静态 HTML、文档页面或非 yt-dlp 主机。
  • 不用于 remux、转码、剪辑、波形处理(这些属于 ffmpeg 技能)。
  • 仅在用户批准目录下写入,不写入 agents 仓库树。

需要了解提取器错误、地理封锁、签名失败和 ffmpeg 合并问题时可参考 troubleshooting.md;格式选择参考 formats-and-quality.md;权利、cookies、拒绝边界参考 ethics-and-tos.md。技能附带 scripts/doctor.py、scripts/probe_url.py、scripts/check.py 三个脚本。