My friend and former colleague Jason in California has a couple of TiVo units in his house in California and says that he can’t see a need for a MythTV box.
TiVo PVRs are great, and I would have bought one for use in Amsterdam if they were available in this country, but having been forced down the MythTV path by a distinct lack of viable alternatives, I have to say that I’m now happy I was.
But for someone in the US or the UK, why would anyone choose MythTV over a TiVo?
Well, in a nutshell, power and flexibility are the reasons to choose MythTV.
Here are just a few of the things a MythTV box can do that a TiVo can’t:
House more than two tuners. For example, our MythTV box has four. No more (well, far fewer) scheduling conflicts.
Mark and automatically skip advertisements, a political hot potato in TiVo’s world.
Allow complex matching rules when determining which programmes to record.
Be a simple (discless) front-end for a networked back-end with masses of storage. This enables you to watch the same content all over your house.
Perform duplicate programme detection over a period longer than 28 days. MythTV never forgets what you have recorded, so it won’t record duplicates of things you’ve already seen, even a year or more down the line.
Allow you to reconfigure the user interface using themes. MythTV’s OSD (on-screen display) is also separately themeable.
Watch programmes at greater than normal speed, using time-stretching.
Be configured via a Web interface (handy if you learn about a programme while at work). (Hacked series 1 TiVo units can be made to do this)
Rip your CDs and DVDs.
Archive programmes to the network or burn them to DVD.
Play arbitrary audio and video content from local or networked storage, such as OGG, MP3, MPEG4, etc.
Let’s look at just one of those features a little more closely, namely the ability to set up complex recording rules.
Sarah likes to watch a lot of (IMHO) mindless tat. For example, she really likes to watch America’s Next Top Model. My suffering doesn’t stop there, however. She also likes to watch Britain’s Next Top Model, Australia’s Next Top Model and, of course, Holland’s Next Top Model. (Thank Christ she doesn’t speak any other language.)
Rather than making one recording rule for each of these, we can make a single rule that performs an SQL query of the database table containing the programme data. That table is called program:
program.title LIKE ‘%Next Top Model%’ OR program.subtitle LIKE ‘%Next Top Model%’
Holland’s Next Top Model has the actual title of Modelmasters, with the more familiar title being relegated to the subtitle slot, which is why the OR clause is needed.
Now, that’s not too difficult, so let’s look at something else.
I like to watch Top Gear. Love him or hate him, Jeremy Clarkson is very funny and I like to look at all the crazy things he, Richard Hammond and James May get up to in the same of automotive research.
Well, Top Gear originally airs on BBC 2, but is later rebroadcast on BBC Prime. The Dutch channel Veronica also picks up each new series within a few months. If things were that simple, I’d just elect to record any showing of the programme on any channel. However, there’s a fly in the ointment.
BBC World also broadcasts Top Gear, but it’s a stripped down version with just the highlights from one of the episodes. They’re also repeated with astonishing frequency, but without enough information to detect duplicates. What to do?
Well, we simply create a rule to record any showing of the programme, except for those broadcast by BBC World:
program.title LIKE ‘%Top Gear%’ AND channel.callsign != ‘BBCWO’
This rule also has the advantage that it will record broadcasts of Top Gear Xtra and even Best of Top Gear Xtra
But there’s more.
In the evening, I like to watch the Dutch news. However, sometimes the news is broadcast on NED 1 and at other times on NED 2. Theoretically, ti could also show up on NED 3. The news is also on earlier in the day, but in a repeating loop of the most recent new edition. I don’t want those, just the ones in the evening.
The resulting rule looks like this:
program.title = ‘NOS-Journaal’
AND channel.callsign REGEXP ‘NED[123]’
AND HOUR(program.starttime) >= 18
AND HOUR(program.starttime) < 23
The SQL in itself isn’t enough, however. Since there’s nothing more useless than old news, I only ever want the latest edition, so I elect to record a maximum of one episode and let the previous one expire. That last part is important; otherwise the system will stop recording new episodes when the requested maximum of 1 has been reached.
Now, because the news is generally on at 18:00, 20:00 and 22:00, I’m pretty much guaranteed to have a recent edition of it on disc. For that reason, I don’t want the news to be recorded instead of some other programme if there happens to be a scheduling conflict (i.e. the system needs to record more channels than there are tuners available), so I lower the priority of this recording rule from the default, 0, to -1.
So, now I can record just the evening news, no matter which channel it happens to be on, and be sure that it will only record a new edition if nothing more important needs to be recorded while it is on.
Much more complicated recording rules are possible, even utilising the data from other tables in the MythTV database, but in practice, it seems unlikely one would need anything much more involved than this. Being able to restrict programme searches to certain parts of the day (or week or month) and/or a certain selection of channels is something I will find very useful.
No other PVR system offers this level of power and flexibility. Of course, that sometimes gets in the way of simple functionality, so I should mention that I’m discussing MythTV’s advanced search capability. If you just want to record every episode of Desperate Housewives or every film with Robert de Niro, that’s as simple as a couple of clicks on the remote-control. It wouldn’t be much fun if recording your favourite programme required having even a rudimentary understanding of SQL.
So, Jason, do you now see a need for MythTV? TiVo is cool, but MythTV is superb. If TiVo turned watching TV into an art, then MythTV makes it a science.
I am thinking of having a go with a 3rd option: Elgato’s EyeTV.
It’s fully AppleScriptable, so any scheduling features it lacks, you can add yourself that way. It also works effortlesly with tuner cards and can do IR blasting if you go for an analog input card and your cable box. I’d start off with the DTT tuner. Support for multiple tuners is incomplete and in Beta; which is fine as I don’t have that much recording to do.
Currently I’d play things back from my Mac which is in my livingroom already, though in future I would use an MPEG box like Zensonic’s Z500 or Apple’s upcomming iTV.
It should be as flexible as MythTV, but hopefully less frustrating!
AppleScript? Who wants to learn another language, just so one can interface with one’s PVR?
If you are totally immersed in the Apple world, this probably seems like an advantage, but I wonder what AppleScript adds to the programming world that wasn’t already there.
Besides, just how tight is the integration with AppleScript? Is it truly easy to enhance the scheduler with complex programme matching? Can I add a home-brew feed for TV channels not in the EPG provided by Elgato? I’d be willing to bet money that whatever EPG they offer is incomplete, so this last point is very important.
I’m not writing the box off. In fact, it sounds quite nice. I just don’t like the fact that it’s based on Apple technology, because Apple is an extremely secretive company with closed technology. They don’t used open standards and they don’t publish their APIs. Consequently, they’re not a company I want to buy into as either a consumer or an investor.
I dispute that this set-up will be as flexible as MythTV, because MythTV is constructed entirely from modular, open-source parts. The Elgato box is only as powerful and extensible as Elgato allow it to be.