Vertical Forest

YouTube5 and 1080p on YouTube

Wednesday, October 23rd, 2013

Several people have been noticing that YouTube5 now only offers a 720p option as the maximum resolution for streaming from YouTube. I’ve been aware of this issue for a while, and while I would love to fix it, it is sadly due to some architectural changes on YouTube’s end that make things very difficult.

Before about a month ago, YouTube offered 1080p and higher resolutions as self-contained audio/video streams in the MP4 container. Now, they only offer 720p and lower resolution streams. The reason for the change is that YouTube has adopted a new technology called MPEG-DASH which they now use exclusively for higher resolution video. MPEG-DASH splits the audio and video streams into separate files that are downloaded individually and combined only when played back by the browser, using a new HTML5 API called Media Source Extensions. The advantage of this system is that the player can now quickly and dynamically switch between different resolutions and qualities of video and audio streams to provide uninterrupted playback when the user’s bandwidth drops, just as Netflix or Hulu does.

The problem with this system is that Media Source Extensions are not currently supported by Safari. You can see this in action if you enable the HTML5 beta on YouTube and compare the maximum resolutions offered by the HTML5 player in Chrome vs. Safari. In Safari, even Google’s player tops out at 720p.

What this means for YouTube5

Until Safari gains support for Media Source Extensions, YouTube5 will be limited to 720p video (unless YouTube reenables their old higher resolution streams, which I doubt they will do). A Chrome version of YouTube5 is coming soon (I’ve been testing it for a few weeks now), and if I have time I may build in support for MPEG-DASH streams, allowing Chrome users to see the higher resolution videos. Sadly, that won’t help Safari any. I still prefer Safari to Chrome as my general purpose browser, and I am disappointed to see it begin to lag behind Chrome in standards adoption after Google’s Blink fork of WebKit. But for now, there is nothing I can do about it.