Extract Audio from Video in n8n

Extract Audio from Video in n8n

Extract Audio from Video in n8n

https://ift.tt/GT3h1ya

Pull audio from video without touching a terminal
Sie haben Video-Interviews, die Sie transkribieren möchten. Oder Podcast-Episoden, die als Video aufgenommen wurden. Oder eine Musiksammlung, die in MP4-Dateien gefangen ist. Sie müssen die Audiospur extrahieren.

FFmpeg erledigt das mit einem einzigen Befehl. n8n kann diesen Befehl automatisch auslösen, sobald ein neues Video erscheint. Keine manuellen Schritte. Kein Terminal. Kein Server.

The problem: n8n can’t extract audio natively
n8n verfügt nicht über einen Audio-Extraktions-Node. Die Cloud-Version erlaubt keine Shell-Befehle. Selbst gehostet blockiert FFmpeg innerhalb von n8n den Worker und riskiert Abstürze bei großen Dateien.

Die Lösung: Senden Sie den Extraktionsbefehl über den HTTP-Request-Knoten von n8n an RenderIO-API. RenderIO führt FFmpeg in einem isolierten Container aus. Ihre n8n-Instanz bleibt reaktionsschnell.

Use the RenderIO n8n node
RenderIO bietet einen partnergeprüften Community-Node im n8n-Marktplatz. Installieren Sie ihn über Einstellungen → Community Nodes → suchen Sie nach „renderio“. Er bietet eine visuelle Oberfläche für FFmpeg-Befehle, einschließlich Audio-Extraktion.

Der Node kümmert sich automatisch um Authentifizierung und Formatierung der Anfragen. Die untenstehenden Extraktions-Beispiele verwenden HTTP-Request-Knoten für volle Flexibilität, aber die gleichen FFmpeg-Befehle funktionieren auch mit dem nativen Node.

Basic extraction: MP4 to MP3
Der einfachste Workflow: Video-URL rein, MP3-URL raus.

HTTP Request Node Konfiguration:
– Methode: POST
– URL: https://ift.tt/FSqWPiE
– Authentifizierung: Header Auth (X-API-KEY)
– Body:

{
“ffmpeg_command”: “-i -vn -acodec libmp3lame -q:a 2 “,
“input_files”: {
“in_video”: {
“in_video”: “”
}
},
“output_files”: {
“out_audio”: “extracted.mp3”
}
}

-vn deaktiviert Video. -q:a 2 setzt die MP3-Qualität (0=beste, 9=schlechteste, 2 ist hohe Qualität bei ca. 190 kbps).

Poll for completion, then use the output URL.

Extraction formats

MP3 (am kompatibelsten)
{
“ffmpeg_command”: “-i -vn -acodec libmp3lame -q:a 2 “,
“input_files”: {
“in_video”: {
“in_video”: “”
}
},
“output_files”: {
“out_audio”: “audio.mp3”
}
}
Best for: Teilen, Podcast-Verteilung, allgemeine Nutzung.

WAV (verlustfrei)
{
“ffmpeg_command”: “-i -vn -acodec pcm_s16le -ar 44100 “,
“input_files”: {
“in_video”: {
“in_video”: “”
}
},
“output_files”: {
“out_audio”: “audio.wav”
}
}
Best for: Transkriptionsdienste (sie bevorzugen oft WAV), Audiobearbeitung, Archivierung.

AAC (Apple/Streaming)
{
“ffmpeg_command”: “-i -vn -acodec aac -b:a 192k “,
“input_files”: {
“in_video”: {
“in_video”: “”
}
},
“output_files”: {
“out_audio”: “audio.m4a”
}
}
Best for: Apple-Geräte, Streaming-Plattformen, kleinere Dateien bei gleicher Qualität.

FLAC (verlustfrei komprimiert)
{
“ffmpeg_command”: “-i -vn -acodec flac “,
“input_files”: {
“in_video”: {
“in_video”: “”
}
},
“output_files”: {
“out_audio”: “audio.flac”
}
}
Best for: Archivierung, wenn Lossless, aber kleiner als WAV gewünscht.

OGG/Opus (Web)
{
“ffmpeg_command”: “-i -vn -acodec libopus -b:a 128k “,
“input_files”: {
“in_video”: {
“in_video”: “”
}
},
“output_files”: {
“out_audio”: “audio.ogg”
}
}
Best for: Web-Anwendungen, Sprachaufnahmen, VoIP.

Complete workflow: Extract and transcribe
Kombinieren Sie die Audio-Extraktion mit einem Transkriptionsdienst:

Google Drive Trigger (neues Video)
→ HTTP Request: Extract audio (RenderIO)
→ Wait + Poll
→ HTTP Request: Download audio
→ HTTP Request: Send to Whisper API / AssemblyAI / Deepgram
→ Google Sheets: Transcript schreiben
→ Slack: Team benachrichtigen

Node 1: Google Drive Trigger
Beobachtet einen Ordner „Videos“ auf neue Uploads.

Node 2: Extract audio (HTTP Request)

{
“ffmpeg_command”: “-i -vn -acodec pcm_s16le -ar 16000 -ac 1 “,
“input_files”: {
“in_video”: {
“downloadUrl”: “”
}
},
“output_files”: {
“out_audio”: “for_transcription.wav”
}
}

Hinweis: -ar 16000 -ac 1 wandelt in 16 kHz Mono um. Dies ist das Format, das die meisten Transkriptions-APIs bevorzugen. Kleinere Dateien, schnellere Uploads, gleiche Transkriptionsqualität.

Node 3-5: Poll und Ergebnis abrufen

Node 6: An Transkription senden

{
“method”: “POST”,
“url”: “https://ift.tt/dNMI02U”,
“headers”: {
“Authorization”: “Bearer ”
},
“body”: {
“model”: “whisper-1”,
“file”: “”
}
}

Batch extraction from a video library
Verarbeiten Sie einen gesamten Ordner Videos:

Step 1: Video-Liste abrufen
Verwenden Sie einen Code-Knoten oder holen Sie sich die Liste aus einer Tabelle:

const videos = [
{ url: “https://ift.tt/jQN4Sk5”, name: “interview1” },
{ url: “https://ift.tt/fiKMxwP”, name: “interview2” },
{ url: “https://ift.tt/0nEGJd8”, name: “interview3” },
];

return videos.map(v => ({ json: v }));

Step 2: In Batches aufteilen (Größe 5)

Step 3: Extraktion für jeden Eintrag senden

{
“ffmpeg_command”: “-i -vn -acodec libmp3lame -q:a 2 “,
“input_files”: {
“in_video”: {
“in_video”: “”
}
},
“output_files”: {
“out_audio”: “.mp3”
}
}

Step 4: Abfragen und URLs sammeln

Step 5: Ergebnisse in die Tabelle schreiben

Video | Audio URL | Status
interview1 | https://ift.tt/2t97wrm | extracted
interview2 | https://ift.tt/wuMB8W6 | extracted

Audio processing after extraction
Sobald Sie das Audio haben, können Sie es weiter verarbeiten:

Normalisieren der Lautstärke:
-i -af loudnorm=I=-16:TP=-1.5:LRA=11

Silence am Anfang/Ende trimmen:
-i -af silenceremove=start_periods=1:start_silence=0.5:start_threshold=-50dB,areverse,silenceremove=start_periods=1:start_silence=0.5:start_threshold=-50dB,areverse

Samplerate konvertieren:
-i -ar 44100

Koppeln Sie diese Schritte als zusätzliche Verarbeitungspunkte nach der Extraktion in Ihren Workflow.

Error handling
Häufige Extraktionsfehler:
No audio track: Einige Bildschirmaufnahmen oder Animationen haben keinen Ton. FFmpeg gibt einen Fehler zurück. Behandeln Sie dies mit einem IF-Knoten, der die Fehlermeldung auf „does not contain any stream“ prüft.
Corrupted audio: Fügen Sie -err_detect ignore_err vor -i hinzu, um trotz leichter Beschädigungen eine Extraktion zu versuchen.
Very long videos: Die Extraktion ist schnell (typischerweise 10–30 Sekunden, unabhängig von der Videolänge), da nur der Audio-Stream kopiert/transkodiert wird, nicht das Video.

Get started
Der Starter-Plan zu 9 USD/Monat umfasst 500 Befehle – ausreichend, um Ihre Audio-Extraktions-Workflow einzurichten und zu testen.

HI-FI News

via DEV Community https://dev.to

April 12, 2026 um 10:01 Uhr

Ende der Übersetzung.

April 12, 2026 at 10:01AM