n8n-nodes-logo-overlay
v1.0.4
Published
n8n node for placing logos on images and videos
Maintainers
Keywords
Readme
n8n-nodes-logo-overlay
Eine benutzerdefinierte n8n-Node zum Platzieren von Logos auf Bildern und Videos.
Features
- Bild-Overlay: Platziert Logos auf Bildern mit Unterstützung für verschiedene Formate
- Video-Overlay: Fügt Logos über alle Frames eines Videos hinzu
- Flexible Positionierung: X/Y-Koordinaten in Pixeln
- Logo-Größenanpassung: Optionale Breiten- und Höhenanpassung
- Base64-Output: Gibt verarbeitete Dateien als Base64-String zurück
- Robuste Fehlerbehandlung: Umfassendes Error-Handling und Cleanup
Systemanforderungen
- FFmpeg: Für Video-Verarbeitung erforderlich
# macOS brew install ffmpeg # Ubuntu/Debian sudo apt update && sudo apt install ffmpeg # Windows # Laden Sie FFmpeg von https://ffmpeg.org/download.html herunter
Installation
Lokale Entwicklung
Abhängigkeiten installieren:
npm installNode kompilieren:
npm run buildIn n8n verwenden:
# Option 1: Als Community Package installieren n8n start --packages=./dist # Option 2: In n8n-Entwicklungsumgebung kopieren cp -r dist/* ~/.n8n/nodes/
Als npm-Package (zukünftig)
npm install n8n-nodes-logo-overlayVerwendung
Parameter
| Parameter | Typ | Beschreibung | Erforderlich |
|-----------|-----|--------------|--------------|
| filePath | String | Pfad zur Bild- oder Videodatei | ✓ |
| fileType | Options | image oder video | ✓ |
| logoPath | String | Pfad zum Logo (PNG mit Transparenz empfohlen) | ✓ |
| x | Number | X-Koordinate in Pixeln | ✓ |
| y | Number | Y-Koordinate in Pixeln | ✓ |
| logoWidth | Number | Breite des Logos (0 = Original beibehalten) | ✗ |
| logoHeight | Number | Höhe des Logos (0 = Original beibehalten) | ✗ |
Beispiel-Workflow
{
"nodes": [
{
"parameters": {
"filePath": "/pfad/zu/image.jpg",
"fileType": "image",
"logoPath": "/pfad/zu/logo.png",
"x": 50,
"y": 50,
"logoWidth": 100,
"logoHeight": 50
},
"type": "n8n-nodes-logo-overlay.logoOverlay",
"typeVersion": 1
}
]
}Output
Die Node gibt ein JSON-Objekt zurück:
{
"base64": "iVBORw0KGgoAAAANSUhEUgAA...", // Base64-kodierte Datei
"originalFile": "/pfad/zu/image.jpg",
"logoFile": "/pfad/zu/logo.png",
"position": { "x": 50, "y": 50 },
"fileType": "image"
}Unterstützte Formate
Bilder
- JPEG/JPG
- PNG
- WebP
- TIFF
- GIF (statisch)
Videos
- MP4
- MOV
- AVI
- MKV
- WebM
Logos
- PNG (empfohlen für Transparenz)
- JPEG
- WebP
Technische Details
Bild-Verarbeitung
- Library: Sharp
- Performance: Optimiert für hohe Geschwindigkeit
- Memory: Effiziente Buffer-Verarbeitung
Video-Verarbeitung
- Library: FFmpeg mit fluent-ffmpeg
- Codec: H.264 mit optimierten Einstellungen
- Qualität: CRF 23 (gute Balance zwischen Qualität und Dateigröße)
Temporäre Dateien
- Automatisches Cleanup nach Verarbeitung
- Verwendung des System-Temp-Verzeichnisses
- UUID-basierte Dateinamen zur Vermeidung von Konflikten
Fehlerbehandlung
Die Node behandelt folgende Fehlerszenarien:
- Datei nicht gefunden: Überprüfung der Existenz von Input- und Logo-Dateien
- Ungültige Formate: Validierung der Dateitypen
- FFmpeg-Fehler: Detaillierte Fehlermeldungen bei Video-Verarbeitung
- Memory-Limits: Effiziente Buffer-Verwaltung
- Cleanup-Fehler: Graceful Handling bei Temp-File-Problemen
Entwicklung
Build-Prozess
# TypeScript kompilieren
npm run build
# Entwicklungsmodus (Watch)
npm run dev
# Linting
npm run lint
# Code-Formatierung
npm run formatProjektstruktur
├── nodes/
│ └── LogoOverlay/
│ ├── LogoOverlay.node.ts # Haupt-Node-Implementation
│ └── logoOverlay.svg # Node-Icon
├── dist/ # Kompilierte Dateien
├── package.json # Dependencies und Konfiguration
├── tsconfig.json # TypeScript-Konfiguration
└── gulpfile.js # Build-SystemLizenz
MIT
Beitragen
Contributions sind willkommen! Bitte öffnen Sie ein Issue oder Pull Request auf GitHub.
Support
Bei Problemen oder Fragen erstellen Sie bitte ein Issue im GitHub-Repository.
