SuperAPI AI 工具集

yt-dlp

通用与其它

查看项目

更新于 10-16 09:24

技能介绍

yt-dlp Video Downloader Skill 是一个用于下载视频和提取音频的技能,底层使用 yt-dlp 工具。

一、用途 该技能适用于用户提供视频 URL、要求下载视频,或对话中出现视频链接的场景。可从多个平台下载视频或提取其中的音频。

二、支持的平台 技能可识别以下平台的 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 支持的更多平台

三、主要能力与使用方式

  1. 命令式下载:当用户明确要求下载视频时,提取 URL 并调用下载脚本。
  2. 对话中自动检测:当对话包含视频 URL 时,检测 URL 并询问用户是否要下载。
  3. 音频提取:当用户只想提取音频时,使用音频提取脚本。

可用脚本位于 scripts/ 目录:

download_video.py:主视频下载器,支持质量和格式选项。 用法:

下载视频

scripts/download_video.py <url> -o <output_dir>

指定质量下载

scripts/download_video.py <url> --quality 720p scripts/download_video.py <url> --quality audio # 仅音频

自定义格式选择器

scripts/download_video.py <url> --format "bestvideo[height<=1080]+bestaudio/best"

仅提取信息

scripts/download_video.py <url> --info-only 质量选项:best、1080p、720p、480p、audio

extract_audio.py:从视频中提取音频,支持多种格式。 用法:

提取为 MP3(默认)

/scripts/extract_audio.py <url> -o <output_dir>

提取为 M4A

/scripts/extract_audio.py <url> --format m4a

自定义质量

/scripts/extract_audio.py <url> --quality 320 格式:mp3、m4a、opus、flac、wav

extract_urls.py:从文本或文件中提取视频 URL。 用法:

从文本参数提取

/scripts/extract_urls.py "Check https://youtube.com/watch?v=..."

从文件提取

/scripts/extract_urls.py <file_path>

从标准输入读取

cat file.txt | /scripts/extract_urls.py

四、工作流程 当用户提供视频 URL 时:

  1. 使用 extract_urls.py 从用户输入中提取 URL;
  2. 与用户确认操作:下载视频、提取音频或显示视频信息;
  3. 根据用户选择执行相应脚本;
  4. 通知用户成功或失败以及文件位置。

当自动检测 URL 时:

  1. 使用 extract_urls.py 扫描对话文本(可处理标准输入);
  2. 若发现视频 URL,询问用户:“I found video URLs in this conversation. Would you like me to download them?”;
  3. 若同意,进入下载流程;若拒绝,继续对话。

处理多个 URL:

  • 单个 URL:直接下载;
  • 多个 URL:询问用户是全部下载还是选择特定项;
  • 如 URL 来自同一来源,提供按播放列表下载的选项。

质量与格式选择:

  • 用户未指定时:默认最佳可用质量;音频默认 MP3 192kbps;
  • 需要选项时:质量选项 best(默认)、1080p、720p、480p、audio;音频格式选项 mp3(默认)、m4a、opus、flac、wav。

五、适用场景 适合需要从多个平台保存视频或提取音频的场景,例如保存参考素材、提取音频用于后续处理等。

六、错误处理与依赖 常见问题:

  • yt-dlp 未安装:用 yt-dlp --version 检查,安装方式 pip install yt-dlp 或 brew install yt-dlp;
  • ffmpeg 未安装(格式转换需要):macOS 用 brew install ffmpeg,Linux 用 apt install ffmpeg;
  • 视频不可用:检查 URL 是否可访问,部分视频可能需要认证,年龄限制内容可能需要 cookies;
  • 网络错误:重试下载,检查网络连接。

依赖: yt-dlp:主视频下载器; ffmpeg:音频/视频处理(格式转换所需); python3 及标准库。 所有脚本自包含,仅使用 Python 内置模块。

七、限制 部分视频可能受认证或年龄限制,需要 cookies;格式转换依赖 ffmpeg;具体下载成功率受平台和网络影响。