Plex DVR

So, back when the Plex DVR was announced, I was super skeptical about the product. Yes, I liked that there was more competition on the market (to give Tablo a nudge).

I also liked that Plex was getting into a business of helping people gain media legally and easily. This is one of the problems that Plex has, it is a great media server that collects, sorts, presents and plays media. But, getting media into Plex is either difficult (recording OTA broadcasts then moving them over to a Plex server) or illegal (Torrenting) or a bit of both (ripping one’s own optical media).

What Plex DVR does is allow people with an antenna and SiliconDust HDHomerun device to capture OTA broadcasts into their Plex library and play it back when they want. I have been testing the Plex DVR for about a month now and have turned off the Tablo. Here are some thoughts about Plex DVR, hitting on some of the concerns I brought up when Plex DVR was announced:

  • There’s no live TV with Plex DVR. Tablo has live TV, but it is quite slow as the Tablo transcodes the incoming signal before sending it to the device – taking some 15-30 seconds when switching channels before video is presented. Plex DVR? Nothing, no live TV. It is still a huge hole. Yes, I understand Plex is really about collecting and organizing media and being just a DVR makes sense in this framework, but having live TV would still be nice. So, what am I doing? There is an app for iOS and tvOS named Channels that brings live TV to any iOS or tvOS device. The interface is beautiful, switching channels is nearly instantaneous, so channel surfing is totally doable here. Yes, it is not as integrated as the Tablo solution, but it brings crystal clear OTA TV and also does not downsample 5.1 audio to 2.0 like the Tablo.
  • There’s a need for a beefy Plex server in order to transcode OTA MPEG-2 video for devices like Rokus and Apple TVs. The SiliconDust HDHomerun EXTEND has a built-in transcoder and it works decently. The transcoder can spit out up-to 1080i h.264 video (“heavy” profile) or up-to 720p h.264 video (“mobile” profile). The problem I have here is that the “heavy” profile does not de-interlace videos and leaves the frames incoming as-is. The Plex client does not seem to do de-interlacing either, so videos that are in 1080i (which there are surprisingly a lot) look horrible. The “mobile” profile has a bandwidth cap of around 3Mbps so some of the video is a bit over-compressed and there are compression artifacts to be seen – this really only shows when the incoming signal is 1080i and it is downgraded to 720p. I wish that SiliconDust would have an intermediate profile that sits between “heavy” and “mobile”. One that has no bandwidth cap and de-interlaces 1080i video. For my setup, I have a fanless Gigabyte Brix Celeron 2807 box as the Plex server. It can’t transcode anything, but since I am using the 720p “mobile” profile, I don’t have to transcode.
  • There is a fan on the HDHomerun EXTEND and that sucks. Well, not anymore. This was the reason I finally tried out Plex DVR. SiliconDust released the HDHomerun EXTEND in a new case that is all metal and the top of the case is basically a huge heatsink. The internals seem to be the same, but because of the new case, no fan is needed to cool the device anymore! Win. The new EXTEND is heavy and feels of quality. It has been running great so far.
  • There are more boxes on the network to do the same thing. Well, yes this is still a thing. If one wants a two box solution, then the Tablo is the way to go. The benefit of the Plex DVR/HDHomerun solution is that the HDHomerun basically is a webserver with a REST API that allows anyone to access OTA video. If I wanted to, I could write my own scheduler and pull video from the HDHomerun EXTEND using curl – though, I probably won’t do that. :) The Tablo is a self-contained box that is semi-open, but not as open as the HDHomerun.
  • Dolby Digital 5.1 sound, oh how I missed you. The Tablo downgrades 5.1 audio to 2.0 audio – I understand why, it converts it to a more compatible AAC format with 2.0 channels for compatibility with mobile devices that cannot handle the AC3 format with 5.1 channels. But, it sucks when I watch TV on my TV and use my 5.1 home theater setup. I am not sure why Tablo cannot capture the AC3 stream and transcode the audio when sending the audio to any device which cannot handle AC3 audio, that’s what Plex does. Plex nor the HDHomerun touches the incoming audio stream. When a video with AC3 5.1 audio is played on a mobile device, my server transcodes the audio to AAC 2.0 – it doesn’t take much CPU horsepower to do that. When the video is played on the Apple TV, I get glorious 5.1 audio. This brings me to my next point…
  • The video quality of the “mobile” profile transcode is not close to being as good as the video from a Tablo. The Tablo de-interlaces all video and the compression seems to be good enough that things look sharp. The video from the HDHomerun using the “mobile” profile reminds me of online streamed video, not the sharpest, but good enough. On the audio side, the 2.0 audio from the Tablo is good enough. The 5.1 audio from the HDHomerun is excellent. So, in someways the two solutions have exactly the opposite strengths and weaknesses. I am choosing to get good enough video with excellent audio at this moment.
  • Videos are mine. Here’s one of the big reasons I wanted to give the Plex DVR a try: The Plex DVR records videos in either TS or MKV format directly on a filesystem that I can access. The Tablo records videos on a filesystem that is not easily accesible by the user. Getting videos off the device requires a third-party app that may or may not be around at any given time – and recently, Tablo changed their API, so many of the third-party tools are in flux as they get re-written to use the new API (as the old API is deprecated).
  • Everything in one place. With Plex, not only are all my TV shows and movies in the (beautiful) Plex interface, but so is my music. My pictures and home movies can be in there too, but I don’t feel like adding them. Having all my entertainment media in one place with one interface is really nice.
  • Remote playback that works. Remote playback of videos in Plex works and works well. Tablo remote playback was always hit or miss – usually on the miss side. Tablo has some work to do on their remote playback. The one thing Tablo has in their court is remote access to live TV, that works (kind of) and Plex does not have anything close to it. The “kind of” for Tablo remote live TV is because it is buggy, very buggy. I find that if I use bandwidth settings of 1.5Mbps or less, it works OK. Anything above that and I get weird static at the bottom of the video or endless buffering – my home upstream bandwidth is 12Mbps, which should be good enough.
  • Much better tvOS integration. Plex has done their work to integrate their app with tvOS. The big thing is that Plex populates the tvOS Top Shelf properly. The Tablo app for tvOS only shows a big “Tablo” logo in the Top Shelf, not very useful. I requested Top Shelf integration a while ago, but haven’t head anything since.
  • Trakt.tv integration. Plex does not support Trakt integration natively on the server, but there is an easy to integrate plugin that adds Trakt functionality to Plex. It works and it works well. I also requested Trakt integration with the Tablo, but again there hasn’t been much news on it.
  • Feed my OCD. Plex has an open API and there is one cool tool that is out there which helps to feed my OCD. The tool is PlexPy and it is a separate process that runs and watches a Plex server. It collects metrics about media being played on the Plex server and creates graphs and logs and all kinds of goodies with that information. It also has a robust notification engine that allows for it to notify me when items are added (ie. DVR has finished recording something and added it to the library), when things are played, when the server is buffering and/or when the server goes up and down. It is a powerful tool.
  • Recording Priority. One of the nice things that Plex DVR has implemented is recording priorities. I can schedule all I want, then drag shows up and down in the priorities list. If there’s a conflict, the recording priorities takes care of what to record. There’s no such thing for Tablo.

There’s probably more that I want to write, but this will be it for now. I will write more as I continue to use Plex DVR.