Because there's a limited amount to do during the age of COVID, for a while now I've been working on a weird project. I really enjoy watching videos in QuickTime Player X—I like the look and feel, and the minimalist UI—but the number of supported video formats is lacking, to say the least. It doesn't support older XVID videos, it doesn't support the VP9 format YouTube uses for 4K, and it doesn't support HEVC on any OS's older than 10.13.
Of these, the most annoying for me was the lack of VP9 support. I watch nearly all Youtube videos by downloading them with an Automator Service, and even on my 1080p screen, 4K Youtube videos clearly look nicer due to their higher bit-rate. QuickTime used to have a plugin system for third party codecs, but they dropped support beginning in Mavericks (my OS of choice). And because they dropped support, no one has ever bothered to release a plugin for HEVC or VP9.
But there were plugins! Flip4Mac developed a plugin for Microsoft's WMV format, and Perian famously added support for a wide range of formats by leveraging open-source FFmpeg code. Newer versions of FFmpeg support newer formats, but not the old version Perian is based on.
@Madd the Sane has tried a couple of times over the years to update Perian to use a newer version of FFmpeg, but he never got it working, and I didn't think I'd be able to do anything he could not. However, I noticed that another developer, René Bertin, had previously created a stripped down version of Perian called FFusion†, which removed a number of importers that (as I recall) never worked well anyway. I thought that this version might be easier to update, and I think I was right.
Here's the result:
Copy this into Library/QuickTime, and you should be able play 4K videos downloaded from Youtube. You'll want to tell
I've tested this component most extensively in Mavericks, but it also appears to work in Lion and Mountain Lion. It may or may not work in Snow Leopard.
----------
...now, if you've been paying weirdly close attention up until this point, the proceeding paragraph probably threw you for a loop. How can this component work on Mavericks, if Mavericks was when Apple dropped support for third party QuickTime components?
Well, that brings me to the other thing I've been working on—getting the Mountain Lion version of QuickTime to work in Mavericks! I wrote code to replace a couple of functions that Apple removed from AVFoundation, and added workarounds for a bunch of graphical glitches and a couple other quirks. I'm quite pleased with the result!
github.com
Now for an important caveat in all of this—these projects are designed for old OS's, but I'm nervous about how FFusion in particular will perform on old hardware. My 4790K is considerably faster than most Mavericks machines, and VP9 and especially HEVC are complicated formats.
I'm well aware that all of this is likely to have a very niche audience. It's for people running old versions of OS X, on either not-so-old or just unusually powerful hardware, who also download Youtube videos before watching them and also don't want to use VLC. At the end of the day, I basically made all of this for myself... but, I'm hoping it might be useful to someone else as well? I've certainly invested a lot of time at this point!
So, uh, if you're interested, try it and let me know how it works, or doesn't work? Up to you!
----------
† Okay, it's actually a little more complicated than that. The original version of FFusion was written circa-2003 by Jérôme Corne. This project later served as the basis for Perian, but Perian also added importers for a bunch of non-Apple container formats. In 2013, René Bertin removed all of Perian's importers so that the code would be easier to port to Windows, and named his version back to FFusion. I used René Bertin's version as a base for my version.
Of these, the most annoying for me was the lack of VP9 support. I watch nearly all Youtube videos by downloading them with an Automator Service, and even on my 1080p screen, 4K Youtube videos clearly look nicer due to their higher bit-rate. QuickTime used to have a plugin system for third party codecs, but they dropped support beginning in Mavericks (my OS of choice). And because they dropped support, no one has ever bothered to release a plugin for HEVC or VP9.
But there were plugins! Flip4Mac developed a plugin for Microsoft's WMV format, and Perian famously added support for a wide range of formats by leveraging open-source FFmpeg code. Newer versions of FFmpeg support newer formats, but not the old version Perian is based on.
@Madd the Sane has tried a couple of times over the years to update Perian to use a newer version of FFmpeg, but he never got it working, and I didn't think I'd be able to do anything he could not. However, I noticed that another developer, René Bertin, had previously created a stripped down version of Perian called FFusion†, which removed a number of importers that (as I recall) never worked well anyway. I thought that this version might be easier to update, and I think I was right.
Copy this into Library/QuickTime, and you should be able play 4K videos downloaded from Youtube. You'll want to tell
youtube-dl
to grab the VP9 video stream and the AAC audio stream, and to combine the two into an MP4 container. Or, download videos via my nifty little Automator service; the 4K version will automatically select the right formats.I've tested this component most extensively in Mavericks, but it also appears to work in Lion and Mountain Lion. It may or may not work in Snow Leopard.
----------
...now, if you've been paying weirdly close attention up until this point, the proceeding paragraph probably threw you for a loop. How can this component work on Mavericks, if Mavericks was when Apple dropped support for third party QuickTime components?
Well, that brings me to the other thing I've been working on—getting the Mountain Lion version of QuickTime to work in Mavericks! I wrote code to replace a couple of functions that Apple removed from AVFoundation, and added workarounds for a bunch of graphical glitches and a couple other quirks. I'm quite pleased with the result!
GitHub - Wowfunhappy/QuickTime-Fixer: Making Mountain Lion QuickTime work on Mavericks
Making Mountain Lion QuickTime work on Mavericks. Contribute to Wowfunhappy/QuickTime-Fixer development by creating an account on GitHub.
Now for an important caveat in all of this—these projects are designed for old OS's, but I'm nervous about how FFusion in particular will perform on old hardware. My 4790K is considerably faster than most Mavericks machines, and VP9 and especially HEVC are complicated formats.
I'm well aware that all of this is likely to have a very niche audience. It's for people running old versions of OS X, on either not-so-old or just unusually powerful hardware, who also download Youtube videos before watching them and also don't want to use VLC. At the end of the day, I basically made all of this for myself... but, I'm hoping it might be useful to someone else as well? I've certainly invested a lot of time at this point!
So, uh, if you're interested, try it and let me know how it works, or doesn't work? Up to you!
----------
† Okay, it's actually a little more complicated than that. The original version of FFusion was written circa-2003 by Jérôme Corne. This project later served as the basis for Perian, but Perian also added importers for a bunch of non-Apple container formats. In 2013, René Bertin removed all of Perian's importers so that the code would be easier to port to Windows, and named his version back to FFusion. I used René Bertin's version as a base for my version.
Last edited: