upupc

video-download

设计创意v0.1.6
作者:upupc更新于 2026-05-17共 7 个版本 · 最新版本发布于 2026-03-06
#Audio#Transcribe#Twitter

据 AlphaMoat 统计,截至 2026-09,video-download 累计下载 3,229 次、获 3 个星标,在全部 5,078 个 AI 技能中排名第 3,525 位,在「设计创意」分类(512 个)中排名第 323 位。

累计安装
104
累计下载
3,229
星标
3
全站排名
#3,525
全站前 70% · 「设计创意」前 64%
平台累计安装累计下载星标评论
ClawHub ↗1043,22934

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

文档列出多种视频站点,并提供文字、SRT、VTT 或 JSON 等输出选择;流程依赖 yt-dlp、ffmpeg 和 Faster Whisper,首次运行可能下载模型。带登录信息的 cookies 文件属于敏感凭据,使用前需确认素材授权、目标网站规则和本地存储位置。 仅字幕模式可能回退为下载并转录完整视频,运行前应先确认。

资料发布于 2026-10-29

可以用来做什么

  • 下载用户提供的视频链接。
  • 从视频中提取音频并生成转录或字幕。
  • 选择字幕输出格式或尝试获取已有字幕。

什么时候用

  • 用户明确要求处理可合法访问的视频并生成字幕时。
  • 下载前确认内容使用权限、认证凭据处理和输出目录时。

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

为这个视频链接生成字幕草稿,并保留原始文件来源。
在不读取或导出浏览器 cookies 的前提下,列出处理此视频需要的依赖和输出文件。

月度数据趋势

累计下载3,229
1,5232,4393,3552026-03 · 累计下载 1,6492026-06 · 累计下载 2,7732026-07 · 累计下载 2,9942026-08 · 累计下载 3,0622026-09 · 累计下载 3,22926-0326-09
星标3
2342026-03 · 星标 32026-06 · 星标 32026-07 · 星标 32026-08 · 星标 32026-09 · 星标 326-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-093,229—3
2026-083,062+2.3%3
2026-072,994+8.0%3
2026-062,773—3
2026-031,649—3

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

8.1 KB · ClawHub v0.1.6
---
name: video-download
description: Download videos from 1800+ websites and generate subtitles using Faster Whisper AI. Use when user wants to download videos from YouTube, Bilibili, Twitter, TikTok, Facebook, Vimeo, or any other supported video site, extract audio, or transcribe video content to text/subtitles.
metadata:
  {
    "openclaw":
      {
        "homepage": "https://github.com/upupc/video-download",
        "emoji": "🎬",
        "requires": { "bins": ["python", "ffmpeg"], "env": [] },
展开全部(共 206 行)
        "primaryEnv": "",
        "install": [
          {
            "id": "pip",
            "kind": "pip",
            "packages": ["yt-dlp", "yt-dlp-ejs", "ffmpeg-python", "faster-whisper", "tqdm"],
            "label": "Install dependencies (pip)",
          }
        ],
      },
  }
---

# Video Download & Subtitle Generation

This skill downloads videos from 1800+ websites and generates subtitles using Faster Whisper AI.

## Supported Websites

This skill supports downloading from virtually any video website thanks to yt-dlp. Some popular ones include:

**Video Platforms:**
- YouTube, YouTube Shorts
- Bilibili (哔哩哔哩), Niconico (ニコニコ動画)
- TikTok, Douyin (抖音)
- Twitter/X, Facebook, Instagram
- Vimeo, Dailymotion
- Twitch (clips, VODs), Kick
- Rutube, VK Video

**Chinese Platforms:**
- iQiyi (爱奇艺), Youku (优酷), MangoTV (芒果TV)
- Weibo Video, Douyu (斗鱼), Huya (虎牙)

**International:**
- Netflix, Disney+, HBO Max, Amazon Prime Video
- BBC iPlayer, ITV, Channel 4
- ARD, ZDF, Arte

For the complete list of 1800+ supported sites, see: [yt-dlp supported extractors](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)
Local document about supported sites: references/supportedsites.md

**Important:** If you see an error like `Sign in to confirm you’re not a bot`, you should use the `cookiefile` parameter for authenticated downloads. See the `cookiefile` usage section at the end of this document.

## Prerequisites

Ensure the following Python packages are installed:
- `yt-dlp` - For downloading videos from any supported site
- `yt-dlp-ejs` - External JavaScript for yt-dlp supporting many runtimes
- `ffmpeg-python` - For audio extraction
- `faster-whisper` - For speech-to-text transcription (faster and more memory-efficient than openai-whisper). **Note**: The first run will download models from HuggingFace (default: small, ~3GB). A VPN is required for mainland China users.
- `tqdm` - For progress bar display during transcription

Install via pip:
```bash
pip install yt-dlp yt-dlp-ejs ffmpeg-python faster-whisper tqdm
```

ffmpeg must also be installed on your system

## Usage

### Command Line

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

## Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `urls` | array | Yes | List of video URLs from any supported website |
| `output` | string | No | Output directory (default: "./downloads") |
| `model` | string | No | Faster Whisper model size: tiny, base, small, medium, large, large-v2, large-v3, turbo (default: "small") |
| `transcribe` | boolean | No | Whether to transcribe video to subtitle (default: true) |
| `subtitle_format` | string | No | Subtitle format: txt, srt, vtt, json (default: "txt") |
| `download_subtitle` | boolean | No | Download video's built-in subtitles if available (default: false) |
| `onlysubtitle` | boolean | No | Only download subtitles. When `true`, the script uses `skip_download + writesubtitles + writeautomaticsub` internally (default: false) |
| `overwrite_subtitle` | boolean | No | Overwrite existing subtitle files (default: true, set to false to skip if exists) |
| `cookie` | string | No | Cookie header string; injected into `http_headers.Cookie` (default: "") |
| `cookiesfrombrowser` | string | No | Read cookies from browser (default: ""; injected only when non-empty) |
| `cookiefile` | string | No | Netscape-format cookie file path (default: ""; injected only when non-empty) |

## Output

The skill will:
1. Create a folder for each video (named after the video title)
2. Download the video file to that folder
3. Extract audio as WAV file
4. Generate transcript using Faster Whisper
5. Save subtitle as .txt file

Output structure:
```
downloads/
└── Video Title/
    ├── Video Title.mp4
    ├── Video Title.wav
    └── Video Title.txt
```

## Examples

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

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

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

### Download multiple videos from different sites:
```bash
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"}'
```

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

### Download only (without transcription):
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","transcribe":false}'
```

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

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

### Download video with built-in subtitles:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","download_subtitle":true}'
```

### Download with custom Faster Whisper model:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","model":"large"}'
```

### Skip transcription if subtitle already exists:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","overwrite_subtitle":false}'
```

### Download video with Cookie:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookie":"sid=xxx; token=yyy"}'
```

### Download video with cookies from browser:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookiesfrombrowser":"chrome"}'
```

### Download video with cookie file:
```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookiefile":"/path/to/cookies.txt"}'
```

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

`cookiefile` usage:
- Install the **Get cookies.txt LOCALLY** Chrome extension first.  
  URL: <https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc?pli=1>
- Log in to the target website, then use the extension to export `cookies.txt` to your local machine.
- Set `cookiefile` to that local file path, for example:

```bash
python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookiefile":"/Users/yourname/Downloads/cookies.txt"}'
```

## Troubleshooting

- **ffmpeg not found**: Install ffmpeg via `brew install ffmpeg` (macOS) or your system's package manager
- **Faster Whisper model download fails**: Models are downloaded from HuggingFace. Mainland China users need a VPN/proxy to download models. The default small model is ~75MB.
- **Download fails**: Some videos may be geo-restricted, age-gated, or unavailable. Check the video URL and try again.
- **Cookie/auth required**: Some sites need authentication. You can pass cookies via yt-dlp options if needed.

「设计创意」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。