名称: yt-dlp-downloader
描述: 使用 yt-dlp 从 YouTube、Bilibili、Twitter 等数千个网站下载视频。当用户提供视频链接并希望下载、提取音频(MP3)、下载字幕或选择视频质量时使用。触发短语包括:"下载视频"、"download video"、"yt-dlp"、"YouTube"、"B站"、"抖音"、"提取音频"、"extract audio"。
使用 yt-dlp 从数千个网站下载视频。
下载前,请确保已安装必要的依赖:
# 检查 yt-dlp
which yt-dlp || echo "未安装 yt-dlp。请使用以下命令安装:pip install yt-dlp"
# 检查 ffmpeg(音频提取与格式合并所需)
which ffmpeg || echo "未安装 ffmpeg。请使用以下命令安装:brew install ffmpeg"
如果未安装,请先安装:
pip install yt-dlp
brew install ffmpeg # macOS
yt-dlp -P "~/Downloads/yt-dlp" "视频链接"
YouTube 常因 403 错误阻止直接下载。建议始终使用浏览器 Cookies:
yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "YouTube链接"
支持的浏览器:chrome、firefox、safari、edge、brave、opera
yt-dlp -P "/保存路径" -o "%(title)s.%(ext)s" "视频链接"
yt-dlp -P "~/Downloads/yt-dlp" "视频链接"
yt-dlp -P "~/Downloads/yt-dlp" -x --audio-format mp3 "视频链接"
yt-dlp -P "~/Downloads/yt-dlp" --write-subs --sub-langs all "视频链接"
720p:
yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo[height<=720]+bestaudio/best[height<=720]" "视频链接"
1080p:
yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" "视频链接"
最佳可用画质:
yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo+bestaudio/best" "视频链接"
yt-dlp -F "视频链接"
然后根据格式 ID 下载:
yt-dlp -P "~/Downloads/yt-dlp" -f 格式ID "视频链接"
# 下载整个播放列表
yt-dlp -P "~/Downloads/yt-dlp" -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "播放列表链接"
# 下载指定范围(例如第 1-5 项)
yt-dlp -P "~/Downloads/yt-dlp" -I 1:5 "播放列表链接"
yt-dlp -P "~/Downloads/yt-dlp" --write-thumbnail "视频链接"
当用户提供视频链接时:
识别平台:
--cookies-from-browser chrome询问需求(如未明确):
根据需求构建命令
执行下载:使用 Shell 工具,并设置 required_permissions: ["all", "network"]
处理错误:
--cookies-from-browser 重试-F 列出格式,然后选择报告结果:文件保存位置及任何错误信息
用户:"帮我下载这个视频 https://www.youtube.com/watch?v=xxx"
回复:
# YouTube - 使用 Cookies 避免 403 错误
yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "https://www.youtube.com/watch?v=xxx"
用户:"下载这个视频的音频 https://www.bilibili.com/video/xxx"
回复:
# Bilibili - 提取音频为 MP3
yt-dlp -P "~/Downloads/yt-dlp" -x --audio-format mp3 "https://www.bilibili.com/video/xxx"
用户:"下载这个 Twitter 视频 https://twitter.com/xxx/status/123"
回复:
# Twitter/X - 通常可直接下载
yt-dlp -P "~/Downloads/yt-dlp" "https://twitter.com/xxx/status/123"
yt-dlp 支持数千个网站,包括:
* YouTube, YouTube Music
* Bilibili (B站)
* Twitter/X
* TikTok, Douyin (抖音)
* Vimeo
* Twitch
* 以及更多...
完整列表:https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md
| 错误 | 原因 | 解决方案 |
|---|---|---|
| HTTP 403 禁止访问 | YouTube 阻止未认证请求 | 使用 --cookies-from-browser chrome |
| 视频不可用 | 地区限制或私密视频 | 使用 Cookies 或 VPN |
| 下载中断 | 网络问题 | 重试 - yt-dlp 会自动续传 |
| 格式不可用 | 请求的格式不存在 | 使用 -F 列出可用格式 |
pip install yt-dlp
brew install ffmpeg # macOS
这是 YouTube 最常见的错误。请始终为 YouTube 使用 Cookies:
# 推荐用于 YouTube 的方法
yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "YouTube链接"
支持的浏览器:chrome、firefox、safari、edge、brave、opera
# 尝试使用浏览器 Cookies
yt-dlp --cookies-from-browser chrome "视频链接"
# 或使用特定格式
yt-dlp -F "视频链接" # 先列出格式
yt-dlp -f 格式ID "视频链接"
# 更新 yt-dlp 到最新版本
pip install -U yt-dlp
# 强制使用 IPv4(有时有助于解决连接问题)
yt-dlp -4 "视频链接"
--cookies-from-browser chromepip install -U yt-dlp-F 命令查看可用格式