Can P2P networking with WebRTC be the solution to Netflix’ problems?
The news recently were around Netflix and Comcast duking it out over peering agreements. Netflix, being one of the largest (if not the largest) services in the US when it comes to bandwidth used to stream its services. Comcast being the largest player in broadband in the US (after you factor in their acquisition of TWC).
The short version?
- Comcast didn’t want to put Netflix’ own caching servers in its networks
- Netflix users on Comcast complaining about poor quality (not enough bandwidth)
- Netflix paying Comcast for peering its traffic. Things getting back to normal for its Comcast customers
- FCC wanting to allow “fast lanes” for cable providers, and by some opinions, kill net neutrality
- Netflix and Comcast trade words (nasty ones) about the freedom of the internet
Netflix streams of videos to its customers over the internet. It has no broadcast service (a technical limit for an “over the top” player), so each of its customers eats up megabytes of data per viewed second. It is going to get worse with the planned move towards 4K videos (that’s 4 times the number of pixels you see now in HD).
I am guessing that Netflix gets a hefty invoice at the end of each month from Amazon for its servers and bandwidth usage on AWS. Add to that the payment to Comcast, and in the future probably additional broadband providers, and you can see how this affects Netflix’ business.
During the weekend, this post by Brad Reed caught my eye:
Ars Technica’s Jon Brodkin has spotted a Netflix job listing for a senior software engineer who specializes in peer-to-peer networks. […]
What this means is that Netflix is looking at ways to create a giant P2P network capable of streaming movies through a BitTorrent-type system where users send and receive data to and from multiple different peers instead of through a central server. By using this system, Netflix could cut out Comcast as the middle man and have its own users essentially stream content to one another.
This goes threefold:
- If less data is sent by Netflix’ own servers, then Netflix pays less for bandwidth to Amazon
- If less data is sent by Netflix’ own servers, they need less servers and Netflix ends up paying less for EC2 to Amazon
- If less data is sent by Netflix’ own servers into Comcast’s network, then its special peering agreement with Comcast might not be necessary, and Netflix again ends up paying less
The only question I have, is why Netflix hasn’t gone through this route earlier already.
Back to WebRTC
Netflix is a user of HTML5 – it uses it for its video player. While I am not sure if and how it embeds and enables it on set-top boxes and mobile devices, I assume they do to some extent, or at least strive using it as well. The reason? Consolidation of technologies across devices reduces headaches and enables you to be more flexible with how you introduce new services and features to customers.
WebRTC being a part of HTML5 can fit nicely here. It has a data channel capable of sending arbitrary data, but more importantly, it has companies already using it as a technology for P2P networks. It is a short list of vendors, so it shouldn’t be that hard for Netflix to reach out to all of them in a span of a week or two. To make it easier for the guys at Netflix, here are the relevant vendors: Peer5, Viblast, Streamroot and Swarmify. PeerCDN got acquired by Yahoo already.
Each of these players has its own flavor and focus, but somehow I assume they can all find the time to talk to Netflix and assist them.
If Netflix will use a P2P technology, I’d place my bets it will be based on WebRTC. Nothing else seems logical.
Why is it important?
- WebRTC isn’ t just about video calls (see here for more uses of the data channel). It can be used in many ways to solve real-world problems of companies. This is one of these cases
- WebRTC is being used more and more to decentralize the web. It is counter intuitive to things like Cloud and Big Data, and I see both happening at the same time. It would be interesting to see how the end result is going to look like
- If Netflix ends up using WebRTC, this could be the most important use case of 2014 for WebRTC