Direct answer — How do you convert video to text on a Mac without uploading it? Transcribe the video’s audio track on the Mac itself. Either extract the audio from the MP4 or MOV with ffmpeg as a 16 kHz WAV and run it through whisper.cpp, a free command-line build of Whisper, or drag the video into Weesper Transcribe, a Mac app that reads MP4 and MOV directly and transcribes on device. The file never leaves your Mac.

An iPhone clip of a site visit, a screen recording of a product demo, a saved webinar, a downloaded MP4 of a talk: plenty of the speech on a Mac lives inside video files, not audio files.

This guide shows how to convert video to text on a Mac offline, from MP4 to text and MOV to text. It covers what sits inside an MP4 or MOV, what macOS can and cannot do on its own, the free ffmpeg and whisper.cpp route, and the drag-and-drop route. If your file is audio only, our guide to transcribing audio to text on a Mac offline is the better starting point.

What is inside a video file you want to transcribe?

A video file is a container holding separate streams: usually one video stream and one or more audio streams. Only the audio matters when you transcribe video on a Mac, so the first job of any tool is to find the right audio stream and decode it.

That is why the file extension tells you little. An .mp4, .mov or .m4v names the container, not the audio inside it, and two MOV files can carry very different streams.

ffmpeg’s documentation shows how to address these streams directly: in a stream specifier, a means audio, and a:1 “matches the second audio stream”. Its companion tool ffprobe “gathers information from multimedia streams”, and -show_streams lists every stream in a file.

To see what your video actually contains, run:

ffprobe -v error -show_streams -select_streams a input.mov

Each audio stream appears with its index, codec and channel count. One block means one audio track; two or more means you have a choice to make, covered below.

Common video files on a Mac, and what to watch for

SourceContainerWhat matters for transcription
iPhone video.movHEVC (H.265) describes the video stream when the camera uses High Efficiency; the transcript depends only on the audio
macOS screen recording.movThe microphone is optional; with “None” selected there is no voice to transcribe
Zoom or Teams recording.mp4Where the file is saved depends on the platform; see our Zoom and Teams recording guide
Downloaded talk or webinar.mp4Can carry more than one audio track, for example two languages
Exported edit from a video editor.mov or .mp4Check that music or effects were not mixed over the speech

Apple’s HEVC page confirms the camera setting: under Settings > Camera > Formats, “Most Compatible” makes new videos use H.264 instead. You do not need to change it to get a transcript, because the video codec never reaches the speech model.

Can a Mac convert video to text on its own?

Not as a documented feature. None of Apple’s guides for the built-in apps describe turning an existing video file into a transcript.

So for an MP4 or MOV you already have, you need a transcription tool. The QuickTime audio export is a handy first step if you prefer not to install ffmpeg, as long as the tool you pick reads that audio file.

How do you convert video to text with ffmpeg and whisper.cpp?

Extract the audio as a 16-bit WAV with ffmpeg, then transcribe it with whisper.cpp. Both tools are free and run entirely on your Mac.

whisper.cpp is an open-source C/C++ implementation of OpenAI’s Whisper under the MIT licence; its README calls Apple Silicon a “first-class citizen”. It needs Git, CMake and ffmpeg. Our whisper.cpp setup guide covers installation and model choice, so the steps below focus on what changes for video.

Step 1: extract the audio track from the video

The whisper.cpp README says whisper-cli “currently runs only with 16-bit WAV files” and gives an ffmpeg conversion command. For a video, add -vn so no video stream is included in the output:

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

-ar 16000 sets a 16 kHz sample rate, -ac 1 downmixes to mono, and -c:a pcm_s16le writes 16-bit uncompressed audio. The same command works for .mp4 and .m4v files.

The result is far smaller than most videos. Uncompressed 16-bit mono at 16,000 samples per second is 16,000 × 2 bytes = 32,000 bytes per second, about 1.9 MB per minute or roughly 115 MB per hour.

Step 2: pick the right audio track if there are several

ffmpeg chooses one audio stream automatically: per its documentation, “the stream with the most channels”, and the lowest index on a tie. That may not be the track with the speech you want.

If ffprobe showed two audio streams and you need the second one, map it explicitly:

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

0:a:1 means “first input file, second audio stream”. Listen to a few seconds of the WAV before transcribing a long file, so you know you picked the right track.

Step 3: transcribe and choose an output

Run whisper-cli on the WAV with a model and one or more outputs: plain text (-otxt), SRT (-osrt), VTT (-ovtt), CSV (-ocsv) or JSON (-oj).

./build/bin/whisper-cli -m models/ggml-base.en.bin -f output.wav -otxt

The spoken language defaults to English (-l en). For a video in another language, use a multilingual model and pass -l with the language code, or -l auto to detect it.

How do you convert video to text with Weesper Transcribe?

Drag the MP4 or MOV into Weesper Transcribe, let it transcribe on your Mac, then export. There is no extraction step and nothing is uploaded.

Weesper Transcribe is a Mac app for transcribing files you already have. Its App Store listing describes “drag-and-drop audio AND video, in one window”, naming MP3, M4A, WAV, MP4 and MOV among supported formats.

Step 1: drop the video into the app

Drag the file onto the window. The app needs no microphone or Accessibility permission, and a bundled model means it transcribes offline from first launch.

Step 2: let it transcribe on device

Transcription runs locally, with Metal acceleration on Apple silicon. It requires macOS 13 or later and also runs on Intel Macs with AVX2 (Haswell, 2013 or later). Language auto-detection means a French webinar or a German interview needs no manual setting first.

Step 3: export text or subtitles

The free version exports plain text. Pro adds SRT and VTT subtitles, Word (DOCX), PDF, Markdown, HTML, CSV and JSON, plus clickable timestamps, editing and search.

The free version handles files up to 15 minutes, one at a time, which covers most screen recordings and phone clips. Pro is a one-time purchase with no subscription that removes the limit and adds batch processing; the App Store shows the price in your region before you buy.

Its App Store privacy label states that the developer does not collect any data from the app. For a whole folder of videos, see how to batch transcribe audio and video files on a Mac.

Do you want a transcript or subtitles?

Choose a transcript when you want to read, quote or search what was said; choose subtitles when the words must appear on screen in sync with the picture.

You can produce more than one from the same pass: whisper-cli accepts several output flags at once, and the app exports the same transcript to each format.

Which video to text route fits you?

Pick by how much you want to do in Terminal. Both routes keep the video on your Mac.

ffmpeg + whisper.cppWeesper Transcribe
Video inputExtract audio to 16-bit WAV firstDrag in MP4 or MOV directly
Multiple audio tracksChoose with -map 0:a:NNot documented on the listing; extract the track first if it matters
InterfaceTerminalMac app
Language-l flag, English by defaultAuto-detection
ExportsTXT, SRT, VTT, CSV, JSONTXT free; SRT, VTT, DOCX, PDF, Markdown, HTML, CSV, JSON with Pro
Mac requirementBuild from sourcemacOS 13+, Apple silicon or Intel with AVX2
CostFree, MIT licenceFree up to 15 min per file; one-time Pro

How do you get a better transcript from a video?

Most problems with video transcription come from the audio track, not the speech model. Check the track before blaming the transcript.

For MP3 files and other compressed audio, our guide to converting MP3 to text on a Mac explains why bitrate matters.

Turn your first video into text

Converting video to text on a Mac offline means getting at the audio track and transcribing it locally. ffmpeg and whisper.cpp give you full control over which track and which output; a dedicated app removes the extraction step.

Have an MP4 or MOV waiting? See how Weesper Transcribe turns video and audio files into editable text, then download it from the Mac App Store: free for files up to 15 minutes, with a one-time Pro upgrade and no subscription. Setup questions are answered in the Help Center.