Agent skill
FFmpeg Audio Processing
Extract, normalize, mix, and process audio tracks - audio manipulation and analysis
Install this agent skill to your Project
npx add-skill https://github.com/benchflow-ai/skillsbench/tree/main/tasks-no-skills/multilingual-video-dubbing/environment/skills/ffmpeg-audio-processing
SKILL.md
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
-vnto disable video when extracting audio -mapto select specific streams-affor audio filters-acfor channel count-arfor sample rate- Normalization may require two passes for accurate results
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
csv-processing
Use this skill when reading sensor data from CSV files, writing simulation results to CSV, processing time-series data with pandas, or handling missing values in datasets.
pid-controller
Use this skill when implementing PID control loops for adaptive cruise control, vehicle speed regulation, throttle/brake management, or any feedback control system requiring proportional-integral-derivative control.
yaml-config
Use this skill when reading or writing YAML configuration files, loading vehicle parameters, or handling config file parsing with proper error handling.
simulation-metrics
Use this skill when calculating control system performance metrics such as rise time, overshoot percentage, steady-state error, or settling time for evaluating simulation results.
vehicle-dynamics
Use this skill when simulating vehicle motion, calculating safe following distances, time-to-collision, speed/position updates, or implementing vehicle state machines for cruise control modes.
web-interface-guidelines
Vercel's comprehensive UI guidelines for building accessible, performant web interfaces. Use this skill when reviewing or building UI components for compliance with best practices around accessibility, performance, animations, and visual stability.
Didn't find tool you were looking for?