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.

YouTube5 v2.6.2

Wednesday, July 17th, 2013

Its taken over a month for me to finally find time to fix YouTube5, during which I have had time to fully remember why I hate the default player. But, as of now, it is fully working again! You can now watch Vevo videos and all YouTube videos without flash even installed. Most people have probably stopped using this plugin in the meantime, but hopefully many of you will reactivate it and continue using it.

For future reference, if you would like to receive notifications when YouTube5 is updated, follow me on Twitter @verticalforest.

YouTube5 Version 2.5 – Keyboard Controls

Saturday, December 8th, 2012

Its finally here, the most requested feature for YouTube5: keyboard controls. Its taken me a long time to get around to implementing these correctly, but its done now.

The available controls are:

Space: Play/Pause
Left arrow: Back 5 seconds
Right arrow: Forward 5 seconds
F: Fullscreen
P: Popout

Also included in this update is a rewrite of the fullscreen interface. YouTube5 no longer uses the Apple provided full screen controls, which allows it to look much nicer and function more reliably. And yes, keyboard controls work in fullscreen mode too. Enjoy the update!

YouTube5 Version 2.4.1 Bugfix for YouTube

Saturday, September 15th, 2012

Many thanks to dlh for submitting a fix for changes YouTube made a few days ago that broke the extension. I have just released version 2.4.1 which should fix all the issues.

YouTube5 Version 2.4.0 – Now with Pop-Out

Saturday, August 18th, 2012

Although the availability of my time to work on this project is sporadic at best, I do occasionally find time to make major upgrades. On that note, I have just release YouTube5 version 2.4.0, which includes several fixes and one major improvement. It fixes Vimeo support (although I am still encountering issues with some videos that I cannot figure out), and all the artwork in the player is now vector based (SVG), so it will look better when scaled up.

The major new feature is Pop-Out. Just click this icon:

And the player will pop out of the page and expand to fill most (or all) of the page.

Best of all, this will work on any website, not just YouTube.com. Tired of small embedded videos on your Facebook feed? Just pop them out to view them at a larger size, but without needing to go fullscreen.

Downloading Videos with YouTube5

Tuesday, December 6th, 2011

Apparently I have not documented the process of downloading videos with YouTube5 well enough, because questions about how to do so are extremely common. Well, I finally broke down and made a video tutorial about how to do it, see below.

YouTube5 Version 2.3.0

Friday, November 25th, 2011

I have just released a new version of YouTube5, which I’ve had in a half-completed state for several months now but never had time to polish up and release. The biggest change in this version is that the player is no longer embedded in an iFrame, so it lives directly in the top level page. The main advantages of this change are simplicity and reliability. Previously there were issues with videos on YouTube channel pages continuing to play in the background after a new video was loaded, probably because Safari did not properly garbage collect the contents of the iFrame once it was no longer part of the page.

Technical details aside, this update should improve compatibility with several sites and other extensions. In particular, YouTube5 now properly integrates with clea.nr (formerly A Cleaner YouTube). It should also cooperate with videos in lightboxes and popups better. I’ve also discovered that it fixes videos in private browsing mode.

However, moving the player directly into the page has one downside: it is now affected by the site’s CSS styling. I have tried to minimize any problems that could result from this by using a reset stylesheet on all the elements inside the player, but there may still be problems with some websites. If you encounter any, please let me know and I will try to fix them.

The only other change in this version is the addition of an overlay that displays the video title and author before it is played, similar to what the default YouTube and Vimeo players already do.

YouTube5 Version 2.2.6

Monday, August 8th, 2011

I apologize to everyone for the recent delay on updating YouTube5 after changes made by YouTube broke it last Wednesday. I learned of the issue late Wednesday night, but was unable to fix it before I left Thursday to be out of town for several days without a computer. I’m back now however, and thanks to a fix submitted by vinnyrose, YouTube5 is fully functional again! Please let me know if there are any issues with the new version.

Update: It looks like I spoke too soon. The original fix broke support for embedded videos; I have now released version 2.2.7 which should get everything working again.

YouTube5 Version 2.2.0

Saturday, January 1st, 2011

This is the first major update in quite some time, and it holds several new features that will hopefully make YouTube5 even more useful.

First off, Vimeo had made some changes to their system recently that rendered YouTube5 unusable. This update restores full support for Vimeo, and also makes it possible to view videos that are only available as Flash videos (provided you have the proper codec). Support for Facebook video is also restored once again.

The most useful new feature added in this release is the “Use original player” link, visible while a video is loading and when the info overlay is active. Clicking this link will replace the YouTube5 player with the Flash player it originally replaced. This way, whenever you run into a video that just won’t load in YouTube5, rather than having to disable YouTube5 in Safari’s preferences and reload the page, you can just click a link to get back to the original player.

There are a few small usability enhancements in this release as well. First, clicking on the video will now play or pause it, similar to the functionality of most Flash video players. Second, volume level is now persisted between videos, so you won’t have to keep turning it down if you’re using headphones.

Finally, I have enabled the 240p FLV size of YouTube videos. For this to work, you must have Perian installed, as it provides a Flash video codec to Quicktime. If you do not have Perian installed, you will have to utilize the “Use original player” link to use the YouTube flash player to view this size.

YouTube5 Version 2

Wednesday, October 27th, 2010

YouTube5 has become far more popular than I ever imagined it would! I’d like to say a general thank you to everyone who has commented to make suggestions or just express appreciation for this extension, its a great encouragement to know it has been useful to so many people. Several months ago I had hinted that I was in the process of developing a new version of this extension, and I’m excited to announce that it is finally ready! This version is an almost complete rewrite, and includes many improvements over the first, including:

  • A custom designed HTML5 player to replace the usable, but very limited built-in player.
  • Support for Vimeo and Facebook video.
  • The ability to switch video resolutions within the player, without having to access Safari’s preferences.
  • Support for downloading videos from YouTube and Facebook.
  • A fully functional volume control, rather than just a mute button.
  • Support for displaying the video’s title, author, and source, in a video overlay, along with a link back to the video’s page on YouTube, Vimeo, etc.

You can see the new player in all its glory below:

And with the new overlay activated:

To download a video to your computer, right click on any of the format names and click “Download linked file”. Unfortunately, this only works on YouTube and Facebook, Vimeo is a bit smarter about blocking downloads, so you’ll simply get an “Access denied” error. This version also uses a different method for replacing flash videos with their HTML5 equivalent, which is much more reliable and also works on dynamically loaded videos, such as videos posted to a Facebook profile. The extension should update automatically to the new version. New users can download YouTube5 here.

Donations

YouTube5 will always be free, but if you would like to donate you may do so using PayPal with this link Please note that this is my personal and business PayPal account, hence the name “HomeSchoolDebate.net”.

Changelog

  • 2.1.0: Added option to disable autoplay of videos on YouTube.com, along with a system for displaying video errors.
  • 2.1.1: Updating support for YouTube after changes to their internal URLs. Thanks to gugod for the fix!
  • 2.1.2: Fixing YouTube channel pages after URL changes. 2.2.0: Fixed Vimeo and Facebook support again, added revert to original player link, made clicking on the video play or pause, added persistent * volume level, and enabled 240p FLV option for YouTube. Note: For FLV video to work you must have Perian installed.
  • 2.2.1: Minor update to make the new “use original player” link display when an error occurs.
  • 2.2.2: Fixed Vimeo support and enabled HTTPS on YouTube.
  • 2.2.3: Fixed Facebook support, and added a hack to make videos on Facebook work even with flash uninstalled.
  • 2.2.4: Hacks to enable on Facebook and YouTube with flash disabled.
  • 2.2.5: Fixing YouTube support.
  • 2.2.6: Fixed YouTube support after their update on 8/3/2011 broke YouTube5. Thanks to vinnyrose for the fix!
  • 2.2.7: Supplemental update to fix an issue preventing embedded YouTube videos from loading. 2.3.0: Moved player out of an iFrame, which fixes issues with YouTube channel pages and several other sites. Added system to display the video title * and author before it is played.
  • 2.3.1: Minor bugfix for player size detection that affected compatibility with the YouTubeWide extension.
  • 2.3.2: Major internal refactoring, and fixing Vimeo and Facebook support.
  • 2.4.0: Added pop-out feature to allow viewing videos at a larger size.
  • 2.4.1: Fix for YouTube compatibility contributed by dlh
  • 2.4.2: Fix for YouTube compatibility.
  • 2.5.0: Added keyboard controls and new fullscreen appearance.
  • 2.5.1: Adding support for YouTube start times.
  • 2.5.2: Hiding mouse cursor whenever the controls hide (fixes fullscreen mouse cursor issues).
  • 2.5.3: Minor visual improvements.
  • 2.6.0: Adding plugin blocking functionality, improving keyboard shortcuts, and fixing Facebook support.
  • 2.6.1: Fixing issue with blocking iFrames.
  • 2.6.2: Fixing support for Vevo videos and most of YouTube.
  • 2.6.3: Fixing issue with YouTube when plugins are disabled.
  • 2.6.4: Fixing issue with duplicate audio playback on YouTube.
  • 2.6.5: Fixing clicking on suggested videos on YouTube.
  • 2.6.6: Improving compatibility with Feedly.
  • 2.6.7: Fixing support for YouTube. (there is more to this update, more on that later)

F.A.Q.

Q: What videos will work with flash completely disabled/uninstalled?

A: At present, only videos on www.youtube.com and simple embedded videos will play if you do not have flash. This is because many websites (including Facebook) detect whether you have flash available before they even attempt to display the video. This makes it impossible for YouTube5 to intercept the video and replace it. I hope to find a solution to this issue, but for the now you will need to have flash installed for these videos to work.

Q: Why is there no 480p resolution option for YouTube?

A: The 480p resolution is encoded with flash, not H.264. For the HTML5 video player to play these videos, you would need to have a special codec installed for Quicktime.

Q: How do I download a video with this extension?

A: Right click on the name of the format you want in the info screen and click “Download linked file”. Or see this video.