关于 yt-dlp
yt-dlp 是面向 Agent 的视频下载技能,可通过脚本下载支持平台的视频或提取音频。它还能识别对话中的视频链接,并据此询问用户要执行的操作。
主要功能
- 01下载多个平台的视频
- 02以多种格式提取音频
- 03识别文本中的视频链接
- 04选择视频画质和格式
适用场景
- 01下载分享链接中的视频
- 02提取视频中的音频
- 03查找对话里的视频链接
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lwmxiaobei/ yt-dlp-skill --skill yt-dlp安装后在 Claude Code 中输入/yt-dlp确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/examples.mdscripts/extract_audio.pyextract_urls.pytest_yt_dlp.pydownload_video.py详细介绍
yt-dlp 视频下载器技能
此技能提供使用 yt-dlp 从各种平台下载视频和提取音频的工具。
功能
- 从多个平台下载视频(YouTube、Twitter/X、Vimeo、TikTok、Instagram、Facebook 等)
- 从视频中提取音频
- 自动检测对话中的视频 URL
- 支持不同的画质设置和格式
使用模式
1. 基于命令的下载
当用户明确要求下载视频时:
User: Download this video https://youtube.com/watch?v=...
操作:提取 URL 并调用下载脚本
2. 在对话中自动检测
当对话中包含视频 URL 时:
User: Check out this video https://twitter.com/... and let me know what you think
操作:检测视频 URL,并询问用户是否要下载
3. 提取音频
当用户只想提取音频时:
User: Extract the audio from https://youtu.be/...
操作:使用音频提取脚本
可用脚本
注意:脚本位于 scripts/ 目录中
download_video.py
提供画质和格式选项的主要视频下载器。
用法:
# Download video
scripts/download_video.py <url> -o <output_dir>
# Download with specific quality
scripts/download_video.py <url> --quality 720p
scripts/download_video.py <url> --quality audio # For audio only
# Custom format selector
scripts/download_video.py <url> --format "bestvideo[height<=1080]+bestaudio/best"
# Extract info only
scripts/download_video.py <url> --info-only
画质选项:best、1080p、720p、480p、audio
extract_audio.py
以各种格式从视频中提取音频。
用法:
# Extract as MP3 (default)
/scripts/extract_audio.py <url> -o <output_dir>
# Extract as M4A
/scripts/extract_audio.py <url> --format m4a
# Custom quality
/scripts/extract_audio.py <url> --quality 320
格式:mp3、m4a、opus、flac、wav
extract_urls.py
从文本或文件中提取视频 URL。
用法:
# Extract from text argument
/scripts/extract_urls.py "Check https://youtube.com/watch?v=..."
# Extract from file
/scripts/extract_urls.py <file_path>
# Read from stdin
cat file.txt | /scripts/extract_urls.py
视频平台支持
此技能可识别以下平台的 URL:
- YouTube(youtube.com、youtu.be)
- Twitter/X(twitter.com、x.com)
- Vimeo(vimeo.com)
- TikTok(tiktok.com)
- Instagram(instagram.com)
- Facebook(facebook.com、fb.watch)
- Twitch(twitch.tv、clips.twitch.tv)
- Dailymotion(dailymotion.com)
- Reddit(reddit.com)
- Streamable(streamable.com)
- 以及 yt-dlp 支持的许多其他平台
工作流
用户提供视频 URL 时
- 使用
extract_urls.py从用户输入中提取 URL - 确认用户要执行的操作:
- 下载视频
- 提取音频
- 显示视频信息
- 根据用户的选择执行相应脚本
- 告知用户操作成功或失败,以及文件位置
自动检测 URL 时
- 使用
extract_urls.py扫描对话文本(可处理标准输入) - 如果找到视频 URL,询问用户:“我在此对话中发现了视频 URL。您要我下载吗?”
- 如果用户同意,则继续下载工作流
- 如果用户不同意,则继续对话
处理多个 URL
- 单个 URL:直接下载
- 多个 URL:询问用户是要全部下载,还是选择特定 URL
- 如果 URL 来自同一来源,可提供将其作为播放列表下载的选项
画质和格式选择
用户未指定偏好时:
- 默认使用最佳可用画质
- 音频默认使用 192 kbps 的 MP3
需要提供选项时:
# Ask user for quality preference if not specified
# Options: best (default), 1080p, 720p, 480p, audio
# Ask for format if extracting audio
# Options: mp3 (default), m4a, opus, flac, wav
错误处理
常见问题及解决方案:
-
未安装 yt-dlp:
- 使用
yt-dlp --version检查 - 使用
pip install yt-dlp或brew install yt-dlp安装
- 使用
-
未安装 ffmpeg(格式转换所必需):
- 使用
brew install ffmpeg安装(macOS) - 或使用
apt install ffmpeg安装(Linux)
- 使用
-
视频不可用:
- 检查 URL 是否可访问
- 某些视频可能需要身份验证
- 年龄限制内容可能需要 cookies
-
网络错误:
- 重试下载
- 检查互联网连接
依赖项
yt-dlp:主要视频下载器ffmpeg:音视频处理(格式转换所必需)- 带有标准库的
python3
所有脚本均可独立运行,且仅使用 Python 内置模块。
评论
支持 Markdown