Combine multiple videos and audio files with ease
Automatically handles iphone's video rotation and orientation
Add beautiful text overlays with full customization
No external dependencies required, just ffmpeg installed on your system
Automatically scales and pads videos to match your desired dimensions
Precise control over video positioning and timing in your final output
Create a new instance with your desired dimensions
const ezffmpeg = require('ezffmpeg');
const project = new ezffmpeg({
width: 1080,
height: 1920
});
Add videos, audio, and text with precise timing
await project.load(clips);
Generate your final video with one command
await project.export({
outputPath: 'output.mp4'
});
const ezffmpeg = require('ezffmpeg');
const project = new ezffmpeg({
width: 1080,
height: 1920
});
// Load and concatenate videos
async function loadAndExportVideos() {
await project.load([
{
type: 'video',
url: 'train.mp4',
position: 0,
cutFrom: 1,
end: 8,
},
{
type: 'video',
url: 'forest.mp4',
position: 8,
end: 12,
},
{
type: 'video',
url: 'river.mp4',
position: 12,
end: 16,
},
{
type: 'audio',
url: 'music.mp3',
position: 1,
end: 18
},
{
type: 'text',
text: 'summer vlog',
fontSize: 48,
fontColor: 'white',
position: 3,
end: 8
},
{
type: 'text',
text: 'hope you like ezffmpeg!',
fontSize: 48,
fontColor: 'white',
position: 16,
end: 18,
}
]);
await project.export({
outputPath: 'output.mp4'
});
}
loadAndExportVideos();