Extract Audio from Video in n8n

Extract Audio from Video in n8n

Extraire l’audio d’une vidéo dans n8n

https://ift.tt/GT3h1ya

H2
Extraire l’audio d’une vidéo sans toucher au terminal
You have video interviews to transcribe. Or podcast episodes recorded as video. Or a music library trapped in MP4 files. You need the audio track extracted.
FFmpeg does this in one command. n8n can trigger that command automatically whenever a new video appears. No manual steps. No terminal. No server.
H2
Le problème : n8n ne peut pas extraire l’audio nativement
n8n n’a pas de nœud d’extraction audio. La version cloud ne permet pas les commandes shell. Même en auto-hébergement, exécuter FFmpeg dans n8n bloque le worker et peut provoquer des crash sur de gros fichiers.
La solution : envoyer la commande d’extraction à l’API de RenderIO via le nœud HTTP Request de n8n. RenderIO exécute FFmpeg dans un conteneur isolé. Votre instance n8n reste réactive.
H2
Utiliser le nœud RenderIO n8n
RenderIO dispose d’un nœud communautaire vérifié par les partenaires sur le marché n8n. Installez depuis Paramètres → Nœuds communautaires → recherchez « renderio ». Il offre une interface visuelle pour les commandes FFmpeg, y compris l’extraction audio.
Le nœud gère l’authentification et le formatage des requêtes automatiquement. Les exemples d’extraction ci-dessous utilisent des nœuds HTTP Request pour plus de flexibilité, mais les mêmes commandes FFmpeg fonctionnent avec le nœud natif.
H2
Extraction de base : MP4 vers MP3
La workflow la plus simple : URL vidéo en entrée, URL audio en sortie.
Configuration du nœud HTTP Request:
– Méthode : POST
– URL : https://ift.tt/FSqWPiE
– Authentification : Header Auth (X-API-KEY)
– Corps:

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

-vn désactive la vidéo. -q:a 2 définit la qualité MP3 (0=meilleur, 9=pire, 2 est une haute qualité à ~190 kbps).

Surveiller l’avancement, puis utiliser l’URL de sortie.

H2
Formats d’extraction
H3
MP3 (la plus compatible)

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

Meilleur pour : partage, distribution de podcasts, usage général.
H3
WAV (sans perte)

{
  "ffmpeg_command": "-i  -vn -acodec pcm_s16le -ar 44100 ",
  "input_files": {
    "in_video": ""
  },
  "output_files": {
    "out_audio": "audio.wav"
  }
}

Meilleur pour : services de transcription (souvent préfèrent WAV), édition audio, archivage.
H3
AAC (Apple/ streaming)

{
  "ffmpeg_command": "-i  -vn -acodec aac -b:a 192k ",
  "input_files": {
    "in_video": ""
  },
  "output_files": {
    "out_audio": "audio.m4a"
  }
}

Meilleur pour : appareils Apple, plateformes de streaming, fichiers plus petits que MP3 à qualité équivalente.
H3
FLAC (compression sans perte)

{
  "ffmpeg_command": "-i  -vn -acodec flac ",
  "input_files": {
    "in_video": ""
  },
  "output_files": {
    "out_audio": "audio.flac"
  }
}

Meilleur pour : archivage quand on veut une perte sans perte mais plus petit que WAV (généralement 50-60% de la taille WAV).
H3
OGG/Opus (web)

{
  "ffmpeg_command": "-i  -vn -acodec libopus -b:a 128k ",
  "input_files": {
    "in_video": ""
  },
  "output_files": {
    "out_audio": "audio.ogg"
  }
}

Meilleur pour : applications web, enregistrements vocaux, VoIP.
H2
Workflow complet : Extraire puis transcrire
Combine l’extraction audio avec un service de transcription:
Google Drive Trigger (nouvelle vidéo)
→ HTTP Request : Extraire l’audio (RenderIO)
→ Attente + Sondage
→ HTTP Request : Télécharger l’audio
→ HTTP Request : Envoyer à Whisper API / AssemblyAI / Deepgram
→ Google Sheets : Écrire la transcription
→ Slack : Avertir l’équipe
Nœud 1 : Déclencheur Google Drive
Surveille un dossier « Vidéos » pour les nouveaux téléchargements.
Nœud 2 : Extraction audio (HTTP Request)

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

Note : -ar 16000 -ac 1 convertit en 16 kHz mono. C’est le format préféré par la plupart des API de transcription. Fichiers plus petits, téléchargements plus rapides, même qualité de transcription.
Nœuds 3-5 : Sondage et obtention du résultat
Boucle de sondage standard.
Nœud 6 : Envoi à la transcription

{
  "method": "POST",
  "url": "https://api.openai.com/v1/audio/transcriptions",
  "headers": {
    "Authorization": "Bearer "
  },
  "body": {
    "model": "whisper-1",
    "file": ""
  }
}

H2
Extraction en lot à partir d’une bibliothèque de vidéos
Processus pour un dossier entier de vidéos :
Step 1 : Obtenir la liste des vidéos
Utilisez un nœud Code ou récupérez depuis une feuille de calcul :

const videos = [
  { url: "https://example.com/interview1.mp4", name: "interview1" },
  { url: "https://example.com/interview2.mp4", name: "interview2" },
  { url: "https://example.com/interview3.mp4", name: "interview3" },
];

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

Step 2 : Diviser en lots (taille : 5)
Step 3 : Soumettre l’extraction pour chacun

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

Step 4 : Sondage et collecte des URL
Step 5 : Écrire les résultats dans la feuille de calcul

Vidéo URL audio Statut
interview1 https://media.renderio.dev/interview1.mp3 extrait
interview2 https://media.renderio.dev/interview2.mp3 extrait

H2
Traitement audio après extraction
Une fois l’audio obtenu, vous pouvez le traiter davantage :
H3
Normaliser le volume

-i  -af loudnorm=I=-16:TP=-1.5:LRA=11 

H3
Élaguer le silence au début/à la fin

-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 

H3
Convertir le débit d’échantillonnage

-i  -ar 44100 

Enchaîner ces étapes supplémentaires dans votre workflow après l’extraction.
H2
Gestion des erreurs
Erreurs fréquentes d’extraction :
– Pas de piste audio : certaines enregistrements d’écran ou animations n’ont pas d’audio. FFmpeg renvoie une erreur. Gérer avec un nœud IF qui vérifie le message d’erreur « ne contient aucun flux ».
– Audio corrompu : ajouter -err_detect ignore_err avant -i pour tenter l’extraction malgré une légère corruption.
– Vidéos très longues : l’extraction est rapide (généralement 10-30 secondes, quelle que soit la longueur de la vidéo) car elle ne fait que copier/transcoder le flux audio, pas la vidéo.
H2
Commencer
Le plan Starter à 9 $/mois inclut 500 commandes — assez pour configurer et tester votre flux d’extraction audio.

HI-FI News

via DEV Community https://dev.to

12 avril 2026 à 10:01

fin de traduction.

April 12, 2026 at 10:01AM