tvheadend, Plex Media Server & Chromecast

By Jake Edwards | Tuesday, March 17th, 2015 | Permalink | 5 Comments

I use my Chromecast regularly for all my media streaming, however it never allowed me to watch Live TV.
Why not consolidate the two? As I was already running a Plex server, adding a Live TV server into the mix would be ideal rather than using another PC.

Plex handles all the transcoding, meaning Live TV can be shown on the Chromecast, as well as any other device that supports Plex channels.

Setup

DVB-T Free-to-Air -> Sony PlayTV -> tvheadend -> Plex Media Server -> Chromecast

tvheadend

The TV server package I decided to use was tvheadend. It seemed to have the best support across all of the options I was able to collate — and it’s regularly updated too.

The server is running Debian, and tvheadend is provided as a package on the following repository. You’ll want to add this to the end of your /etc/apt/sources.list. Note that it needs to be the unstable version as the stable version is quite out of date;

deb http://apt.tvheadend.org/unstable wheezy main

The configuration was straightforward, with documentation provided on their Redmine wiki.

Sony PlayTV

This works reasonable well with a Sony PlayTV (dib0700) dual-digital tv tuner which you usually pick up off Gumtree or eBay for a reasonable price and works well with Australian TV.

You’ll want to put the firmware file (dvb-usb-dib0700.1.20.fw) for this tuner into the relevant /lib/firmware directory on your server;

http://www.linuxtv.org/downloads/firmware/#dibcom

I needed to disable the “Idle Scan” on each tuner through tvheadend as it was causing kernel panics after a few days of running. Power Save and Initial Scan are okay to use.

DisableIdleScanTuner

Plex Channel

To get tvheadend into Plex, we need to use a channel. There have been a few, tvheadend-ng which is available on GitHub. You’ll want to clone this into your Plex channels directory;

https://github.com/realriot/tvheadend-ng.bundle

Configuration was simple, though one notable point is that if you’re using a reverse proxy with tvheadend, you’ll need to put the path after the port in the Web Port field.

TvHeadEndPlex

Channel Images & Icons

The icons for the Plex Channel don’t appear correctly with security enabled on TVHeadEnd.

It’s a permission error. The trick is to whitelist for all users connecting from 127.0.0.1/32 to have full access. This assumes your Plex is running on the same server as tvheadend. You’ll need to amend your IP filter accordinglly. More detail on Gav’s blog.

Permisison Setup TVHeadEnd Whitelist

  1. I have a similar setup to you and for some reason I cannot get the logos/icons working in tvheadend or plex. Any tips?

    Comment by Brett — May 8, 2015 @ 11:00 pm

  2. Brett. Look in the system logs and see if you are getting a 401 error message. I put up a new blog post to help you out.
    http://gavowen.ninja/?p=167

    Comment by Gav — May 13, 2015 @ 8:02 pm

  3. Thanks for posting Gav.
    I’d forgotten about the broken icons. That’s the post I used to fix it.

    Comment by Jake Edwards — May 13, 2015 @ 10:12 pm

  4. That worked a treat icons are now showing up in Plex! Thanks

    However for some reason it won’t play in the plex iOS app. It works via web browser on the computer and I am able to cast to a chromecast, I was also playing on raspberry pi even though it had a very slight stutter (with mpeg 2 enabled).

    Does plex transcode the stream, it would be awesome if I could use via mobile data. But as far as I can tell there is no transcoding.

    Comment by Brett — May 13, 2015 @ 11:04 pm

  5. On the desktop you can choose Plex to transcode, or to not transcode (choose “Original” in the main Plex player settings for Channel quality). On the iphone Plex always transcodes, so you’re best to select “pass” for passthrough on Tvheadend to Plex, and let Plex do the transcoding, otherwise you’re double transcoding. It would be preferable if the Plex iPhone app also had the “Original” option for channels, so I could choose my own transcode parameters using the Tvheadend and then Plex would just pass that through.

    Comment by Gav — May 14, 2015 @ 3:15 pm

Leave a comment