This is a log and description of my research and construction of my Linux based PVR.
Nice to have:
I selected Fedora Core 2 because:
I have selected MythTV. It was my selection because:
xine-hd is supplied with my card so I wanted first to get this up and running becuase 1) it is much easier than MythTV and 2) would let me know that my capture card and graphics card drivers were working OK. At first I didn't have a video card capable of using XvMC so it was only defaulting to xv (XVideo) which is much more CPU intensive. Here are some figures:
| Resolution | xv | XvMC |
|---|---|---|
| 720p | 32% | 13% |
| 1080i | 40% | 19% |
The first step when setting up xine is to fill in the channels.atsc file. I did this by running the following command:
$ dtvscan /dev/dtv > ~/.xine/channels.atsc.
I don't know why, but dtvscan can sometimes find channels that are not there, fill in incorrect attributes for channels found, and even miss channels altogether. After running this for the first time you will need to verify each channel and fill in or correct any missing data. How do you know what to expect. Well you can go to the following web sites:
The format of the channels.atsc file is as follows:
There are six fields per line of text separated by colons. These fields are:
| Field | Comment |
|---|---|
| Channel name | |
| Additional info | I don't know where xine displays this information |
| Channel number | major.minor like 4.1 |
| Station | Frequency |
| Program number | |
| Disabled | 0 to enable channel 1 to disable |
Here is my ~/.xine/channels.atsc file for the North Dallas area.
Here is the script that I am currently using to run mplayer.
mplayer -fs -vo xvmc -cache 8192 -ao alsa -vc ffmpeg12mc $*
The MythTV configuration was by far the most difficult part of this whole operation. I started the configuration process following Jarod Wilson's excellent MythTV setup instructions. My capture card drivers support FC2, but not yet FC3 (you can if you know what you're doing) so I followed his earlier FC2 instructions. I think that if I had a older more main stream analog capture card then Jarod's instructions would have worked perfectly and it would only have taken me a half a day to be up and running. Unfortunately I have a new HDTV tuner card and therefore I had to use more recent versions of a lot of the various software packages which means that there weren't prebuilt RPM's that I could just grab with apt-get. In the end I wound up:
Notes:
So far DVD ripping is far from perfect. I've tried a couple of DVD's and all of them have failed to rip. I can rip selected chapters, but whenever I try to rip an entire CD I get the following error displayed in the /video/mythdvd/temp/mtd.log file:
18:11:51: job thread beginning to rip dvd title
18:18:59: Error: DVDPerfectThread read failed for 286 blocks at 1752018
18:19:00: job failed: job dvd 1 1 0 0 -1 /video/mythvideo/MovieTitle
18:21:18: a client socket has been closed
What really sucks is that mythfrontend doesn't catch this error and it appears as if the DVD rip succeeds. From what I can tell this is just a bad read caused by a scratch, but I can play this DVD in my DVD player just fine and the DVD doesn't appear to have an unusual amount of scratches.
This was one of the most difficult components to research. I wanted a small reasonably quiet system with 2 PCI and 1 AGP slots and onboard audio. I selected the FIC Condor because it met these requirements, fit within my size requirements, and was affordable.
Although I don't need a particularly fast CPU I selected a faster one because I expect to be transcoding video files and want to eliminate as much time that I may be waiting for this operation to complete as possible.
From what I've read the older Northwood's run cooler and are even faster than the Prescott's at the same clock speed. I need a Socket 478 CPU 800 MHz FSB CPU. Because cooler also means quieter I went with these.
Fry's had a great deal on a 160GB hard drive for $59 so I picked one up. After the OS is installed the video partition is only 139GB which leaves us with an approximate 16.8 hours of recording time assuming all of the content is 720p or 1080i. My plan is to transcode the recordings offline down to 480p to increase capacity. My system has space for a second drive which I may add at a later time.
Single DDR 400 (PC3200) 512MB chip. DDR PC3200 • CL=3 • UNBUFFERED • NON-ECC • DDR400 • 2.6V • 64Meg x 64
The pcHDTV HD-3000 card was one of the few (if only) with good active Linux support. I almost went with the Fusion III, but at the time it only had support for Australia's DTV format.
I spent quite a bit of time researching and playing with different cards. After trying a nVidia geforce MX400 and a MX4000 I finally settled on a FX 5200. Only the 5200 had hardware MPEG2 playback. It has hardware MPEG2 support if xdpyinfo reports the following extension: XVideo-MotionCompensation.
The previous owners of my house had a small antenna in our attic. It was not good enough to pick up all of my desired stations so I purchased a 10' mast and mounted it outside. There was one channel that was around 65% signal strength so I bought a new better antenna, but there was only a marginal 3-5% improvement. To find out what kind of antenna you should buy visit AntennaWeb.org.
My current TiVo device is a Sony SAT-T60 DirecTV receiver. AFIK it is fan-less, but even the hard drive is enough to bother me at times. I knew that the only way that I would be pleased was if the device had no drive and no fan which is pretty much impossible. Instead I opted to put my PVR on the opposite side of the wall which located it in my kitchen.
| Item | Description | Mfr. | Model | Linux Driver | Price* |
|---|---|---|---|---|---|
| Barebones system | Case/Motherboard | FIC | Condor VL67 | Yes | $ 254.03 |
| CPU | 3 GHz Socket 478 P4 | Intel | Pentium 4 | N/A | $ 170.50 |
| Drive (160 GB) | Hard Drive | Western Digital | WD1600J | N/A | $ 59.00 |
| RAM | 512 MB DDR 400 (PC3200) | Crucial | CT6464Z40B | N/A | $ 99.58 |
| DVD Drive | DVD±R/DVD±RW | Sony | DRU-710A | Yes | $ 80.00 |
| NIC | Onboard Intel 82562EZ | Onboard | N/A | Yes | $ - |
| Audio | Onboard Realtek ALC202A | Onboard | N/A | Yes | $ - |
| Remote | Universal remote | Radio Shack | 15-2116 | N/A | $ 34.63 |
| Input video card | HDTV capture card | pcHDTV | HD-3000 | Yes | $ 196.64 |
| Output video card | nVidia GeFORCE FX 5200 | PNY | FX 5200 | Yes | $ 86.49 |
| Antenna | UHF Antenna | Channel Master | 3016 | N/A | $ 30.00 |
| Antenna hardware | Mount and 10' mast | Radio Shack | 15-885B | N/A | $ 36.99 |
| Total | $ 1047.86 |
*All prices include shipping and tax.
Before the system can go online The following must be completed:
I didn't put together the cheapest system, and I also didn't do it solely to save on Cable/Satellite costs. At $47.79 for my DirecTV this system will take 22 months to pay for itself.
What I don't like about my system: