Update: Sept. 3, 2019 - Added information about addons and how to create your own web launchers.
Over the weekend I set up a TVheadend server to connect my OTA antenna in my house and server over my local network. Here in Phoenix we have amazing OTA coverage. Something that I’ve been trying to focus on is anytime I set up a new service or a new server I asked myself, “Can a Raspberry Pi do this?” I have a few of them that are hanging around and for such little power usage, running on a RPI instead of on a desktop or virtual machine in my home lab is a no-brainer.
One of the things that I love about setting something up like this is the challenge that comes along with it. Setting up a RPI from scratch and then installing a server on it feels like it should be an all day task, but that’s something to be said for the state of the RPI ecosystem. Over the years setting up a RPI has gone from: - This is a serious hobbyist tool. - Then anyone can do it but you have to have a little bit of know how. - Now it’s seriously simple to set up on most of these applications that elementary school kids do it in after school programs.
In fact it’s so simple I was able to set up it up and running in about 20 minutes. That’s one of my favorite things working in this space and coming up with the side projects. Often they’re actually much simpler to do them than when you first start reading through the instructions on how to set it up.
Real fast in order to set this up all you need to do is I was install Raspbian or any flavor of Linux running on your Raspberry Pi. Then set up the TVheadend server with a few short commands and you’re off and running. I am using a SiliconDust HDHomerun Dual tuner for my antenna. This is an older model that doesn’t work out of the box with Kodi or Plex or any of the other streaming services that you can set up on your own. But I didn’t want to give up on this device. It works perfectly fine, it just happens to be old.
So… Why not just use Plex?
My goal was just to use existing hardware that I had around the house and the HDHomerun has been working fine for my usecase. We’ve been able to view live TV on the laptops by opening up the HDHomerun app. However,I wanted to make a more complete experience by having it come in to Kodi. The other thing that I wanted is to be accessible on all devices. The HDHomerun app on Windows and OS X works well, but I’m a 100% Linux household and the app for viewing the HDHomerun is it always the most intuitive to non-technical users.
So here’s my set up - A Raspberry Pi model 2 B+ (I know, its very old at this point) and the HDHomerun Dual connected to a homemade antenna. If you want to see which antenna I made, the video is right here.
Software wise I had to install the
hdhomerun-config, which is in the official repositories (another amazing feature of Linux). Then, install TVheadend using their guide. Using the web server that comes with TVheadend, finished the install right there in the browser. It was amazingly simple.
My biggest takeaway in all of this is how easy it is to get these kinds of things set up and how much fun it is to actually get them done. This just made the OTA antenna in our home get used a lot more Now, without extended storage we’re not using it as a DVR but that was never the goal. The goal was just to be able to watch it in a single unified interface. Which is also got me thinking about my Plex set up now that I’ve gone back to using Kodi.
As I mentioned it has been awhile since I ran a Kodi HTPC instead of Plex. Kodi often gets a bad rap as being for pirated content. Yes, there are absolutely ways to use Kodi for finding and stealing content. But the official, legal apps that are available for Kodi are phenomenal. Recently I’ve re-acquainted myself with PseudoTV, an app that gives a cable-like experience with your own content.
What PseudoTV reminded me was just how deep and detailed you can go with your own Kodi build. From themes to launchers for obscure YouTube channels and even any custom apps you write yourself are all perfectly acceptable. Plex does have the capability to install addons onto your personal server, but the quantity pales in comparison.
Recently I built some custom launchers that open a fullscreen Chrome browser and allows me to find and watch content from Shudder, a streaming service just for horror movies. There may not be an official app for Shudder on the desktop, but due to the open nature of Kodi I can plugin pretty much anything I want. When using Kodi on Android, I can just set a launcher for any app on the device including all the major streaming services (and my beloved Shudder).
Creating a web browser app for Kodi
First download the Advanced Emulator addon for Kodi.
Then, navigate to the website you want to appify. When there (and logged in, like for Hulu, etc.) go to the settings window and click More Tools and Create Shortcut.
In the options window, rename the app and check open as window.
This will add the app to the gnome launcher with an icon and the name you set. However it only opens in a smaller window. To adjust go to the application launcher:
Chrome gives the app an "app-id" so you'll have to browse through whatever is in there. I just
cat chrome-<app-id> until I saw the name of my app. In this case I'm creating a Shudder launcher.
To make it full screen and without the browser title bar, add
--kiosk right after where it executes Chrome, like this:
Exec=/opt/google/chrome/google-chrome --kiosk --profile-directory=Default --app-id=epffkfffophpagfbbklffindaiconkmc
Now when it launches it will go full screen.
To set launch from Kodi go into Advanced Emulator Launcher, hit "c" on the keyboard and select create new launcher.
Select standalone launcher, then navigate to where the location is for Chrome to launch in Ubuntu. In this case its
/opt/google/chrome and select
This is in the first part of the Exec path above. Then in the window for "application arguments" add the rest of the Exec command in the
.desktop file. For my Hulu app its:
--kiosk --profile-directory=Default --app-id=epffkfffophpagfbbklffindaiconkmc
Set the name, in my case Shudder, and set the platform as "unknown"
So long Plex, its been fun
I realized that I have a Plex server set up, but I don’t watch it remote and I don’t watch it on mobile. Because we removed the TV from our living room we’re not watching that much TV. It’s really sporadic when and where we watch TV. Mostly, we watch on laptops. This way you can go wherever and whenever without it taking over the screen on your mobile device. Although you would think because we’re moving around the house all the time we’d want it to be flexible where we would watch, using the mobile device is actually problematic. Since TV watching now is a multi-device, multitasking experience, by using the laptop I just carry it around to the kitchen counter or using the laptop stand on the sofa or on the bathroom counter.
This makes it so that we can have a more traditional experience of being able to channel surf or just have something light on in the background, but still being able to look in answer to text messages, reply to some work stuff or maybe actually watch another video (which happens more often than you think). Since Kodi has so many plug-ins and connections to the other services, it fits our lifestyle better.
To be honest with you, I don’t watch that much Hulu or Netflix. Mostly, I watch a lot of web content, like YouTube and Twitch. When you connect that with our existing library, which is just a network share, using Kodi reminded me how pleasurable of an experience that is. Opening the web browser and going to Plex has been fine, but with the additional plug-ins in a single unified interface, it feels so much nicer.
I realize there is a Plex plug-in for Kodi, which is nice, however where I’ve changed is running Plex on my LAN. I don’t see why I need a server on my server. In it’s original days as a fork of Kodi, Plex was a no brainer to run. Since it’s moved to freemium model and moving a lot of functionality behind a paywall plus getting into doing a more traditional content, I’m a little concerned about their access to my LAN and running it on my own hardware.
Not saying that Plex is doing anything nefarious. But, because it’s closed- source I can’t prove any of that. I also don’t think that I can justify the annual cost of paying Plex Pass for the service that they provide. I totally believe that good project deserves to get paid for what they do and I really love that Plex is able to pay so many people to be on staff for them. Plus, I see where they’re going and how they want to grow and how they want to be that unified it interface.
For how I could use it, and this is just me saying personally, Plex doesn’t necessarily fit for what it is that I want to do. Managing my own library plus YouTube, Netflix and Hulu, I don’t see how letting them run on my LAN without any knowledge about what they’re doing behind the scenes gives me a reason to continue to run it.
Side note: Here in Phoenix during the summertime I turn off my Plex server. When 18 TB of a file server that basically only serves TV movies, I turn that off in the summertime because of how hot it gets out here and how much power that box consumes. For four months out of the year that box is just off.
When I take all those things into consideration, the "open-source-ness", or lack of open-source that Plex offers, how great Kodi is and that the system is off for four months out of the year, I don’t see myself continuing to run Plex. It’s really simple to point Kodi to a file server and just use that as a means to deliver the content.
I also don’t need any of the additional services that Plex offers other than the Live TV stuff, which they don’t support my HDHomerun model or TVheadend server. They have podcasts in the mobile app now…? I jumped on that right when they offered it, but in my experience it has been lackluster to say the least. I also don’t need the free selection of movies and TV shows.
Last point on turning off my Plex server: The key that I really wanted was to have live TV incorporated with all of my existing services at our views. Paying annually just to get live TV into that space doesn’t feel like it’s worth it, especially factoring in that I’ll need to do a hardware upgrade for the privilege. So while I set up this live TV server and made it accessible across my whole network while incorporating it into my existing streaming set up I did do some investigation into other services like Emby or Jellyfin (the open-source fork of Emby) and then also what it would take to set up live TV and Plex, just came back to how simple and elegant the installation of a Kodi has been. Take into consideration of linking all of the additional services that I really need access to, I was really happy with what I ended up with this weekend
It’s so simple now that if you’re interested in setting up something similar, a $35 Raspberry Pi and a little bit of software you’re ready to go.