关于 video-download
video-download 是使用 yt-dlp 从 URL 下载视频和音频的技能,适合需要命令行媒体下载的人。它涵盖画质选择、字幕、元数据和输出路径设置。
主要功能
- 01按画质下载视频
- 02提取音频为 MP3
- 03下载字幕或仅字幕
- 04查询元数据与可用格式
- 05设置文件名和输出目录
适用场景
- 01保存 URL 中的视频供离线观看
- 02从视频提取 MP3 音频
- 03下载字幕用于文本参考
- 04下载前检查视频信息和格式
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ calesthio/ openmontage --skill video-download安装后在 Claude Code 中输入/video-download确认已加载。
详细介绍
video-download
直接使用 yt-dlp 从 URL 下载视频和音频。无需包装脚本。
前置条件
- 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
yt-dlp "URL" -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" --merge-output-format mp4
仅下载音频
yt-dlp "URL" -x --audio-format mp3 --audio-quality 0
下载字幕
# Download video with English subtitles
yt-dlp "URL" --write-subs --sub-langs en --merge-output-format mp4
# Download video with multiple subtitle languages
yt-dlp "URL" --write-subs --sub-langs "en,es,fr" --merge-output-format mp4
# Download only subtitles (no video)
yt-dlp "URL" --write-subs --sub-langs en --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
画质预设
| 画质 | 格式标志 |
|---|---|
| 最佳 | -f "bestvideo+bestaudio/best"(默认) |
| 1080p | -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" |
| 720p | -f "bestvideo[height<=720]+bestaudio/best[height<=720]" |
| 480p | -f "bestvideo[height<=480]+bestaudio/best[height<=480]" |
| 最低 | -f "worstvideo+worstaudio/worst" |
输出模板变量
-o 模板常用变量:
| 变量 | 描述 |
|---|---|
%(title)s | 视频标题 |
%(ext)s | 文件扩展名 |
%(id)s | 视频 ID |
%(uploader)s | 频道/上传者名称 |
%(upload_date)s | 上传日期(YYYYMMDD) |
%(duration)s | 时长(秒) |
%(resolution)s | 视频分辨率 |
提示
- 始终使用
--merge-output-format mp4,避免最终生成.webm或.mkv文件。 - 在仅查询元数据时,将
--no-download与--dump-json一起使用,不会向磁盘写入文件。 - 如果下载因 HTTP 错误失败,请先更新 yt-dlp(
yt-dlp -U)。 - 不需要完整分辨率时,使用
-f "bestvideo[height<=720]+bestaudio"以节省带宽。 - yt-dlp 会自动处理速率限制和重试。
--dump-json的输出包含title、duration、uploader、view_count、description、formats、subtitles等信息。
故障排除
- “yt-dlp: command not found”:安装 yt-dlp(
pip install yt-dlp),并确保 PATH 包含 pip 的 bin 目录。 - “ffmpeg: command not found”:安装 ffmpeg。没有它,当视频和音频是分开的流时(YouTube 高清视频中很常见),下载会失败。
- 下载失败或返回错误:运行
yt-dlp -U进行更新。网站经常变化,yt-dlp 也会定期发布修复。
评论
支持 Markdown