FF

ffmpeg-audio-processing

Tools for programmatically processing, normalizing, and editing audio files.

Install

mkdir -p .claude/skills/ffmpeg-audio-processing && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4395" && unzip -o skill.zip -d .claude/skills/ffmpeg-audio-processing && rm skill.zip

Installs to .claude/skills/ffmpeg-audio-processing

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Extract, normalize, mix, and process audio tracks - audio manipulation and analysis
83 charsno explicit “when” trigger
Beginner

Key capabilities

  • Extract audio tracks from video containers
  • Normalize audio loudness levels
  • Mix multiple audio files
  • Convert audio formats and sample rates
  • Apply audio filters and effects

How it works

It executes FFmpeg command-line operations to manipulate audio streams through filters, mapping, and transcoding parameters.

Inputs & outputs

You give it
Video or audio file
You get back
Processed audio file

When to use ffmpeg-audio-processing

  • Normalizing audio levels
  • Mixing multiple audio files
  • Extracting audio from video
  • Analyzing audio properties

About this skill

FFmpeg Audio Processing Skill

Extract, normalize, mix, and process audio tracks from video files.

When to Use

  • Extract audio from video
  • Normalize audio levels
  • Mix multiple audio tracks
  • Convert audio formats
  • Extract specific channels
  • Adjust audio volume

Extract Audio

# Extract as MP3
ffmpeg -i video.mp4 -vn -acodec libmp3lame -q:a 2 audio.mp3

# Extract as AAC (copy, no re-encode)
ffmpeg -i video.mp4 -vn -c:a copy audio.aac

# Extract as WAV (uncompressed)
ffmpeg -i video.mp4 -vn -acodec pcm_s16le audio.wav

# Extract specific audio stream
ffmpeg -i video.mp4 -map 0:a:1 -c:a copy audio2.aac

Normalize Audio

# Normalize loudness (ITU-R BS.1770-4)
ffmpeg -i input.mp4 -af "loudnorm=I=-23:TP=-1.5:LRA=11" output.mp4

# Simple normalization
ffmpeg -i input.mp4 -af "volume=2.0" output.mp4

# Peak normalization
ffmpeg -i input.mp4 -af "volumedetect" -f null -
# Then use the detected peak to normalize
ffmpeg -i input.mp4 -af "volume=0.5" output.mp4

Volume Adjustment

# Increase volume by 6dB
ffmpeg -i input.mp4 -af "volume=6dB" output.mp4

# Decrease volume by 3dB
ffmpeg -i input.mp4 -af "volume=-3dB" output.mp4

# Set absolute volume
ffmpeg -i input.mp4 -af "volume=0.5" output.mp4

Channel Operations

# Extract left channel
ffmpeg -i stereo.mp3 -map_channel 0.0.0 left.mp3

# Extract right channel
ffmpeg -i stereo.mp3 -map_channel 0.0.1 right.mp3

# Convert stereo to mono
ffmpeg -i stereo.mp3 -ac 1 mono.mp3

# Convert mono to stereo
ffmpeg -i mono.mp3 -ac 2 stereo.mp3

Mix Audio Tracks

# Replace audio track
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -map 0:v:0 -map 1:a:0 output.mp4

# Mix two audio tracks
ffmpeg -i video.mp4 -i audio2.mp3 \
  -filter_complex "[0:a][1:a]amix=inputs=2:duration=first" \
  -c:v copy output.mp4

# Mix with volume control
ffmpeg -i video.mp4 -i bgm.mp3 \
  -filter_complex "[0:a]volume=1.0[voice];[1:a]volume=0.3[music];[voice][music]amix=inputs=2:duration=first" \
  -c:v copy output.mp4

Audio Delay

# Delay audio by 0.5 seconds
ffmpeg -i video.mp4 -itsoffset 0.5 -i video.mp4 \
  -map 0:v -map 1:a -c copy output.mp4

# Using adelay filter (milliseconds)
ffmpeg -i input.mp4 -af "adelay=500|500" output.mp4

Sample Rate Conversion

# Resample to 48kHz
ffmpeg -i input.mp4 -af "aresample=48000" output.mp4

# Resample audio only
ffmpeg -i input.mp4 -vn -af "aresample=48000" -ar 48000 audio.wav

Audio Filters

# High-pass filter (remove low frequencies)
ffmpeg -i input.mp4 -af "highpass=f=200" output.mp4

# Low-pass filter (remove high frequencies)
ffmpeg -i input.mp4 -af "lowpass=f=3000" output.mp4

# Band-pass filter
ffmpeg -i input.mp4 -af "bandpass=f=1000:width_type=h:w=500" output.mp4

# Fade in/out
ffmpeg -i input.mp4 -af "afade=t=in:st=0:d=2,afade=t=out:st=8:d=2" output.mp4

Audio Analysis

# Detect volume levels
ffmpeg -i input.mp4 -af "volumedetect" -f null -

# Measure loudness (LUFS)
ffmpeg -i input.mp4 -af "ebur128=peak=true" -f null -

# Get audio statistics
ffprobe -v error -select_streams a:0 \
  -show_entries stream=sample_rate,channels,bit_rate \
  -of json input.mp4

Combine Multiple Audio Files

# Concatenate audio files
ffmpeg -i "concat:audio1.mp3|audio2.mp3|audio3.mp3" -c copy output.mp3

# Using file list
# file 'audio1.mp3'
# file 'audio2.mp3'
ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp3

Notes

  • Use -vn to disable video when extracting audio
  • -map to select specific streams
  • -af for audio filters
  • -ac for channel count
  • -ar for sample rate
  • Normalization may require two passes for accurate results

When not to use it

  • Complex non-linear audio editing
  • Real-time audio processing

Prerequisites

FFmpeg installed

Limitations

  • Normalization may require two passes for accuracy
  • Limited to command-line supported operations

How it compares

It provides a command-line interface for batch-processing and precise audio manipulation, avoiding the overhead of graphical audio editing software.

Compared to similar skills

ffmpeg-audio-processing side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
ffmpeg-audio-processing (this skill)52moReviewBeginner
pdf-processing-pro1710moReviewIntermediate
python-repl64moReviewBeginner
math-router67moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry