For years now, Linux users have been proud of the fact that their favorite operating system is at the heart of the most popular personal video recorder (PVR) system around: TiVo.
Not only is TiVo a revolutionary media appliance (ask any TiVo owner if they can imagine living without one), it’s an excellent example of what can be done with embedded Linux. Furthermore, the company behind TiVo has done little to discourage the cult of TiVo hackers that’s developed over the last several years. Odds are that the hackability of the TiVo generates a non-trivial percentage of sales in some regions.
But not long ago Isaac Richards began to wonder why you had to pay TiVo a few hundred bucks for specialized hardware. Might it be possible to build your own PVR system using commodity PC hardware, open source software, and freely available television schedules? Not only is it possible, Richards’ MythTV is a lot of fun to play with.
Now, before going much further, it’s important to point out that Richards’ project is relatively new code: there’s more to it that the normal “download, compile, install, run” cycle that works for most projects featured here. In other words, MythTV is going to take you some time to get running — but you’ll learn more about your hardware in the process and get acquainted with the more active and vocal users in the MythTV community. If you don’t have the time or motivation to really get your hands dirty, skip ahead to KnoppMyth.
Building the Box
To get started, spend some time with the on-line installation guide at http://www.mythtv.org/modules.php?name=MythInstall and review the inventory of required hardware and software. While the software requirements are typical, MythTV has higher than average hardware requirements. Video encoding and playback, by nature, requires a lot of CPU power and disk space. If you happen to have a supported MPEG encoder on your video card (many high-end cards have them nowadays), the CPU requirements go way down. But either way, you’ll need a fair amount of free disk space if you plan to keep a good amount of video on hand for later viewing.
Given the abundance and low cost of fast CPUs and large hard disks, there’s a good chance that the only hardware you’ll need to buy is a remote control. You could use a wireless keyboard and mouse, but that’ll get old in a hurry.
In addition to the MythTV code itself, you’ll also be using MySQL, XMLTV (for getting broadcast program data), LAME, and ALSA. You’ll need to fetch and build each package to assemble a completely working MythTV system.
While going through the installation process, you may find that things don’t go as planned. Don’t worry. Someone else has probably blazed the same trail and even documented their experience. The wiki at http://pvrhw.goldfish.org/tiki-page.php?pageName=install_guides tracks installation experiences and is an invaluable source of the otherwise undocumented tricks you may need.
Once you’ve got MythTV up and running, the real fun begins.
Not only is MythTV quickly becoming an excellent and free PVR system, it’s also becoming a platform of sorts. You see, MythTV now has several add-ons that provide other features that are nice to have in the comfort of your own couch.
* MythWeb provides a web interface to control the MythTV application.
* MythGallery is a photo gallery application that lets you show digital photos on your television.
* MythMusic lets you access and play your MP3 collection via your television.
* MythDVD can be used to rip DVDs into a more compact MPEG stream for storage and playback on your MythTV system.
* MythNews is an RSS news feed application that can stream the latest headlines to your television.
The list of add-ons seems to be growing monthly.
If you don’t have the spare time to spend assembling all of the code, consider giving KnoppMyth a try. Inspired by (and derived from) the wildly popular Knoppix “live CD” Linux distribution, it provides a much faster way to get experience with MythTV. You’ll find more details on the KnoppMyth web site ar http://www.mysettopbox.tv/knoppmyth.html.
Do you have an idea for a project we should feature? Drop a note to firstname.lastname@example.org and let us know.
Fatal error: Call to undefined function aa_author_bios() in /opt/apache/dms/b2b/linux-mag.com/site/www/htdocs/wp-content/themes/linuxmag/single.php on line 62