用途:为本地转写或分析,慎重地获取用户已获授权访问的 YouTube 视频源,并留下可验证的本地产物。仅用于用户有权访问和下载的内容,不得绕过 DRM、访问控制、付费、私有视频权限、地域或账号限制。
主要能力:下载公开元数据(仅 info.json)、最佳音频或完整视频;列出并下载人工或自动字幕(指定语言标签);单视频默认加 --no-playlist,只有用户明确要求才处理播放列表。
使用方式:先运行 yt-dlp --version、yt-dlp --help、ffmpeg -version、ffprobe -version 做预检;ffmpeg/ffprobe 用于合并高质量音视频流及验证媒体。每次执行前确认输出目录与目标,使用含视频 ID 的稳定模板 %(title)s [%(id)s].%(ext)s,勿硬编码扩展名。下载一次只处理一个 YouTube 任务,采用 --concurrent-fragments 1 --sleep-requests 1 --sleep-interval 5 --max-sleep-interval 10 等保守选项。仅取元数据用 --skip-download --write-info-json;取最佳音频用 -f 'ba/b',并以 --print 'after_move:filepath' 获取真实最终路径;字幕先 --list-subs 列语言,再按需下载,自动字幕可能有误,须标注。
限制:YouTube 与 yt-dlp 行为频繁变化,使用文档标志前应查 --help 并更新 yt-dlp,不要自创提取器/客户端/PO token 绕行方案。默认不覆盖已有文件,复用前需比对视频 ID 并验证。遇 429、403、机器人验证或提取失败时,停止重复突发重试,保留完整错误并检查版本与官方说明。会话鉴权优先 --cookies-from-browser(需用户同意且指定浏览器),严禁展示、导出或提交 cookie。仅当用户已有合法代理时才使用代理,不得用于规避限制。播放列表仅在明确确认后处理,并用编号模板加 --download-archive 支持中断续传,同一 archive 不可被并发进程共享。
验证与移交:确认命令成功并报告 after_move:filepath 打印的实际路径;对媒体运行 ffprobe 检查时长与音视频流;对元数据核对 id、webpage_url、title、channel、duration;对字幕报告精确语言标签、格式及人工/自动属性。命名本地转写可交由 edgespeak-transcribe --diarize,再将结果与来源元数据/URL 交给 edgespeak-name-speakers。