Save some memory while running Youtube on Chrome avoiding flash

Note: with this procedure I assume you are logged in and you opted-in for the HTML5 beta on Youtube.

I’m usually use a dedicated Chrome profile for playing videos. When running multiple profiles, memory consumption can become really problematic.

Here a screenshot of the task manager on YouTube with a single tab playing a video enabled:
Image

That 82,000 KB and more are only for the Flash Plugin. A lot!

Let’s try to play the very same video with some tweaking. Close Chrome and reopen it, then press F12 and click on the gear on the bottom right, selecting Override and then iPad.

Image

 

After that go to youtube.com: you’ll be redirected to the mobile version of the site. Try to play with other User agents (if switch is ineffective try to close and reopen Chrome with the same settings). Here the memory consumption detail for the same video I played before.

Image

Flash plugin disappear here, GPU value are slightly greater but the page itself requires less memory than before.

Some videos requires some external video players to play, vanishing some of the improvements you got with this method. If I discover more about this topic, I’ll let you know.

Make Flash works with Chrome on Ubuntu 64 bit

  1. Download Chrome for Linux (64 bit .deb package)
  2. Install the package
  3. On shell type:
    $ sudo bash
    If you don’t have wget installed:
    # apt-get install wget
    # cd /opt/google/chrome/
    # mkdir plugins
  4. Get the latest experimental Flash Player “Square” on
    http://labs.adobe.com/technologies/flashplayer10/square/
    and then put it on Chrome plugins folder e.g.

    wget http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_2_p3_64bit_linux_111710.tar.gz
  5. Close and restart Chrome: now Flash 10 is working.

See also:

Video on Flash doesn’t buffer? Maybe a FLV and MP4 issue

I recently tried Flowplayer a Flash video player released under GNU GPL license. It’s great, since it has a plugin allowing pseudostreaming (it allows buffering from any server) with both FLV and MP4 (H.264 / AAC).

Using avidemux to convert my videos, I had no problem to play FLV files: buffering works as expected, I watch video while buffer is filled. But on MP4, I’ve to wait the video is fully buffered (downloaded entirely).

This is not a Flowplayer issue: this exaustive howto explain that FLV and MP4 files should be properly indexed to works with pseudostreaming.

  • For FLV files, you can use Flvtool2, a Ruby gem, available also on apt / synaptic via “apt-get install flvtool2” (Debian packages, description on rubyforge). Using avidemux, FLV files are ok even if I don’t use Flvtool2, so FLV metadata seems correctly handled by Avidemux. Ready for pseudostreaming!
  • For MP4 files, you have to move MP4 metadata (“moov atom”) from the end of the file to the beginning, since Avidemux seems to put it on the very end of the video file. To do this, I’ve used successfully a tool named mp4box (mp4box on videohelp, author website) using MP4Box-0.4.6-dev_20090519 version (win32 binary). Read also MP4box documentation on GPAC, you can also get it on sourceforge.

MP4Box usage example:

MP4Box.exe -add TEST_src.mp4 -new TEST_dst.mp4
IsoMedia import – track ID 1 – Video (size 848 x 480)
IsoMedia import – track ID 2 – Audio (SR 44100 – 2 channels)
Saving TEST_dst.mp4: 0.500 secs Interleaving

See also:

Flowplayer forum posts on same topic:

Qt-fastart (FFMpeg alternative), another post