Ubuntu for amd64 (personal preference).
kernel-2.6.16.39. Introduction timeline of desired/required features:
- 2.6.9: pcHDTV patches to v4l drivers become available.
- 2.6.13: pcHDTV HD-3000 is supported by DVB drivers.
- 2.6.15: ATA pass-through means that SMART status can be retrieved from SATA drives.
Other kernel features:
- JFS on LVM for 284GB of combined MythTV storage. Large 20GB recording files can be deleted in under one second. The rest of the system lives on ext3.
- powernow-k8 w/cpufreq-ondemand, with "ignore-nice-load" turned on (in 2.6.15 and earlier, this is called "ignore_nice" and should be turned off). The CPU usually runs at 1.0GHz, speeding up to 1.8-2.2GHz for live HDTV and compiling software.
lm-sensors:
- CPU: 40°C at 1.0GHz, 55°C at 1.8GHz, 60°C at 2.2GHz.
- Motherboard: 35-40°C.
hddtemp. Both hard drives run at 33-35°C.
MythTV SVN. Interesting bits of MythTV configuration:
- MPEG2 Decoder is "Standard" (a.k.a. ffmpeg); see Performance Notes.
- Everything gets auto-mythtranscoded down to MPEG-4 at a
variety of resolutions. Broadcast HDTV content consumes
7-8GB/hr; transcoding gets this down to about 1-2GB/hr. With
my storage I have about 100+ hours of recorded television,
plus photos, music, and movies. I have "High Quality" set to
856x480@4400kbps, "Medium" set to 720x480@3300kbps, and "Low"
set to 480x480@2200kbps. There is a noticeable but acceptable
degradation in quality from 856x480 to 720x480 to 480x480. As
a bonus, the CPU can play back the transcoded content at a
nice slow cool 1.0GHz (at 20% CPU). The mythtranscode
configuration:
- "Medium CPU usage" (nice +17). At 1.0GHz, transcoding runs at about 0.5x real-time (2 hours to transcode a 1-hr recording).
- Run transcoding before commercial detection (backend setup); detecting commercials in the transcoded content runs at about 6x real-time (10 minutes to analyze a 1-hr recording), much faster than analyzing full-resolution HD content.
- Content is auto-expired by priority (lowest priority first). This lets me keep my hard drive full without worrying about deleting content I care about. I just record all my "filler" content (Conan O'Brien, etc.) at some low priority so that it always gets auto-expired first.