Skillsbench FFmpeg Audio Processing
Extract, normalize, mix, and process audio tracks - audio manipulation and analysis
install
source · Clone the upstream repo
git clone https://github.com/benchflow-ai/skillsbench
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/benchflow-ai/skillsbench "$T" && mkdir -p ~/.claude/skills && cp -r "$T/tasks/multilingual-video-dubbing/environment/skills/ffmpeg-audio-processing" ~/.claude/skills/benchflow-ai-skillsbench-ffmpeg-audio-processing && rm -rf "$T"
manifest:
tasks/multilingual-video-dubbing/environment/skills/ffmpeg-audio-processing/SKILL.mdsource content
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
to disable video when extracting audio-vn
to select specific streams-map
for audio filters-af
for channel count-ac
for sample rate-ar- Normalization may require two passes for accurate results