db(); $openidname = $_SESSION["sess_openid_auth_code"]; ?>

« August 2006 | Main | October 2006 »

September 2006 Archives

Saturday, 2 September 2006

More Problems Fixed

Picture quality on the MythTV is now a lot better. I had been ignoring the transcoder configuration options of the front-end, because my tuner cards, PVR-350 cards, do the MPEG2 encoding in hardware. However, it tuns out that the transcoder options aren't just for software encoding; on the PVR-350, they also control how the firmware is used for hardware encoding.

In short, we'd been encoding the analogue TV signal with a resolution of 480x480 and a 4:3 aspect ratio. Once I had changed this to 720x576, which is the standard PAL resolution, and used a 16:9 aspect ratio for our widescreen LCD TV, things looked a lot better. Things could still be better, of course, but the quality is now quite satisfactory.

I also changed the encoding algorithm to DVD Special 2, which is apparently the one that Microsoft MCE uses, so in theory the PVR-350's firmware is optimised for this method. All in all, I think the picture quality is now as good as I'm going to be able to make it.

Unfortunately, I'm still having no luck getting the system to change the channel on the set-top box. I posted an appeal on a site devoted to discussing UPC's products. That yielded an lircd.conf for the Motorola DPI4000 set-top box, which apparently uses the same IR codes as the Thomson DCI-52UPC that I have. Unfortunately, it didn't work for me, so the search for a solution goes on.

I also bought a Microsoft MCE IR keyboard a couple of days ago. Linux support for this is still in its infancy, but support for it theoretically does exist in the form of the mod_mce kernel module.

Well, I can get it compiled and inserted into my running kernel, but at the first press of a key on either the keyboard or the remote-control, the entire system freezes. It's not pingable and the TV picture freezes; even the blinking dots separating the hours from the minutes on the VFD display cease to blink. Whatever that module is doing, it's not good. So now I have an extra problem to solve; otherwise I've wasted €90 on a new wireless keyboard (and it really is a great-looking keyboard).

All in all, we're getting there. We cleaned up the database to remove duplicate channel listings in MythWeb's programme guide. My SQL fell short on this task, so Sarah put together a complicated join for me. She's still a dab-hand at the old SQL.

Speaking of MythWeb, I've opened up a port on the firewall to forward traffic from the Internet to the Web back-end. This will be handy when we're away, because we'll be able to schedule the recording of new programmes from wherever we happen to be in the world. I was always envious of my TiVo-hacking friends in the States who had this. Naturally, all traffic from outside the home network needs to be authenticated, so digest authentication in Apache 2.2 is taking care of that. I had to figure out how to authenticate outside traffic whilst allowing inside traffic straight through without a password, but that took just a few minutes, thanks to Google.

And that's where we are right now. We still can't use the MythTV box for digital cable recordings and we're still suffering from irritating playback freezes. If I can fix those two problems, plus get the new IR keyboard working, I'll be a very happy man, indeed.

The box is already providing us with a lot of TV viewing pleasure, however. It's immeasurably better than the calamitously bad Philips DVDR7300H that we had been using up until last week, although we'll keep that around for its HDMI DVD-playing capability. In the absence of TiVo, building this box was really the only choice, unless I wanted to buy or build an MCE-based box, but the idea of an inflexible, closed source Windows box was obviously repugnant.

Finally, I must comment on how great it has felt to once again have a technical project to immerse myself in. Choosing the hardware was tedious and putting it all together was an experience frustrating beyond belief (even causing me to shelve the project for a good six months), but once the operating system was installed and I could begin work on the actual MythTV installation and configuration, I was in my element again.

Again, once I iron out the last few serious wrinkles, I'll be feeling quite satisfied.

Saturday, 9 September 2006

Mythical Leaps and Bounds

Another week has gone by and a few more hours of sleep have been grabbed at various intervals.

In the intervening time, work has continued on the interminable odyssey that is the MythTV box.

The major breakthrough came earlier this week when I finally got the IR blaster to talk to UPC's digital cable decoder. Unfortunately, it's still a bit hit and miss, because the IR blaster's signals sometimes go astray.

For example, Amsterdam's local station, AT5 is on channel 714 of UPC's digital cable, so the blaster sends the digits 7, 1 and 4 with a 1.3 second interval between them. Sometimes (and the percentage is way higher than I would like), one of these digits gets lost somewhere, so the set-top box might get tuned to channel 71, 74, 14 or even 7, 1 or 4 if two digits happen to be lost.

When changing to a single digit channel, sometimes that solitary digit gets lost, so the channel doesn't get changed at all. In the end, though, it doesn't matter. Whether the channel doesn't get changed at all or it does get changed, but to the wrong channel, you ultimately don't get the recording you wanted, and that's all that matters.

That's not the only problem with the channels from the digital cable package, however.

The Dutch TV schedule grabber pulls its data from TVgids.nl, which works quite well for the common channels available in the analogue package. Unfortunately, though, TVgids.nl doesn't carry programme schedule information for the less common channels, such as BBC3, BBC4 and The Travel Channel. Wah!

So, my next project will be to write a new grabber in Ruby that pulls programme data for these and the other digital-only channels from the most logical source, UPC's own Chello site. This means scraping a lot of HTML and outputting XMLTV format files. I'll probably start writing this in Ruby some time in the next few days.

The playback freezes are still with us, but they're infrequent, so fixing them is a low priority. Skipping back five seconds is sufficient to restart playback, anyway.

I'm also working with the mod_mce author to fix the system freezes caused when trying to use a wireless Microsoft MCE keyboard. No luck yet, but we're slowly localising the cause of the problem.

This week also saw the purchase of some more hardware. First of all, I bought a Logitech Harmony 885 universal remote control. It's still in the packaging, however, as I haven't had a chance to set it up. I'll also need to borrow Sarah's Windows laptop for that.

Secondly, I bought a Logitech Z-5450 5.1 speaker system. It's not high-end audio by any stretch of the imagination, but it's better than the TV speakers and connects directly to the MythTV box's soundcard, which enables us to make full use of the MythMusic module to stream our OGG and MP3 filles from the server in the cellar. It's great to have the ability to play music in the living-room again.

The Z-5450 also allows us to digitally connect our DVD player and set-top box, so when we want to play a disc or watch digital cable straight from the source, we get nice crisp audio to go with it.

Lastly, I bought another PVR-350 TV capture card, along with a dual tuner PVR-500 card.

The PVR-350 was to replace one of the two already in the box, which was suffering from diagonal, wavy lines in the picture. These were annoying me more and more, so I decided to replace the card.

Unfortuantely, the new PVR-350 had a newer, different tuner chip on it, which didn't immediately work. When I finally found out how to get it to work, the new card turned out to suffer more from the wavy lines than the one it was supposed to replace.

As a result, I returned that PVR-350 today for another one, and purchased yet another one on top, in the hope of increasing my chance of bringing home a good one. Thankfully, one of them gave a perfect picture, so that one is staying and the other two are going back tomorrow.

As for the PVR-500, this also turned out to have newer tuner chips than older renditions PVR-500. Instead of Philips tuner chips, these have a Samsung tuner. A kernel patch was required to get this card to fire up properly, but once that was applied, it worked like a charm... and thankfully without any wavy lines!

So, the MythTV box is now a quadruple tuner affair, three of which receive analogue coax inputs, the remaining one getting its signal over S-Video from UPC's digital set-top box. That means we can now record up to four simultaneous broadcasts whilst watching a previously recorded programme. Is that cool or what? Initial tests show that the 500 Gb SATA drive takes all of this in its stride.

As you can surmise from all of this, it's been a week of devouring documentation, becoming extremely frustrated with poor quality hardware whose components seem to change on an almost daily basis, software experimentation, and trailing around the computer shops of Amsterdam, most of whom probably hate me by now, as I am constantly purchasing and returning TV capture cards.

PC hardware is utter shit, it has to be said. If my experiences earlier this year and in the last week are representative of the overall state of the industry, then a good third of all PC hardware sold is either substandard or just plain broken. And that's before you figure in the frustration of building in hardware that Linux supposedly supports, only to discover that the manufacturer has changed the specs of the device without giving any outward indication of this on the packaging. The net result: hardware that doesn't work and lots of wasted time and energy spent troubleshooting and shuttling back and forth by bike between home and the computer shops.

It's been worth it, though. Our MythTV box is now very powerful and contains TV capture cards that actually provide a decent picture.

Once I get to grips with adding programme schedule information for the missing digital channels to the database, we'll be able to schedule recordings from any channel, no matter how obscure. At that point, this box will be approaching its maximum utility; it's already way beyond the functionality of any of the dismal commercial PVR appliances available in this country.

Monday, 11 September 2006

Channelling Energy

Another day, another MythTV experience.

I spent most of yesterday afternoon and evening coding my new TV programme data grabber. This one grabs programme timetable information from Chello, which is the name of UPC's cable TV (and cable Internet) offering.

The standard XMLTV grabber for The Netherlands isn't very good, so I quickly replaced it with a different one, written in Python. This one is much better and is kept nicely up to date by its author.

Anyway, even that one has a major shortcoming, namely that it doesn't know anything about many of the channels in UPC's digital cable package. There are many cable companies operating all over the country and each one offers a different selection of channels, so finding a good data source for all of them is difficult.

So, after several hours of Ruby coding, utilising the excellent REXML library to produce XMLTV format data, I had a tool I could use to populate my MythTV database with programme information for the missing channels. As a bonus, it even grabs channel icons for use in the on-screen display and programme guide.

I started by adding data for just BBC 3, BBC4, The Travel Channel and a few others. Then, I checked MythWeb in my browser and, sure enough, The Travel Channel was now displaying a lot of Globe Trekker episodes. I quickly created a rule to record all showings of this, one of our favourite programmes, on any channel that happens to be broadcasting it.

Later in the evening, I added data for a few more channels, such as Discovery Travel & Living. The MythTV system immediately applied the Globe Trekker rule I created earlier in the evening to ensure that the new episodes on this channel will also be recorded.

Confident that the new grabber is working properly, I have now added its invocation to cron and look forward to using it to exploit the full power of our shiny new PVR system.

When I've tidied up the code a little, I'll make this script available for anyone who cares to use it.

mythfilldatabase is the program that actually takes all of the XMLTV data and pumps it into the MythTV database. The grabbers that this program will accept data from are hardcoded into the binary. Since I didn't want to patch the source and recompile, I decided to add the programme data using a temporary file. A wrapper script takes care of the whole process:

xml_file=$( mktemp -p ~/.xmltv upc.XXXXXXXXXX )
video_source=2

tv_grab_nl_upc > $xml_file
mythfilldatabase --file $video_source -1 $xml_file
rm $xml_file

And Bob's your father's brother!

If anyone needs tv_grab_nl_upc and can't wait for it, drop me a line and I'll send it to you.

More Rubbish Hardware

Do you remember that I had bought a Logitech Harmony 885 universal remote-control? Wlel, I finally got around to trying to configure it last night, only to discover that two of its buttons on the right side didn't work.

Do I have a hardware curse or what?

So, another fun trip in the car to Media Markt was required. Unfortunately, they had sold out of the 885 model, so I had to accept a refund. And, because every single computer shop in Amsterdam is absolute shite (Fry's, where are you when I need you?), I can't find anywhere else on-line that has it (except for one shop, that wants €50 more than even pricey Media Markt. Ik ben toch niet gek?)

So, no universal remote control for another few days at least.

Tuesday, 12 September 2006

MythTV or TiVo?

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.

Sunday, 17 September 2006

DB9

I saw an Aston Martin DB9 in the P.C. Hooftstraat yesterday afternoon. If my immediate family contained fewer members than the number of seats in that car (or even an equal number), that's a vehicle I might have to consider. What a nice car; and so subtle, too. I could drive around in that without feeling like a complete wanker.

The only problem I could see was that literally about 30 - 40% of all the people who walked past it in the street stopped to admire it and peek inside. You'd attract a similar number of glances parking it and getting out, as well as getting back in. I suppose that's precisely the reason some people would want a car like that, but I personally can't stand being the focus of attention and the resulting loss of casual anonymity. I'd end up waiting on the other side of the street for people to walk away from my car, then quickly scuttling across the road to get back in before the next admirer happened along.

Ah well, that's another advantage to our Audi A6 Avant. It's a fantastic car, but not very glamourous.

Monday, 18 September 2006

UPC programme data grabber released

I mentioned a few days ago that I'd been working on a grabber to pull TV programme timetable data for the channels in UPC's digital TV package.

Well, with the family out of the country, I seized the opportunity to clean up the code, squash a couple of bugs and add some hopefully useful command-line options. With that work done, all that remained was to put up a page, telling people how to use the software. And with that work now done, I can announce it, which is what I'm doing.

I don't expect a lot of interest in this software. After all, how many users of MythTV can there be in The Netherlands? And how many of those are subscribers to UPC's digital TV package? And how many of those care about the channels for which data can't be obtained from the usual source, tvgids.nl? Well, I'd be surprised if I needed more than one hand to count them all.

For those people, but mostly for myself and Sarah, I give you tv_grab_nl_upc.

Wednesday, 20 September 2006

Keeping Busy

What do you do when you're missing your wife and darling daughter? In my case, you keep busy.

I had intended to go into the crawlspace under our house at the weekend to lay down some CAT5e cable. The intention was to run Ethernet to the spot directly under where our TV is located, then up through a tiny hole in the floor that the previous owners must have (had) drilled. That would give us the much needed wired network access that we're missing in the living-room.

Well, when I went to do the work, I noticed that I had purchased the wrong kind of cable; I had bought solid cable instead of braided. So, I went back to Media Markt yesterday and switched my solid cable for a 50m reel of braided.

Today, I had no good reason to put off the work any longer, so with the family out of the way, I got down to some undisturbed work in the cellar.

The crawlspace under our house is really quite vile. It's not just a flat, dusty space down there. Oh no, it's full of rubble, old plastic bags, bits of old wire and God knows what else; probably a load of rat turds and asbestos, I shouldn't wonder.

I'd bought a nice, powerful Maglite torch yesterday, an essential piece of kit when crawling around on your belly and elbows in the pitch black. It has a rotary head, so that you can turn from a wide angle beam into a sharp, bright point of light. I'd been bitching for ages that we didn't own a decent torch, but thanks to a local ironmonger's, that's now been put to rights.

Anyway, I was under the house for only about fifteen minutes and there were no unexpected hitches. It was easy to draw the cable across the breadth of the house and feed it up into the living-room.

Upon exiting the crawlspace, I immediately headed upstairs for a shower. My clothes, skin and hair were covered in... I don't even want to know what.

Back downstairs, I carefully stripped the cable in the living-room and crimped an RJ-45 connector onto the end, using an excellent guide, turned up by Google. If you think that I know the colour-coding order of an Ethernet cable off by heart, you'd be wrong.

With one end done, I went back downstairs into the cellar and crimped a connector onto the other end. I then hooked up that end to the router.

Back in the living-room, I plugged the other end of the cable into the on-board Ethernet jack of the MythTV box, tried to bring up the link and... bingo!

Sep 20 16:43:32 tourbillon kernel: e1000: eth0: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex

I've already decommissioned the 802.11b WLAN card inside the MythTV box, as it's no longer needed. It wasn't working well any more anyway, because it was suffering interference from the wireless speakers of our recently purchased Logitech Z-5450 5.1 speaker set.

With a 100 Mbit link from the MythTV box, I'll now be able to stream TV programmes to my workstation on the top floor, which could be handy if Sarah is commandeering the real TV downstairs.

In the future, I suspect we'll eventually move to gigabit Ethernet and a distributed MythTV set-up, so that we can stream programmes and DVDs to televisions anywhere in the house. We could even make the front-ends discless, so that there would be almost no noise emanating from the cases.

Anyway, that stuff is all some way off yet. I'm just happy to finally have Ethernet where the TV is.

Thursday, 21 September 2006

New MythTV Video

For a number of reasons, I've been dissatisfied with using our Hauppauge PVR-350's on-board MPEG-2 decoder and TV Out port for MythTV. For one thing, the MythTV mailing-list makes it clear that support for the decoder of this device is on the way out. None of the developers use one, so the code is unmaintainable.

With this in mind, I purchased an XFX GeForce FX5200 AGP video card for €39 from Alternate, which has a well-supported nVidia chipset. The card arrived in the post yesterday, so I installed it in the system and got to work configuring it at the end of the evening.

With the loss of the PVR-350's on-board MPEG-2 decoder, playback now has to be handled by the CPU, but we have a 3 Ghz Pentium 4 in the box, so it can take it in its stride. This is pretty much the only disadvantage to switching to this video card.

Here are some of the advantages:

  • The FX5200 has a DVI Out socket, so we're now connecting to the TV using DVI. The result is that X and MythTV now look superb on our 94 cm Philips LCD TV. The image is crisp and clear and we can drive the TV at its native resolution, which appears to be 1280x720. Related to this, menus and widgets no longer run off the screen and fonts are properly scaled. Bliss!

  • Thanks to DDC, the monitor can now tell the video card which video modes it can handle, so the Xorg configuration is now very simple and doesn't even need HorizSync or VertRefresh parameters for the TV. Here's the relevant section from Xorg.0.log;

    (--) NVIDIA(0): Connected display device(s) on GeForce FX 5200 at PCI:1:0:0:
    (--) NVIDIA(0):     Philips FTV (DFP-0)
    (--) NVIDIA(0): Philips FTV (DFP-0): 135.0 MHz maximum pixel clock
    (--) NVIDIA(0): Philips FTV (DFP-0): Internal Single Link TMDS
    (WW) NVIDIA(0): Mode "1280x800" is too large for Philips FTV (DFP-0);
    (WW) NVIDIA(0):     discarding.
    (WW) NVIDIA(0): Mode "1280x768" is too large for Philips FTV (DFP-0);
    (WW) NVIDIA(0):     discarding.
    (II) NVIDIA(0): Assigned Display Device: DFP-0
    (II) NVIDIA(0): Validated modes:
    (II) NVIDIA(0):     "1280x720"
    (II) NVIDIA(0): Virtual screen size determined to be 1280 x 720
    (--) NVIDIA(0): DPI set to (76, 76); computed from "UseEdidDpi" X config option
    

    I'm not sure why those first two modes are tried, since they wouldn't offer the correct 16:9 aspect ratio. If anyone knows, please tell me. Nor do I understand why 1920x1080i isn't tried or selected, since our TV is capable of that resolution. I'm not too bothered, though, since we don't have any input sources that can provide that resolution.

  • MythTV is slowly moving towards OpenGL for its themes and menus, so having an nVidia card with its hardware acceleration allows us to enjoy all of the OpenGL goodies. TV playback can also use certain OpenGL functions to reduce jitter and make other improvements to the image. And, very pleasingly, we can now enjoy all of the OpenGL visualisations offered by the MythMusic module. The TV has become a big flat disco ball for listening to my music collection!

  • Although MPEG-2 decoding is now handled by the CPU, we can still offload some of the work to the video card's GPU by using MythTV's XvMC support. A lot of people seem to have trouble with XvMC, but I found it very easy to get working. The only issue was that the OSD (on-screen display) became greyscale rather than colour, but that's a known issue and there's an easy fix for it.

  • During playback, fast-forwarding at greater than 3x speed now properly displays the current location in the recording. With The PVR-350, fast-forwarding beyond 3x speed would freeze the playback image, leaving you with only the playback timer to hazard a guess at where in the stream to resume playback. This was very annoying and confined us to 3x fast-forwarding much of the time.

  • During playback, rewinding at any speed now properly displays the current location in the recording. Similar to the previous point, but even more annoying, was that the PVR-350 would freeze the playback image when rewinding at any speed. If you wanted to replay the last couple of scenes in a programme, you would thus have to guess how long they were and resume playback after rewinding that many minutes.

  • Not using the PVR-350 MPEG-2 decoder for playback means that the audio and video are now separable. This, in turn, means that we can now send audio to our sound system, rather than being restricted to using the TV's built-in speakers.

  • As a result of the previous change, the internal MythTV volume controls now also work. Previously, we had to adjust the volume via the TV, because the PVR-350's hardware decoder volume was beyond the control of MythTV.

  • The ivtv driver decoder errors that have plagued us since I first set up this system almost a month ago are now happily also a thing of the past. We would regularly get errors like these in the log:

    Sep 18 14:36:52 tourbillon kernel: ivtv0 warning: DEC: Sched Buffer end reached 0x0ad51267
    Sep 18 14:36:52 tourbillon kernel: ivtv0 warning: DEC: Mailbox 10: 0x00000000 0x0ad41267 0x0ad41267 0x00000000
    Sep 18 14:48:32 tourbillon kernel: ivtv0 warning: DEC: Decoder Invalid type 0xd8031707?
    Sep 18 14:48:32 tourbillon kernel: ivtv0 warning: DEC: Decoder Invalid type 0x0e86df64?
    

    In practical terms, these manifested as occasional picture freezes during playback. Sometimes we'd get several within a few minutes. At other times, we'd watch a whole programme without one. They were very unpredictable.

    A quick hit of the Rewind button was necessary to unjam the system. It was irritating, but we were able to live with it. Now we're no longer using the hardware MPEG-2 decoder of the PVR-350 card, however, we're avoiding whatever it was in the driver or the firmware that was causing these.

  • Time-stretching now works properly. Time-stretching is the ability to play back video at faster than normal speed, but with the appropriate audio compensation, so that the pitch remains constant.

    The idea is that, if you're short on time, you can get through a 30 minute programme in, say, 20 minutes if you pay good attention and can stand listening to people who talk very quicklyt. At 1.5x speed, for example, everyone sounds like the people who read the disclaimer at the end of American radio adverts. You know the ones, where it sounds as if all the gaps between the words in their sentences have been sucked out.

  • Because we're using a plain old video card now, the entire Linux boot process can be followed on the TV screen. If there's ever a problem that causes the system to fail to boot, I'll now be able to debug it without a blindfold.

And that's about it. I reprogrammed our Harmony 885 universal remote-control to use the external sound system instead of the TV's audio for MythTV playback and to select the DVI input on the TV instead of the relevant SCART connector, and now we're all set. I just need to go and buy a new DVI cable, as I borrowed the one from my computer upstairs for testing purposes.

Friday, 22 September 2006

Master Blaster

The last major problem with our MythTV box has been fixed. Our previous IR blaster was underpowered and would occasionally lose a digit when signalling our set-top box to change channel. It was very occasional, but it's annoying to be looking forward to a programme on BBC 3 (channel 16) only to discovering that you've record the second half of one programme and the first half of another on Nederland 1 (channel 1).

Anyway, with the arrival of a new IR blaster from New Zealand, this problem is now past tense. This unit transmits a stronger signal, so it is able to reliably change the channel of our Thomson cable box. If you're wondering why I had an IR blaster sent from New Zealand, it's because I wouldn't have a clue where to buy one in this country.

And with that, almost a month to the day since I first installed MythTV, all of the teething troubles and minor irritations we'd been living with are now gone. The wavy lines on the capture cards are gone, the VFD on the front of the case works, the menus fit on the screen, the fonts are properly scaled, the playback freezes are gone, time-stretching now works, external audio now works, fast-forwarding and rewinding now work properly, OpenGL works, the network connection is now reliable and fast, channel changing on the set-top box works reliably, and the programme guide has data for all the channels that we receive.

It took a long time to get to this point, but now that we're here, this is possibly the most powerful PVR in the country, in terms of the flexibility it offers. Neither dumb PVRs (which are just video recorders with a hard drive) with the Guide+ EPG (broadcast via the cable) nor Microsoft's MCE offer a solution with a complete programme guide for all of the channels in UPC's digital TV package. Thanks to MythTV, we're fortunate enough to have one, not because it provided one out of the box, but because the software has a modular design and is based on open standards and APIs. It was easy to write an XMLTV grabber to pull down data for the missing channels from Chello.

Thanks to Isaac and the other developers for turning out such a terrific piece of software; and thanks again to Peter for prodding me into resurrecting the bits of hardware that had been lying around in my home office for six months. It's been unbelievably good fun getting all of the bits and pieces to work together.

With a little bit of luck on the hardware front, this system will provide us with a lot of pleasure for quite some time to come. Of course, my hoping for luck with my hardware might be sorely tempting fate.

UPC: Underpowered Products Continue

Having just about finished configuring our home-brew PVR/DVR, I was, of course, interested to see an announcement from UPC that they will soon be offering their own PVR/set-top box in one.

On the face of it, this might be reason to groan about the amount of time, money and energy I've invested in our MythTV box, but this is UPC we're talking about, so let's not groan too soon.

Serious shortcomings of the upcoming UPC PVR:

  • Capacity for a mere 65 hours of recordings.
  • Single-tuner unit: it's not possible to record two programmes broadcast at the same time.
  • No intelligence: it works with channels and time slots, just like a VCR. There's no ability to record your favourite programme, regardless of channel or broadcast time.
  • No ability to transcode recordings or archive them to other media.

UPC's sales pitch is predictably poor. For example, they say that you no longer need a DVD recorder, because their PVR will do the same thing. Well, no it won't. A DVD recorder uses removable media, whereas a PVR has fixed media that fill up. Their system offers no means to archive recordings, so in that regard, it's less flexible than a DVD recorder.

They also tout their well-worn favourite slogan of digitale kwaliteit (digital quality), an absolutely meaningless phrase, since digital refers only to the means by which the data stream is encoded, something that is essentially unrelated to the quality of the picture. A heavily compressed video clip, intended for download by dial-up modem users, is digitally compressed and encoded, but would you want to magnify it to fill a 94cm 16:9 LCD TV screen and watch it? No? I thought not, even though it's digital quality.

Obviously, they're trying to pull the wool over the consumer's eyes. UPC's customers are not very sophisticated, so this underhand strategy will probably work for them, too. After all, they've been using this slogan to sell their digital TV packages for quite some time, and the bit streams of some of those channels are definitely on the rough side. Besides, there are few commercial PVR alternatives on the market over here and MythTV or even Microsoft's MCE are not for everyone.

It's clear that this is not going to be the TiVo of the Dutch cable market. The only reason to get one of these PVR set-top boxes is if it's free and can just be dropped in to replace the usual UPC set-top box. As long as it has all of the same ports on the back, you would gain a very limited PVR for emergencies and lose no existing functionality. In other words, we'd just keep using MythTV, but we'd now have a set-top box with a hard drive, just in case it was ever needed.

Sunday, 24 September 2006

Away From My Desk

I get on a plane to U, S and A tomorrow to be reunited with Sarah and Wiesje. It's been a lonely ten days, but I've got a lot done while I've been on my own, so it hasn't been too bad.

I'm looking forward to getting back to my girls, although it has to be said that I don't relish the thought of the flight. Not only am I jaded by all of the flying I've done in the last few years, but there's nothing to see and very little to do on board, plus all of the hassle and restrictions before you even make it down the gangway. In short, I wish I were taking the train somewhere or, for that matter, even the car.

Anyway, after just one day with her folks, we head up to western Maine for some llama trekking at the Telemark Inn with my step-sister and her family. The lodge looks really nice and I'm sure it's going to be a lot of fun. The children will all have a wonderful time, I'm sure.

At the end of our stay, we'll have another few days with Sarah's family in Providence before returning home.

I'm not bothering to bring a laptop on this trip, so I'll be pretty much incommunicado until 6th October. The break away from the computer will be at once healthy and trying, but that should add renewed vigour to my activities once we return.

About September 2006

This page contains all entries posted to Caliban - Opinion and Righteous Anger in September 2006. They are listed from oldest to newest.

August 2006 is the previous archive.

October 2006 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.34