Live streaming LoL with low bandwidth

Trying to watch League of Legends live broadcasts (Youtube) in Grass Valley on my slow fixed wireless link. My link is throttled at 768kbps, with a burst up front up to 2500kbps for a short time (15 seconds?). In San Francisco with the faster DSL I can watch 720p no problem and generally think Twitch is the most reliable. How about on a slow link? Conclusion: YouTube 360p Azubu 360p.

All tests are using Google Chrome on a Mac. Bandwidth is me eyeballing the median off of Tomato’s realtime bandwidth graphs. Numbers may be limited by my ISP’s 768kbps hard cap, I’m not entirely sure when the throttle applies. Measurements were taken during the game when the whole screen is live with scrolling backgrounds; bandwidth is lower if most of the screen is static.

  • 340kbps   youtube 240 live   fmt=92
  • 450kbps   twitch low (240?)
  • 530kbps   azubu 360p
  • 800kbps     youtube 360 live   fmt=93
  • 900kbps     twitch medium (360?)
  • 1100kbps? azubu 480p

All but the last option are reasonably reliable for at least a few minutes watching. Quality is not great. The lower 240p category is hard to watch, 360p isn’t bad. Audio is mostly fine (except Twitch low.) My impression is YouTube quality is better in both speed categories. It also seems to handle stream glitches a bit better. I think Azubu is stretching the truth in their reported resolution. (Update: it’s 360p, just more loss on the compression.)

I wish I knew which codecs everyone was using. No easy way to get that info from the Flash players, although presumably it’s determinable on inspection. YouTube’s debug info has those fmt= codes but there are no entries for that on the Wikipedia page for YouTube formats. This YouTube help page on how to broadcast suggests they’re using H.264 for video and AAC for audio. (The bandwidths line up with my observation, too.) A bit surprised they’re not using WebM/VP8, but maybe it’s a hardware support thing.

The video content is a bit rough for codecs, btw. Rendered graphics. And the whole screen is constantly scrolling, not many static parts of the screen. Even the background alters on scrolling because of the perspective projection the game uses.

lolss

My ISP’s burst interacts strangely with the streaming services. My thinking is that my 768kbps sustained network is just not quite fast enough for Youtube 360 or Twitch Medium, but my ISP doesn’t actually enforce that throttle for 15-30 minutes. Maybe because I’m only a tiny bit above my limit? Dunno.

Also worth noting that only Youtube has the weird sawtooth bandwidth thing. Azubu and Twitch both deliver a more consistent stream. I’m not sure if this really matters, given buffering in the network. I’m willing to bet Youtube is doing what they do on purpose, but I don’t understand why. The “stats for nerds” in YouTube’s player hangs at 0kbps, then bursts up to 1400kbps about 1.5s every 5s or so.

Graph below: YouTube 240p is the jagged line. The smooth line is either Twitch or Azubu, forget which.

Screen Shot 2013-08-31 at 1.29.14 PM Update: after watching a couple of hours I’m using the Azubu 360p stream. The YouTube 360p stream is better quality, but it’s just a tiny bit too much bandwidth for my link; the stream pauses every minute or so, very annoying. Azubu has the stream that’s just right for my bandwidth. They’re a bit odd in they’re serving a 530kbps 360p stream instead of 800kbps. The compression artifacts are awfully visible. But it’s better than the 240p options.

I think Azubu is using the same codec as everyone else. OTOH my Macbook Air’s fan is running pretty hard now, the Flash player seems to be using double the CPU of YouTube’s when viewing full screen. Not a big deal, but something’s different.