LinuxDevCenter.com

oreilly.comSafari Books Online.Conferences.
Sign In/My Account | View Cart   

We've expanded our Linux news coverage and improved our search! Search for all things Linux across O'Reilly!

Search
Search Tips

advertisement


Listen Print Discuss Subscribe to Linux Subscribe to Newsletters

The State of Home-Brew PVRs on Linux

by Joe Stump
11/13/2003

We've heard rumblings in the community for quite some time about individuals creating homebrew PVRs using Linux. Out of these stories and legends, a few projects have actually developed some rather useful PVR applications. In this article, I'll describe my own experience building my PVR. I'll also outline the various projects that make up the current state of PVR technology on Linux.

Hardware Requirements

You'll need to consider a few things when building a PVR. The first is the type of case. Since the PVR box will most likely reside in your living room next to your TV, you will want a quiet, good-looking case. Several cases on the market today cater to the home entertainment PC.

Since your PVR will be encoding video, you'll need a decently beefy processor. Freevo's documentation recommends at least a 400MHz processor, while MythTV says you'll need over 1GHz to record and watch TV at the same time. With the current low prices of processors, I recommend going as fast as you can afford. I also recommend buying as much RAM as possible.

If you wish to record a show and watch a live TV show at the same time, you will need two TV cards: one for recording and one for watching TV. I would highly recommend using one of the many cards supported by the bttv Linux drivers. If you wish to listen to FM radio, you can pick up one of the WinTV cards that include an FM tuner as well.

Audiophiles, listen up! You'll want to put a nice sound card in the box and purchase some nice (-looking and -sounding) speakers.

Related Reading

TiVo Hacks

TiVo Hacks
100 Industrial-Strength Tips & Tools
By Raffi Krikorian

Table of Contents
Index

Read Online--Safari Search this book on Safari:
 

Code Fragments only

Software Requirements

Before installing MythTV, you'll probably need to install ALSA, fortunately found in the latest 2.6 test kernels. On the other hand, if you are installing Freevo, you will need quite a few applications to get it up and running.

Both MythTV and Freevo require a few libraries and applications. First you'll need to install XMLTV to download TV listings and LIRC to use a remote to control your Linux PVR once you have it set up.

Freevo is basically a controller application that launches various applications, depending on the user's request. To play movies, record TV, watch recorded shows, and play DVDs, you will need MPlayer. Alternatively, Freevo's CVS version also has a plug-in for using Xine to play DVDs. I highly recommend tvtime for watching live TV. MPlayer is currently the default TV application; however, I found that the A/V was out of sync. Using tvtime fixed this problem.

Remember, for both Freevo and MythTV you will most likely have to recompile your kernel. Make sure to include frame-buffer support, USB support (for a StreamZap USB remote and other USB devices, such as gamepads), and ext3 support (for quick reboots after hard power downs).

MythTV vs. Freevo

Freevo

When I started my project six months ago, I decided to go with Freevo, mainly because it played DVDs. Freevo is also programmed in Python, which makes it much easier to hack on for those of us who are C-challenged. It's designed very modularly, making it easy to use other applications.

One of the problems I have with Freevo is that a lot of the features are only 90% complete. There are some small and annoying UI problems, though overall, the application is easy to use and works well for basic PVR applications. Freevo is currently transitioning to a recording daemon, which should improve its recording abilities drastically. For now, I highly recommend using WebVCR+ until Freevo's recording daemon becomes stable. Also, those wishing for time shifting (pausing live TV) may want to consider MythTV, since Freevo does not currently support this feature.

If you decide to install Freevo, you may want to look over my Freevo HOWTO.

MythTV

MythTV sports a few features that Freevo lacks, but can be quite a bit harder to set up. In fact the setup process is one of the few reasons I didn't choose MythTV. However, the impressive list of features in MythTV will be enough for many people to trudge through the lengthy setup process.

MythTV's more impressive features include time shifting, a client/server environment, rudimentary video editing, and DVD ripping. One of the drawbacks, however, is that MythTV uses its own modified version of NuppelVideo as its primary codec, which will limit those wishing to export recorded shows to other formats (i.e., VCDs). MythTV also comes with its own web back end, support for LIRC, and a themeable onscreen display.

WebVCR+

WebVCR+ is an easy-to-use recording interface. It's web-based, written in PHP, MySQL, and Perl. I use WebVCR+ to record TV shows, which are then moved into my Freevo folders where I am free to watch them on my TV. I only mention WebVCR+ because it records TV. If you want more than mere recording, you will want to install Freevo or MythTV.

Outputting to Your TV

After a lot of fussing around, I was able to get Freevo to output to my TV. Whether you decide to install Freevo or MythTV, you will want to purchase a Matrox G400/450 card, which has the best TV-out support under Linux.

Freevo supports both the Linux frame buffer and running in XFree86, while MythTV only runs under X. While getting Freevo to display full-screen on my TV with the frame buffer was rather simple, getting X to display in full-screen was difficult. In fact, I gave up and went with the frame buffer, since it was already working.

The Cost

Just like any computer, your PVR box can be cheap or expensive. I've put about $600.00 (USD) into my box so far; however, this includes a nice Seagate drive, sound-dampening materials, and a lighted window case. I also justify the extra cost by telling myself it does other things than a regular TiVo and that a TiVo with a lifetime subscription can cost almost as much.

Conclusion

The good news is that the PVR applications out there are ready for home media-center use. The bad news is that it's not a simple task to get a box up and running. More good news is that both Freevo and MythTV have support for much more than mere PVR applications. Both projects support MAME, photo albums, CD ripping/playback, MP3/Ogg playback, IMDB support, and Internet radio and weather reports.

I'd say, on a whole, Linux PVR technology is in great shape. I actively use my Freevo box daily to record TV shows, watch DVDs, and listen to music.

Joe Stump is the Lead Architect for Digg where he spends his time partitioning data, creating internal services, and ensuring the code frameworks are in working order.


Return to the Linux DevCenter.


Did Joe miss any software? Let us know here.
You must be logged in to the O'Reilly Network to post a talkback.
Post Comment
Full Threads Oldest First

Showing messages 1 through 32 of 32.

  • Comments on controlling satellite receivers?
    2003-11-30 22:31:28  anonymous2 [Reply | View]

    Haven't found any useful information on whether or not the Freevo or Myth packages have any add-ons that can IR control cable and/or dish receivers like the TiVo can.

    Any comments on this from anyone?
    • Comments on controlling satellite receivers?
      2005-06-23 18:47:05  bellas23 [Reply | View]

      well :)
    • Comments on controlling satellite receivers?
      2004-01-07 10:15:48  anonymous2 [Reply | View]

      Yup. MythTV controls Sony and RCA DirecTV receivers through their serial or RJ11 ports.
  • Radeon 7500 All In Wonder
    2003-11-19 18:44:26  anonymous2 [Reply | View]

    The Radeon 7500 All-In-Wonder has both TV in and out. It comes with a remote control, too. There are later versions of the All-In-Wonder, but the Open Source drivers aren't nearly as far along.

    The 7500 drivers are completely open source. The project developing TV in/out is here: http://gatos.sourceforge.net/

    I can't comment on the stability of the TV support ('cause I haven't tried mine yet). It works great for standard X11 stuff.

    -Dan
  • MythTV Knoppix Distro
    2003-11-19 05:12:32  anonymous2 [Reply | View]

    Setting up MythTV is a snap.

    Download the ISO from www.mysettopbox.tv
    Burn CD From ISO
    Boot pc from CD
    type "setup" at the prompt and the distro is coppied to your hard disk.

    (with nvidia video cards, read instructions and run install-nvidia.sh to get video drivers installed)

    Knoppix based, but needs to be installed on your hard disk to run.
    • MythTV Knoppix Distro
      2003-11-19 06:10:20  anonymous2 [Reply | View]

      Setting up MythTV is a real bitch if you don't have a pentiumpro compatible processor. All the precompiled packages are built with the -march=pentiumpro flag which will not run on AMD K6-2 processors. This is also the default compile flag for source packages. I had to rebuild every package with the -march=i586. You would think that the i586 option would be the default so it would work with all machines.

      I also found issues with incorrect pathnames, for instance, the setup program wouldn't run because it couldn't find the blue themes directory.

      If you have to manually build and install everything, you're in for an ordeal.
      • MythTV Knoppix Distro
        2004-02-15 10:59:33  guyrand [Reply | View]

        Heh. Try installing it on ppc. :-)

        You can change the settings.pro file to compile with the appropriate march flag for your platform. Beware though, there's assembler used in some of the source files... I saw that and rm'ed the source.

        I'm setting up freevo now.
  • TiVo vs DVR
    2003-11-17 18:06:04  anonymous2 [Reply | View]

    TiVo is nice for time-shifting your TV watching, but a lot of folks alk about hacking it for the purpose of archiving the video -- essentially a digital video recorder.

    The problem, as I see it, is that all TiVo-ish systems store the video in compressed form for the sake of maximizing storage. These codecs are usually MPEG 1 or 2, both of which are lossy compressors.

    If you want to edit the video -- to remove commercials and such -- you must first uncompress. Then when you recompress, you suffer quality loss, sometimes VERY noticable.

    I have a different setup.

    I have a Formac Studio TVR (analog to digital video converter with TV tuner) and several BIG hard drives. I record what I want, process it with Final Cut Express and iDVD, and there it is.

    Granted, I am not doing tens of hours of video per week, but I manage a couple of hours without difficulty.
    • Editing with Mythtv
      2003-11-19 00:15:50  anonymous2 [Reply | View]

      When you edit shows in Mythtv without transcoding (coding to another video format) only the frames at the cut point will be reencoded. All other frames only get copied, so no quality loss here.

  • hardware?
    2003-11-17 11:48:42  anonymous2 [Reply | View]

    The link to the bttv page is semi-useful. The page says to use cards with bt848 or bt878 chip sets. But no examples are cited.

    So what cards are based on those chipsets?
    • hardware?
      2003-11-18 06:32:05  anonymous2 [Reply | View]

      Hauppauge (www.hauppauge.com) has quite a few cards based on this chipset - for instance, the WinTV Theater I own has an 878. I haven't tried it under Linux, though...
      • hardware?
        2003-11-19 04:06:58  anonymous2 [Reply | View]

        I purchased a Hauppauge card recently. Can't get it working. Happauge customer support doesn't respond to my requests for assistance.
        • hardware?
          2003-11-19 08:46:45  anonymous2 [Reply | View]

          Which card? What does the command 'lspci' show for
          the card?
  • PVR = ?
    2003-11-17 08:50:28  anonymous2 [Reply | View]

    What a pity you couldn't spare a line to expand `PVR' into everyday English.

    See Jeffrey E.F. Friedl's remark (in _Mastering Regular Expressions_) that an author should do such things `so your readers don't have to.'
    • PVR = ?
      2003-11-19 10:37:12  thoca [Reply | View]

      Personal Video Recorder
  • Waht about VDR ?
    2003-11-17 01:24:42  anonymous2 [Reply | View]

    VDR is a very active german project with a lot of
    interesting features (plugin framework,
    xine dvd LCD plugin ...)

    Check it out at:
    http://www.cadsoft.de/people/kls/vdr/

    Cheers
    • Waht about VDR ?
      2003-11-19 01:11:51  anonymous2 [Reply | View]

      VDR is in fact THE linux-based solution - but only for digital Television broadcasts. I run it at home, and, among other things, it can
      - record as many programs as the same time as hardware allows
      - timeshift
      - include EPG data from different sources
      - cut movies and burn it straight to DVDs (including DVD Menus)
      - convert the recordings to DIVX, SVCD and other formats
      - switch on and off your computer automatically for recordings
      - supply 5.1 Dolby Digital Sound to your AV-Receiver if it is broadcasted
      - Play DIVX, SVCD, DVDs and other formats via the DVB Card. Anything mplayer can play

      And I forgot at least 80 % of the other features (ah, maybe you are interested in TETRIS, Tron Minesweeper on your TV)

      It is not easy to set up, but a german Computer Magazin has recently released a specialized Linux distribution that makes it a piece of cake....

      • Waht about VDR ?
        2003-12-09 04:42:37  anonymous2 [Reply | View]

        It is not easy to set up, but a german Computer Magazin has recently released a specialized Linux distribution that makes it a piece of cake....
        ------------------------------------
        Does anyone know a location for this?
        • Waht about VDR ?
          2004-01-18 08:22:41  anonymous2 [Reply | View]

          Try http://www.heise.de/ct/ftp/result.xhtml?url=/ct/ftp/listings.shtml&words=VDR
  • What about pause?
    2003-11-16 19:00:18  anonymous2 [Reply | View]

    Previously when I looked at home-brew Linux PVR alternatives, not a one of them allowed for the basic "pause live TV" functionality found in all commercial systems. Additionally, it seemed that none of the authors deemed it important, basically relagating their systems to simple VCR replacement instead of being a true PVR.

    Is this still the state of home brew PVRs?

    Pat Furrie
    pfurrie@hotmail.com
    • What about pause?
      2003-11-16 19:31:20  joestump [Reply | View]

      This is no longer the case. MythTV has pause for live TV (aka timeshifting) and Freevo is soon to release this feature as well.
      • What about pause?
        2005-07-19 13:08:07  RichardBronosky [Reply | View]

        HA! Freevo still hasn't added time shifting. I'm going with MythTV.
  • MythTV's NuppelVideo is a non-issue
    2003-11-15 14:57:59  anonymous2 [Reply | View]

    What version of Myth did you look at? All recent versions (at least back to 0.8) have supported MPEG4 as well as NuppelVideo. Also with the current 0.12 version, there are built in utilities to export and convert your saved files to another format for easier transport.
  • Just start with Tivo
    2003-11-15 07:07:37  anonymous2 [Reply | View]

    Since Tivo is already a Linux machine tweaked for this purpose, just start with a Tivo. There are many online "hacks" as well as books to document modifications and enhancements (as well as eliminating ongoing paid service requirements). It's probably the lowest cost platform for a home-brew PVR, and it comes in a nice case that looks good next to your TV! Why re-invent the wheel?
    • Just start with Tivo
      2003-11-19 10:47:01  anonymous2 [Reply | View]

      I'd heard about that. Could you offer some URLs?
  • premium channels
    2003-11-14 19:07:50  anonymous2 [Reply | View]

    Is there any way to access premium channels that you have paid for? I have a DVR (S A Explorer 4000) from Time Warner and I can record HBO/etc/etc... Is this possible with a home brewed system and what sort of support do I have to get from TW?
  • Knoppmyth
    2003-11-14 13:50:00  anonymous2 [Reply | View]

    Knoppmyth is fairly easy to install, and it's improving by leaps and bounds. Give it a try!
    • Knoppmyth
      2003-11-19 08:45:01  anonymous2 [Reply | View]

      Make that KnoppMyth which is a Knoppix with MythTV
      already for install. See mysettopbox.tv as the home
      page for this project. Release 4 is out and Release
      5 is being worked on.
  • MythTV install is EASY - KnoppMyth
    2003-11-14 13:30:37  anonymous2 [Reply | View]

    I just used KnoppMyth to set up a MythTV system, and it was a piece of cake. The only thing that didn't work after 5 minutes of tweaking is the remote with my PVR 250. If ease of installation is a priority, MythTV is the clear winner.
  • Set-top box from Cable Co.
    2003-11-14 07:43:49  anonymous2 [Reply | View]

    I looked at the box Time-Warner offers in my area. It's literally a digital VCR - without commercial skip. No enhanced media (photos, mp3, etc) - pretty much no import or export to other PCs in my house. Cost was competitive ($10-15 or so), so I might sign up for a 6months to a year while waiting for the Linux alternative to mature, or to make sure TiVo won't implode.
  • yes but what about quality?
    2003-11-13 18:18:14  anonymous2 [Reply | View]

    I know that regular TVs(even my Sony Trinitron TV) have low resolution and I have always wondered what the output quality of Freevo or MythTV is compared to say Tivo, replayTV, Ucentric or other set top PVRs.

    Can anybody comment on this before we go and spend $500+ on a Linux home brewed PVR solution instead of a Tivo or Ucentric box that soon comcast will be rolling out?
    • yes but what about quality?
      2003-11-14 07:59:43  joestump [Reply | View]

      You have total control over the quality of the recording. You can record at "TV quality" or all the way up depending on how many frames per second you record. I tweak the quality down a tad (imagine analog TV) because of file size issues.

      Live TV with tvtime is excellent. DVD playback is great as well. Overall I had *NO* issues with the quality of playback.

      --Joe


Tagged Articles

Post to del.icio.us

This article has been tagged:

linux

Articles that share the tag linux:

Managing Disk Space with LVM (74 tags)

Use Your Digital Camera with Linux (60 tags)

mdadm: A New Tool For Linux Software RAID Management (59 tags)

Asterisk: A Bare-Bones VoIP Example (43 tags)

View All

pvr

Articles that share the tag pvr:

Freevo: Freedom For Your TV (16 tags)

Television Listings and XMLTV (16 tags)

Clever Tricks with MythTV (14 tags)

View All

tv

Articles that share the tag tv:

Television Listings and XMLTV (36 tags)

Freevo: Freedom For Your TV (11 tags)

Miglia TVMicro and EyeTV: Easy TV on Your Mac (7 tags)

View All

mythtv

Articles that share the tag mythtv:

Clever Tricks with MythTV (16 tags)

Freevo: Freedom For Your TV (2 tags)

View All

Sponsored Resources

  • Inside Lightroom
Advertisement

Sponsored by:

O'Reilly Media
© 2008, O'Reilly Media, Inc.
(707) 827-7000 / (800) 998-9938
All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.
About O'Reilly
Privacy Policy
Contacts
Customer Service
Authors
Press Room
Jobs
User Groups
Academic Solutions
Newsletters
Writing for O'Reilly
RSS Feeds
Other O'Reilly Sites
O'Reilly Radar
Ignite
Tools of Change for Publishing
Digital Media
Inside iPhone
O'Reilly FYI
makezine.com
craftzine.com
hackszine.com
perl.com
xml.com
Sponsored Sites
Inside Aperture
Inside Lightroom
Inside Port 25
InsideRIA
java.net