Convert your multimedia in nodejs as easy as you like
By installing this module, you can easily convert (with compression) your media in Node.JS.
This module uses two other main modules that are referred to, at the end of this page.
Besides, ffmpeg tools are utilized for having a better performance.
Install the module by using one of these commands:
npm install --save media-converter
OR
yarn add media-converter
>> The conversion could be applied to these extensions:
- Images => (
"jpg", "jpeg", "png", "gif", "svg", "webp"
) - Videos => (
all formats supported by
ffmpeg) - Audios => (
all formats supported by
ffmpeg)
>> The compression is just being applied to the images (and not the other media)
In Progress ...
Its size is about 67.5M
You can find the installation solutions at their website here: ffmpeg
OR
You can do the following commands in preference to the first approach:
-
Windows :
first, you need to install a download package manager for windows (sth like apt for Linux).
I highly recommend you to download and installchoco
package manager from their website: chocolatey
after the installation, just open up a command line (cmd or PowerShell) as administrator and then do the commands below:choco install ffmpeg
-
Linux (Ubuntu) :
sudo apt update sudo apt install ffmpeg
-
Mac :
brew install ffmpeg --force brew link ffmpeg
Notice:
Make sure the FFmpeg address is added to the environment Path
This project has been accomplished with node v10.16.3.
If you cannot run (and having errors) just feel free to open an issue on its GitHub page.
var convert = require('media-converter');
/*
** input [string]: the input media path to the file
** output [string]: the path for the output media
** callback [function]: the callback function
** verbose [boolean]: whether print the logs or not
*/
convert(input, output, callback, verbose);
const convert = require('media-converter');
convert('dog.jpg', 'dog.png'); //with no callbacks
convert('dog.png', 'dog.webp', () => console.log("png => webp")); //with a simple callback
convert('drinking.mkv', 'drinking.mp4', (err) => {
if (!err){
console.log("Completed!")
}
}); //with a complete callback
convert('bad-guy-video.mp4', 'bad-guy-audio.mp3', null, false); //with no verbose
convert('billie-eilish.png', 'billie-eilish-compressed.png'); //just compressing
As I said before, this module uses some other tools:
- ffmpeg tools
- fluent-ffmpeg module
- imagemin module
Finally I thank the developers of the tools mentioned before.