normalize-volume
v1.0.8
Published
Normalize audio using NodeJs and FFmpeg
Downloads
48
Maintainers
Readme
Normalize Volume
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.
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).