So the 'Rave' app let's you watch Netflix, (YouTube, .. and other streaming services) with friends. It's easy to recognize that they use Android WebView
to display the source website first. They then listen to URL
changes, so they can detect that user's selected video, and then play that on their own Video Player (which probably is a webview
too).
Now the question is, how on earth do they manage to play Netflix on their webview player? Netflix's DRM policy requires you to have the native android app or a browser on your computer.
Since Rave are managing authentication using the WebView
, they must have found a way to circumvent the barriers Netflix has placed?
This has been a really interesting case study for me. It would be great to understand the legal implications of this too.
I did a lot of digging and tried to contact the developers of the said app. They didn't respond. However upon learning how any app implements DRM on Android, the answer was obvious.
They use ExoPlayer to stream Netflix shows on their app. I confirmed this by intercepting the traffic between their app and server in my own network.
The app (exo player) was regularly exchanging certificates with the official Netflix license server, as is required by WideVine.
TLDR;
Hence the obvious answer to this is that the company behind rave has obtained the rights to stream directly from Netflix's servers, as one cannot communicate with the Netflix license server without prior permission. This can be confirmed on the LinkedIn profile of the lead developer as he vaguely mentions that he collaborated with Netflix while working on this.
Pretty disappointed