I want it out of the box in Safari, like all other browsers offer. Apple will get there eventually with AV1 and hopefully they'll add VP9 support as well. VP9 and AV1 have some features in common which makes implementing support for both easier.
What’s the quality of that support like? Chrome and Firefox technically support webm but since it’s software the actual user experience is noticeably worse: CPU fans on, struggling to maintain 30 FPS – exactly why Flash fell out of favor so quickly when an optimized alternative showed up.
Works fine. There are no CPU fans, no struggling to maintain 30 frames per second. I've played back 1080p30 VP9 video in Firefox on a 12 year old Intel Core 2 Duo desktop with no issues.
VP9 decodes faster than H.264 at same picture quality because the bitrate is lower:
It's too bad Apple hasn't turned it on. Intel has included VP9 decoding since Broadwell so a lot of recent Mac laptops have VP9 acceleration hardware ready to go.
> Works fine. There are no CPU fans, no struggling to maintain 30 frames per second. I've played back 1080p30 VP9 video in Firefox on a 12 year old Intel Core 2 Duo desktop with no issues.
> VP9 decodes faster than H.264 at same picture quality because the bitrate is lower
That's comparing ffmpeg's decode performance on the CPU using a single clip from one video. What I'm talking about is the difference which hardware acceleration makes, especially since older systems also have older CPUs without the newer instructions used by high-performance software decoders. VP9 implementations have been increasingly optimized over the years but it's really challenging to beat hardware performance even before you consider the power budget.
As a simple example, I opened https://www.youtube.com/watch?v=wbSwFU6tY1c on a 2.13 GHz Intel Core 2 Duo (2010 MacBook Air). That's playing a 1280x720 stream. In all browsers, even with ads blocked by /etc/hosts I had to wait ~20 seconds for the 80+% CPU from the YouTube JavaScript to settle down before starting playback. In Safari, that video takes between 3 and 8% CPU usage with no dropped frames. In Chrome, that's 80-120% CPU usage and about a 5% dropped frame rate.
Firefox is interesting: it ran at about 15-20% CPU usage, which is worse than Safari but still much better than Chrome. I thought that was odd but stats for nerds showed why: Firefox was using H.264. After using media.mediasource.webm.enabled to forcibly enable webm, it started using VP9 and that meant ~40% CPU with bursts up to about 80%. While that's clearly much better than the Chrome experience it's still a full order of magnitude more CPU than Safari's hardware path.
Remember, I'm not saying that VP9 is horrible but rather than hardware support is a really big deal and optimized video playback in general has non-trivial costs. Apple made a big investment in HEVC and it doesn't surprise me that they're investing in the next generation rather than spending time on the current generation since the fixed costs for tuning, testing, security, etc. are the same whether 100% or 5% of your customers use it.
> That's not the experience I've seen on newer hardware
Works fine for me at 1080p VP9 on a mid-2014 Macbook Pro. 720p VP9 also works fine in VLC on my iPhone 7. Haven't tried 1080p on the phone. It doesn't have the resolution for it anyway. 720p AV1 will probably work on the phone as well (AV1 decode is about 1.5x the complexity of VP9).
> What I'm talking about is the difference which hardware acceleration makes
So it's time to get Apple to enable the VP9 acceleration present in their latest models (around 2015 and later).
But don't worry about it. AV1 is coming and everyone is finally on-board with royalty-free video. The bad old days are nearly over.