A set of useful utilities for running ffmpeg with node
First make sure you have the ffmpeg binary downloaded and globally accessible on your machine.
Next, install FF Util via NPM:
npm install ff-util
import { run } from 'ff-util';
const args = [
'-i', './video.mov',
'./video.mp4'
]
run({args})
.then(() => console.log('process complete!'))
With parsed progress:
import { run, parse } from 'ff-util';
const args = [
'-i', './video.mov',
'./video.mp4'
]
const logger = (stdOut: string) => {
const parsed = parse({ffProgressLine: stdOut})
console.log({parsed})
}
run({args, logger})
.then(() => console.log('process complete!'))
Feature | Status |
---|---|
Simple Runner | ✅ |
Progress Parser | ✅ |
Progress Percent & ETA | ❌ |
Pause/Resume process | ❌ |
Structured & typed ffmpeg args | ❌ |
Process splitter and restitcher for parallel encoding * | ❌ |
(*) Useful for blazing-fast transcoding in a distributed infrastructure like Kubernetes, AWS Lambda, etc. |