<p>I'd recommend a simple GUI app, such as <a href="https://apps.apple.com/us/app/smart-converter/id447513724?mt=12" rel="nofollow noreferrer">Smart Converter</a> [can't remember if it's free or paid, App Store won't tell you once you own it] or <a href="https://handbrake.fr/downloads.php" rel="nofollow noreferrer">Handbrake</a> (freeware) which is a lot like ffmpeg, but without all the typing.<br />
In both you can set up, or choose from existing, presets.</p>

CC BY-SA 4.0
2022-07-31T08:46:40.813Z
2022-07-31T10:46:24.897Z
2022-07-31T10:46:24.897Z
Tetsujin
<p>This bash script may be useful. It simply uses ffmpeg to compress  all large (&gt;150MB) mp4 files in a directory to half the size.</p>
<pre><code>#!/usr/bin/env bash
set -x
set -u
set -e

for fn in *.mp4 ; do
  filesize=$( ls  -l &quot;$fn&quot; | awk '{print $5}')
  if [ &quot;$filesize&quot; -gt &quot;150000000&quot; ]; then
    new_filesize=$(($filesize / 2 ))
    new_filesize_MB=$(($new_filesize / 1000000 ))
    fn_base=&quot;${fn%%.*}&quot;
    fn_ext=&quot;${fn#*.}&quot;
    ffmpeg -i &quot;${fn}&quot;  -fs $new_filesize &quot;${fn_base}.${new_filesize_MB}M.${fn_ext}&quot;
  fi
done
</code></pre>

CC BY-SA 4.0
2022-08-03T09:17:42.063Z
2022-08-03T09:17:42.063Z
Joshua Fox
<p>I have some smartphone video that is absurdly large for what is low-quality casual video: 100MB per minute. What is the easiest way to compress this (on Mac) using command-line or GUI, given that I don't want to optimize settings for this casual video -- just some sort of default?</p>
<p>I have found answers online (often quite outdated) to use  <code>ffmpeg -i in.mp4 -vf scale=1280:720 -preset slow -crf 18 out.mp4</code> or the like, but I am none too sure about  what might be an acceptable default.</p>
<p>I also tried  <code>ffmpeg -i in.mp4  -fs 100M out.mp4</code>, which gives decent results -- I am interested in any further good ideas.</p>

<mp4><compression>
How can I easily shrink over-large MP4s where high quality is not relevant?
Joshua Fox
# How can I easily shrink over-large MP4s where high quality is not relevant?

(Asked by: username_0 on 2022-07-31)

I have some smartphone video that is absurdly large for what is low-quality casual video: 100MB per minute. What is the easiest way to compress this (on Mac) using command-line or GUI, given that I don't want to optimize settings for this casual video -- just some sort of default?

I have found answers online (often quite outdated) to use `ffmpeg -i in.mp4 -vf scale=1280:720 -preset slow -crf 18 out.mp4` or the like, but I am none too sure about what might be an acceptable default.

I also tried `ffmpeg -i in.mp4 -fs 100M out.mp4`, which gives decent results -- I am interested in any further good ideas.

**Tags:** mp4, compression


---

## 2 answers

### Answer by username_1 on 2022-07-31. Score: 1

I'd recommend a simple GUI app, such as [Smart Converter](https://apps.apple.com/us/app/smart-converter/id447513724?mt=12) [can't remember if it's free or paid, App Store won't tell you once you own it] or [Handbrake](https://handbrake.fr/downloads.php) (freeware) which is a lot like ffmpeg, but without all the typing.  
In both you can set up, or choose from existing, presets.


---

### Answer by username_0 on 2022-08-03. Score: 0

This bash script may be useful. It simply uses ffmpeg to compress  all large (>150MB) mp4 files in a directory to half the size.
#!/usr/bin/env bash
set -x
set -u
set -e

for fn in *.mp4 ; do
  filesize=$( ls  -l "$fn" | awk '{print $5}')
  if [ "$filesize" -gt "150000000" ]; then
    new_filesize=$(($filesize / 2 ))
    new_filesize_MB=$(($new_filesize / 1000000 ))
    fn_base="${fn%%.*}"
    fn_ext="${fn#*.}"
    ffmpeg -i "${fn}"  -fs $new_filesize "${fn_base}.${new_filesize_MB}M.${fn_ext}"
  fi
done


---

