Loading...
Loading...
This skill should be used when the user asks to "extract audio", "get the mp3", "strip audio from video", "rip audio", "save audio from video", "convert to audio", "get the soundtrack", "pull the audio track", "save as mp3", "export audio", or "separate audio from video".
npx skill4agent add gupsammy/claudest extract-audio| User wants | Format | Flags | Why |
|---|---|---|---|
| Music, archive quality | FLAC | | Lossless, no quality loss |
| Music, small + transparent | MP3 VBR | | ~200kbps avg, perceptually lossless |
| Podcast / voice | MP3 128k CBR | | Sufficient for speech, universally compatible |
| Mobile / streaming | AAC 192k | | Better than MP3 at equivalent bitrate |
| DAW / editing | WAV | | No encoding loss, widest DAW support |
| Source already target format | Copy | | No re-encode, instant, lossless |
ffprobe -v quiet -print_format json -show_streams "$INPUT" | \
python3 -c "
import json, sys
streams = [s for s in json.load(sys.stdin)['streams'] if s['codec_type']=='audio']
for i, s in enumerate(streams):
print(f'Stream {i}: {s[\"codec_name\"]} {s.get(\"bit_rate\",\"?\")} bps {s.get(\"channel_layout\",\"?\")}')
"-c:a copy-map 0:a-map 0:a:N-map 0:a# General pattern (-vn drops the video stream entirely):
ffmpeg -i "$INPUT" -vn [FORMAT_FLAGS] "$OUTPUT"
# Examples:
ffmpeg -i video.mp4 -vn -c:a libmp3lame -q:a 0 audio.mp3 # MP3 VBR best quality
ffmpeg -i video.mp4 -vn -c:a libmp3lame -b:a 128k podcast.mp3 # MP3 128k CBR
ffmpeg -i video.mp4 -vn -c:a flac archive.flac # FLAC lossless
ffmpeg -i video.mp4 -vn -c:a aac -b:a 192k mobile.aac # AAC
ffmpeg -i video.mp4 -vn -c:a pcm_s16le -ar 44100 edit.wav # WAV for DAW
ffmpeg -i video.mp4 -vn -c:a copy original.m4a # Copy audio streamffprobe -v quiet -show_format "$OUTPUT" | grep -E "duration|size"-c:a copy-ss-to-vn.m4a.aac