mcpField
V
video-download

video-download

github.com/calesthio创意与媒体72.7k1.2k 次安装今天更新
代码仓库

关于 video-download

video-download 是使用 yt-dlp 从 URL 下载视频和音频的技能,适合需要命令行媒体下载的人。它涵盖画质选择、字幕、元数据和输出路径设置。

主要功能

  1. 01按画质下载视频
  2. 02提取音频为 MP3
  3. 03下载字幕或仅字幕
  4. 04查询元数据与可用格式
  5. 05设置文件名和输出目录

适用场景

  1. 01保存 URL 中的视频供离线观看
  2. 02从视频提取 MP3 音频
  3. 03下载字幕用于文本参考
  4. 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