Skip to content

Latest commit

 

History

History
139 lines (90 loc) · 3.11 KB

README.md

File metadata and controls

139 lines (90 loc) · 3.11 KB

Media Converter

Convert your multimedia in nodejs as easy as you like

Description

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

Version 1.x.x

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


Version 2.x.x

In Progress ...




Prerequisites

1. Install FFmpeg tools on your system

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 install choco 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




Usage

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

Examples

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



References

As I said before, this module uses some other tools:

Finally I thank the developers of the tools mentioned before.