normalize-volume

1.0.8 • Public • Published

Normalize Volume npm Package

Normalize audio using NodeJs and FFmpeg

API

await NormalizeVolume(input_file, output_file[, options])

input_file

Type: String
Full path to source video file

output_file

Type: String
Full path to future normalized video file

options

Type: Object

options.normalize

Type: Boolean
Default: true
Base on Loudness Normalization

options.volume

Type: Number
Default: 0.5
Number starts with 0. Volume 0 = muted, 2 = 200%. Ignored if normalize = true

options.ffmpeg_bin

Type: String
Default: ffmpeg
Path to FFmpeg binary file

options.convert_bin

Type: String
Default: convert
Path to ImageMagick Convert binary file

options.waveform

Type: Object
Default: null
Optional visualization of the normalization result. In short, it is a waveforms before and after normalization, merged together. waveform

To customize waveform, use this options:

Option Type Default What for?
image_before String output_file + '_before.png'
image_after String output_file + '_after.png'
image_comparison String output_file + '_comparison.png'
width Number 400
height Number 225
before_color String white 'before' waveform color
after_color String #ff00b3 'after' waveform color

options.silent

Type: Boolean
Default: true
Enables logging stdout / stderr data

@output

Type: Object

{
   "file": "z:\test_normalized.mp4",
   "waveform": "z:\test.mp4_comparison.png"
}

Usage

const NormalizeVolume = require('normalize-volume');

let options = {
   normalize: true, 
   waveform: { width: 1400, height: 225 },
   ffmpeg_bin: 'ffmpeg.exe', 
   convert_bin: 'convert.exe'
}

NormalizeVolume('z:\test.mp4', 'z:\test_normalized.mp4', options)
.then(result => {
   console.log(result);
})
.catch(err => {
   console.log(err);
})

Changelog

1.0.8:

  • Now the Promise returns an error object { code, []errors } (in case an error occurred).

Package Sidebar

Install

npm i normalize-volume

Weekly Downloads

7

Version

1.0.8

License

MIT

Unpacked Size

10.1 kB

Total Files

5

Last publish

Collaborators

  • tpkn