Flash, netbooks and too much bandwidth

Several online video sites estimate the bandwidth they can deliver too you and adjust the video bitrate accordingly. A good example is the Daily Show. Click on ‘Full Episodes’ and the player has a bar indicator and actually gives you feedback on:

  • Current Available Bandwidth
  • Current Video Stream
  • Max Video Stream

This is really nice for testing things. From my location the maximum video stream available was 1720kbs, which should not be a problem for a modern broadband connection. However, the Linux Flash plugin has notoriously bad performance in terms of video decoding on machines with limited resources, such as netbooks. This becomes particularly evident when you download a file and it plays fine but embedded in Flash it is close to 100% CPU load and only a sequence of intermittent still images.

In these cases, where you cannot choose a video bandwidth (such as 360p on Youtube), you can still reduce it by throttling the connection on an individual network interface. Debian-based distributions can just grab the wondershaper package for that.

After installing, it’s trivial to set the bandwidth. For example:

$ sudo wondershaper wlan0 1000 500 # parameters are: interface, kbs down, kbs up

Initially I chose 500/500 but the feedback from the Daily Show player showed that 500 was insufficient to deliver their minimum quality at 450kbs due to protocol overhead and everything else. The parameters above turned out to work nicely. Afterwards you can clear the throttling with the following:

sudo wondershaper clear wlan0