Package Information
Available Nodes
Documentation generating…
Documentation
n8n-nodes-scene-video-merger
An n8n community node that downloads a series of scene video clips and concatenates them into a single video using ffmpeg, with optional automatic normalization so mismatched source clips (different fps/resolution/codec/audio) don't break the concat.
Requirements — read this before installing
This node shells out to ffmpeg and ffprobe as system binaries. Unlike the other nodes in this collection, it does not call a remote API — it does real local video processing. This means:
ffmpegandffprobemust be installed inside your n8n container/host, and on your PATH. The stockn8nio/n8nDocker image does not include ffmpeg by default — you'll need a custom Dockerfile that adds it, e.g.:
(adjust the package manager line if your base image isn't Alpine-based)FROM n8nio/n8n:latest USER root RUN apk add --no-cache ffmpeg USER node- The node writes temporary files to
/tmp(segment downloads, normalized clips, the concat list, and the final output) — make sure/tmphas enough free space and is writable in your container. - If you're running n8n in queue mode with separate workers (as in the docker-compose setup discussed earlier), ffmpeg needs to be installed in the worker image too, since that's where node execution actually happens — not just the main n8n image.
Installation
Follow the n8n community nodes installation guide, or install manually:
npm install n8n-nodes-scene-video-merger
No credentials required
This node doesn't call any external API needing auth — it downloads video URLs you give it directly.
Operation
The Scene Video Merger (FFmpeg) node takes input items each carrying one or more video URLs (accepts scene_id/sceneId, video_url/videoUrl/url, or a videoUrls/video_urls array per item — scenes are sorted by scene_id then position before merging) and outputs one merged video.
| Field | Description |
|---|---|
| Output Path | Absolute path for the merged output file (default /tmp/final_video.mp4) |
| Use Re-encode (frame continuity) | Normalizes every clip's fps/resolution/codec/audio before concatenating. Leave this on unless you're certain all source clips already share identical encoding — otherwise ffmpeg's concat demuxer will fail or produce corrupted output |
| Target Resolution | Scale target as width:height, e.g. 1080:1920 for vertical video. Only used when re-encoding |
| Target FPS | Frame rate to force when re-encoding |
Each downloaded clip is verified with ffprobe before use, and downloads are retried on truncation/failure. Clips with no audio track get a silent track added automatically during normalization, so mixed audio/no-audio sources still concatenate cleanly.
Output is returned as binary data under the mergedVideo field.
License
MIT
