ffmpeg-pro-v2

n8n community nodes: FFmpeg / FFprobe with seamless binary input placeholders.

Documentation

n8n-nodes-ffmpeg-pro

Community nodes for n8n: FFmpeg + FFprobe with reliable, seamless support for binary file input.

Features

  • ✅ Separate nodes: FFmpeg and FFprobe
  • ✅ Seamless binary placeholders inside CLI arguments:
    • -i {input:0} — take binary from input item #0
    • -i {input:data} — take binary from current item property data
    • -i {input:video} — take binary from current item property video
    • -i {input:label} — cross-node reference by label (see Input Label)
  • ✅ Optional timeout (ms)
  • ✅ Output file placeholder {output} for FFmpeg
  • ✅ Cleanup node for removing old stored files

Installation

Option A: from npm registry (after publish)

  1. In n8n open Settings → Community Nodes
  2. Install:
npm install n8n-nodes-ffmpeg-pro

If you get E404, the package is not published yet.

Option B: install locally (no npm publish needed)

If you haven't published the package to npm yet, you can still install it:

B1) Install from tarball

From this repo folder:

npm pack

This creates n8n-nodes-ffmpeg-pro-1.0.6.tgz.

Then on the machine where n8n runs:

npm install /path/to/n8n-nodes-ffmpeg-pro-1.0.6.tgz

B2) Install from local folder

npm install /path/to/n8n-nodes-ffmpeg-pro

B3) Install from git

npm install git+https://github.com/<you>/<repo>.git

The package bundles ffmpeg-static and ffprobe-static.

Node: FFmpeg

Typical example

Arguments:

-y -i {input:data} -c:v libx264 {output}
  • {input:data} resolves to a temporary file created from incoming binary.
  • {output} resolves to an output path within node storage.

Output:

  • Binary output is stored in the property set by Output Binary Property (default: data).
  • Execution metadata is written to json.ffmpeg.

Parameters

  • Arguments: FFmpeg args. Use {input:...} and {output}.
  • Default Input Binary Property: fallback for {input:0} and missing property.
  • Input Label (Optional): store current input binary under this label so you can use {input:label} in other nodes within same execution.
  • Output File Name: filename for {output}.
  • Output Binary Property: where output binary is written.
  • Timeout (ms): kill process if exceeded (0 = no timeout).
  • Keep Temp Files: debugging.

Node: FFprobe

Typical example

Arguments:

-v error -print_format json -show_format -show_streams -i {input:data}

Output:

  • Parsed JSON written to json.ffprobe
  • Metadata written to json.ffprobeMeta

Node: FFmpeg Cleanup

Used to delete stored files created by this package.

  • Delete Older Than + Unit (minutes/hours/days)
  • Dry Run

Notes

Icons

Source icons live in assets/icons/*.svg.

Placeholder logic

  • {input:0}: chooses the first binary property of item 0 (or fallback).
  • {input:video}: uses that property if exists, else fallback.
  • {input:label}: reads from label directory (same execution) and uses item index dir if exists.

License

MIT

Discussion