Get Audio From Video
Strip the Soundtrack Out of Any Video
- video
- AUDIO
The audio from that video is a first-class asset now
The local video pipeline quietly became an audio pipeline somewhere along the way. LTX-2 generates audio and video together, Bernini S2V drives lipsync from an audio track, and dubbing workflows swap a voice track in and out. All of those need one thing first: the audio pulled out of a video as a standalone AUDIO object. That's this node - one input, one output, no widgets.
It's a small node, but it's the hinge for a whole category of workflows: re-using a soundtrack, feeding dialogue into a TTS replacement chain, or grabbing the audio from a generated clip so you can feed it back into a model that conditions on it.
How it works
Two-path extraction, in a sensible order:
- FFmpeg first. The node tries to pull the audio track with FFmpeg, which is fast, lossless, and keeps the original sample rate and channels.
- ComfyUI fallback. If FFmpeg isn't available or fails, it falls back to reading the audio straight out of the VIDEO's components (the waveform + sample rate the video object carries internally).
If the video genuinely has no audio track, it raises a clear error rather than returning silence. That's the one real failure mode, and it's the honest one.
Inputs and outputs
video(required) - any VIDEO input: a loaded file, a generated clip from a decode node, an LTX output. If it has a soundtrack, it can be pulled.AUDIOout - a standard AUDIO object withwaveformandsample_rate, so it plugs into anything else in the pack's audio world:easy audioMergeto mix it,easy makeAudioListto batch it, an audio VAE encode for LTX-2, or a Bernini S2V conditioning node that wants speech audio.
Setup and the one thing to remember
Install is the pack install - ComfyUI Manager → ComfyUI-Easy-Media, or git clone https://github.com/yolain/ComfyUI-Easy-Media.git into custom_nodes and restart. FFmpeg on your PATH is strongly recommended by the pack's README, and it's the primary extraction path here, so make sure ffmpeg -version works before you rely on it.
Where people get stuck:
- "The input VIDEO does not contain an audio track." - That's the node telling you the truth. Some generators output silent video (Bernini is the famous mute one - it has no audio at all), and no node can extract what isn't there.
- Silence even though it ran - check what you're feeding. If the upstream video was already silent, the fallback path can produce a zero-length waveform that some downstream nodes treat as "valid." Not a bug in the extractor; the source was empty.
- FFmpeg warnings scrolling by - normal. Extraction is quick but chatty on some containers.
It's not a glamorous node, and it shouldn't be. But if you're doing anything with the sound in your videos - dubbing, remixing, conditioning - this is the clean way in.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| video | VIDEO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |