Extract Audio from Video in n8n

提取视频中的音频在 n8n
https://ift.tt/GT3h1ya
从视频中提取音频而不触碰终端
你有需要转录的视频访谈,或以视频形式录制的播客,或被 MP4 文件锁住的音乐库。你需要提取音轨。
FFmpeg 只用一个命令就能完成。n8n 可以在每当出现新视频时自动触发该命令。无需手动步骤。无需终端。无服务器。
问题:n8n 原生不能提取音频
n8n 没有音频提取节点。云端版本不允许执行 shell 命令。即使自部署,在 n8n 内运行 FFmpeg 也会阻塞工作节点,且对大文件有崩溃风险。
解决方案:通过 n8n 的 HTTP 请求节点将提取命令发送到 RenderIO 的 API。RenderIO 在隔离容器中运行 FFmpeg。你的 n8n 实例保持响应。
使用 RenderIO 的 n8n 节点
RenderIO 在 n8n 市场提供了一个 经过合作伙伴验证的社区节点。在设置 → 社区节点 中搜索“renderio”即可安装。它提供了用于 FFmpeg 命令的可视界面,包括音频提取。
该节点自动处理身份验证和请求格式。下面的提取示例使用 HTTP Request 节点以获得完全灵活性,但相同的 FFmpeg 命令也可用于原生节点。
基础提取:MP4 转 MP3
最简单的工作流:视频 URL 进,MP3 URL 出。
HTTP 请求节点配置:
- 方法:POST
- URL:
https://renderio.dev/api/v1/run-ffmpeg-command - 认证:Header Auth(X-API-KEY)
- Body:
-
Product on sale
Audiophile Vinyl Records Cleaning BundleOriginal price was: €69.90.€59.90Current price is: €59.90. excl. VAT -
Product on sale
Easy Start Vinyl Records Cleaning KitOriginal price was: €69.90.€59.90Current price is: €59.90. excl. VAT -
Vinyl Records Cleaner Easy Groove Concentrate€34.95 excl. VAT -
Easy Groove Super Set€199.00 excl. VAT -
Easy Groove Enzycaster – vinyl records prewash cleaner€34.95 excl. VAT -
Easy Groove Extreme MK. II- vinyl records prewash cleaner€45.00 excl. VAT -
Vinyl Records Cleaner – Easy Groove Virgin Concentrate€35.00 excl. VAT -
Easy Groove Spray&Wipe vinyl records cleaner€34.95 excl. VAT
ul>
{
"ffmpeg_command": "-i -vn -acodec libmp3lame -q:a 2 ",
"input_files": {
"in_video": {
"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": {
"in_video": ""
}
},
"output_files": {
"out_audio": "audio.mp3"
}
}
最佳用途:分享、播客分发、一般用途。
WAV(无损)
{
"ffmpeg_command": "-i -vn -acodec pcm_s16le -ar 44100 ",
"input_files": {
"in_video": {
"in_video": ""
}
},
"output_files": {
"out_audio": "audio.wav"
}
}
最佳用途:转录服务(它们通常偏好 WAV)、音频编辑、档案保存。
AAC(苹果/流媒体)
{
"ffmpeg_command": "-i -vn -acodec aac -b:a 192k ",
"input_files": {
"in_video": {
"in_video": ""
}
},
"output_files": {
"out_audio": "audio.m4a"
}
}
最佳用途:苹果设备、流媒体平台,在相同质量下音频文件更小。
FLAC(无损压缩)
{
"ffmpeg_command": "-i -vn -acodec flac ",
"input_files": {
"in_video": {
"in_video": ""
}
},
"output_files": {
"out_audio": "audio.flac"
}
}
最佳用途:需要无损但比 WAV 小的档案以供档案保存时使用(通常为 WAV 大小的 50-60%)。
OGG/Opus(网页应用)
{
"ffmpeg_command": "-i -vn -acodec libopus -b:a 128k ",
"input_files": {
"in_video": {
"in_video": ""
}
},
"output_files": {
"out_audio": "audio.ogg"
}
}
最佳用途:网页应用、语音记录、VoIP。
完整工作流:提取并转录
将音频提取与转录服务结合起来:
Google Drive Trigger(新视频)
→ HTTP 请求:提取音频(RenderIO)
→ 等待 +轮询
→ HTTP 请求:下载音频
→ HTTP 请求:发送至 Whisper API / AssemblyAI / Deepgram
→ Google Sheets:写入文字稿
→ Slack:通知团队
节点 1:Google Drive Trigger
监视“Videos”文件夹中的新上传。
节点 2:提取音频(HTTP 请求)
{
"ffmpeg_command": "-i -vn -acodec pcm_s16le -ar 16000 -ac 1 ",
"input_files": {
"in_video": {
"downloadUrl": ""
}
},
"output_files": {
"out_audio": "for_transcription.wav"
}
}
注意:-ar 16000 -ac 1 转换为 16kHz 单声道。这是大多数转录 API 偏好的格式。文件更小、上传更快、转录质量不变。
节点 3-5:轮询并获取结果
标准轮询循环。
节点 6:发送至转录服务
{
"method": "POST",
"url": "https://api.openai.com/v1/audio/transcriptions",
"headers": {
"Authorization": "Bearer "
},
"body": {
"model": "whisper-1",
"file": ""
}
}
从视频库批量提取
对整个视频文件夹进行处理:
步骤 1:获取视频列表
使用 Code 节点或从电子表格获取:
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 }));
步骤 2:分批处理(尺寸:5)
步骤 3:对每个提取提交
{
"ffmpeg_command": "-i -vn -acodec libmp3lame -q:a 2 ",
"input_files": {
"in_video": {
"url": ""
}
},
"output_files": {
"out_audio": ".mp3"
}
}
步骤 4:轮询并收集 URL
步骤 5:写入结果到电子表格
| Video | Audio URL | Status |
|---|---|---|
| interview1 | https://media.renderio.dev/interview1.mp3 | extracted |
| interview2 | https://media.renderio.dev/interview2.mp3 | extracted |
提取后音频处理
获得音频后,可以进行进一步处理:
标准化音量:
-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.”
音频损坏:在 -i 之前添加 -err_detect ignore_err,以尝试在轻微损坏时也进行提取。
超长视频:提取速度很快(通常不管视频长度在 10-30 秒内完成),因为它只复制/转码音频流,而非视频。
开始使用
Starter 计划每月 9 美元,包含 500 条命令——足以搭建并测试你的音频提取工作流。
HI-FI News
via DEV Community https://dev.to
2026年4月12日 10:01 AM
April 12, 2026 at 10:01AM








