Can Netflix be WebRTC’s Killer Use Case?

April 28, 2014

Can P2P networking with WebRTC be the solution to Netflix’ problems?

Netflix and WebRTC

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:

  1. If less data is sent by Netflix’ own servers, then Netflix pays less for bandwidth to Amazon
  2. If less data is sent by Netflix’ own servers, they need less servers and Netflix ends up paying less for EC2 to Amazon
  3. 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

You may also like

Comment​

Your email address will not be published. Required fields are marked

  1. A couple of thoughts:
    – Netflix already makes use of WebRTC to some extent through its support for Chromecast
    – At home I have plenty of bandwidth to stream from Netflix, but my upload speed is far slower. It is rarely the case that I am just watching Netflix, my connection is used for other things at the same time. Should Netflix move to a peer-2-peer model that is going to be not so good for (at least some of) their customers and could result in larger than expected bills for them (especially anyone using mobile).

    To be blunt, as a Netflix customer I am pretty sure I don’t want them to use peer-2-peer technology. I am already paying Netflix and my ISP for my current service and I don’t want to subsidise Netflix’s bandwidth costs. I’d far rather they were up front and raised their prices slightly instead of artificially keeping prices low by “stealing” bandwidth from me.

    1. Peter,

      You should replace your home 🙂

      P2P is nothing new. People use it with bit torrent and Skype. Companies use it for rolling upgrades of their systems. There’s a distinct move towards decentralizing the internet, due to Snowden and other reasons. P2P enables that, and Netflix doing it is just a use case.

      Typical customers probably won’t even know it or understand what it means anyway, so where’s the issue for Netflix?

      1. Tsahi,

        P2P is certainly not new, but I don’t think these are good examples when talking about Netflix.

        – Bit torrent is file sharing and people know what they are getting in for when they download it. Today Netflix is something I pay for and it works by streaming from a server.
        – Skype is far less P2P than it used to be and there always used to be an option in the configuration to stop your Skype becoming a SuperNode, plus Skype is a mostly free service. Today Netflix is something I pay for and it works by streaming from a server.

        P2P CDN for Netflix is going to require huge (and potentially disruptive) amounts of bandwidth from Netflix users. This isn’t really something they can just turn on without telling people because, if they do, someone will notice and blog about it, and there will be a minor uproar. If they do tell people before turning it on at least some people will ask for an opt-out or unsubscribe.

        People get upset with ISPs who offer “unlimited” downloads and then enforce a cap anyway. They will also get upset with paying for a service that uses their bandwidth to provide the service to others – especially if they end up having to pay fees for that bandwidth [1]. This changes the whole relationship between Netflix and its customers.

        [1] For example, I get 1GB mobile data a month (total up and down) for my iPhone. I know I can watch a sitcom episode using the “leftover” bandwidth from checking email etc. If Netflix became P2P this could be very expensive for me to do.

        1. A few things to note here:

          Using P2P doesn’t mean it is used for all, or that Netflix doesn’t do that without informing its customers about it.

          You can always configure P2P not to work by simply forcing a TURN relay (put the correct NAT in front of it).

          The fact that Skype uses P2P less today stems from the simple fact that Microsoft acquired them and they got patent issues with their founders.

          I have unlimited plan on both my phone and broadband at home. Which means that in some cases, P2P makes a lot of sense for Netflix AND its customers.

          1. All of which makes sense… but also means that turning P2P on by default would be a bad idea as asking your average customer to understand the issues and proactively turn it off isn’t going to work.

            Prompting customers in the hope they will choose to turn it on will require them to say things like “additional network charges will apply”, which means your average customer will say no just to be safe.

            I see no technical problems with Netflix using P2P at all, but I still don’t think it’s a good idea or really workable because technical problems are never really the main issue with these kinds of thing.

    2. Afaik ISPs bills are based on download, not upload.

      If 20% of the upload bandwidth of a considerable number of pcs and mobiles were constantly dedicated to p2p streaming and cdn (around 85% of websites network usage comes from its static assets, that are cacheable) the internet would be much faster, cheaper and richer. Faster because it could use geolocation to deliver content from your neighbors. Cheaper and richer because not only netflix but many website would cut costs with network and this could lead to better services and cheaper subscriptions.

      “I already pay for it, I dont want you use my bandwidth” would get the reply from companies: ok, you could pay less and/or have more/better services.

  2. I could see the use case for broadcasting quite interesting, but since Netflix is not viewed linearly, how big is the potential for this?

    While I like the idea and WebRTC could fit in, how big are chances that someone near me watches the exact same movie as I am to be able to stream from my (not infinite) cache content to them. Maybe this makes sense globally, say, there must be at least a few other people that watched what I watched around the time I need the content so it could be streamed from their cache, but I don’t think this is efficient and possible for Netflix.

    Maybe there could be a way of having a 20GB cache and a browser plugin that could serve content all the time my browser runs and is active also when not on Netflix, but I am not sure that people would like to donate 10-20% of their SSD to caching for Netflix (+ obviously Peter’s concern about using their bandwidth for it, although at home on FTTX I wouldn’t have a prob with it personally, but many DSL users have).

    All CDN samples you use are made for visiting web sites with the same content delivered to users, but that is not what Netflix does in majority I assume (unless, say, when House of Cards launches for example). That could only if enough peers would keep the content I want cached…

    I could see more potential in getting rid of Silverlight and making use of HTML5 video for streaming in addition of using EME (HTML5 DRM solution). This has the potential of kicking out Silverlight. I consider this more likely use of HTML5 (not directly WebRTC mainly, but still accelerated by its development) than using peer to peer for a rather unicast like streaming service.

    Sebastian

    1. Sebastian,

      I don’t think this is the way to go for all content, but it can easily be used where it makes sense. Here are some thoughts:

      – Binge viewing of the latest House of Cards is definitely a win if you have P2P on release day
      – Netflix uses analytics to drive usage of their service. They can add the logic of P2P related metrics into it (what are people viewing/what we’re suggesting in your area)
      – There’s a long tail, but somehow the most known content that is watched the most (and costs the most bandwidth) is going to be in the head of the tail – where many people view the same things at relatively the same time

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}