---
id: daily-video-download
name: "video-download"
url: https://skills.yangsir.net/skill/daily-video-download
author: heygen-com
domain: multimedia
tags: ["video-download", "yt-dlp", "media-processing", "video-editing", "automation"]
install_count: 930
rating: 4.20 (22 reviews)
github: https://github.com/heygen-com/skills
---

# video-download

> 使用yt-dlp直接从URL下载视频和音频，支持合并流、提取音轨，无需额外脚本包装

**Stats**: 930 installs · 4.2/5 (22 reviews)

## Before / After 对比

### 视频下载工作流

**Before**:

使用在线工具下载视频需要等待广告、限制分辨率，且无法批量处理，下载10个视频需要1小时

**After**:

命令行一键下载高清视频，自动合并音视频流，支持批量并发下载，10个视频15分钟完成

| Metric | Before | After | Change |
|---|---|---|---|
| 下载时间 | 60分钟 | 15分钟 | -75% |

## Readme

# video-download

# video-download

Download video and audio from URLs using yt-dlp directly. No wrapper scripts needed.

## Prerequisites

- **yt-dlp**: `brew install yt-dlp` or `pip install yt-dlp`

- **ffmpeg**: `brew install ffmpeg` or `apt install ffmpeg` (required for merging video+audio streams)

Update yt-dlp periodically to keep up with site changes: `yt-dlp -U` or `pip install -U yt-dlp`.

## Commands

### Download best quality

```
yt-dlp "URL" -o "%(title)s.%(ext)s" --merge-output-format mp4

```

### Download specific resolution

```
# 720p
yt-dlp "URL" -f "bestvideo[height<=720]+bestaudio/best[height<=720]" --merge-output-format mp4

# 1080p
yt-dlp "URL" -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" --merge-output-format mp4

```

### Audio only

```
yt-dlp "URL" -x --audio-format mp3 --audio-quality 0

```

### Download subtitles

```
# Download video with English subtitles
yt-dlp "URL" --write-subs --sub-langs en --merge-output-format mp4

# Download video with multiple subtitle languages
yt-dlp "URL" --write-subs --sub-langs "en,es,fr" --merge-output-format mp4

# Download only subtitles (no video)
yt-dlp "URL" --write-subs --sub-langs en --skip-download

```

### Get metadata (no download)

```
yt-dlp "URL" --dump-json --no-download

```

### List available formats

```
yt-dlp "URL" -F

```

### Specify output directory

```
yt-dlp "URL" -o "./downloads/%(title)s.%(ext)s" --merge-output-format mp4

```

## Quality Presets

Quality
Format flag

Best
`-f "bestvideo+bestaudio/best"` (default)

1080p
`-f "bestvideo[height<=1080]+bestaudio/best[height<=1080]"`

720p
`-f "bestvideo[height<=720]+bestaudio/best[height<=720]"`

480p
`-f "bestvideo[height<=480]+bestaudio/best[height<=480]"`

Worst
`-f "worstvideo+worstaudio/worst"`

## Output Template Variables

Common variables for `-o` templates:

Variable
Description

`%(title)s`
Video title

`%(ext)s`
File extension

`%(id)s`
Video ID

`%(uploader)s`
Channel/uploader name

`%(upload_date)s`
Upload date (YYYYMMDD)

`%(duration)s`
Duration in seconds

`%(resolution)s`
Video resolution

## Tips

- Always use `--merge-output-format mp4` to avoid ending up with `.webm` or `.mkv` files.

- Use `--no-download` with `--dump-json` for metadata-only queries -- no files written to disk.

- If a download fails with HTTP errors, update yt-dlp first (`yt-dlp -U`).

- Use `-f "bestvideo[height<=720]+bestaudio"` to save bandwidth when full resolution is not needed.

- yt-dlp automatically handles rate limiting and retries.

- The `--dump-json` output includes `title`, `duration`, `uploader`, `view_count`, `description`, `formats`, `subtitles`, and much more.

## Troubleshooting

- **"yt-dlp: command not found"**: Install it (`pip install yt-dlp`) and ensure your PATH includes pip's bin directory.

- **"ffmpeg: command not found"**: Install ffmpeg. Without it, downloads fail when video and audio are separate streams (common on YouTube for HD).

- **Downloads fail or return errors**: Run `yt-dlp -U` to update. Sites change frequently and yt-dlp ships fixes regularly.

Weekly Installs261Repository[heygen-com/skills](https://github.com/heygen-com/skills)GitHub Stars91First Seen8 days agoSecurity Audits[Gen Agent Trust HubPass](/heygen-com/skills/video-download/security/agent-trust-hub)[SocketPass](/heygen-com/skills/video-download/security/socket)[SnykWarn](/heygen-com/skills/video-download/security/snyk)Installed onclaude-code245gemini-cli35kimi-cli35codex35amp35cline35

---
*Source: https://skills.yangsir.net/skill/daily-video-download*
*Markdown mirror: https://skills.yangsir.net/api/skill/daily-video-download/markdown*