Compress video on Mac, the better way
Nov 3 · 2 min read
You want to reduce the size of a video without loss in quality. If you google ffmpeg compress video, the top answers are
1. StackExchange: Calculate the bitrate by dividing 1 GB by the video length in second, then use
ffmpeg -i input.mp4 -b .... output.mp42. ffmpeg wiki: Choose a CRF value, then a preset, and a tune,then
ffmpeg -i input.avi -c:v libx264 -preset ... -crf ... -c:a copy output.mkv…
What? Do you have to do math and make hard choices just to compress a video? You don’t. In fact, these commands are slow, and probably won’t give you the output you wanted.
Here’s a simpler, faster way:
ffmpeg -i [FILE].mp4Put in the filename. In the result, first look forSteam #0 Videothen, in your video stream, look for a data that have the unitkb/s. This is the bitrate of your video stream. It’s completely fine if you don’t know what bitrate means. Just copy down this number.ffmpeg -i [FILE].mp4 -c:v h264_videotoolbox -b:v [BIT RATE] -c:a aac output.mp4Put in your filename and bit rate obtained from step 1.- That’s it! Enjoy fast & good quality compression
Explanation:
-igives you the information of the video-c:v-c:a-b:vc: codec, b: bitrate, v: video, a: audioh264_videotoolboxa codec that utilizes macOS hardware acceleration, which make encoding superfast and you won’t be burning your CPU.- But, h264_videotoolbox doesn’t work well with CRF values. Even if you do
-crf 0you would still get unacceptably bad quality. That’s why we have to specify the bit rate. aacoffers better quality thanmp3at the same bitrate
Example



