ClawSkills logoClawSkills

Yt Dlp Downloader

使用 yt-dlp 从 YouTube、Bilibili、Twitter 和数千个其他网站下载视频。当用户提供视频 URL 并希望下载、提取 ext 时使用

介绍

# yt-dlp Video Downloader

使用 yt-dlp 从数千个网站下载视频。

## 先决条件

下载前,请验证依赖项是否已安装:

```bash # Check yt-dlp which yt-dlp || echo "yt-dlp not installed. Install with: pip install yt-dlp"

# Check ffmpeg (required for audio extraction and format merging) which ffmpeg || echo "ffmpeg not installed. Install with: brew install ffmpeg" ```

如果未安装,请先安装它们: ```bash pip install yt-dlp brew install ffmpeg # macOS ```

## 快速开始

### 基础下载(最佳画质)

```bash yt-dlp -P "~/Downloads/yt-dlp" "VIDEO_URL" ```

### YouTube 下载(推荐 - 使用 cookies)

YouTube 经常因 403 错误阻止直接下载。务必使用浏览器 cookies 下载 YouTube 视频:

```bash yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "YOUTUBE_URL" ```

支持的浏览器:`chrome`, `firefox`, `safari`, `edge`, `brave`, `opera`

### 自定义输出路径下载

```bash yt-dlp -P "/path/to/save" -o "%(title)s.%(ext)s" "VIDEO_URL" ```

## 常见任务

### 1. 下载视频(默认 - 最佳画质)

```bash yt-dlp -P "~/Downloads/yt-dlp" "VIDEO_URL" ```

### 2. 仅提取音频 (MP3)

```bash yt-dlp -P "~/Downloads/yt-dlp" -x --audio-format mp3 "VIDEO_URL" ```

### 3. 下载字幕

```bash yt-dlp -P "~/Downloads/yt-dlp" --write-subs --sub-langs all "VIDEO_URL" ```

### 4. 下载指定画质

**720p:** ```bash yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo[height<=720]+bestaudio/best[height<=720]" "VIDEO_URL" ```

**1080p:** ```bash yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" "VIDEO_URL" ```

**最佳可用画质:** ```bash yt-dlp -P "~/Downloads/yt-dlp" -f "bestvideo+bestaudio/best" "VIDEO_URL" ```

### 5. 列出可用格式(下载前)

```bash yt-dlp -F "VIDEO_URL" ```

然后通过 ID 下载特定格式: ```bash yt-dlp -P "~/Downloads/yt-dlp" -f FORMAT_ID "VIDEO_URL" ```

### 6. 下载播放列表

```bash # Download entire playlist yt-dlp -P "~/Downloads/yt-dlp" -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "PLAYLIST_URL"

# Download specific range (e.g., items 1-5) yt-dlp -P "~/Downloads/yt-dlp" -I 1:5 "PLAYLIST_URL" ```

### 7. 下载缩略图

```bash yt-dlp -P "~/Downloads/yt-dlp" --write-thumbnail "VIDEO_URL" ```

## 工作流程

当用户提供视频 URL 时:

1. **识别平台**: - YouTube/YouTube Music → **务必使用 `--cookies-from-browser chrome`** - 其他网站 → 先尝试不使用 cookies

2. **询问用户需求**(如果未指定): - 仅下载视频? - 仅提取音频? - 需要字幕? - 指定画质?

3. 根据需求**构建命令**

4. 使用 Shell 工具执行下载,设置 `required_permissions: ["all", "network"]`

5. **处理错误**: - 403 Forbidden → 使用 `--cookies-from-browser` 重试 - 连接问题 → yt-dlp 会自动恢复,直接重试即可 - 格式不可用 → 使用 `-F` 列出格式,然后选择

6. **报告结果** - 文件位置和任何错误

## 示例交互

用户:“帮我下载这个视频 https://www.youtube.com/watch?v=xxx”

回复: ```bash # YouTube - use cookies to avoid 403 errors yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "https://www.youtube.com/watch?v=xxx" ```

用户:“下载这个视频的音频 https://www.bilibili.com/video/xxx”

回复: ```bash # Bilibili - extracting audio as MP3 yt-dlp -P "~/Downloads/yt-dlp" -x --audio-format mp3 "https://www.bilibili.com/video/xxx" ```

用户:“下载这个 Twitter 视频 https://twitter.com/xxx/status/123”

回复: ```bash # Twitter/X - direct download usually works yt-dlp -P "~/Downloads/yt-dlp" "https://twitter.com/xxx/status/123" ```

## 支持的网站

yt-dlp 支持数千个网站,包括: - YouTube, YouTube Music - Bilibili (B站) - Twitter/X - TikTok, Douyin (抖音) - Vimeo - Twitch - 以及更多...

完整列表:https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md

## 故障排除

### 常见错误与解决方案

| 错误 | 原因 | 解决方案 | |-------|-------|----------| | HTTP 403 Forbidden | YouTube 阻止未认证的请求 | 使用 `--cookies-from-browser chrome` | | Video unavailable | 地区限制或私密视频 | 使用 cookies 或 VPN | | Download interrupted | 网络问题 | 重试 - yt-dlp 会自动恢复 | | Format not available | 请求的格式不存在 | 使用 `-F` 列出格式 |

### 错误:“yt-dlp: command not found” ```bash pip install yt-dlp ```

### 错误:“ffmpeg not found”(用于音频提取) ```bash brew install ffmpeg # macOS ```

### 错误:HTTP 403 Forbidden (YouTube)

这是最常见的 YouTube 错误。**YouTube 下载务必使用 cookies:**

```bash # Recommended approach for YouTube yt-dlp -P "~/Downloads/yt-dlp" --cookies-from-browser chrome "YOUTUBE_URL" ```

支持的浏览器:`chrome`, `firefox`, `safari`, `edge`, `brave`, `opera`

### 错误:视频不可用或地区限制 ```bash # Try with cookies from browser yt-dlp --cookies-from-browser chrome "VIDEO_URL"

# Or use a specific format yt-dlp -F "VIDEO_URL" # List formats first yt-dlp -f FORMAT_ID "VIDEO_URL" ```

### 错误:下载持续失败 ```bash # Update yt-dlp to latest version pip install -U yt-dlp

# Force IPv4 (sometimes helps with connection issues) yt-dlp -4 "VIDEO_URL" ```

### 最佳实践

1. **YouTube 下载**:务必使用 `--cookies-from-browser chrome` 2. **大文件**:yt-dlp 会自动恢复,如果中断直接重试即可 3. **保持 yt-dlp 更新**:`pip install -U yt-dlp` 4. **先检查格式**:如果不确定,下载前使用 `-F`

更多产品