How to watch NowTV on Linux?

People have been asking NowTV about Linux support for ages. Just google "nowtv linux". Sadly, they don't give a crap about us. Even though Netflix, Amazon Prime, BBC and what have you figured out a way to let us stream their content in the browser, NowTV remains firmly in information middle ages, clinging on to their proprietary player.

Why bother?

I would like to care about them as much as they do about me and show them the middle finger by not giving them my money. I know it would hurt. Like, a lot. Ouch. However, they had the upper hand - Game of Thrones, West World, Silicone Valley and other good shows, which are not very kosher to torrent. Damn you, HBO for distributing your content through that joke of a streaming platform. Anyway, I got a subscription and even though I like my telly and all, I sometimes like to watch on my nice 4k 24" monitor hooked up to my sexy XPS 13, on which I run Arch, btw.

Things that don't work (for me)

I tried different things. VirtualBox (that falls into the category of sad jokes). VMWare (similarly not funny). Android emulator (if I wasn't so tough, it would make me cry). Casting from my phone to my laptop (I had to swap NetworkManager for ConnMan, which was fine, but WDS sink just didn't work for me). I never tried dual boot, because I'm not going to change the OS just to watch a show. I mean, come on, let's be real. Setting up everything for work takes a few minutes (Chrome with gazillion tabs, Slack, VSC, local servers, etc), booting Windows and then shutting it down even longer and I don't want to waste that time during my lunch break.

The solution

I had been really gutted about that up until recently. That's when I came up with an ingenious idea - how about use the NowTV app on Android and just mirror the mobile screen to my Linux laptop? The technology has been there for a while. After a quick research (just about a couple of hours) I found the winner - scrcpy. The name of the project may not very marketable, but it's a really good piece of software.

The app is very easy to use - you just run scrcpy in the terminal and that's it. No dodgy apps required on the phone, no complicated setup. Moreover, scrcpy is available also as a snap, so win all over. There are just a few prerequisites - you need to have android-tools installed (scrcpy requires adb included in that package). Also, you need to enable USB debugging on your phone after you activated developer options. As far as I'm aware, these are all the requirements, although I use the snap version and I had  adb installed for ages, so maybe I had already installed something that's required. If you find out, please let me know in the comments.

You can probably imagine my delight when I connected my phone to my laptop with a USB cable, run NowTV on the phone and scrcpy delivered "Silicon Valley" to my screen! Frankly speaking, I was expecting glitches, hiccups and stutters. None of that. The frame rate is good (I was getting constant 25fps), the quality is great. Full screen works like a charm. You can even control the interface with you mouse or touchpad or whatever else you might have. If you happen to have one of those stupidly long phones (like I do), you may notice that full screen has a massive padding around the picture. That's because the aspect ratio on the phone is idiotic, and it needs a bit of cropping. On my OnePlus 7 with native resolution 1080x2340 the following works great:

scrcpy --crop 1080:1920:0:250

Audio caveat

Wouldn't it be sweet if it was all perfect? Don't lose heart, it almost is. The only caveat is audio - mirroring works only for the screen, so the sound is still coming out of the phone. It's not an issue though, as I've found two working solutions for it.

Earphones connected to the phone

This one is pretty obvious - I used my Bluetooth earphones paired with my phone and it all worked perfectly. I have not noticed any delay between the audio from the phone and the mirrored picture. It's a testament to scrcpy's top notch performance.

Laptop paired with the phone

If you prefer to use your badass headphones connected to your laptop, there is an easy way to do that, too. For that I paired my laptop with with my phone over Bluetooth and presto! I could use my headphones as if I was playing the show directly on my laptop.

Summary

Pros

  • I can watch NowTV on my Linux laptop
  • The frame rate is great
  • The quality is great
  • No delay between audio and video

Cons

  • I need a mobile with NowTV app
  • The mobile is connected via USB cable to the computer
  • Audio is coming from the mobile

Overall I consider that a win, because I can watch NowTV on my Linux laptop with no hiccups, in full HD. I don't care about having to use earphones connected to my mobile or having to connect my laptop to my phone over Bluetooth while I watch. To be fair, even on the mobile speakers it can be pretty decent too, depending on the phone, obviously.

My setup

Lastly, I guess it could be useful to share my setup:

  • OnePlus 7; connected via USB cable to:
  • Anker 10 Port 60W Data Hub; connected to:
  • Dell USB-C Mobile Adapter DA300; connected to:
  • XPS 13 (9730); running:
  • Arch Linux (btw)

Thanks for reading, please remember to share!

Jacek