Skip to content

tpkn/normalize-volume

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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).

About

Normalize audio using NodeJs and FFmpeg

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published