How to Extract Audio From a Video for Whisper Transcription

Whisper, the open speech-recognition model from OpenAI, works on audio, not video. You can often feed it a video file directly, but extracting the audio first is faster, avoids upload limits, and gives you control over quality. This guide covers the format to aim for and how to get there.


What Whisper Actually Wants

Whisper converts whatever you give it to 16 kHz mono audio internally. That means you gain nothing from giving it a 48 kHz stereo file, and you can safely reduce your audio to those settings yourself to save space and time.

SettingRecommended for Whisper
Sample rate16 kHz
ChannelsMono
FormatWAV (lossless) or a decent-bitrate MP3/M4A

Speech recognition is far more sensitive to noise and clarity than to file format. A clean MP3 will transcribe better than a noisy WAV.


Method 1: FFmpeg (Exact Control)

FFmpeg is free and does the whole job in one line. To extract 16 kHz mono WAV:

ffmpeg -i input.mp4 -vn -ac 1 -ar 16000 -c:a pcm_s16le output.wav

What the options mean: -vn drops the video, -ac 1 mixes to mono, -ar 16000 sets 16 kHz, and pcm_s16le writes standard 16-bit WAV.

A 16 kHz mono 16-bit WAV is roughly 2 MB per minute, so a one-hour recording is around 115 MB. If you need it smaller, use a compressed format instead. For other ways to shrink audio, see reduce WAV file size.


Method 2: A Browser Tool (No Install)

If you don’t want to use the command line, the MP4 to MP3 converter pulls the audio out of a video in your browser. MP3 is fine for Whisper at a reasonable bitrate. It won’t resample to 16 kHz mono for you, but Whisper handles that internally.

For a general look at keeping quality while extracting, read extract audio from video without quality loss.


Staying Under File Size Limits

If you use a hosted transcription service or API, check its upload limit. The OpenAI API has accepted files up to about 25 MB, though limits can change. Ways to get under a limit:

  • Convert to mono and 16 kHz, which cuts size sharply.
  • Use a compressed format such as MP3 or M4A at a moderate bitrate. 64 kbps mono is often enough for clear speech. See what bitrate means.
  • Split long recordings into chunks, cutting at pauses so no word is split.

Running Whisper locally has no upload limit, only memory and speed constraints.


Tips for a Better Transcript

  1. Start with the cleanest source. Use the original recording, not a re-compressed copy.
  2. Reduce noise if there’s background hum or hiss, using a free editor like Audacity.
  3. Normalize volume so quiet speakers aren’t buried.
  4. Specify the language when you know it, which helps accuracy.
  5. Review names and technical terms by hand, since they’re the most common errors.

Once you have a transcript, you can reuse it for captions. See add subtitles to a video.


Frequently Asked Questions

What audio format is best for Whisper?

16 kHz mono WAV is ideal, but a clean MP3 or M4A works well too.

Can Whisper transcribe a video file directly?

Many tools accept video and extract the audio for you, but extracting it yourself is faster and avoids upload limits.

Do I need to convert to 16 kHz first?

No, Whisper resamples internally. Doing it yourself just makes the file smaller.

Why is my transcript full of mistakes?

Usually background noise, overlapping speakers, or heavy accents. Clean audio helps most.

Is there a file size limit?

Hosted services have limits, around 25 MB for the OpenAI API as of this writing. Local use has none.

Leave a Comment