This is an article about using BitTorrent with other OS X apps to automate the downloading and converting of TV shows, adding metadata and then transferring them to your iPad to be watched. Some of you will rage that this is immoral, illegal (in your country) or both. Others will say that BitTorrent is, like, totally legit and is used every day for, like, downloading Linux builds, man.
I don’t care. What I do care about is watching TV Shows on my iPad, complete with subtitles, metadata, cover art and converted into a format that won’t kill the battery whilst playing back. I would buy these from the iTunes Store if I could, but as I live in Spain, I can’t. Here’s how to do it yourself.
TVShows is a prefpane which periodically checks on hand-crafted RSS feeds containing new TV shows. New shows typically show up the day after airing, and are always of good quality (you can specify HD versions if you have fast internet). When a new show is available, the torrent file is automatically downloaded and opened in your BitTorrent client of choice. I use Transmission, but others will probably do just fine.
This part is the easiest. Once you have told TVShows which shows to watch for, you need do nothing at all. News shows will be downloaded whenever they show up. You could stop here and just manually copy them into the (excellent) CineXPlayer app on the iPad and be done. But there’s more:
I add subtitles mostly for The Lady, who speaks perfect English but likes to have a little help when watching TV in bed at night. What is amazing is that top-quality (although not always perfect) subs are available a few hours after a show airs. And they are also free. I used to visit sites like Podnapisi.net and download them by hand, but then I found SubsMarine.
When Transmission finishes up a download, the resulting movie is opened up in SubsMarine. This is done by Hazel, Noodlesoft’s fantastic automation utility. Transmission can be told to append ".part" to unfinished downloads. When the download finishes, this suffix is removed, and Hazel is configured to take any movies from this folder without the “.part” suffix and open them in SubsMarine.
SubsMarine is designed to do one thing: find subtitles for your movies and TV shows. Upon opening a file, it searches any of three different sources, including the above-mentioned Podnapisi. You may need to sign up for these sources and add your login details in SubsMarine’s preferences, but this is easy and a one-time setup.
Once the app has found some subs, it lists them with the most likely candidate already checked. This is almost always correct. And here comes the first mouse click you’ll have to make when the system is up and running: click the download subs button in the toolbar. This will grab the file and — if your preferences are properly set — download it to the same folder as the movie. It will also rename the sub file to have the exact same name as the movie file.
This is important as many apps (like VLC and Perian) will automatically use subtitles if they are in the same folder as a movie, and if they have the same name. Another app that does this is iFlicks:
You can play the downloaded movie and the subtitles in many apps on your iPad, but on-the-fly conversion of AVI and other files can heat up the iPad 3 and suck its battery. Luckily, the movies inside these AVI wrappers are plain ol’ h.264-encoded movies. This means that they can be "remuxed," or have this movie file re-wrapped as an iOS-friendly MP4 (or M4V) file. Never mind the terminology though: what this means is that the conversion takes seconds, and there is no loss in quality.
IFlicks can convert movies in many ways, and it will also remux AVIs for iOS use. The setting to check here is "Make iTunes Compatible." IFlicks will also take any subtitles in the movie folder and add them to the converted movie as "soft" subtitles. These can be toggled on and off in the iPad Movies app using a button in the standard control bezel.
IFlicks will also grab artwork and episode info, and add the whole package to iTunes, with all the series and episode data present and correct. From here you just need to tell iTunes to sync unplayed episodes of the shows you want, and new shows will be added (and old ones removed) with the next sync.
The whole process can be done with just three clicks, but you’ll have to make a few extra tweaks. First, in the Finder, set iFlicks as the default app to open AVI files (and MP4s, as many torrent providers are switching formats). Do this by right clicking on an AVI in the Finder, choosing "Get Info" and then changing the app that opens the file in the drop down list. Then, choose "Change All" and confirm that you do indeed want to change all.
This step lets you click the little "play" arrow next to a movie in SubsMarine and have it pop open in iFlicks. Click each of the movie in you list and they will be added to iFlicks. After a moment to let it grab the metadata, you just hit the go button and the whole batch is processed at once and then added to iTunes. Thus, SubsMarine requires one click to download subs and one click per movie to send to iFlicks. Then, one click in iFlicks does the rest.
It’s possible that you could automate this further using Applescript, but I do fine with this setup.
Bonus tip: You can tell Transmission to monitor a folder for new torrents and then open them automatically. If you point it at a folder on your Dropbox, you can download a torrent file with your iPhone and save it to this folder. When you get home, the movie (or new Linux distro) will be waiting for you. Just make sure that you set Transmission’s destination folder to one outside of Dropbox, or you’ll be uploading the movie as you go.