Audio Extraction Basics
yt-dlp provides comprehensive audio extraction capabilities, allowing you to extract audio from videos, convert between formats, and apply various audio processing options.
Basic Audio Extraction
Extract Audio Only
Extract audio in best available quality
yt-dlp -x "VIDEO_URL"
Extract audio with specific format
yt-dlp -x --audio-format mp3 "VIDEO_URL"
Extract audio with quality setting
yt-dlp -x --audio-format mp3 --audio-quality 0 "VIDEO_URL"
Audio Quality Settings
Best quality (0)
yt-dlp -x --audio-quality 0 "VIDEO_URL"
Worst quality (9)
yt-dlp -x --audio-quality 9 "VIDEO_URL"
Specific bitrate
yt-dlp -x --audio-quality 192K "VIDEO_URL"
Variable bitrate
yt-dlp -x --audio-quality 5 "VIDEO_URL"
Audio Format Selection
Supported Audio Formats
MP3 (most compatible)
yt-dlp -x --audio-format mp3 "VIDEO_URL"
AAC (high quality, good compression)
yt-dlp -x --audio-format aac "VIDEO_URL"
FLAC (lossless compression)
yt-dlp -x --audio-format flac "VIDEO_URL"
M4A (Apple's AAC format)
yt-dlp -x --audio-format m4a "VIDEO_URL"
OGG (open source, good quality)
yt-dlp -x --audio-format vorbis "VIDEO_URL"
WAV (uncompressed)
yt-dlp -x --audio-format wav "VIDEO_URL"
OPUS (modern, efficient)
yt-dlp -x --audio-format opus "VIDEO_URL"
Best Audio Selection
Best audio regardless of container
yt-dlp -f 'bestaudio' "VIDEO_URL"
Best audio with specific format preference
yt-dlp -f 'bestaudio[ext=m4a]/bestaudio[ext=mp3]/bestaudio' "VIDEO_URL"
Best audio with quality constraint
yt-dlp -f 'bestaudio[abr>=128]/bestaudio' "VIDEO_URL"
Advanced Audio Processing
Post-Processing Options
Extract audio and keep video
yt-dlp --extract-audio --keep-video "VIDEO_URL"
Extract audio and embed thumbnail
yt-dlp -x --embed-thumbnail "VIDEO_URL"
Extract audio with metadata
yt-dlp -x --add-metadata "VIDEO_URL"
Extract audio with all post-processing
yt-dlp -x --embed-thumbnail --add-metadata "VIDEO_URL"
Audio Modification
Normalize audio levels
yt-dlp -x --postprocessor-args "ffmpeg:-af loudnorm" "VIDEO_URL"
Apply fade in/out
yt-dlp -x --postprocessor-args "ffmpeg:-af afade=t=in:d=2,afade=t=out:st=28:d=2" "VIDEO_URL"
Boost audio volume
yt-dlp -x --postprocessor-args "ffmpeg:-af volume=1.5" "VIDEO_URL"
Cut audio to specific duration
yt-dlp -x --postprocessor-args "ffmpeg:-ss 00:00:10 -t 00:03:00" "VIDEO_URL"
Audio-Specific Format Selection
Format Filtering
Only audio formats
yt-dlp -F "VIDEO_URL" | grep "audio only"
Best audio under 128kbps
yt-dlp -f 'bestaudio[abr<=128]' "VIDEO_URL"
Specific codec preference
yt-dlp -f 'bestaudio[acodec=aac]/bestaudio[acodec=mp3]/bestaudio' "VIDEO_URL"
Avoid specific codecs
yt-dlp -f 'bestaudio[acodec!=opus]' "VIDEO_URL"
Conditional Audio Extraction
Extract audio only if video is longer than 5 minutes
yt-dlp -x --match-filters "duration > 300" "VIDEO_URL"
Extract audio from music videos only
yt-dlp -x --match-filters "title ~= '(?i)music|song|audio'" "VIDEO_URL"
Audio Metadata
Embedding Metadata
Add all available metadata
yt-dlp -x --add-metadata "VIDEO_URL"
Add metadata with thumbnail
yt-dlp -x --add-metadata --embed-thumbnail "VIDEO_URL"
Write metadata to file
yt-dlp -x --write-info-json "VIDEO_URL"
Custom Metadata
Parse additional metadata
yt-dlp -x --parse-metadata "title:%(artist)s - %(title)s" "VIDEO_URL"
Set album information
yt-dlp -x --parse-metadata "uploader:%(album_artist)s" "VIDEO_URL"
Custom field extraction
yt-dlp -x --parse-metadata "description:Album: (?P<album>.+)" "VIDEO_URL"
Audio Output Templates
Organizing Audio Files
Basic audio organization
yt-dlp -x -o "%(uploader)s/%(title)s.%(ext)s" "VIDEO_URL"
Music-specific organization
yt-dlp -x -o "%(uploader)s/%(playlist)s/%(title)s.%(ext)s" "VIDEO_URL"
Date-based organization
yt-dlp -x -o "%(upload_date)s/%(uploader)s - %(title)s.%(ext)s" "VIDEO_URL"
Genre-based organization (with metadata parsing)
yt-dlp -x -o "%(genre)s/%(uploader)s/%(title)s.%(ext)s" "VIDEO_URL"
ID3 Tag-based Organization
Organize by parsed artist and album
yt-dlp -x -o "%(artist)s/%(album)s/%(title)s.%(ext)s" \
--parse-metadata "title:(?P<artist>.+?) - (?P<title>.+)" \
--parse-metadata "uploader:(?P<album>.+)" \
"VIDEO_URL"
Audio Quality Optimization
Bitrate Control
Constant bitrate
yt-dlp -x --audio-format mp3 --audio-quality 192K "VIDEO_URL"
Variable bitrate (quality-based)
yt-dlp -x --audio-format mp3 --audio-quality 2 "VIDEO_URL"
Maximum quality
yt-dlp -x --audio-format flac --audio-quality 0 "VIDEO_URL"
Codec-Specific Options
AAC with specific profile
yt-dlp -x --audio-format aac --postprocessor-args "ffmpeg:-profile:a aac_low" "VIDEO_URL"
MP3 with joint stereo
yt-dlp -x --audio-format mp3 --postprocessor-args "ffmpeg:-joint_stereo 1" "VIDEO_URL"
OPUS with specific bitrate
yt-dlp -x --audio-format opus --postprocessor-args "ffmpeg:-b:a 128k" "VIDEO_URL"
Batch Audio Processing
Playlist Audio Extraction
Extract audio from entire playlist
yt-dlp -x --audio-format mp3 "PLAYLIST_URL"
Extract with playlist organization
yt-dlp -x -o "%(playlist)s/%(playlist_index)02d - %(title)s.%(ext)s" "PLAYLIST_URL"
Extract only specific items
yt-dlp -x -I 1:10 "PLAYLIST_URL"
Batch Configuration
Create batch file for multiple URLs
echo "https://example.com/video1" > audio_batch.txt
echo "https://example.com/video2" >> audio_batch.txt
yt-dlp -x --batch-file audio_batch.txt
Platform-Specific Audio Extraction
YouTube Music
Extract from YouTube Music
yt-dlp -x --audio-format mp3 "https://music.youtube.com/watch?v=xxxxx"
Extract YouTube Music playlist
yt-dlp -x -o "%(playlist)s/%(track_number)02d - %(artist)s - %(title)s.%(ext)s" \
"https://music.youtube.com/playlist?list=xxxxx"
SoundCloud
Extract from SoundCloud
yt-dlp -x --audio-format mp3 "https://soundcloud.com/artist/track"
SoundCloud playlist
yt-dlp -x -o "%(uploader)s/%(playlist)s/%(title)s.%(ext)s" \
"https://soundcloud.com/artist/sets/playlist"
Bandcamp
Extract from Bandcamp
yt-dlp -x --audio-format flac "https://artist.bandcamp.com/track/song"
Bandcamp album
yt-dlp -x -o "%(uploader)s/%(album)s/%(track_number)02d - %(title)s.%(ext)s" \
"https://artist.bandcamp.com/album/album-name"
Audio Troubleshooting
Common Issues
Force audio extraction when video download fails
yt-dlp -x --ignore-errors "VIDEO_URL"
Skip unavailable audio streams
yt-dlp -x --no-abort-on-error "VIDEO_URL"
Retry with different format
yt-dlp -x --audio-format mp3 --audio-format aac "VIDEO_URL"
FFmpeg Audio Issues
Specify FFmpeg location
yt-dlp -x --ffmpeg-location /path/to/ffmpeg "VIDEO_URL"
Verbose FFmpeg output
yt-dlp -x --verbose "VIDEO_URL"
Test FFmpeg installation
ffmpeg -version
Best Practices
- Choose Appropriate Formats: Use MP3 for compatibility, FLAC for archival, AAC for efficiency
- Set Quality Properly: Use quality level 0 for best results, higher numbers for smaller files
- Organize Output: Use meaningful output templates for better file organization
- Preserve Metadata: Always use
--add-metadata
for music files - Handle Errors: Use error handling options for batch operations
- Test First: Use
-F
to check available formats before extracting - Consider Bandwidth: Use appropriate quality settings for your use case
Audio extraction with yt-dlp provides professional-grade capabilities for creating high-quality audio files from video content across numerous platforms.