🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

ffmpeg-audio-processing

by @lnj22

Extract, normalize, mix, and process audio tracks - audio manipulation and analysis

Versionv0.1.0
Downloads383
TERMINAL
clawhub install multilingual-video-dubbing-ffmpeg-audio-processing

πŸ“– About This Skill


name: FFmpeg Audio Processing description: Extract, normalize, mix, and process audio tracks - audio manipulation and analysis

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 to Use

    TriggerAction
    - Normalize audio levels
    - Mix multiple audio tracks
    - Convert audio formats
    - Extract specific channels
    - Adjust audio volume

    πŸ“‹ Tips & Best Practices

  • 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