
Extract Audio from Video in n8n
https://ift.tt/GT3h1ya
Пул аудіо з відео без використання терміналу
У вас є відеоінтерв’ю для розшифровки. Або епізоди подкастів, записані як відео. Або музична бібліотека в MP4-файлах. Потрібно витягти аудіодоріжку.
FFmpeg виконує це за одну команду. n8n може автоматично запускати ту команду щоразу, коли з’являється нове відео. Жодних ручних кроків. Жодного терміналу. Жодного сервера.
Проблема: n8n не може витягати аудіо нативно
n8n не має вузла для витягання аудіо. Хмарна версія не дозволяє shell-команди. Навіть самохостинг, виконання FFmpeg всередині n8n блокує воркер і ризикує збої на великих файлах.
Рішення: надсилайте команду витягання до API RenderIO через вузол HTTP-запиту в n8n. RenderIO запускає FFmpeg в ізольованому контейнері. Ваш екземпляр n8n залишається чуйним.
Використайте вузол RenderIO для n8n
RenderIO має партнерськи перевірений спільнотний вузол на ринку n8n. Встановлюйте з Налаштування → Спільнотні вузли → шукайте “renderio”. Він надає візуальний інтерфейс для команд FFmpeg, зокрема витяг аудіо.
Вузол обробляє аутентифікацію та форматування запитів автоматично. Нижченаведені приклади витягання використовують вузли HTTP Request для повної гнучкості, але ті самі команди FFmpeg працюють із нативним вузлом.
Базове витяг: MP4 у MP3
Найпростіший робочий процес: URL відео вхід, URL аудіо вихід.
Налаштування вузла HTTP Request:
– Метод: POST
– URL: https://ift.tt/FSqWPiE
– Аутентифікація: Header Auth (X-API-KEY)
– Тіло:
{
“ffmpeg_command”: “-i -vn -acodec libmp3lame -q:a 2 “,
“input_files”: {
“in_video”: “”
},
“output_files”: {
“out_audio”: “extracted.mp3”
}
}
-vn вимикає відео. -q:a 2 встановлює якість MP3 (0=найкраще, 9=найгірше, 2 високоякісний приблизно 190kbps).
Періодично перевіряйте завершення, після чого використовуйте URL вихідного файла.
Формати витягання
MP3 (найбільш сумісний)
{
“ffmpeg_command”: “-i -vn -acodec libmp3lame -q:a 2 “,
“input_files”: {
“in_video”: “”
},
“output_files”: {
“out_audio”: “audio.mp3”
}
}
Кращий для: ділитися, розповсюдження подкастів, загальне використання.
WAV (беззбитковий)
{
“ffmpeg_command”: “-i -vn -acodec pcm_s16le -ar 44100 “,
“input_files”: {
“in_video”: “”
},
“output_files”: {
“out_audio”: “audio.wav”
}
}
Кращий для: транскрипційні сервіси (часто віддають перевагу WAV), аудіо редагування, архівування.
AAC (Apple/стрімінг)
{
“ffmpeg_command”: “-i -vn -acodec aac -b:a 192k “,
“input_files”: {
“in_video”: “”
},
“output_files”: {
“out_audio”: “audio.m4a”
}
}
Кращий для: пристроїв Apple, стрімінг-платформи, менші файли за якістю порівняно з MP3.
FLAC (безвтратний стиснений)
{
“ffmpeg_command”: “-i -vn -acodec flac “,
“input_files”: {
“in_video”: “”
},
“output_files”: {
“out_audio”: “audio.flac”
}
}
Кращий для: архівування, коли потрібне беззбиткове збереження, але менше ніж WAV (зазвичай 50-60% від розміру WAV).
OGG/Opus (веб)
{
“ffmpeg_command”: “-i -vn -acodec libopus -b:a 128k “,
“input_files”: {
“in_video”: “”
},
“output_files”: {
“out_audio”: “audio.ogg”
}
}
Кращий для: веб-додатків, голосові записи, VoIP.
Повний робочий процес: Витяг та транскрибування
Об’єднайте витяг аудіо з сервісом транскрипції:
– Google Drive Trigger (нова відео)
– HTTP Request: Extract audio (RenderIO)
– Wait + Poll
– HTTP Request: Download audio
– HTTP Request: Надіслати до Whisper API / AssemblyAI / Deepgram
– Google Sheets: Записати транскрипт
– Slack: Повідомити команду
Вузол 1: Google Drive Trigger
Спостерігає за папкою “Videos” для нових завантажень.
Вузол 2: Extract 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”
}
}
Примітка: -ar 16000 -ac 1 конвертує у 16 кГц моно. Це формат, який зазвичай віддають перевагу API для транскрипції. Менші файли, швидші завантаження, та така сама якість транскрипції.
Вузли 3-5: Перевірка статусу та отримання результату
Стандартний цикл опитування.
Вузол 6: Надіслати на транскрипцію
{
“method”: “POST”,
“url”: “https://ift.tt/dNMI02U”,
“headers”: {
“Authorization”: “Bearer ”
},
“body”: {
“model”: “whisper-1”,
“file”: “”
}
}
Бібліотека відео: пакетна витяг аудіо з бібліотеки відео
Крок 1: Отримати список відео
Використайте вузол Code або отримайте зі списку у таблиці:
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 }));
Крок 2: Розділити на порції (розмір: 5)
Крок 3: Подати запити на витяг для кожного
{
“ffmpeg_command”: “-i -vn -acodec libmp3lame -q:a 2 “,
“input_files”: {
“in_video”: “”
},
“output_files”: {
“out_audio”: “.mp3”
}
}
Крок 4: Перевірка та збір URL-адрес
Крок 5: Записати результати в таблицю
Вузол Audio URL та стан прикрашені відповідно:
Video: interview1
Audio URL: https://ift.tt/2t97wrm
Статус: extracted
Video: interview2
Audio URL: https://ift.tt/wuMB8W6
Статус: extracted
Обробка аудіо після витягування
Normування гучності:
-i -af loudnorm=I=-16:TP=-1.5:LRA=11
Видалення тиші на початку/у кінці:
-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
Зміна частоти дискретизації:
-i -ar 44100
Підключайте ці кроки як додаткові обробки після витягування у вашому робочому процесі.
Обробка помилок
Поширені помилки витягання:
– Немає аудіодоріжки: деякі записані з екрану чи анімації мають відсутнє аудіо. FFmpeg повертає помилку. Обробляйте за допомогою вузла IF, що перевіряє повідомлення про помилку на “does not contain any stream.”
– Пошкоджене аудіо: додайте -err_detect ignore_err перед -i, щоб спробувати витяг навіть за незначних пошкоджень.
– Дуже довгі відео: витяг швидкий (зазвичай 10-30 секунд, незалежно від довжини відео), бо копіює/транскодує лише аудіо-потік, а не відео.
Почніть
План Starter за $9/міс містить 500 команд — достатньо для налаштування та тестування вашого робочого процесу витягування аудіо.
April 12, 2026 at 10:01AM

Залишити відповідь
Щоб відправити коментар вам необхідно авторизуватись.