Skip to content

Audio ​

Mix, normalize, apply effects, and extract audio tracks.

Quick example ​

typescript
import { ffmpeg } from "ffmpeg-kit";

await ffmpeg.audio()
  .input("podcast.wav")
  .normalize({ targetLUFS: -16 })
  .fadeIn(1)
  .fadeOut(2)
  .output("normalized.wav")
  .execute();

API ​

.input(path) ​

Input file path. Required.

.normalize(options) ​

EBU R128 loudness normalization.

ParameterTypeDefaultDescription
targetLUFSnumber-16Target integrated loudness in LUFS
targetTPnumber-1.5Max true peak in dBTP
targetLRAnumber7Max loudness range in LU

.fadeIn(duration) / .fadeOut(duration) ​

Audio fade in/out.

ParameterTypeDescription
durationnumberFade duration in seconds

.extractAudio(options) ​

Extract audio from a video file to a standalone audio file.

ParameterTypeDefaultDescription
codecstring"aac"Output audio codec
bitratestring"192k"Audio bitrate

.resample(options) ​

ParameterTypeDescription
sampleRatenumberTarget sample rate in Hz (e.g., 44100, 48000)

.channels(n) ​

Set output channel count. 1 = mono, 2 = stereo, 6 = 5.1.

.trim(options) ​

ParameterTypeDescription
startnumberStart time in seconds
endnumberEnd time in seconds

.output(path) ​

Output file path. Required.

Examples ​

Normalize podcast audio ​

typescript
await ffmpeg.audio()
  .input("raw-podcast.wav")
  .normalize({ targetLUFS: -16 })
  .fadeIn(0.5)
  .fadeOut(1)
  .resample({ sampleRate: 44100 })
  .output("final-podcast.mp3")
  .execute();

Extract audio from video ​

typescript
await ffmpeg.audio()
  .input("video.mp4")
  .extractAudio({ codec: "aac", bitrate: "192k" })
  .output("audio.aac")
  .execute();

Convert to mono and resample ​

typescript
await ffmpeg.audio()
  .input("stereo.wav")
  .channels(1)
  .resample({ sampleRate: 16000 })
  .output("mono-16k.wav")
  .execute();

Result type ​

typescript
interface AudioResult {
  outputPath: string;
  duration: number;
  sampleRate: number;
  channels: number;
  size: number;
  probeResult: ProbeResult;
  // For normalize operations:
  inputLUFS?: number;
  outputLUFS?: number;
}