better music-downloader Skill, reduces context bloat by 60%
Browse files
Filesystem/Skills/music-downloader/SKILL.md
CHANGED
|
@@ -1,299 +1,118 @@
|
|
| 1 |
---
|
| 2 |
name: music-downloader
|
| 3 |
-
description:
|
| 4 |
---
|
| 5 |
|
| 6 |
# Music Downloader
|
| 7 |
|
| 8 |
-
|
| 9 |
|
| 10 |
-
|
| 11 |
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
| 13 |
|
| 14 |
-
|
| 15 |
|
|
|
|
| 16 |
|
| 17 |
-
## When to Use This Skill
|
| 18 |
-
|
| 19 |
-
Use this skill when users request:
|
| 20 |
-
- Downloading audio/music from YouTube, SoundCloud, Spotify, or other platforms
|
| 21 |
-
- Extracting audio from videos in MP3, Opus, or other formats
|
| 22 |
-
- Downloading entire playlists or albums
|
| 23 |
-
- High-quality audio with metadata and album art
|
| 24 |
-
- Batch downloading multiple tracks
|
| 25 |
-
- Converting video content to audio files
|
| 26 |
-
|
| 27 |
-
## Quick Start
|
| 28 |
-
|
| 29 |
-
**Most Common Use Case - Download MP3 from YouTube:**
|
| 30 |
```bash
|
| 31 |
-
yt-dlp
|
| 32 |
```
|
| 33 |
|
| 34 |
-
|
| 35 |
-
```bash
|
| 36 |
-
spotdl --audio-quality 320k --embed-metadata --output "{artist}/{title}.{ext}" "SPOTIFY_TRACK_URL"
|
| 37 |
-
```
|
| 38 |
|
| 39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
|
| 41 |
-
|
| 42 |
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
|
|
|
| 47 |
|
| 48 |
-
##
|
| 49 |
-
```bash
|
| 50 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --postprocessor-args "-b:a 320k" -o "%(title)s.%(ext)s" "https://www.youtube.com/watch?v=xYJki23aeTQ&ab_channel=OnlyRealHipHop49"
|
| 51 |
-
```
|
| 52 |
|
| 53 |
-
|
| 54 |
```bash
|
| 55 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "%(title)s.%(ext)s" "
|
| 56 |
```
|
| 57 |
|
| 58 |
-
|
| 59 |
```bash
|
| 60 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --
|
| 61 |
```
|
| 62 |
|
| 63 |
-
|
| 64 |
```bash
|
| 65 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --
|
| 66 |
```
|
| 67 |
|
| 68 |
-
|
| 69 |
```bash
|
| 70 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "%(playlist_title)s/%(title)s.%(ext)s" "PLAYLIST_URL"
|
| 71 |
```
|
| 72 |
|
| 73 |
-
|
| 74 |
```bash
|
| 75 |
yt-dlp --playlist-items 1-5 -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "%(playlist_title)s/%(title)s.%(ext)s" "PLAYLIST_URL"
|
| 76 |
```
|
| 77 |
|
| 78 |
-
|
| 79 |
-
```bash
|
| 80 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "SoundCloud/%(uploader)s - %(title)s.%(ext)s" "SOUNDCLOUD_TRACK_URL"
|
| 81 |
-
|
| 82 |
-
```
|
| 83 |
-
|
| 84 |
-
## Embed Album Art Automatically
|
| 85 |
-
```bash
|
| 86 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --embed-thumbnail --audio-quality 0 -o "%(title)s.%(ext)s" "VIDEO_URL"
|
| 87 |
-
```
|
| 88 |
-
|
| 89 |
-
## Download Specific Formats
|
| 90 |
-
*Opus instead of MP3*
|
| 91 |
-
```bash
|
| 92 |
-
yt-dlp -f bestaudio --extract-audio --audio-format opus -o "%(title)s.%(ext)s" "VIDEO_URL"
|
| 93 |
-
```
|
| 94 |
-
|
| 95 |
-
## Skip Already Downloaded Files
|
| 96 |
-
```bash
|
| 97 |
-
yt-dlp --download-archive "downloaded.txt" -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "%(title)s.%(ext)s" "VIDEO_URL"
|
| 98 |
-
```
|
| 99 |
-
|
| 100 |
-
## Download Multiple Individual Files
|
| 101 |
-
```bash
|
| 102 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --add-metadata --embed-thumbnail --write-description --postprocessor-args "-b:a 320k" -o "%(title)s.%(ext)s" "https://www.youtube.com/watch?v=xYJki23aeTQ&ab_channel=OnlyRealHipHop49" "https://www.youtube.com/watch?v=xKJaew2gMSo&ab_channel=OnlyRealHipHop49" "https://www.youtube.com/watch?v=zLJkO3RnWUk&ab_channel=OnlyRealHipHop49"
|
| 103 |
-
```
|
| 104 |
-
|
| 105 |
-
## Download and Automatically Split by Chapters
|
| 106 |
-
```bash
|
| 107 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --split-chapters -o "%(title)s.%(ext)s" "VIDEO_URL"
|
| 108 |
-
```
|
| 109 |
-
|
| 110 |
-
## Extract Only a Portion of a Video (by Time)
|
| 111 |
-
```bash
|
| 112 |
-
yt-dlp -f bestvideo+bestaudio --external-downloader ffmpeg --external-downloader-args "ffmpeg_i:-ss 00:01:00 -to 00:05:00" -o "%(title)s.%(ext)s" "VIDEO_URL"
|
| 113 |
-
```
|
| 114 |
-
|
| 115 |
-
## Update Metadata of Existing Files
|
| 116 |
-
```bash
|
| 117 |
-
yt-dlp --download-archive "downloaded.txt" --skip-download --embed-metadata --embed-thumbnail --write-description "VIDEO_URL"
|
| 118 |
-
```
|
| 119 |
-
|
| 120 |
-
## Auto-Rename Duplicate Files
|
| 121 |
```bash
|
| 122 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --
|
| 123 |
```
|
| 124 |
|
| 125 |
-
|
| 126 |
```bash
|
| 127 |
yt-dlp -a "urls.txt" -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "%(title)s.%(ext)s"
|
| 128 |
```
|
| 129 |
|
| 130 |
-
|
| 131 |
-
```bash
|
| 132 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --rate-limit 1M -o "%(title)s.%(ext)s" "VIDEO_URL"
|
| 133 |
-
```
|
| 134 |
-
|
| 135 |
-
## Download from Vimeo
|
| 136 |
-
```bash
|
| 137 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "Vimeo/%(uploader)s - %(title)s.%(ext)s" "VIMEO_VIDEO_URL"
|
| 138 |
-
```
|
| 139 |
-
|
| 140 |
-
## Download from Facebook
|
| 141 |
-
```bash
|
| 142 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "Facebook/%(uploader)s - %(title)s.%(ext)s" "FACEBOOK_VIDEO_URL"
|
| 143 |
-
```
|
| 144 |
-
|
| 145 |
-
## Download from Instagram
|
| 146 |
-
```bash
|
| 147 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "Instagram/%(uploader)s - %(title)s.%(ext)s" "INSTAGRAM_VIDEO_URL"
|
| 148 |
-
```
|
| 149 |
-
|
| 150 |
-
## Download from Twitter
|
| 151 |
-
```bash
|
| 152 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "Twitter/%(uploader)s - %(title)s.%(ext)s" "TWITTER_VIDEO_URL"
|
| 153 |
-
```
|
| 154 |
-
|
| 155 |
-
## Download from TikTok
|
| 156 |
```bash
|
| 157 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "
|
| 158 |
```
|
| 159 |
|
| 160 |
-
|
| 161 |
```bash
|
| 162 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --
|
| 163 |
```
|
| 164 |
|
| 165 |
-
|
| 166 |
```bash
|
| 167 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "
|
| 168 |
```
|
| 169 |
|
| 170 |
-
##
|
| 171 |
-
```bash
|
| 172 |
-
yt-dlp --write-auto-subs --sub-lang en --skip-download -o "%(title)s.%(ext)s" "VIDEO_URL"
|
| 173 |
-
```
|
| 174 |
|
| 175 |
-
|
| 176 |
-
|
| 177 |
-
yt-dlp
|
| 178 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 179 |
|
| 180 |
-
|
| 181 |
```bash
|
| 182 |
-
yt-dlp --
|
| 183 |
```
|
| 184 |
|
| 185 |
-
|
| 186 |
-
```bash
|
| 187 |
-
yt-dlp -F "VIDEO_URL"
|
| 188 |
-
```
|
| 189 |
-
|
| 190 |
-
## Download from YouTube Age-Restricted Content
|
| 191 |
-
```bash
|
| 192 |
-
yt-dlp --username "YOUR_YOUTUBE_EMAIL" --password "YOUR_PASSWORD" -f bestvideo+bestaudio -o "%(title)s.%(ext)s" "AGE_RESTRICTED_VIDEO_URL"
|
| 193 |
-
```
|
| 194 |
-
|
| 195 |
-
---
|
| 196 |
-
|
| 197 |
-
# SoundCloud Commands
|
| 198 |
-
|
| 199 |
-
## List Available Formats
|
| 200 |
-
```bash
|
| 201 |
-
yt-dlp -F "URL"
|
| 202 |
-
```
|
| 203 |
-
|
| 204 |
-
## Download High-Quality MP3 from SoundCloud
|
| 205 |
-
```bash
|
| 206 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "SoundCloud/%(uploader)s - %(title)s.%(ext)s" "SOUNDCLOUD_TRACK_URL"
|
| 207 |
-
```
|
| 208 |
-
|
| 209 |
-
## Download HQ with Metadata from SoundCloud
|
| 210 |
-
```bash
|
| 211 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --embed-metadata -o "SoundCloud/%(uploader)s - %(title)s.%(ext)s" "SOUNDCLOUD_TRACK_URL"
|
| 212 |
-
```
|
| 213 |
-
|
| 214 |
-
## Download Entire Playlist from SoundCloud
|
| 215 |
-
```bash
|
| 216 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "SoundCloud/%(playlist_title)s/%(title)s.%(ext)s" "SOUNDCLOUD_PLAYLIST_URL"
|
| 217 |
-
```
|
| 218 |
-
|
| 219 |
-
## Download Entire Playlist from SoundCloud with Metadata
|
| 220 |
-
```bash
|
| 221 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --embed-metadata --add-metadata --embed-thumbnail -o "%(playlist_title)s/%(title)s.%(ext)s" "SOUNDCLOUD_PLAYLIST_URL"
|
| 222 |
-
```
|
| 223 |
-
|
| 224 |
-
## Download Multiple Playlists with Metadata
|
| 225 |
-
```bash
|
| 226 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --embed-metadata --add-metadata --embed-thumbnail -o "SoundCloud/%(playlist_title)s/%(title)s.%(ext)s" "x" "x" "x" "x" "x" "x" "x"
|
| 227 |
-
```
|
| 228 |
-
|
| 229 |
-
## Download Playlist with Specific Range
|
| 230 |
-
```bash
|
| 231 |
-
yt-dlp --playlist-items 1-5 -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "SoundCloud/%(playlist_title)s/%(title)s.%(ext)s" "SOUNDCLOUD_PLAYLIST_URL"
|
| 232 |
-
```
|
| 233 |
-
|
| 234 |
-
## Download and Embed Album Art
|
| 235 |
-
```bash
|
| 236 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --embed-thumbnail -o "SoundCloud/%(uploader)s - %(title)s.%(ext)s" "SOUNDCLOUD_TRACK_URL"
|
| 237 |
-
```
|
| 238 |
-
|
| 239 |
-
## Skip Downloading Already Downloaded SoundCloud Files
|
| 240 |
-
```bash
|
| 241 |
-
yt-dlp --download-archive "downloaded_soundcloud.txt" -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "SoundCloud/%(uploader)s - %(title)s.%(ext)s" "SOUNDCLOUD_TRACK_URL"
|
| 242 |
-
```
|
| 243 |
-
|
| 244 |
-
## Download Multiple Tracks from SoundCloud
|
| 245 |
-
```bash
|
| 246 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "SoundCloud/%(uploader)s - %(title)s.%(ext)s" "SOUNDCLOUD_TRACK_URL_1" "SOUNDCLOUD_TRACK_URL_2" "SOUNDCLOUD_TRACK_URL_3"
|
| 247 |
-
```
|
| 248 |
-
|
| 249 |
-
## Limit Download Speed for SoundCloud
|
| 250 |
-
```bash
|
| 251 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --rate-limit 1M -o "SoundCloud/%(uploader)s - %(title)s.%(ext)s" "SOUNDCLOUD_TRACK_URL"
|
| 252 |
-
```
|
| 253 |
-
|
| 254 |
-
## Download from SoundCloud and Split by Chapters (if available)
|
| 255 |
-
```bash
|
| 256 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --split-chapters -o "SoundCloud/%(uploader)s - %(title)s.%(ext)s" "SOUNDCLOUD_TRACK_URL"
|
| 257 |
-
```
|
| 258 |
-
|
| 259 |
-
## Download SoundCloud Track and Extract a Specific Portion
|
| 260 |
-
```bash
|
| 261 |
-
yt-dlp -f bestaudio --external-downloader ffmpeg --external-downloader-args "ffmpeg_i:-ss 00:01:00 -to 00:05:00" -o "SoundCloud/%(uploader)s - %(title)s.%(ext)s" "SOUNDCLOUD_TRACK_URL"
|
| 262 |
-
```
|
| 263 |
-
|
| 264 |
-
## Update Metadata of Existing SoundCloud Downloads
|
| 265 |
-
```bash
|
| 266 |
-
yt-dlp --download-archive "downloaded_soundcloud.txt" --skip-download --embed-metadata --embed-thumbnail "SOUNDCLOUD_TRACK_URL"
|
| 267 |
-
```
|
| 268 |
-
|
| 269 |
-
## Auto-Rename Duplicate SoundCloud Files
|
| 270 |
-
```bash
|
| 271 |
-
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --force-overwrites -o "SoundCloud/%(uploader)s - %(title)s.%(ext)s" "SOUNDCLOUD_TRACK_URL"
|
| 272 |
-
```
|
| 273 |
-
|
| 274 |
-
## Download from SoundCloud URL List File
|
| 275 |
-
```bash
|
| 276 |
-
yt-dlp -a "soundcloud_urls.txt" -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "SoundCloud/%(uploader)s - %(title)s.%(ext)s"
|
| 277 |
-
```
|
| 278 |
-
|
| 279 |
-
---
|
| 280 |
-
|
| 281 |
-
# SpotifyDL Commands
|
| 282 |
-
|
| 283 |
-
## Download Single Song
|
| 284 |
-
```bash
|
| 285 |
-
spotdl --audio-quality 320k --embed-metadata --output "{artist}/{title}.{ext}" "SPOTIFY_TRACK_URL"
|
| 286 |
-
```
|
| 287 |
-
## Download Entire Playlist
|
| 288 |
-
```bash
|
| 289 |
-
spotdl --playlist "SPOTIFY_PLAYLIST_URL" --audio-quality 320k --embed-metadata --output "{playlist}/{title}.{ext}"
|
| 290 |
-
```
|
| 291 |
-
## Download Entire Album
|
| 292 |
-
```bash
|
| 293 |
-
spotdl --album "SPOTIFY_ALBUM_URL" --audio-quality 320k --embed-metadata --output "{album}/{title}.{ext}"
|
| 294 |
-
```
|
| 295 |
-
## Download Multiple Albums & Playlists at Once
|
| 296 |
```bash
|
| 297 |
-
|
| 298 |
-
|
|
|
|
| 299 |
```
|
|
|
|
| 1 |
---
|
| 2 |
name: music-downloader
|
| 3 |
+
description: Download audio/music from YouTube, SoundCloud, and 1000+ other platforms using yt-dlp. Use when users request downloading songs, extracting audio from videos, downloading playlists/albums, or converting video to MP3/audio formats.
|
| 4 |
---
|
| 5 |
|
| 6 |
# Music Downloader
|
| 7 |
|
| 8 |
+
Downloads audio from online platforms using yt-dlp. Works with YouTube, SoundCloud, Vimeo, TikTok, Instagram, Twitter, Facebook, Dailymotion, and 1000+ other sites.
|
| 9 |
|
| 10 |
+
## Workflow
|
| 11 |
|
| 12 |
+
1. **No URL provided?** → Use `Web_Search` tool (set search type to `videos`, prefer official YouTube links)
|
| 13 |
+
2. **Determine scope** → Single track, playlist, or batch
|
| 14 |
+
3. **Run command** → See patterns below
|
| 15 |
+
4. **Verify download** → Check file exists and has reasonable size
|
| 16 |
|
| 17 |
+
## Command Pattern
|
| 18 |
|
| 19 |
+
All yt-dlp audio downloads follow this structure:
|
| 20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
```bash
|
| 22 |
+
yt-dlp [FLAGS] -o "OUTPUT_TEMPLATE" "URL"
|
| 23 |
```
|
| 24 |
|
| 25 |
+
### Core Flags
|
|
|
|
|
|
|
|
|
|
| 26 |
|
| 27 |
+
| Flag | Purpose | Recommendation |
|
| 28 |
+
|------|---------|----------------|
|
| 29 |
+
| `-f bestaudio` | Select best audio stream | Always include |
|
| 30 |
+
| `--extract-audio` | Extract audio from video | Always include |
|
| 31 |
+
| `--audio-format mp3` | Output format (mp3/opus/m4a/wav) | mp3 for compatibility |
|
| 32 |
+
| `--audio-quality 0` | Quality (0=best, 9=worst) | 0 |
|
| 33 |
+
| `--embed-metadata` | Add title/artist/etc. tags | Recommended |
|
| 34 |
+
| `--embed-thumbnail` | Add album art | Recommended |
|
| 35 |
+
| `--postprocessor-args "-b:a 320k"` | Force specific bitrate | Optional |
|
| 36 |
|
| 37 |
+
### Output Templates
|
| 38 |
|
| 39 |
+
| Template | Use Case |
|
| 40 |
+
|----------|----------|
|
| 41 |
+
| `%(title)s.%(ext)s` | Single track |
|
| 42 |
+
| `%(playlist_title)s/%(title)s.%(ext)s` | Playlist (creates folder) |
|
| 43 |
+
| `%(uploader)s - %(title)s.%(ext)s` | Include artist name |
|
| 44 |
|
| 45 |
+
## Common Commands
|
|
|
|
|
|
|
|
|
|
| 46 |
|
| 47 |
+
### Standard HQ Download
|
| 48 |
```bash
|
| 49 |
+
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "%(title)s.%(ext)s" "URL"
|
| 50 |
```
|
| 51 |
|
| 52 |
+
### With Metadata + Album Art
|
| 53 |
```bash
|
| 54 |
+
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --embed-metadata --embed-thumbnail -o "%(title)s.%(ext)s" "URL"
|
| 55 |
```
|
| 56 |
|
| 57 |
+
### Max Quality (320kbps forced)
|
| 58 |
```bash
|
| 59 |
+
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --postprocessor-args "-b:a 320k" -o "%(title)s.%(ext)s" "URL"
|
| 60 |
```
|
| 61 |
|
| 62 |
+
### Download Playlist
|
| 63 |
```bash
|
| 64 |
+
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --embed-metadata -o "%(playlist_title)s/%(title)s.%(ext)s" "PLAYLIST_URL"
|
| 65 |
```
|
| 66 |
|
| 67 |
+
### Playlist (Specific Range)
|
| 68 |
```bash
|
| 69 |
yt-dlp --playlist-items 1-5 -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "%(playlist_title)s/%(title)s.%(ext)s" "PLAYLIST_URL"
|
| 70 |
```
|
| 71 |
|
| 72 |
+
### Multiple Individual URLs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
```bash
|
| 74 |
+
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --embed-metadata --embed-thumbnail -o "%(title)s.%(ext)s" "URL1" "URL2" "URL3"
|
| 75 |
```
|
| 76 |
|
| 77 |
+
### From URL List File
|
| 78 |
```bash
|
| 79 |
yt-dlp -a "urls.txt" -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "%(title)s.%(ext)s"
|
| 80 |
```
|
| 81 |
|
| 82 |
+
### Split by Chapters (for compilations)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
```bash
|
| 84 |
+
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --split-chapters -o "%(title)s.%(ext)s" "URL"
|
| 85 |
```
|
| 86 |
|
| 87 |
+
### Extract Time Segment
|
| 88 |
```bash
|
| 89 |
+
yt-dlp -f bestaudio --extract-audio --audio-format mp3 --external-downloader ffmpeg --external-downloader-args "ffmpeg_i:-ss 00:01:00 -to 00:05:00" -o "%(title)s.%(ext)s" "URL"
|
| 90 |
```
|
| 91 |
|
| 92 |
+
### Skip Already Downloaded
|
| 93 |
```bash
|
| 94 |
+
yt-dlp --download-archive "downloaded.txt" -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 -o "%(title)s.%(ext)s" "URL"
|
| 95 |
```
|
| 96 |
|
| 97 |
+
## Troubleshooting
|
|
|
|
|
|
|
|
|
|
| 98 |
|
| 99 |
+
| Error | Fix |
|
| 100 |
+
|-------|-----|
|
| 101 |
+
| `yt-dlp: command not found` | `pip install yt-dlp --break-system-packages` |
|
| 102 |
+
| `ffmpeg not found` | `apt install ffmpeg` |
|
| 103 |
+
| 403 Forbidden / Unable to download | `pip install --upgrade yt-dlp --break-system-packages` |
|
| 104 |
+
| Rate limited (429) | Add `--sleep-interval 5` to command |
|
| 105 |
+
| Geo-restricted | Add `--geo-bypass` to command |
|
| 106 |
+
| File exists | Add `--force-overwrites` or `--no-overwrites` |
|
| 107 |
|
| 108 |
+
### Age-Restricted Content
|
| 109 |
```bash
|
| 110 |
+
yt-dlp --cookies-from-browser chrome -f bestaudio --extract-audio --audio-format mp3 "URL"
|
| 111 |
```
|
| 112 |
|
| 113 |
+
### Debug / Check Formats
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 114 |
```bash
|
| 115 |
+
yt-dlp -F "URL" # List available formats
|
| 116 |
+
yt-dlp -v "URL" # Verbose output
|
| 117 |
+
yt-dlp --version # Check version
|
| 118 |
```
|