How to fully automate TV downloads

Written by Alex Wolkov

“I love it when an automation comes together…”

TL;DR

In this article I will share my setup, of following, downloading, sorting, subtitling and streaming tv-shows, from end to end.
I’ve polished this process for years, after using FTPs, MIRC, torrents, rapidshare /w jDownloader, wget automation, TvShows.app and countless other methods (who remembers kazaa or DC++ ?).
Finally I’ve achieved Tv enthusiast haven. And now I want to share the love.

Automate all the things!

I love downloading and watching tv-shows of my choice! I love it so much that it’s my main method of watching television. I don’t own a cable box, and I don’t need one.
It used to take me time to search and download episodes manually, which took a lot of time, and was the main disadvantage over a PVR. Who want’s TV that you need to work for.
Well no more!
This article is a reference to all those who want to COMPLETELY automate their downloadable TV experience.
It may seem like much at first, but I promise you, if you stick to it, and set this up once, you will never have to search for episodes again. You will never have to remember when each show air and which episode you’ve seen last.

Disclaimer

This article is provided for reference only. Some of the described tools may be considered illegal in your country. Use the method described here at your own risk.

Requirements

  • A mac (although everything except the subtitlespart can be achieved on a windows machine as well)
  • A usenet provider account (between $9 – $12, depending on the provider)
    • I strongly recommend usenetserver.com (registering through this link will support one of the open source tools in this article!)
  • A good usenet indexer
  • Sabnzbd+ (open source) – to handle downloads from usenet
  • Sickbeard (open source) – follow and automatically download tv shows as soon as they are available
  • Hazel for mac ($25) – Handle files and folders by simple rules
  • Subsmarine ($6.99) – Search and download subtitles from various sites
  • Plex and Plex Media Server – Maintain your tv-shows library, get meta-data, stream and watch your episodes, maintain your watched list.
  • Some free time (believe me, this will save you tons of time later on)

Step 1 – The download manager (Sabnzbd+)

In order to start automating, you need to setup the download process.
First download and setup Sabnzbd+ (Instructions on lifehacker or sabnzbd.org ). The setup is really easy.
Some pointers on the setup :

  • Make sure you secure your installation with a password
  • Take note of your API key, you will need it later on

During the setup wizard, SabNzb+ will ask you to provide your usenet credentials, without this it will not download anything.

Step 2 – The automatic TV downloader (SickBeard)

Secondly, install SickBeard.
The download archive comes with a folder called scripts. Put this folder in your Documents folder and install the app.

Sickbeard will search and send downloads of all your favorite tv-shows to sabnzbd as soon as they’re available online.
SickBeard is an opensource software, but it can be a bit difficult to install from the project site.
To easily install Sickbeard visit http://sickbeard.lad1337.de, and download a mac app from there.
After installing SickBeard, add all your favorite tv-shows, by clicking “add show”
Then go into Config-> search providers, to set up your nzb indexer.
While sickbeard comes with a good indexer on it’s own, a backup will never hurt.

Step 3 – Connect the two programs

After all your tv-shows are set up, comes the tricky part, connecting SickBeard with SabNzbd+ for automatic downloads.
SickBeard and SabNzbd+ are working beautifully together, however to connect the two programs a few steps are required.

First, we need to tell SickBeard that we’re going to use SabNzbd+ for all our downloading needs.
Go into Config->General and choose SabNzbd+ as your NZB Method

image02

Then provide all the details of your SabNzbd+ installation, like IP,Port, Username, Password and API key (can be found in SabNzbd+ ->Config->General page

In the “Sabnzbd Category” field , enter “TV”.
Click “Test SabNzbd” and if everything works, click save.
Then, head over SabNzbd+ page.
There are several things to config here.

  • Go to Config->Folders->”Post-Processing Scripts Folder” and select the scripts folder that you extracted from SickBeard download in the previous step.
  • Go to Config->Categories  and set up a new category, call it TV, and set it up like the picture below.

    image01

  • The +delete option will tell SabNzbd to delete the files after SickBeard has proccessed them and put them into your TV folder
  • The script option is the connecting link between SabNzbd and Sickbeard, and it’s the script that will tell SickBeard to process a newly downloaded file.
  • Hit Save

Now all these settings can be confusing, so to recap, the whole process will work like this :

  • SickBeard finds a new tv-show episode.
  • SickBeard sends the download information to SabNzbd+, with a specific category TV.
  • SabNzbd+ downloads the file, and because we’ve set up a postprocess script for the TV category, it sends a message back to SickBeard that the file is downloaded.
  • SickBeard picks up the file, and puts it in an appropriate folder and season sub-folder.

And that’s it! Whenever a new episode comes out, SickBeard will trigger a download, and then put it in an appropriate folder!

Getting Subtitles

In order to get subtitles, you can download SubsMarine and select an episode, to find and download it’s subtitles.For long time, that’s how I did it, but now it’s automated with Hazel.
Hazel is an awesome piece of software. It comes with a simple interface of rules, that you can add to any folder, and Hazel will execute them.

For downloading subtitles, first, go into SubsMarine settings, and check “one click download” and “Ignore videos with subtitles”.
Then setup Hazel, to watch your tv-shows directory. I’ve added this rule to let hazel open files in SubsMarine as soon as they are downloaded.

image03

Notice I’ve set the “Date Added” rule for files that were added in the last three days. This is due to the fact that your episodes will download as soon as they are available, but the subtitles are ready for those episodes a little bit later.

And because SubsMarine is set to skip files with downloaded subtitles, you will always have a clean folder with the episode and it’s subtitle.

Watching, Streaming and Maintaining a watched list.

Now that we have our folder full of our favorite tv-shows and episodes, we need a way to know what’s new, and what’s already been watched.
Install plex media server, add a new category for “tv shows”, and point it to your tv-shows folder (the one SickBeard saves your files to).

Next, go back to SickBeard, Config -> Notifications, and find Plex Media Server.
Check “enable” and “update library” and hit save.

image00

This will instruct SickBeard to update Plex Media Server each time a new episode is saved to your folders. Plex will then get the information and meta-data for that episode from tvdb.com and put that episode in your “Recently Added” and “On Deck” lists.

Plex manages your watched list, so that you know which episodes you already seen and which are new. If you have 5 unwatched episodes, plex will show you only the next unwatched one in the “On Deck”.

Extras – remotely manage your downloads

You can setup a port-forwarding and access your SabNzbd+ from anywhere in the world. The best way I found is an iPhone app called Tanis ($1.99 – Appstore)
In Tanis, all you need to do is set up your IP and Port, and you can manage the downloads virtually anywhere.

Extras – download movies, music, books and others

Like SickBeard, there’s a ton of other open source packages to automate downloads of pretty much everything as soon as it becomes available online (lifehacker link).

  • CouchPotato allows you to define the movies you want to see, and let them automatically download when available in the format and definition you want.
  • Headphones downloads any music you might like as soon as it’s available
  • Omniverse automatically downloads comic books.
  • LazyLibrarian automatically downloads ebooks.
  • Gamez automatically downloads video games.

 

  • justin
  • altryne

    You still need help with this?

  • Edduu
  • airtonix

    xbmc is much better, just sayin

  • masimong

    Thanks for this great article. I can’t make the Hazel rule for subtitles as you show in the picture. Could you export this hazel rule and send it to me by email ? ([email protected])

  • Timo

    Damm, i´ve got the same problem. i am using the same settings but hazel can´t activate subsmarine. nothing happens…

  • Wookie

    Hello, I’ve spent more hours of my life than I care to admit hunting down and fixing shows, mostly for my wife. The past year or so it seems shows get DMCA’d before they are even completely posted. Assuming this guide is still current, how well do these tools handle the rapid take downs that are currently happening? Is there a new process for that not posted here?

  • Hey @wookie,

    Yeah while I need to update this post, I definitely still use it.
    The thing about DMCA, is that it takes some time. When everything you download is automated ,then you have it on your pc, before the DMCA hits the server.

  • Wookie

    Thanks for replying. Will you find time to update the post?

  • Yes definitely, although the one thing that changed is that I use NZBdrone instead of sickbeard

  • JeffWScott

    I don’t know if anyone is still checking this, but I’ll take a shot.

    I have a usenet setup like this article describes above at my house; but it all runs on a Ubuntu Server.

    I’m going to go set my buddy up with same same stuff (sab, sickbeard, plex) except he owns an iMac.

    I have no experience with OSX. Since this is a family computer I’m wondering will my friend have to keep his MAC logged in as himself for all these programs to be started? Like if his wife logs into the iMAC will all these programs fail to work? I’m wondering if there is a way to start everything on start-up by root so that it’s user independent.

    Any thoughts?

  • Of course I’m still checking this, even though I haven’t updated it in a while 😀

    Regarding your question, as long as his wife doesn’t “sign him out” , the apps will keep running on his user.

    She can log in, without logging him out, that way everything he has automatically, will run as well.

  • JeffWScott

    Wow, quick response! Thanks!

    So there is no way to have them just start on boot-up without anyone needing to login?

  • I’m not sure how to run proccesses with a “root” without logging in any user actually

  • Guest

    Recently stumbled across your TV downloads post as I’m trying to get this sorted for myself having recently setup Sonarr + SABnzbd. I’ve got those playing nicely together along with a couple of indexers. Sooner is monitoring my TV series list and when it finds something I need it’s being downloaded, renamed and placed into the appropriate subfolder under ‘TV shows’ within iTunes which is perfect because that’s how I access my shows via my Apple TV

    Issue I have is to do with post processing, i.e. conversions. Sometimes the files downloaded are mkv or avi. At this point I’m having to manually convert using Handbrake which isn’t the end of the world but having automated everything else I hope to get this last element resolved.

    I’m a bit of a n00b so apologies in advance but is there a way to get Hazel to monitor all my TV & Movie subfolders, if any files are found with either mkv or avi, convert, place the new converted file back into its originating folder then delete the mkv/avi version?

  • If you set everything up, you’re not such a n00b!
    Regarding the conversion, for my needs, it didn’t matter, as I use PLEX and it transcodes everything on the fly if needed.
    So MKV or AVI don’t matter to me that much.
    You can definitely use hazel to do automatic stuff for you, for instance convert. Not sure how exactly but a short google search gives some answers for hazel + handbrake

  • WAY too much here

    just chiming in. FAR FAR FAR easier way. ShowRSS(get feed), uTorrent(set directories), Plex(auto scans and adds), done…..

  • torr

    do you know novaroma? It is useful digital media agenda and download tv shows, movies and subtitles automatically or manually. you can download novaroma http://www.novaroma.net

  • Thanks, great article! I am also very automation oriented 🙂

    I have covered the same needs, with a somehow different implementation (showrss, FlexGet, subliminal, Plex, Plex auto removal script).

    That works well if I’m following up to date a series that is airing right now. But sometimes I also watch series that have aired long times ago. In that case, I’d like to have like 2-3 episodes always available, on Plex, and as soon as I watch one, it would automatically search for the next one to download, so that I would always keep 2-3 episodes available (until I reach the end).

    Have any of you seen this kind of thing done already, maybe as a plug-in, a script or any way (other that manually I mean). Otherwise I’ll have to start scratching my head :-).

    Thanks in advance for any tip.

  • Muzakkir Rahman

    This is very nice explaining about downloading….. I will come again to read your blog post to get more information form your blog.

    I found a software it very easy to watch tv shows, movie, find and download movie also adult movie. just need 1 click to download.

  • Jacky

    Hey there, what do you recommend to get subtitles for Windows?

  • I switche to using https://github.com/Diaoul/subliminal as my primary source of subtitles.
    It should work on windows as well

  • Corey

    Hey great article, just working on getting this setup for myself. Are there any changes that have been made to your setup? Just want to make sure I’m starting with the most current way of automating this on my mac. Thanks!

  • Hey, I’m using Sonarr (sonarr.tv) instead of sickbeard. But that’s it, all the rest is the same

  • I realise this article is quite old and I’m not entirely sure how I got here, but I’m also an automation enthusiast and I have to say I have been able to accomplish all of this just by using SickRage, qBittorrent and Plex (both SickRage and Plex can automaticaly download subtitles for you). And if you throw CoachPotato into the mix you get movies too!