video-download

支持1800+网站视频下载并用AI生成字幕,适用于多平台内容获取。

已扫描
适合谁
内容创作者、学习者与研究者
不适合谁
无网络环境用户、无法使用VPN的中国大陆用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @upupc/video-download

Skill 说明

命令、参数、文件名以原文为准

视频下载与字幕生成

此技能可从 1800+ 个网站下载视频,并使用 Faster Whisper AI 生成字幕。

支持的网站

本技能得益于 yt-dlp,支持几乎任意视频网站的下载。部分常见网站包括:

视频平台:

  • YouTube、YouTube Shorts
  • Bilibili(哔哩哔哩)、Niconico(ニコニコ動画)
  • TikTok、Douyin(抖音)
  • Twitter/X、Facebook、Instagram
  • Vimeo、Dailymotion
  • Twitch(剪辑、VOD)、Kick
  • Rutube、VK Video

中文平台:

  • iQiyi(爱奇艺)、Youku(优酷)、MangoTV(芒果TV)
  • Weibo Video、Douyu(斗鱼)、Huya(虎牙)

国际平台:

  • Netflix、Disney+、HBO Max、Amazon Prime Video
  • BBC iPlayer、ITV、Channel 4
  • ARD、ZDF、Arte

完整支持的 1800+ 网站列表请见:[yt-dlp 支持的提取器](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)

本地文档:references/supportedsites.md

重要提示: 若遇到类似 Sign in to confirm you’re not a bot 的错误,请使用 cookiefile 参数进行认证下载。详见本文档末尾的 cookiefile 使用说明。

前置条件

请确保已安装以下 Python 包:

  • yt-dlp - 用于从任意支持的网站下载视频
  • yt-dlp-ejs - yt-dlp 的外部 JavaScript,支持多种运行时环境
  • ffmpeg-python - 用于音频提取
  • faster-whisper - 语音转文字转录工具(比 openai-whisper 更快且内存占用更低)。注意:首次运行将从 HuggingFace 下载模型(默认为 small,约 3GB),中国大陆用户可能需要使用 VPN。
  • tqdm - 用于在转录过程中显示进度条

通过 pip 安装:

pip install yt-dlp yt-dlp-ejs ffmpeg-python faster-whisper tqdm

系统还需安装 ffmpeg。

使用方法

命令行调用

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads"}'

参数说明

参数类型是否必需说明
urls数组支持网站的视频 URL 列表
output字符串输出目录(默认:"./downloads")
model字符串Faster Whisper 模型大小:tiny、base、small、medium、large、large-v2、large-v3、turbo(默认:"small")
transcribe布尔值是否对视频进行语音转文字生成字幕(默认:true)
subtitle_format字符串字幕格式:txt、srt、vtt、json(默认:"txt")
download_subtitle布尔值若视频自带字幕,则一并下载(默认:false)
onlysubtitle布尔值仅下载字幕。当为 true 时,内部使用 skip_download + writesubtitles + writeautomaticsub(默认:false)
overwrite_subtitle布尔值是否覆盖已存在的字幕文件(默认:true;设为 false 可跳过已存在文件)
cookie字符串Cookie 头部字符串;注入到 http_headers.Cookie 中(默认:"")
cookiesfrombrowser字符串从浏览器读取 Cookie(默认:"";非空时才注入)
cookiefile字符串Netscape 格式 Cookie 文件路径(默认:"";非空时才注入)

输出结果

该技能将执行以下操作:

  1. 为每个视频创建一个以视频标题命名的文件夹
  2. 将视频文件下载至该文件夹
  3. 提取音频为 WAV 格式
  4. 使用 Faster Whisper 生成语音转录文本
  5. 保存字幕为 .txt 文件

输出目录结构如下:

downloads/
└── Video Title/
    ├── Video Title.mp4
    ├── Video Title.wav
    └── Video Title.txt

示例

下载 YouTube 视频:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"output":"./my_videos"}'

下载 Bilibili 视频:

python scripts/video_parser.py '{"urls":["https://www.bilibili.com/video/BV1xx411c7XD"],"output":"./downloads"}'

下载 TikTok 视频:

python scripts/video_parser.py '{"urls":["https://www.tiktok.com/@username/video/1234567890"],"output":"./tiktok"}'

从不同网站批量下载多个视频:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO1","https://www.bilibili.com/video/BV1xx","https://twitter.com/user/status/123"],"output":"./videos"}'

下载 Twitch 剪辑:

python scripts/video_parser.py '{"urls":["https://www.twitch.tv/channel/clip/ClipName"],"output":"./clips"}'

仅下载视频(不生成字幕):

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","transcribe":false}'

生成 SRT 格式字幕:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","subtitle_format":"srt"}'

生成 VTT 格式字幕:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","subtitle_format":"vtt"}'

下载视频并获取其内置字幕:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","download_subtitle":true}'

使用自定义 Faster Whisper 模型:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","model":"large"}'

若字幕已存在则跳过转录:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","overwrite_subtitle":false}'
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookie":"sid=xxx; token=yyy"}'
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookiesfrombrowser":"chrome"}'
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookiefile":"/path/to/cookies.txt"}'

仅下载字幕:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","onlysubtitle":true,"cookiefile":"/path/to/cookies.txt"}'

cookiefile 使用说明:

  • 首先安装 Get cookies.txt LOCALLY Chrome 插件。

地址:[https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc?pli=1](https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc?pli=1)

  • 登录目标网站后,使用插件将 cookies.txt 导出到本地。
  • cookiefile 设置为该本地文件路径,例如:
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookiefile":"/Users/yourname/Downloads/cookies.txt"}'

故障排除

  • ffmpeg 未找到:通过 brew install ffmpeg(macOS)或系统包管理器安装。
  • Faster Whisper 模型下载失败:模型从 HuggingFace 下载。中国大陆用户可能需要使用 VPN 或代理。默认的小模型约 75MB。
  • 下载失败:部分视频可能存在地理限制、年龄限制或不可用情况。请检查视频链接并重试。
  • 需要 Cookie 或认证:某些网站需登录认证。如需,可通过 yt-dlp 的选项传递 Cookie。
U
@upupc

已收录 1 个 Skill

相关推荐