Use your imagination

Wednesday, February 08, 2006

How to get your missed TV shows with Azureus and Bittorrent

I'll start by saying that I am a paying cable subscriber. Often times there are multiple shows on at the same time that I would like to watch and I wanted a way to be able to watch those other shows.

I have a 37 inch Dell LCD TV and enjoy watching as much HD content on it as I can. Hooked up to it via one of the HDMI ports I have a PC which I am using as a media center. It currently has two hard drives in it, a 120GB and a 250GB along with an ATI Theater 550 TV card. I use the TV card to record shows that are not generally in HD content or we don't care that they are in SD, like soaps for my wife. The rest of the shows that we'd like to watch in HD or missed recording we download from the internet using a Bittorrent client as I'll describe now.

My client of choice is Azureus, simply for its ease of use plus I like all the features it has along with the plugins available for it. I also have done quite a bit of Java development in the past which steers me more towards this client since I know I could write my own plugins or make modifications to it if I wanted.

The client alone will get you the ability to download torrents either by clicking on the torrent link in a browser or by copying a torrent download link and opening it within Azureus. My goal was to get an automated package set up where I don't need to manually go and download the shows we enjoy. To do this I took advantage of some plugins for the Azureus client.

The first plugin I got was the RSSFeed plugin. This plugin will watch a set of user defined RSS feeds, from the torrent sites that make them available, and download files based on user defined filters. The filters can be specified as regular expressions. For the basic user that may not understand regular expressions it is probably easiest to first find the RSS feeds you want and then after setting up the feed you can right-click on a torrent in the feed listing and choose "Create Filter" to create a filter based on that torrent. The plugin does a pretty good job at coming up with a regular expression that should pick up future occurrences of that show. Another nice feature of the plugin is the "Smart History" option which will help to keep duplicate episodes from being downloaded. You can also specify season and episode ranges for a filter (See: Regular Expressions for the Azureus RSS Feed Plugin). A good place to start for a torrent site RSS feeed is www.tvtorrent.info. This is the first step in automating your TV show capturing experience.

I found the easiest way to look for shows to download is to just browse the data returned from your RSS feeds for the first week or so and create filters when you find something you like. Another step I took, so as not to miss new shows, was to set up a filter that will download all first season, first episodes of a any show. This way we can watch a new show when it comes out and decide if we want to get future episodes if we liked it.

I have my filters setup to download to the same directory that my TV shows are recorded to via my TV card. This makes it easier on my wife when she wants to look for something to watch. As a side note, I am using GB-PVR as our media center software. I am also using a task bar tray icon plugin with it which makes it easier for my wife to get to all the shows. It also displays what is currently recording or is scheduled to record without opening the full blown interface. I found the full blown interface to still be a bit buggy in parts which is why I like the little icon better.

My next dilemma came from the fact that I don't use the media center PC as my main workstation. I found that I sometimes would be surfing the web on my laptop, which is in a different level and room of our house, and I would come across a torrent that I wanted to download, but not on my laptop. To solve this problem I am making use of another Azureus plugin, the HTML Web UI plugin. I should note that my house is wired with a network connection in every room, so every system in my home is connected to each other and the internet. With the web ui plugin you can upload torrent links to Azureus through a web page served up by the plugin. This also works great for checking the status of Azureus through a browser on any system in my house. I submitted torrent urls via this interface a few times when I came across torrents while on my laptop. It works, but I'm lazy and thought there were still too many steps to get a torrent download link from a page to Azureus through the web ui.

I noticed that the upload form in the web UI is quite simple, only consisting of two fields that need to be sent to the plugin for it to accept a download request. This is the link itself and an action parameter. What I really wanted was to be able to right click a torrent download link in my browser on my laptop, which is Mozilla Firefox, and have an option to send the link to my Azureus client on my media center PC. After some testing with different Mozilla extensions I finally found the one that works easiest. I installed the ConQuery extension. This extension allows you to submit different data found on the currently viewed web page to another page. It was mainly created for selecting terms on a page and submitting those terms to a search engine like Google. I had a different plan in mind. I am using it to right-click a torrent download link and submit it to my media center PC to begin downloading the file. To do this I created a simple search plugin file that you place into your "\Mozilla Firefox\searchplugins" directory. Here is the code for that file. Simply copy and paste the code and save to the previously specified directory in a file called something like Azureus.cqr, making sure to replace the [azureuspc] with the name or IP of your PC that is running Azureus with the HTML web UI plugin installed:

# Status: Working Full
# ConQuery plugin
# by WhoopJack
# Language: en
# Created: Feb 8, 2006
# Last updated: Feb 8, 2006
# Known issues:
# works from 0.8 and higher

name="Send to Azureus"
description="Send a torrent link to an Azureus server"
category="net services"

<input name="d" value="u" label="Upload">
<input name="upurl" value="[:linkurl]" label="Torrent URL">


Now after restarting Firefox you should be able to go to a page that contains a torrent download link and right-click the link and choose "Query to..." --> "Send to Azureus".

Ah, I love being lazy;)


  • At 3:36 PM, Anonymous Anonymous said…

    I have a similar setup but instead of using the WebUI I have Azureus scan a directory to import new torrents. That way all of my downloads are in the same spot and I didn't need to write anything custom.

  • At 3:45 PM, Blogger LoganAvatar said…

    I like that very much! I am going to set up something very similar with my HTPC at home!! Thanks!

    - Mike D

  • At 8:16 PM, Anonymous Anonymous said…

    does the ATI card have an HDMI out? I'd be very interested to know what you are using to make that connection.

  • At 10:40 PM, Anonymous Anonymous said…

    This is awesome! Thanks for the great write up. Inspires me to modify my setup a bit.

  • At 1:43 AM, Blogger slowburn said…

    have you tried ted - torrent episode downloader? pretty much does all of the above for you...

  • At 7:22 AM, Anonymous Anonymous said…

    You might want to take a look at TVTAD

    From the FAQ:
    TVTAD is an RSS feed reader with support for unlimited feeds. It will automatically download newly released TV episodes that have been added to your favorites.

    And it supports most bittorrent clients...

  • At 9:08 AM, Anonymous Anonymous said…

    Does your video card output HDMI? Or do you have a DVi to HDMI cable?

    I'm just about to buy a video card and tv to do this and was wondering your thoughts

  • At 9:25 AM, Anonymous Anonymous said…

    any chance on doing something like that for newsgroups? giganews yadda yadda

  • At 1:48 PM, Anonymous Anonymous said…

    I tried to implement the steps you described:

    1.) Got ConQuery installed
    2.) Put the provided Azureus.cqr into \Mozilla Firefox\searchplugins and restarted.

    I can now right-click on a torrent link to send with an action of: http://myIpAddress:CustomPort/index.tmpl and a Torrent URL link of: http://perryjoshua.com/Exchange/boondocks.torrent but I consistantly get "d14:failure reason16:Invalid argumente" What is the likely culprit? TechLifter@perryjoshua.com

  • At 3:11 AM, Anonymous Anonymous said…

    use ted to download tvshow torrents!

    check www.ted.nu!

  • At 5:51 AM, Anonymous Anonymous said…

    Would you mind explaining how RSS Feed Scanner filters are set up and executed? I tried your suggestion of watching a feed for a few days, and creating filters from files that matched my criteria, but when I do a "create filter", there is nothing filled in to any part of the dialogue box other than the name (based on the listing). You said that RSS Feed should create a suitable regular expression, but it doesn't seem to put anything in that field for me, and I assume if it is empty, it won't do anything.

    Even when I follow the instructions and add my own expression, make it active, and so on, the plugin doesn't seem to find matches nor add them to my download queue.

    I read the help file a few times, but nothing it said made it any clearer to me.

    Any help you can provide would me most appreciated. And thanks for the original post.


  • At 2:39 PM, Anonymous Anonymous said…

    ted does this also for you, check for more info

  • At 12:30 PM, Anonymous Anonymous said…

    Im implementing something similar, but for eMule.

    Thks for the ConQuery tip, its what i was needing.

  • At 10:47 AM, Anonymous Anonymous said…

    Love it!! EXACTLY what I was after - isn't the internet a wonderful thing?

  • At 6:47 AM, Anonymous Anonymous said…

    That was very helpful thanx a lot.IS there sanything similar for adding tasks remotely to emule via web interface?

  • At 4:01 PM, Anonymous Anonymous said…

    You should check out Asureus RSSTray. It could help with some of the integration woes that you described.



Post a Comment

<< Home