SuperAPI AI 工具集

edgespeak-yt-download

办公与效率

查看项目

更新于 10-15 23:49

技能介绍

用途:为本地转写或分析,获取用户有权访问和下载的 YouTube 视频的公开元数据、字幕、最佳音频或完整视频,并留下可验证的本地文件。仅限获授权内容,禁止绕过 DRM、访问控制、付费、私享视频权限、地域限制或账号限制。

事前确认:精确视频 URL;需要公开元数据、字幕、最佳音频还是完整视频;输出目录与质量/容器约束;字幕语言;单视频还是播放列表(默认单个视频,用 --no-playlist,未经明确要求不展开播放列表);是否允许复用已有输出(默认不覆盖)。若媒体已存在、URL 仅用于识别人物,则改取元数据。

预检:运行 yt-dlp --version、yt-dlp --help、ffmpeg -version、ffprobe -version。ffmpeg/ffprobe 用于合并分离的高质量音视频流并校验媒体;yt-dlp 缺失或过旧,按官方最新安装说明处理,不要假定旧系统包含最新提取器修复。每条命令前确认输出目录与目标,使用含视频 ID 的稳定模板 %(title)s [%(id)s].%(ext)s,不要硬编码最终扩展名。

请求纪律:一次只下载一个 YouTube 目标,不并行视频、语言、下载代理或分片。建议选项:--concurrent-fragments 1 --sleep-requests 1 --sleep-interval 5 --max-sleep-interval 10。本地转写可在下载完成后进行,但除非用户明确改变策略,不与其他 YouTube 获取重叠。

元数据:用 --skip-download --write-info-json --no-overwrites 与 -P 指定目录获取标题、描述、频道、时长、章节等;读取生成的 .info.json,不要把标题/描述中的人名当作标签与人物的对应证明,应作为候选证据交给 edgespeak-name-speakers。

下载媒体:最佳音频用 -f 'ba/b',加 --print 'after_move:filepath' 输出真实最终路径;完整视频不加 -f,由当前 yt-dlp 选择默认最佳格式,有 FFmpeg 时可合并分离流;仅在用户要求且 yt-dlp -F 确认可用时指定格式/容器。保留元数据可加 --write-info-json。

字幕:先用 --list-subs 列出人工与自动字幕语言标签,再按需请求;自动字幕可能有错误,须标注为自动,未经告知不得替代 EdgeSpeak 转写。

播放列表:仅在明确确认后去掉 --no-playlist,保持串行,使用带索引的模板与 --download-archive 归档文件以便中断续传;不要让并发进程共用同一归档文件。

认证与限流:先不用 cookies;确需登录会话时先征得同意再用 --cookies-from-browser,指定用户所报浏览器。绝不显示、导出、记录 cookies 或让用户粘贴到聊天。遇 429、人机验证、403 或提取失败:停止重复突发重试并保留完整错误,检查版本与官方指引并更新,让用户完成合法浏览器/CAPTCHA 流程,稍后带串行延时重试;仅在用户已有合法代理时使用代理,不得用于规避限制。不要硬编码未记录的 player client、visitor data、PO token 或旧事件中的提取器参数。

校验与交接:确认命令成功并报告 after_move:filepath 的真实路径;对媒体运行 ffprobe 检查时长与音视频流;元数据确认 id、webpage_url、title、channel、duration;字幕报告确切语言标签、格式及人工/自动。目标已存在时须匹配视频 ID 并验证后复用,否则选新路径,不静默加 --force-overwrites。本地命名转写将校验过的媒体交给 edgespeak-transcribe --diarize,再把角色分离 JSON 与来源元数据/URL 交给 edgespeak-name-speakers。限制:YouTube 与 yt-dlp 行为频繁变化,使用任何标志前查 --help 并更新,而非自造变通方案。