Tech Nerdery

The MythTV Project Plan

I’ve been rambling a lot lately about MythTV, which is an open source project that aims for something akin to Microsoft’s Media Center application for Windows XP (MCE edition) and for Windows Vista Home Premium and Ultimate.

But it is a lot more than that, with an amazingly flexible client / server architecture.

So, I’ve finally amassed enough computer hardware that is old enough I don’t want to give it away, but new enough so that it is not useless, such that I can build a “front-end” or TiVo like computer appliance for my living room.

This journal entry is to lay out what I have in terms of hardware and software (with links for my own reference, as well as to share with you), what things are already done, and what things I need to do. Also, I want to lay out some longer term plans to refer back to, so I can avoid confusion in my own head later.

So, without further babbling, here is what I have.

My personal Desktop – This will act as a dual-purpose computer, being my personal desktop, as well as the myth backend. This will do all the encoding, scheduling, and hold all of the files. Long term, this would be great to move to a dedicated server functioning as a internet gateway, LinuxMCE core, and NAS…but that is a minimum of $500 away and very low priority on the budget.

Desktop hardware:
Asus A7V8X Deluxe Motherboard
768 MB of DDR 333 RAM
Athlon XP 1800 (anyone have a Barton core 2500-2800+ w/ 333 MHz FSB that they would sell or give me?)
eVGA GeForce 6600 GT
KWorld 115 HDTV ASTC/QAM/NTSC tuner card (Newegg has it for $47 shipped after rebate)
Plextor 40X CD Burner (I should finally spring for the DVD burner at some point)
300GB Seagate Hard Drive
and I’m running my 17″ and 19″ NEC CRT monitors that either Dirk or I have owned forever.

Internet Terminal / MythTV frontend – This is my brothers old dell PC.
1GHz Pentium 3
384 MB of PC133 SDRAM
Cheap crappy 8 GB hard drive
Sound Blaster Sound Card
eVGA GeForce 6200 (recently purchased from ebay for $26 shipped)
Lite-On 16X DVD ROM
IR keyboard (the old one I’ve had forever)
15″ LCD monitor that I may eventually add a touchscreen too since I have some touch-glass laying around….don’t ask how I got it.

Then we have the regular compliment of old AV stuff: an old stereo pioneer receiver given to me by a friend, a DVD player that plays DIVX files, a CD player, a VCR, a SD 27″ TV, the Wii, and my new speakers.

Eventually I want to move to an HDTV. And before too long I have find a decent, but cheap (read ‘used, and maybe even something I have to repair’), receiver that does S-Video switching to simplify the issue with the TV-output on the computer.

Desktop / Backend

OS: Ubuntu Linux 7.04: Feisty Fawn
All Restricted Codecs installed
Nvidia Binary Driver (pkg nvidia-glx-new from the repository)
Beryl 0.20 rc3 from Ubuntu repositories (I need to switch to the beryl repository instead)
MythTV-backend 0.20
MythWeb backend for management of recording schedules over the interweb
Open SSH server
All your normal compliment of base Ubuntu software

Terminal / Frontend

All the same stuff except no MythTV-backend, and instead:
MythTV Frontend 0.20
All of the Myth-plugins package from ubuntu
and All official Myth-themes.

Currently the backend for mythTV and the frontend on the respective machines is set up and working pretty well. There is a little oddness with the back-end not coming up correctly all the time, or the front-end not being able to find it. Usually if I restart the back-end software (or perhaps start it for the first time) and then the front-end software it corrects itself.

The back-end drive maps to a local directory on the front-end for all the MP3’s and movies and comics and such via an NFS network share.

Samba is set up to share everything to everywhere else in the house so WinblowsXP doesn’t feel left out, and this keeps my wife relatively happy. (long term, I need to get a good rsync script set up to back up her “My Documents” folder to the big drive on the main desktop.

Get the new video card installed for the front-end (should be a simple driver reconfigure)
Get XvMC working on both machines…I thought it just worked through the driver, but I need to re-verify this, and perhaps set them both up to do better with my video cards. (This would explain a few things on my desktop if I wasn’t using the correct settings for the video hardware acceleration for decoding MPEG2 and MPEG4).
Get the Kworld TV Card working with the backend. This is a little more complex. (Link)
Hook the computer output to the TV, and make it work right. Lauren is the key here, if she can work it w/o having me around, then I know it is set up correctly.
Make sure all the myth plugins are setup and work correctly.

First off, must find a good outdoor antenna to avoid problems with recording while not home and the signal is bad. Second, must find a reasonably priced distribution amplifier. I’m thinking a 2 x 8 should cover every possible scenario. Something that will let me configure which output goes with either of the two inputs. And I would like it to amplify the signal such that each output has a unity gain with the input, or possibly even around the +5db gain region through 2GHz signals. Third, centralize networking and media to a single box in the basement. I’m thinking ripping out all the phone cords and using them to pull through network cable, or perhaps use our defunct chimney that goes to the basement to pull cables through. I need to research the wisdom of this one before drilling into the chimney. (Caleb, didn’t you do something like that for your pipes?).

I should figure out if I can actually modify that LCD screen I got from my old job to be a touchscreen. I have the touchglass, and all I would need is to see if I can cut down the standoffs inside holding the LCD panel to allow room for the glass. I would also need a controller for the glass, but that isn’t a big deal.

After we finally get an HDTV in the year 2056, and maybe a better receiver, I plan on moving some of this hardware upstairs to the bedroom, extending the whole server/client thing to actually make more sense. So the infrastructure to do so would be handy to have before hand.

After the new HDTV and receiver, I plan on upgrading my desktop, moving my old desktop to roll of dedicated server / NAS / backend for LinuxMCE, which incorporates MythTV for the TV time shifting / recording functionality. This is when I buy this cool media center case from Silverstone which fits my needs for a silent, small, media center case with an LCD display, so it works and looks like part of an AV rack. This one will have some decent specs w/ good onboard video for watching videos (hopefully full HD content in 1080P by then), and will have a TV tuner in it.

This is the point that if I’m still in this house, I either need to get handy with a fish-tape, or tear it down and rewire the replacement myself. If this fun muti-year project goes this far, I would start ripping out the AC wiring to all the light switches, and brining newer and better wiring through, along with a planned control network (+24VDC signal wires, AC wiring, Analog signal wires in the form of shielded twisted pairs, and maybe ethernet depending on the cost of programmable light switches). I would then terminate everything for lighting, heating, cooling, and anything else I could think of back to a PLC (programmable logic controller), and use an open source, standard protocol, to patch the PLC into the LinuxMCE. (probably use the industrial Ethernet/IP standard, or ModBus TCP/IP). Then, outfit each light fixture, and light switch with a programmable light controller for automatic dimming. And replace the thermostat with a dumb touchscreen which would allow lighting and temperature control. The relays into the furnace and air conditioning would be replaced by the PLC (I need to research whether relay output PID control is appropriate here…I’m guessing not). Also, in the ventilation, and on the windows I would mount stepper motors, to allow for zone controlled heating and cooling with automated dampeners, and complete lighting control by automated shade control.

Also, all the phones would route through the ethernet using VOIP.

That is my pie-in-the-sky part of this scheme…but that would be fun to do. It would also take a really long time if I was working at the time.

Also of note, I’m seriously researching some new stuff about moving to solar power for the house. That would greatly aid my doing this, because I’m sure some of the power stuff would get re-worked at this time anyway.

There you have it folks, my Audio / Video / Home Automation / communications nirvana project. I wonder if I did this, if it would actually be valuable to anyone who owned the house after me?