用途:从 YouTube 及其他 1000 多个站点下载视频、音频与字幕,直接调用 yt-dlp,无需包装脚本,也不需要 API 密钥。
前置条件:安装 yt-dlp(brew install yt-dlp 或 pip install yt-dlp);安装 ffmpeg(brew install ffmpeg 或 apt install ffmpeg),用于合并视频与音频流。建议定期更新 yt-dlp:yt-dlp -U 或 pip install -U yt-dlp。
主要能力与用法: 最佳画质:yt-dlp "URL" -o "%(title)s.%(ext)s" --merge-output-format mp4 指定分辨率(720p):yt-dlp "URL" -f "bestvideo[height<=720]+bestaudio/best[height<=720]" --merge-output-format mp4;1080p 同理替换 height<=1080。 仅音频:yt-dlp "URL" -x --audio-format mp3 --audio-quality 0 下载字幕:yt-dlp "URL" --write-subs --sub-langs en --merge-output-format mp4;多语言用 --sub-langs "en,es,fr";仅字幕加 --skip-download。 获取元数据(不下载):yt-dlp "URL" --dump-json --no-download 列出可用格式:yt-dlp "URL" -F 指定输出目录:yt-dlp "URL" -o "./downloads/%(title)s.%(ext)s" --merge-output-format mp4
画质预设:Best 用 -f "bestvideo+bestaudio/best"(默认);1080p、720p、480p 用 height<= 对应值;Worst 用 -f "worstvideo+worstaudio/worst"。
输出模板变量:%(title)s 标题、%(ext)s 扩展名、%(id)s 视频 ID、%(uploader)s 上传者、%(upload_date)s 上传日期、%(duration)s 时长、%(resolution)s 分辨率。
提示:始终加 --merge-output-format mp4 避免得到 .webm 或 .mkv;元数据查询用 --no-download 配合 --dump-json,不写文件;下载遇 HTTP 错误先更新 yt-dlp;不需要全分辨率时用 height<=720 节省带宽;yt-dlp 自动处理限速与重试;--dump-json 输出含标题、时长、上传者、观看数、描述、格式、字幕等。
故障排查:提示 yt-dlp: command not found 需安装并确保 PATH 含 pip 的 bin 目录;提示 ffmpeg: command not found 需安装 ffmpeg,否则高清视频音视频分离流合并会失败;下载失败或报错先运行 yt-dlp -U 更新。
限制:资料未提供具体支持站点清单、下载速度、并发能力或版权合规说明,使用时应遵守目标站点条款与当地法律。