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-utilimport { 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. |