AgentSkillsCN

yt-dlp

使用 yt-dlp 下载视频/音频,支持格式选择、字幕下载,以及使用 demucs 进行人声伴奏分离。当用户需要下载 YouTube 或其他支持的视频平台内容时使用。

SKILL.md
--- frontmatter
name: yt-dlp
description: 使用 yt-dlp 下载视频/音频,支持格式选择、字幕下载,以及使用 demucs 进行人声伴奏分离。当用户需要下载 YouTube 或其他支持的视频平台内容时使用。
license: MIT
metadata:
  author: kaola
  version: "1.0"
  emoji: "\U0001F4F9"

yt-dlp 视频下载工具

专业的视频/音频下载工具,支持 YouTube 及 1000+ 网站。

使用时机

当用户请求以下任何操作时激活此技能:

  • 下载 YouTube 或其他支持网站的视频
  • 提取视频中的音频
  • 下载视频字幕
  • 分离音频的人声和伴奏
  • 查看视频的可用格式
  • 下载播放列表

核心功能

功能命令示例
下载视频(最佳质量)yt-dlp URL
下载音频(最佳质量)yt-dlp -x --audio-format mp3 URL
下载带字幕视频yt-dlp --sub-langs zh-Hans --embed-subs URL
仅下载字幕yt-dlp --write-subs --skip-download URL
查看可用格式yt-dlp -F URL
指定格式下载yt-dlp -f FORMAT_ID URL
下载播放列表yt-dlp -o "%(playlist_index)s-%(title)s.%(ext)s" PLAYLIST_URL

常用参数

参数说明
-f bestvideo+bestaudio最佳视频+音频质量
-x --audio-format mp3提取音频为 MP3
--sub-langs zh-Hans,en下载中英文字幕
--embed-subs嵌入字幕到视频
--write-subs仅保存字幕文件
--embed-thumbnail嵌入缩略图
--metadata-from-title从标题提取元数据
-o "%(title)s.%(ext)s"自定义输出文件名

人声伴奏分离(demucs)

使用 demucs 将音频分离为人声和伴奏:

bash
# 分离音频(输出包含 vocals/drums/bass/other 四个音轨)
demucs input_audio.mp3

# 仅保留人声和伴奏
demucs -d htdemucs input_audio.mp3

分离后的文件位于 separated/htdemucs/文件名/vocals.wav(人声)和 no vocals.wav 或类似文件(伴奏)。

执行原则

  1. 下载前先清空代理:确保下载不使用代理

    bash
    HTTP_PROXY="" HTTPS_PROXY="" yt-dlp ...
    
  2. 查看信息后再下载:使用 -F 查看可用格式

  3. 默认下载到当前目录:使用 -o 指定输出路径

  4. 失败时查看错误:使用 --verbose 获取详细日志

常见场景

下载 YouTube 视频(最佳质量)

bash
HTTP_PROXY="" HTTPS_PROXY="" yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" URL

下载音频为人声+伴奏

bash
# 1. 下载音频
HTTP_PROXY="" HTTPS_PROXY="" yt-dlp -x --audio-format wav URL

# 2. 分离人声和伴奏
demucs input.wav

下载带中文字幕的视频

bash
HTTP_PROXY="" HTTPS_PROXY="" yt-dlp --sub-langs zh-Hans --embed-subs URL

依赖要求

此技能需要以下系统工具:

  • yt-dlp - 视频下载工具
  • demucs - 人声伴奏分离工具(可选,用于音频分离功能)
  • ffmpeg - 音视频处理工具(yt-dlp 依赖)

注意事项

  • 下载时始终清空 HTTP_PROXY 和 HTTPS_PROXY 环境变量
  • 对于长视频,下载可能需要较长时间
  • demucs 分离音频可能占用较多 CPU 资源
  • 确保有足够的磁盘空间存储下载的文件