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
累計下載
3229
星標
3
全站排名
#3,525
全站前 70% · 「設計創意」前 64%
平台累計安裝累計下載星標評論
ClawHub ↗104322934

各平台的計數口徑不同,統計時間不一致。

這個技能是做什麼的

文件列出多種影片站點,並提供文字、SRT、VTT 或 JSON 等輸出選擇;流程依賴 yt-dlp、ffmpeg 和 Faster Whisper,首次執行可能下載模型。帶登入資訊的 cookies 檔案屬於敏感憑據,使用前需確認素材授權、目標網站規則和本地儲存位置。 僅字幕模式可能回退為下載並轉錄完整影片,執行前應先確認。

資料釋出於 2026-10-29

可以用來做什麼

  • 下載使用者提供的影片連結。
  • 從影片中提取音訊並生成轉錄或字幕。
  • 選擇字幕輸出格式或嘗試獲取已有字幕。

什麼時候用

  • 使用者明確要求處理可合法訪問的影片並生成字幕時。
  • 下載前確認內容使用許可權、認證憑據處理和輸出目錄時。

示例提示詞

以下是根據技能文件生成的示例,不代表實際執行結果。

為這個影片連結生成字幕草稿,並保留原始檔案來源。
在不讀取或匯出瀏覽器 cookies 的前提下,列出處理此影片需要的依賴和輸出檔案。

月度資料趨勢

累計下載3229
1523243933552026-03 · 累計下載 16492026-06 · 累計下載 27732026-07 · 累計下載 29942026-08 · 累計下載 30622026-09 · 累計下載 322926-0326-09
星標3
2342026-03 · 星標 32026-06 · 星標 32026-07 · 星標 32026-08 · 星標 32026-09 · 星標 326-0326-09

2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。

月份累計下載環比星標
2026-093229—3
2026-083062+2.3%3
2026-072994+8.0%3
2026-062773—3
2026-031649—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),按月更新。口徑說明見資料方法。