(TL;DR: It boils down to using the right Sorenson codec.)

Sorenson codec 1 and codec 3 were both options in 2001, but FFmpeg cannot encode AND decode both formats. FFmpeg has a decoder for 1 and 3, but it only has an ecoder for 1. So, if we want to make our movie playable on an old Mac with older versions of QuickTime, then we’re stuck with codec 1 whether we like it or not.

ffmpeg -i input.mp4 \
    -size 640x360 \       # 360p resolution
    -r 30 \               # 30 FPS
    -codec:v svq1 \       # Sorenseon Video #1 codec
    -codec:a pcm_s16be \  # 16-bit big-endian raw audio (like AIFF)
    -ar 44100 \           # 44.1 kHz audio sampling rate (like a CD)
    -ac 1 \               # mono
    output.mov

FFmpeg’s Sorenson encoder is not particularly speedy, but most of the capable machines of today’s era can do a decent job. My computers can encode at about ~20-25 FPS, which approaches the typical playback framerate of 30. This means if the movie is “really” 1 minute long, then it will take a little more than 1 minute to encode.

This is the tradeoff that is inherent to any multimedia task. If you spend more time, you can get a better-looking result; if you spend less time, you’ll get results faster but they won’t be of the highest quality. Ultimately, however, there’s little point in making anything that your Mac can’t comfortably handle in the first place.

640x360 (16:9 display aspect ratio with 360 pixels tall, or “360p”) at 30 FPS plays well on my 733 MHz G4, but anything above that does not.

I’ve observed that doubling the video display size with QuickTime Player (Command-2) can result in slow/choppy playback, but a full-blown full screen playback renders it very smoothly. This means that playing back the movie is more efficient when it’s the only thing being drawn to the screen – which makes sense. And I do mean actual full screen playback (Command-F), not just resizing the video player window to the largest size.