log in

nerdylorrin.net

Wiki: MythTV

Your trail:
mythtv-logo.jpg

Hardware Requirements

1 GHz CPU is just about the minimum for simultaneous software based encoding and decoding of standard definition content. With hardware MPEG compression (e.g. Hauppauge WinTV PVR-250) CPU requirements are drastically reduced. Standard definition MPEG decompression isn't terribly CPU intensive so there's not much to gain from doing that in dedicated hardware (e.g. WinTV PVR-350).

Compressing high-definition content in real-time is currently not possible with consumer hardware. With cards like the pcHDTV-3000 no compression takes place; the input is already/still an MPEG stream. Decompressing high-definition content is CPU intensive; a fast dual-CPU machine is required. An Intel Core2 Duo E6600 2.4 GHz should be sufficient. Less CPU needed if some of the decompression is offloaded onto the GPU. See http://www.mythtv.org/wiki/index.php/XvMC

General installation

See MythTVUbuntuFeistyFawn, MythTVUbuntuEdgy and/or MythTVDebianSarge.

Graphics Card

See nVidia.

For Intel (e.g. G965 on-board video) install the xserver-xorg-video-intel package (Debian/Ubuntu), which replaces the older xserver-xorg-video-i810.

Analog TV capture card

On Ubuntu, see MythTVUbuntuEdgy.

On Debian, ee Bttv for Hauppauge WinTV (non-PVR) cards based on the Bt848 and Bt878 chipsets. For Hauppauge WinTV PVR cards use the Ivtv drivers.

Digital TV / HDTV

Easiest route is HDHomeRun.

The pcHDTV-3000 can record over-the-air (OTA) HDTV broadcasts and it ignores broadcast flags.

Regardless of transmission medium HDTV is broadcast with MPEG-2 compression. This is handy since no consumer grade equipment (2004-11) is powerful enough to compress the flood of raw data in real-time. Since it's already compressed all that has to be done is to stream it to disk.

AntennaWeb lets you look up what OTA digital broadcasts are available in your area and what type of antenna you'll need to receive them.

HDTV from cable or satellite is trickier. First it's QAM-encoded. pcHDTV currently doesn't decode QAM. More importantly, it may be encrypted, in which case you're hosed. So you need to get the data after it has been decrypted but before the MPEG has been decoded into a unmanageably huge raw data stream. Cable boxes are required by law to have IEEE-1394 jacks on them now. That data is always pre-decompressed but, most of the time (depends on the box), it's also pre-decrypted.

In the future you could probably get the final DVI output and encode that with a more powerful computer. Unless, of course, the DVI isn't DVI but HDCP, which stands for High Definition Copy Protocol. The latter is encrypted and currently uncracked.

LIRC

See LIRC

Channel Listings

In North America Zap2It provides the easiest way to get channel listings. See the Configuring the Zap2It.com DataDirect service section of the MythTV HOWTO for information on how to get a (free) account.

Encoding settings (analog broadcasts)

On a Pentium 4 2.8 GHz, MPEG-4 with 640x480 @ 2200 Kbps and high-quality encoding and 4MV enabled CPU load when watching LiveTV is about 50%. Without the high-quality settings CPU load is closer to 30%. Despite the apparent headroom, however, the high-quality settings cause occasional clicks in the audio, especially during seen changes.

640x480 is the native NTSC resolution (or as close to a native resolution as NTSC has). Lowering the resolution seems to dramatically reduce image quality.

Although higher bitrates do slightly increase the CPU load this seems to be the least CPU intensive way of getting more image quality. I'm currently experimenting with recording at 8000 Kbps (high quality disabled) and transcoding to 4400 Kbps (high quality enabled).

With my PVR-250 I'm recording at the default 4500 Kbps (but also at 640x480).

Font Size

The MythTV GUI provides two ways of setting the font size. Under Setup -> Appearance you can change Font size between big, small, and default. Select what seems appropriate. You can also set point sizes for small, medium, and big fonts. Leave those settings at their defaults (12, 16, and 25). The reason is that the theme files /usr/share/mythtv/themes/*/ui.xml already specify explicit point sizes for each font when rendered big or small.

Another option is to change the global DPI setting in /etc/X11/XF86Config-4. Find the "Monitor" section and add DisplaySize width height where width and height are in millimeters. To compensate for TV screens being fuzzy use values that are on the small size (but keep the correct aspect ratio). For my 20" TV I use 208 by 156.

Tweaks

If your graphics card supports OpenGL (e.g. with the nvidia-glx driver) enable MythTV OpenGL support.

In Setup -> TV Settings -> General it's a good idea to set recordings to start and stop with an additional buffer (e.g. 120 seconds).

In Setup -> TV Settings -> Playback -> Deinterlace / Kernel, OpenGL vertical sync, Seeking->Smart Fast Forwarding

Issues

Output improved by reducing flicker correction in nvtv. Unfortunately below 50 digital artifacts appear. Turning off interlacing gets crisper output but jaggies appear. Dialing saturation down a notch improves image slightly.

Troubleshooting

Resources

Also if interest, EFF is looking at MythTV for their Television Liberation Digital Front compaign against broadcast flags.


Attachments:
mythtv-logo.jpg Info on mythtv-logo.jpg 13091 bytes
[RSS] Creative Commons License
This work is licensed under a Creative Commons License.
Edit this page   More info...   Attach file...
Pages referencing this one include Bttv Kernel LIRC Linux MediaApps MythTVDebianSarge MythTVLircrc MythTVUbuntuEdgy MythTVUbuntuFeistyFa...
This page last modified 04-Jul-2010 22:26:26 PDT by LorrinNelson.