There has been some controversy about an announcement by Seven Networks to broadcast the Japan Olympics in 4k over Optus’ 5G network. The controversy being that they will only be offering 4k through Optus.
Optus is clearly using this as a way to drive customers onto their new 5G network and have at least taken an implicit swipe at NBN and its lack of performance.
Many people are upset that they will be unable to access this streaming due to the lack of 5G coverage or that they don’t want to buy the appropriate equipment to allow them to receive this.
So was this a good decision by Seven? I believe it is, however the reasoning will surprise you. It does not mean that 5G is some great network that will beat NBN. The reason goes to the heart of a growing problem in the internet live streaming industry that unless solved is headed for a train wreck.
It is worth remembering that Optus has already had a big failure when they sub licensed some of the Soccer World Cup games from SBS and attempted to broadcast them over their mobile network. It was a massive failure, even triggering the then PM, Malcolm Turnbull, to put a call into the CEO of Optus.
So why did it fail? Optus completely underestimated the demand, indeed given the scale of the failure involved I actually wonder if anyone in management & marketing even consulted the IT and Networking engineers to ask about capacity.
With any streaming you always have to budget to send a separate copy of the video to every single person who asks for it. If a lot of people are asking for it, this traffic quickly multiplies up. So if a video streaming in HD (using about 5Mb) is being requested by 100,000 people that amounts to 500Gb of traffic. Now with appropriate banks of servers in datacenters that is quite doable. When sending pre-recorded video (youtube, Netflix etc) you can also play some tricks like send the data in bursts and allow the receiver to store (“buffer”) many seconds of video ahead that can make up for any slowdowns or congestion (i.e. render them invisible).
However live streaming creates a number of unique challenges. Firstly depending on your definition of “live” there really can be no prebuffering – otherwise you would be delaying the video (no longer “live”). This means that the servers must generate a very smooth stream of data at 500Gb, any congestion or delays and the video stops or breaks up, leading to a very unpleasant watching experience. Secondly players will get out of sync (maybe the user paused it briefly) with each other so that each stream is being sent slightly different data. That position in the stream has to be tracked for each individual user, more computation and data fetching power required in the servers.
I don’t know the number of subscribers to the Optus Soccer, but clearly either the servers being used or the network delivering the data could not keep up.
This is all bad enough in HD, but if you bump that up to 4k (which uses 25Mb per stream) and now instead of 500Gb of traffic, you now have 2.5Tb of traffic to support those 100,000 users.
So it is highly possible that Seven were actually staring down the barrel of not offering 4k at all: they just could not justify the expense of the server hardware required (even when rented – which is what content companies such as Akamai do) to supply the 4k streams for the two weeks of the Olympics. It is also extremely hard to test these things – it’s not like you can corral 100,000 users in for a system test!
So if Optus came to them offering to do it over 5G there are several distinct advantages for Seven: Firstly it would mean they could say they are actually streaming in 4k. Secondly it will be to a limited audience (due to the lack of 5G coverage), thus limiting any issues with capacity. Thirdly and this is most important: they will likely use a technology called “Multicast”, which is possible over 5G.
So what is Multicast? As I explained above the problem with internet streaming is that it requires the data to be individually sent to each user who wants to watch the stream, every user sets up a new session all the way back to the server. This is called a “Unicast”.
If you compare this with the traditional (“over the airwaves”) broadcast TV, the transmitter just sends a single copy (stream of data) everywhere and each receiver just passively receives the signal. There is no extra load put on the transmitter just because someone new decides to start watching.
In attempting to duplicate this behaviour over the internet, some years ago the internet engineers came up with a concept called Multicast. To understand it if you consider the internet is built a bit like a tree, with the transmitting server at the base of the trunk and the users at the leaves. What Multicast does is allow users to register with the immediate branching point below it (a router) that it wants to receive the streaming traffic. If that stream is not in the routers list it will send a message to it’s next router below that it wants a copy and so on down to the base.
The transmitter then just sends a single copy of the stream up the trunk to the first router which sends a copy up each branch to the next router until it reaches the user at the leaf.
In the 5G context the final branching point will be the tower which will send out a single copy of the stream for all the users to receive.
The key point is that there is no extra bandwidth or server load required as each new user starts watching.
There only downside is that each user will be playing exactly the same thing, but for live streaming this is exactly what is needed. Any pausing or rewinding of the stream must be done by the player storing the data locally.
NBN and the bigger picture
When NBN was first designed they did incorporate Multicast into the FTTP product, however it was not done well. It was designed for companies (ironically they probably had Foxtel in mind) to have their own separate connection and to always use that connection to provide a multicast service. Of course there was no takeup since that is not how people buy streaming services these days. Multicast was then completely left off the other technologies.
Multicast does not work well for the video on demand type streaming (e.g. Netflix), because by making it “on demand”, you can’t join multiple streams into a single one – different people will be watching different things.
However we are left with a problem, without multicast, live streaming will always be problematic over the NBN, not because the NBN isn’t fast enough (the usual criticism), but because unicasting a live stream at any scale will just put too much load on everything, not only the network but also the streaming servers.
It should be noted that 5G isn’t the magic answer here, it is only going to work in this particular instance, where a single company is essentially controlling the content, the delivery and the player hardware.
I fully expect that come the Olympics in 2020, we will see significant issues. If we don’t then, then it will be at the next major live streamed event.
10 Dec 2019