1.1.0 • Published 9 years ago

mlt v1.1.0

Weekly downloads
3
License
-
Repository
github
Last release
9 years ago

MLT Module for Node.js

This module will generate the XML instructions needed to create a video using Media Lovin' Toolkit, including audio overlays, transitions, picture slides, and watermarks. This module was forked from node-mlt by Jeffrey Van Alstine.

Installation

npm install mlt

API

Create an MLT XML Object

var MLT = require('node-mlt');

var mlt = new MLT
console.log(mlt.toString());
//<?xml version="1.0" encoding="utf-8"?><mlt/>
console.log(mlt.toString({pretty: true}));
// <?xml version="1.0" encoding="utf-8"?>
//
//<mlt/>
//

Add producers to your MLT document

music = new MLT.Producer.Audio({source: '/home/jeffrey/Downloads/crazy.mp3'});
mlt.push(music);

image = new MLT.Producer.Image({source: '/home/jeffrey/Desktop/dachshund.jpg'});
mlt.push(image);

Create affine filter

var affine = new MLT.Filter.Affine
affine.geometry([
	{
		frame: 0,
		x: 0,
		y: 0,
		w: 1,
		h: 1,
		sat: 100
	},
	{
		frame: 999,
		x: 480,
		y: 640,
		w: 480,
		h: 640,
		sat: 100
	} 
]);

Create a watermark filter

var watermark = new MLT.Filter.Watermark({resource: '/home/jeffrey/Desktop/signature.jpg'});

Create an audio-gain filter

var fadeIn = new MLT.Filter.AudioFade({
	start: 0,
	length: 100,
	startVol: 0,
	endVol: 1
});

Create a Frei0r blur filter

var frei0r = new MLT.Filter.Frei0r
frei0r.squareblur([
	{
		frame: 0,
		size: 0.05
	},
	{
		frame: 22,
		size: 0
	}
]);

Add producers to a playlist with filters

var playlist = new MLT.Playlist;

playlist.entry({producer: music, filters: [fadeIn], length: 1000); // Length is in frames
mlt.push(playlist);

Add a playlist to a track

var track = new MLT.Multitrack.Track(playlist);

Add a track to a multitrack

var multitrack = new MLT.Multitrack;
multitrack.addTrack(track);

Add a multitrack to a tractor

var tractor = new MLT.Tractor;
tractor.push(multitrack);
mlt.push(tractor);