Video Compression ain't Video Compression

One of the motor oil brands had an advert that had the tag line "Oils aint oils", it turns out that this is also true for things like video compression.

Last weekend we set up a remote coaching setup based on the Pixem Remote Cameraman ( and the Pixem App's built in coaching solution ( Australian internet is less than stellar on the world scale and country locations are typically less good still. We are lucky to have a DCSI Acceler8ed Broadband wireless service (even if it is over 10km to the tower), but it is a bit weather dependent, we degrade in the rain or fog, and this tends to introduce both loss of bandwidth and jitter.

So how does this apply to video encoding? It turns out that the tricks that are good for movies are bad for sports coaching.

Video Compression

Compressing Movies

When sending a movie to a customer buffering can be used effectively to handle network jitter and loss of packets. Essentially a delay is introduced between the picture sent and the picture being viewed. If something goes wrong (an error or a slow down) the stream keeps playing from the buffer and we have the buffer length to provide the required information.

This is extremely effective unless you can't refill the buffer in which case everything freezes and the dreaded "rebuffering" message is seen

Compressing video for Coaching

This is an entirely different problem than movies. Where movies were all about continuity and I can wait for it, Coaching is all about the now. For coaching video buffers in the order of 10ths of a second are all that is tolerable. It is better to drop frames and show the current action than to see everything with a few seconds delay.

How does this relate to our coaching experience

We ran two coaching sessions, the one in fine weather went brilliantly well with the Hires service; the second session had rainfall and we experienced loss of video. We fell back to Facebook messenger video which handled things better (video conferencing codecs tend to be tuned a bit better for sports).

What did the application need to do to improve the experience:
  1. Notice available bandwidth was dropping and reduce the resolution of the sent image (variable bit rate) - resampling the video is often sharper than playing with compression parameters.
  2. Drop frames quickly and move forward in the stream.

The big observation was that:

  • the simple to use high resolution app worked brilliantly in pretty ideal conditions, but performed less well as network conditions deteriorated.
  • the video conferencing app worked ok in poorer conditions.

And the lesson we took from this was always have a Plan B.

Finally a request to those making tools for Equestrian coaches. Please test with really poor low bandwidth jittery networks. If you can make an OK experience in this circumstance, then your customers will thank you for it. Even in non-Australian networks there are poor performances to be had: 4G gets data through, but aggregates packets to do it making it "lumpy"; shifting between cell towers can upset smooth packet flow in most systems and even fibre based connections can be upset if someone uses all the local bandwidth.