FlashVideoReplacer - Use Native Video Playback Facilities On Sites Like Youtube
FlashVideoReplacer is a Firefox add-on that strips out the Flash video on sites such as YouTube, automatically replacing it with a standard video file that is re-embedded on the page. In a nutshell, this means that a native player is used instead of the embedded Flash player. This can offer a huge performance benefit for web-based video playback, particularly full-screen playback.
Flash video performance on Linux is quite poor compared with that of Windows. Even if the playback is acceptable for a given situation, it tends to be inconsistent, often slowing down periodically. Full-screen video playback is particularly poor, often becoming unacceptably choppy. This high CPU usage also slows down the rest of the system.
There is a solution, although it has some limitations, in the form of a Firefox add-on called FlashVideoReplacer. This add-on dynamically changes the website sourcecode in order to replace the Flash video with a format that can be played using a native video playback plugin. This means that sites should look much the same but the videos themselves playback smoothly and consistently while using very little CPU. Best of all, it makes high quality, full-screen playback viable on Linux.
The main limitation of the add-on is that it currently only supports three sites, YouTube, Blip.tv, Vimeo. Fortunately, these are three of the most popular sites and FlashVideoReplacer wont interfere with video playback on sites on which you are already using standard flash playback.
Another problem is that seeking doesn’t work on material that hasn’t yet entered the cache. This means that you sometimes have to wait a while before seeking forward, although, once the whole video has loaded things begin to work as expected.
The familiar YouTube display, yet not so familiar?
I installed the add-on from the Mozilla Firefox website in the usual way. Following the advice on the add-on page, I installed the MPlayer-based Gecko Media Player using the Ubuntu package manager. Upon restarting Firefox, YouTube videos weren't replaced as expected due to a conflict with the FlashBlock extension that I had installed. Not to worry though, I simply added YouTube to the whitelist inside the FlashBlock preferences. Following this, I reloaded the page, and sure enough, the YouTube video popped up inside an embedded, but native, video player. Right-clicking on the playback window allows the user to access the preferences for the video player itself, giving a lot of options for video and audio quality.
Video playback was excellent, and switching to full-screen playback resulted in almost no increase in CPU usage. One difference between this player and the Flash player is that it requires a somewhat longer run up in terms of caching video. I remedied this by lowering the default cache size inside the video player preferences, and I found that lowering it from 2000k to 500k provided the best balance. When playing videos, FlashVideoReplacer can automatically select the highest quality stream if there is a selection, and this is configurable in the preferences. There is also a option to automatically pause the video player until the user starts it.
I'm impressed with this add-on, even though it has room for improvement, as decent web-based video playback has long been near the top of my list of wished-for Linux improvements. The main shortcoming is, of course, that it only works on three video sites. According to the author of the plugin support for a greater range of sites is possible. I'm hoping that this won't be too difficult for him to add, as I presume that the method that he is using is comparable to the method that video downloader plug-ins use, and some of those work on almost any video site.
I’m also hoping that some sort of solution can be reached for seeking forward in videos without waiting for the whole video to load.
Hopefully, these limitations will be addressed if the author is properly supported via useful feedback, encouragement and paypal donations. I certainly hope so as it's already a fantastic add-on.
[update: see comments for remarks from the author of the add-on about how it works.]