Ask HN: It's 2021 and QuickTime still doesn't export MP4. What is going on?
Every time I do a screen recording, I have to go trough the hassle of converting the video to MP4 on my Apple computer.
Even my iPhone can export to MP4 so I there is no reason for it not to work on my computer.
Come on Apple, please fix this super annoying business crap from the past when you tried to increase QuickTime installs on Microsoft machines by enforcing this now ancient format.
Just get over it.
75 comments
[ 5.4 ms ] story [ 152 ms ] thread...and Apple has been using MPEG-4 AVC and HEVC for at least a decade now, so I don't understand what the OP is complaining about: QuickTime *.mov files are MPEG-4 container files, which usually contain MPEG-4 AVC or MPEG-4 HEVC streams.
Other people are reporting the same problem: the other media software can't read Apple's screen-recording files, so I'm assuming this actually means that Apple's screen-recordings are saved using a codec other than MPEG-4 AVC or HEVC, but still in an MPEG-4 container. So for this conversation to continue, we need to know what codec/video-stream-format is actually being used (I don't have a Mac ready to experiment right now, sorry).
-----
UPDATE: After some research, I think that macOS screen-recordings are made using Apple's ProRes video coding, and then saved inside a QuickTime (aka MPEG-4) Container.
ProRes is very different to AVC, HEVC, etc, which explains why you need to transcode it to do anything useful with it.
-------
UPDATE 2: So screen recordings don't use ProRes by default, they use AVC (but what profile?), so I'm unsure why so many other programs and websites reject those files because, theoretically, there should be no problem in processing them, unless the site was written by someone who doesn't understand how video files work...
I guess the reason why I've assumed somethings off is because both Google Drive, Youtube etc. seems to take 10x longer do encode MOV files vs. raw MP4.
So you are saying there shouldn't be a difference then?
> So you are saying there shouldn't be a difference then?
There should be no difference if the video coding (codec aka "video format" aka "compression-standard" ) is already one of the standards (e.g. AVC, HEVC, etc). For example, AVC video in a RIFF file[1] should be able to be converted to AVC video in an ISO BMFF (aka QuickTime MOV) file without performing any transcoding at all, so it should take however long it takes for your computer to literally copy bytes from one file into another.
The evidence suggests that Apple's screen-recordings are made using the "ProRes 4444" codec, which explains why other programs need it to be transcoded, and why YouTube takes longer: https://support.apple.com/en-us/HT202410
[1] I believe this is theoretically possible, if utterly impractical
You could test whether the container format makes a difference by using the following FFmpeg commandline (e.g. if the output of this is any faster to ingest than the original .mov it could be that Google's ingest process sees some unexpected atom/table in the .mov that aren't used in .mp4?
ffmpeg -i screen-capture.mov -codec:a copy -codec:v copy capture.mp4
Edit: typo in the original post (had codec:c rather than codec:a)
> 4:2:0 chroma subsampling
It would be very un-Apple-like to make screen-recordings with chroma subsampling: that's the best way to make colorful hard edges look awful, and macOS is full of colorful hard edges.
Here's a mediainfo output for a Quicktime screen capture on the latest Big Sur release on an Intel Mac: https://pastebin.com/8SUZqMed
Edit: posted wrong output, fixed pastebin output to show the .mov straight out of quicktime (previously had a remux via ffmpeg)
That's why parent was asking about codecs, if the MOV has video in MPEG-1 and Google wants it in H.264, it has to reencode the video stream.
It's absolutely h.264, not ProRes. It's similarly h.264 when you record from the built-in webcam in QuickTime using the default "high" quality, but switches to ProRes if you select "maximum" quality for recording. (ProRes files are enormous, BTW.)
A lot of people report that simply renaming a "mov" file to "mp4" works when the data is h.264 such as in this case. Unfortunately every tool I have which takes .mp4 as input also accepts .mov, so I can't actually verify this since for all I know my tools might be ignoring the extension and autodetecting mov. But if anyone knows any websites that accept mp4 but not mov I'd be happy to test an upload and see if it works.
Edit, for anyone interested, here's the relevant output from mediainfo:
So either the QT export was a standard h.264 file, or Microsoft Streams is set up to recognize whatever weirdness comes out of QT (which seems unlikely to me).
Edit: Not QuickTime, qtkit. QuickTime itself hasn’t seen an update in two years but isn’t considered deprecated I guess.
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS! FUCK MASKERS!
I'm more inclined to believe that it was a UX designer with a misplaced drive to simplify at all costs.
The worst example of neglect though imho is how finder still doesn’t have an option to cut when you right click. How hard would it be to add that so folks don’t have to learn a keyboard shortcut?
GParted is still hands-down the best.
As for quickly navigating to your home directory, you can either spam ⌘↑ (or Go → Enclosing Folder) to go up to parent directories, or simply use ⇧⌘H (or Go → Home) to go straight to your home directory.
Oh wait..
2) Change file extension .mov -> .mp4
For the record, you can just say save -> change to MP4.
But no, QuickTime X is hot garbage; and pretty much represents the kind of downgrade we got from iMovie HD to iMovie 7/X, or the similarly awful FCP transition.
https://www.caniuse.com/webm
As I similarly say to those who engage in lengthy, anguished discourse about how it's possible that a loving God could allow such utter randomness and chaos in the world: "There is a simple answer that completely resolves this conundrum if you were but willing to hear it"
If you export from QuickTime using the Apple Devices preset on export, that is an MP4 profile. Simply export and then rename the file from .m4v to .mp4. I’ve done this countless number of times.
It exports as MP4/H.264. I just did it.
It's done it this way forever in macOS/OS X/Mac OS X.
Edit: https://imgur.com/a/7bHL9VK
I first heard of Handbrake 15 years ago when a friend told me he borrowed DVDs from the college library and burned them to his HDD using it. I started using it myself only in 2021 to compress videos for web projects. A 2MB MP4 video I've managed to compress to 200KB without much visual degradation on mobile.
https://handbrake.fr/