I had a surreal experience yesterday driving here in Sonoma County. My Bluetooth speakerphone rang and it was YouTube calling. How many people get calls from YouTube? The message was simple: I’d written a column critical of YouTube’s live Olympic coverage and they wanted me to try again.
“We’ve made a few changes,” said the voice on the other end of the line.
“What changes?” I asked.
“Just try it,” the voice said.
And so I did. And YouTube was correct.
The service is better for live streaming the Olympics. I can now reliably connect at 720p on a computer that couldn’t do better than 360p before. It’s still not perfect with occasional stutters and 1080p is still beyond me, but the service that was not usable at all a few days ago is now acceptable.
I wonder what they changed to improve the service?
I have some theories, one of which is, having stubbed their toes a bit, YouTube simply has fewer Olympic viewers than it had that first day of competition.
Taking a more positive view, to make their live service better YouTube could have increased available bandwidth, thrown more hardware at the problem, found and fixed bugs that were inhibiting performance, or made some changes in how they were encoding the video.
They probably made more than one change, but I’m fairly sure they did the last one — changing the way they encode video.
I was surprised when I visited YouTube last week (another surreal experience) and they told me the live video streams would be recorded and then reused as-is for repeat plays. This didn’t make sense to me so I asked about it twice just to be sure.
Encoding and recording a live performance means using single-pass encoding, which is less efficient than two-pass encoding where the computer takes one pass through the video to locate all the complex segments that will be difficult to encode, comes up with a plan to deal with them, then goes back for a second pass where the actual encoding takes place. By knowing what’s coming next, which isn’t possible with a truly live stream, the two-pass encoder can more fully compress the video, using fewer bits to transmit the same picture.
You have to use single-pass encoding for a live stream, but my expectation going into my meeting there was that YouTube would do two-pass encoding for the replays. When they said “no” I was surprised.
In my earlier Olympics column I could immediately see the problem, because the commercials, which are all two-pass encoded, played fine. It was just the one-pass encoded competitive action that wasn’t playing right for me.
I’m guessing someone at YouTube came to the same conclusion.
Of course live coverage still has to be done using single-pass encoding. But remember all encoding is done and video streams are served from the Google Cloud, meaning they share infrastructure. If two-pass encoding can lower the playback bit load by 50 percent, which it often does, then in the mix of millions of live and recorded streams being played at any time the recorded streams suddenly need half as much bandwidth, giving that up for use on the live side.
Or maybe my guess is wrong. I hope someone at YouTube will explain, perhaps in the comments. But that’s the best idea I could come up with about how YouTube could so quickly improve its Olympic video performance.
I’m glad they called.
(Note — If you prefer to read this post in Russian go here: http://softdroid.net/olimpiec-vosstanovleniya-na-youtube)