Configuring HDTV

From MythTV Official Wiki
Revision as of 06:54, 30 January 2006 by Jdastrup (talk | contribs)

Jump to: navigation, search

HDTV Help Pages

Setting up MythTV to fully use HDTV can be rather complicated. This page only covers HDTV as used within the United States. Since HDTV is an international standard it should also apply to any other country that uses HDTV as well.

Understanding HDTV

Analog TV is sent using an system that hasn't change too much since TV was originally invented. The technical details aren't important, but essentially the signal within each channel's radio spectrum contains some timing synchronization and the raw signal that is sent to the electron beam in the CRT. Each dot on the screen corresponds to a portion of the signal. When you record analog TV, part of the recording process is to compress the data into a MPEG file. The PVR-250 and similar cards are popular because they do this in hardware.

Digital TV is sent as stream of binary data encoded in the radio spectrum. A digital tuner works much like a modem extracting the original digital data. The digital TV data is sent as MPEG-2, so if you can get the raw data, the compression is already done for you.

Digital TV comes in three flavors: Broadcast, Cable, and Satellite. The encoding for each is different, potentially requiring different hardware.

For digital broadcast TV, the standard is called ATSC. You can get a tuner card that will extract the raw transport stream for a given channel. Broadcasters sometimes include multiple subchannels, all of which are part of the same transport stream. In some areas, subchannels include encrypted pay channels.

For digital cable TV, the standard is called QAM. In theory, you can decode this with the same hardware that decodes broadcast ATSC. At this time, it is hoped that a future microcode upgrade for the HD-3000 card will provide this functionality. Unfortunately, depending on your cable provider, some or all of the channels may be encrypted. In theory, someone could build a card that accepted a smart card provided by the cable company that will decrypt channels that you have paid for (they are required to provide the decryption cards, and some products will use them), but no such cards exist or are known to be in development.

For satellite TV, all channels are digital, but they are also all encrypted.

Fortunately, for cable and satellite, some of the converter boxes include a firewire port where the raw MPEG data is sent. In theory, MythTV can record the data from this port. At this time, this is something that a few people have experimented with, but is not yet available for general use.

Recording HDTV

As discussed above, only broadcast ATSC HDTV can be recorded at this time.

Hardware

Several cards are now available for HD capture in Linux. The pcHDTV HD-2000, pcHDTV HD-3000, Air2PC, and ATI HDTV Wonder are just a few that have Linux drivers available. There is little reason to worry about the differences between the HD-2000 and HD-3000 cards, except that the HD-3000 is still being sold, while the HD-2000 has been discontinued.

The CPU requirements are quite minimal for recording because it's simply a matter of copying the transport stream from the card to the hard drive. I believe that people have reported success with less than 1GHz processors.

Another popular option is Firewire capture of digital streams directly from a cable box. As with the ATSC tuners mentioned above, the CPU requirements for this capture method are minimal, as the backend machine is simply copying an MPEG video stream to disk.

Drivers

The drivers are a bit temperamental; it can take some effort to get them to work correctly.

FIXME: Explain the different drivers, kernel versions, and such.

Playing HDTV

Hardware

Most people use nVidia cards to play HDTV, although ATI cards are capable as well. The minimum recommended nVidia card is usually the FX 5200. I believe that this is the fastest fanless video card available. It can usually be found for under $50. The minimum recommended ATI card is the Radeon 9600, which is also fanless, found for about $60. Even if you are going to output an HD stream to an SD TV, over S-video or composite, you will still need the minimum recommended cards, as the full video stream still needs to be processed.

The CPU requirements for playing HDTV are significant. While XvMC support (nVidia only) offloads some of the work to the video card, most people have reported better results with just using Xv acceleration.

The actual minimum requirements are hard to pin down, as people have reported conflicting results. Relevant factors may include the bus speed, memory speed, CPU speed, kernel version, Linux distribution, and compiler version and optimizations. Compiling X and MythTV with a recent gcc and optimized for your exact CPU may provide an important boost, so you'll hear some people talk about the importance of running Gentoo Linux for the extra performance.

I have it working with an AMD 2500+ CPU and Gentoo. If you are using an ATI card, use at least a Pentium 4 2.8 or equivalent.

Software

FIXME: Discuss setting up MythTV, including adjusting the minimum signal strength.

Transcoding HDTV

HDTV recordings typically consume slightly under 9GB per hour. Unless you have tons of storage, this will restrict you to a fairly small number of recordings unless you transcode.

FIXME: I haven't figured out how to do this yet. The editor function works to set a cutlist, but there is no option to set up a transcoding profile specifically for HDTV recordings. I suspect that further development effort is required before MythTV can transcode HDTV. Several people have reported on the mailing lists methods of using external programs for transcoding.

FIXME: There should be a discussion of the alternatives for keeping the original sound stream. How much space does a full surround sound stream take per hour? If you don't have a surround sound setup, you might as well convert to stereo; is there a way to preserve the original stereo stream only?