Ferrocast Install

Compress a video to a target size on your Mac

Type the size you need and Ferrocast works out the bitrate from the video’s length, then writes a smaller MP4 next to the original. Nothing is uploaded. Ferrocast is free and open source (MIT) and uses ffmpeg on your Mac for video.

It aims for the size; it does not guarantee it to the byte. In our test the result came out up to 0.7 % above the target, so leave a small margin under the limit.

Download FerrocastFree · MIT · Apple Silicon · needs ffmpeg for video

What size to type

Upload limits and the target size to type in Ferrocast
Where it goesLimitType in Ferrocast
Discord, without Nitro20 MiB per file (since 3 September 2026; it was 10 MiB)19000 KB
Gmail attachment25 MB in total; above that Gmail adds a Google Drive link23000 KB

Sources: Discord developer reference and Gmail Help, checked on 27 October 2026. Ferrocast’s size field is in KB (1 KB = 1,024 bytes), so 19000 KB is about 18.6 MiB.

How to do it

  1. Install Ferrocast and ffmpeg. Install Ferrocast (DMG or Homebrew) and ffmpeg with brew install ffmpeg. Video compression needs ffmpeg.
  2. Select the video. Select the video in the launcher, or drag it from Finder and tap ⌘ for the Tools wheel. You can select several videos.
  3. Open Compress…. Choose Compress… and set the goal to Size.
  4. Type the target size. Type the size in KB, for example 19000 for Discord. The window shows the bitrates it will use, and refuses a target that is too small for the video’s length.
  5. Resize if the video is long. Optionally turn on Resize and set the longest edge (for example 1280). It never upscales.
  6. Press Enter and check the size. The copy is written next to the original as “name compressed.mp4” and never overwrites it. Check its size in Finder before you upload.
brew install ffmpeg
Install Ferrocast with Homebrew
brew tap drumst0ck/ferrocast
brew install drumst0ck/ferrocast/ferrocast
ln -sfn "$(brew --prefix)/opt/ferrocast/Ferrocast.app" \
  /Applications/Ferrocast.app
open /Applications/Ferrocast.app

How the size becomes a bitrate

A video’s size is roughly its bitrate times its length. Ferrocast divides the target size by the duration, keeps a share for audio (128 kbit/s, or 96, 64 or 32 when the budget is tight) and gives the rest to the picture. The video is re-encoded once as H.264 with AAC audio in an MP4 file.

Example: a 60-second clip at 19000 KB gets about 2.5 Mbit/s in total, which is plenty for a 1080p screen recording and tight for a fast game clip.

When to lower the resolution

The longer the video, the fewer bits per second fit in the same size. For long clips, lowering the resolution often looks better than keeping 1080p at a very low bitrate.

Limits

Related guides

Questions

What size should I use for Discord?

Without Nitro, Discord accepts files up to 20 MiB since 3 September 2026. In Ferrocast type 19000 KB to leave a margin.

Is my video uploaded anywhere?

No. Ferrocast compresses the video on your Mac with ffmpeg; nothing is uploaded.

Will it hit the exact size?

Not to the byte. Ferrocast computes the bitrate from the size and length and encodes once, so the result lands near the target and can be slightly above it. Leave about 5 % of margin.

Do I need ffmpeg?

Yes, for video. Install it with brew install ffmpeg. Images can be compressed without it.

Does it overwrite my original?

No. The smaller copy is saved next to the original as “name compressed.mp4”.

Can I compress several videos at once?

Yes. Select several videos and open Compress…; each one is compressed to the same target size.

Is Ferrocast free?

Yes. Ferrocast is free and open source under the MIT licence, with no account and no paid plan.

What languages is Ferrocast available in?

English, plus Spanish, German, French, Brazilian Portuguese, Japanese and Simplified Chinese. It follows the macOS language order, or Settings → General → Language. The choice stays on that Mac and is not synced. Anything not translated yet shows in English. Names you type and what Raycast extensions show are never translated.

Related