As explained on the Project Page, two of the most important components to an HTPC are the “invisible” background services that acquire, maintain, and organize content (from here on referred to as the back-end), and the user interface that the viewer interacts with in order to experience the content on their TV (from here on referred to as the front-end). This guide, as you may have guessed, will detail the process I use to configure and maintain my HTPC’s back-end services.
Explaining the back-end prior to the front-end allows us to understand how the content viewed by the front-end software is aquired. The end product of the guide below will do the following:
- Automatically search for media such as Movies and TV Shows, as soon as they become availible
- Automatically download the found media to a temporary directory
- Automatically organize downloaded media by type
- Automatically download additional files such as fanart, trailers, etc.
- Configure remote access to back-end processes to allow remote management
- Enable media streaming to both local and remote devices
- Enable media conversion and downloading to iOS devices
The Operating System
When it comes picking an HTPC OS, there are a few availible options. At this point in time nearly any mainstream desktop OS has the capabilities to be used for an HTPC, and mobile OS’s have the apps needed to be used as a front-end. I’ve seen Windows, Linux and OS X builds, and I’ve also seen iOS and Android used to serve media to a TV. For the desktop OS’s, each has their own advantages and disadvantages, though personally, I prefer Windows 8.1 as my HTPC platform. The Metro UI found in Windows 8 was the subject of a lot of confusion and controversy, but interface allows for easy navigation with a remote control, and the tiles are the perfect size for use as a “pseudo 10 Foot Interface”. Additionally, Windows 8 has a variety of performance tweaks making it faster than Windows 7.
There were only a couple of annoyances that needed to be addressed when I first installed Windows 8. The first was to have Windows auto-login upon boot, which I acheived following this short guide. A second tweak that I personally don’t use but people may prefer is to have Windows 8 boot to the desktop upon login. This is nice if you have a front-end software set to run upon login, but I like the option of choosing what to launch from the Metro UI.
Prior to jumping into the local services installed on the machine, I want to mention a few subscription services I use that are either required or beneficial to an HTPC build:
Private Internet Access:
Private Internet Access, or PIA, is a lightweight, personal VPN service that hides a user’s online activity from eavesdroppers by passing data through an encrypted tunnel. While this isn’t necessary for a HTPC, it certainly isn’t a bad idea to subscribe to a VPN service depending on where you aquire media from.
BinTube is a Usenet client, also called a binary grabber or newsreader. This tool is used to download media from Usenet, a global network of computers where people can exchange information and files, and the location where most of your media downloads will come from.
NZBGeek is a Usenet indexer, and is used to better locate the media that you will be downloading. While this is not needed, the service tends to find better content to download than most of the default free indexers.
Now that the recommended subscription services are covered, we can dive into the actual programs we install locally on the machine. The overall configuration of each service will not be detailed here, only brief overviews as well as personal tweaks will be mentioned:
SABnzbd is a multi-platform Usenet/newsgroup downloader – this is the program that actually downloads content that other programs find. The program works in the background and both simplifies and automates the downloading verifying and extracting of files from Usenet.
SABnzbd accepts NZB files for downloading (similar to .torrent files, but for Usenet), and so its main purpose is essentially to be forwarded files for download from other services. SABnzbd’s main interface is web-based, and therefore can be monitored remotely if needed.
Sonarr is an automation tool for television shows. It doesn’t actually download anything – instead, you add the shows you watch, and tell it what quality the episodes should be in. It goes out to TheTVDB and finds out when new episodes are going to air for those shows.
Every so often (and also around the time your show is going to air), it goes out to your indexers (GeekSeek in this case) and searches for episodes available in the quality you’ve chosen. If it finds one, it marks it as “snatched” and sends the NZB file to a Usenet downloader (SABnzbd) for downloading.
Sonarr watches all files that it sends out for download, and when the episode is done downloading, Sonarr moves the file into your pre-configured show folder, renames the file to your naming scheme, and can additionally add it to your front-end media center software (and optionally notifies you whatever way you configure it to). It then marks the episode as “downloaded” so it doesn’t download it again later.
Couchpotato is similar to Sonarr, except that it’s purpose is to download movies instead. Much like Sonarr, you fill in what movies you want it to download and CouchPotato will add it to your “want to watch”-list. Every day it will search through multiple NZBs & Torrents sites (also using the GeekSeek indexer if configured properly), looking for the best possible match in the quality you desire. Once it finds a match, it forward the .nzb file to SABnzbd for downloading. If SABnzbd is configured to download movies to a certain folder, you can also set Couchpotato to monitor that folder for new downloads. When a new download is found, it moves and renames the file following your pre-set naming scheme, and it can also notify you that the file is ready for viewing.
Deluge is a bittorent client, which was chosen due to a particularily useful remote connection feature it has. Essentially, you can install Deluge on one machine and set it to be remotely accessable. Once configured, you can connect and manage it from a second machine within the Deluge application in addition to any other machine. It’s basically a remote torrent manager, allowing the control of torrents on multiple machines. On top of that, it has web accessability for access on machines without Deluge installed.
Media Browser Server:
Media Browser, currently on version 3, is an amazing front-end media viewer. However, the beauty of Media Browser is it’s seperate back-end server. Not only does it has an incredibly easy to use interface with a ton of features, but by design it’s made to provide content to their front-end viewer, on multiple machines if needed. In my setup, I use it soley to stream media remotely when I’m not at home by accessing it through the web, though Media Browser 3 is a true contender if I wanted to move away from Kodi.
Air Video Server:
Air Video Server is a desktop companion application to its iOS app. This program allows for remote streaming of media from my HTPC, but the reason I have it installed is for its conversion and downloading functionality. If I’m going to be in an area with no Internet, I can queue up a list of my downloaded media to be converted and then downloaded to my phone via WiFi for offline viewing.
Using the utilities detailed above, you can monitor, search for, download, stream, convert and organize all media on your HTPC. Once protected by Private Internet Access, you can monitor and begin finding TV shows and Movies using Sonarr and Couchpotato. Once the media is located via GeekSeek’s Usenet index, the file is then passed along to SABnzbd for download via BinTube’s service. Upon download completion, the file is managed by Sonarr or Couchpotato and moved, organized, and renamed. Once the file is moved to your media library, you can stream it with Media Browser Server, or convert and download it to your mobile device using Air Video Server. Finally, any media not found via Sonarr or Couchpotato can be located and downloaded manually via torrent/magnet with Deluge.