[mythtv-users] Pictures

Wingate, Nathan A [CC] Nathanael.Wingate at mail.sprint.com
Thu Apr 24 14:41:47 UTC 2003


Based on this morning's feedback -- both directly to my first draft and on 
other issues that were discussed in the last day -- I've revised the draft 
update a good bit. Here is the new version, for comments and criticisms.

Thank you to everyone who offered suggestions. I invite additional 
feedback, although my incorporating them into a third draft will probably 
wait until I get some feedback from Robert on the baseline merits of doing 
this revision.


--------------------DRAFT BEGINS---------------------

3.3 Hardware

Hardware selection is a complex topic, one this HowTo can touch on only 
briefly and in general terms. The following subsections offer some general 
guidence but stop short of offering specific recommendations.

For more detail about actual configurations that others have used, Mark 
Cooper has setup a hardware database at 
http//www.goldfish.org/~mcooper/pvrhw/. The website will let you browse 
what other users have reported as their hardware configuration, and how 
happy they are with the results.

To find out more about the suitability of specific hardware choices, you 
can also consult the archives of the mythtv-users mailing list, or post a 
question on that list.


3.3.1 CPU Type and Speed

Selection of CPU type and speed is the trickiest element of hardware 
selection, mainly because there are so many tradeoffs one can make, among 
number of things the MythTV device can do simultaneously, capture size, and 
encoding quality.

MythTV has two modes of operation. It can function as a software video 
encoder, which means that it uses a fairly generic "dumb" video capture 
card to get frames of video, encodes them using the CPU on your motherboard 
and writes them to disk. High-end video capture cards and devices like the 
Tivo and RePlay have dedicated encoder chips which use specialized hardware 
to convert the video stream to the MPEG-2 format without using the 
motherboard CPU. The main CPU has the responsibility of running the 
Operating System and reading and writing the encoded frames to the disk. 
These tasks have fairly low CPU requirements compared to encoding video, 
which is why a device like a Series 1 Tivo can run with only 16MB of RAM 
and a 54Mhz CPU.

There are many variables that go into the question "How fast a CPU do I 
need to run MythTV"? Obviously, the faster your CPU, the better your 
experience will be with MythTV. If you are using the software MPEG-4 
encoder and performing the "Watch TV" function, where the CPU is both 
encoding and decoding video simultaneously to allow Pause, Fast Forward and 
Rewind functions for live TV requires more CPU then just encoding or 
decoding. MythTV also supports multiple encoder cards in a single PC, 
thereby increasing the CPU requirements if you plan on simultaneously 
encoding multiple programs.

NOTE  As of 2003-04-15 the current IVTV driver does not support multiple 
hardware encoder cards in the same chassis.

Here are a few data points

         A PIII/733Mhz system can encode one video stream using the MPEG-4 
codec using 480x480 capture resolution. This does not allow for live TV 
watching, but does allow for encoding video and then watching it later.
         The developer states that his AMD1800+ system can almost encode 
two MPEG4 video streams and watch one program simultaneously.
         A PIII/800Mhz system with 512MB RAM can encode one video stream 
using the RTJPEG codec with 480x480 capture resolution and play it back 
simultaneously, thereby allowing live TV watching.
         A dual Celeron/450Mhz is able to view a 480x480 MPEG4/3300Kbps 
file created on a different system with 30% CPU usage.
         A P4 2.4Ghz machine can encode two 3300Kbps 480x480 MPEG4 files 
and simultaneously serve content to a remote frontend.


3.3.2 Memory

A MythTV host that is both a backend and a frontend, and that uses software 
encoding with a single capture card, should run comfortably in 256 MB of 
RAM; depending on other hardware choices, even less (128 MB) might suffice. 
Any common type of RAM in use today is fast enough. Additional RAM is 
useful, but it mainly serves as buffer space to smooth the process of 
sync'ing to the hard disk. For that reason, a swap partition is effectively 
useless.


3.3.3 Hard Disk(s)

Encoded video takes up a lot of hard disk space. The exact amount depends 
on the encoding scheme, the size of the raw images, and the frames per 
second, but a typical value for MythTV is 2 GB/hour. Allow enough space.

Because a lot of data is being written to disk, the disk used for video 
storage must support DMA transfers. This is not just a disk issue. The 
Linux kernel must be set tp use DMA, and the motherboard's IDE chipset must 
support it. These are kernel-level issues, so all we will say here is that 
you need to be sure that your kernel will support DMA and your 
motherboard's chipset (look in the "ATA/IDE/MFM/RLL support" section in 
"make menuconfig" for more information).

If DMA works but is not active in the kernel ... these days, most Linux 
distributions turn it off by default ... you can change that from the 
command line or during the boot/init sequence. You do this with the command 
"hdparm". As root, or from a suitable init script, run it as follows

         hdparm -d 1 /dev/hdc

replacing "hdc" with the appropriate device entry for your capture drive 
(the drive, not the partition). For more on this, see the Troubleshooting 
Section of this HowTo.


3.3.4 Video Capture Card

The system needs one of more video-capture cards for which Linux kernel 
modules exist. We know of no complete list of video-capture cards known to 
work with Linux; the "Cards" file that ships with kernel-bttv documentation 
is one place to check. The most common, inexpensive cards available are 
cards that use the bt848 or bt878 vidcap chip; examples are the "Hauppauge 
WinTV Go" card and the "AverTV Desktop PVR" card. They use the bttv kernel 
module.

After you have installed a suitable card in a pci slot, you can check that 
the kernel sees it with "lspci". Look for an entry labeled "Multimedia 
video controller". To get more detailed information about the card, use 
"lspci -v" or "lspci -vv".

While inexpensive video-capture cards just capture raw frames, leaving 
encoding to software, some higher-end cards incorporate hardware-level 
encoding. Using either a G200 MJPEG encoder card, or a WinTV PVR-250 or 350 
from Hauppauge and the driver from the IvyTV project 
http//ivtv.sourceforge.net/ will allow you to use dedicated hardware 
encoders rather than your CPU. As of 2003-04-15, the CVS version MythTV is 
now able to use the PVR-250/350 cards as an input device for live TV and 
for scheduled recordings. Seek support is still being written. Using the 
onboard MPEG-2 encoder drastically reduces the CPU requirements for 
encoding. Here are some data points

         An Athlon 1800XP can decode a 720x480 8Mbps MPEG-2 file using 10% CPU
         An Athlon 1Ghz can decode a 720x480 16Mbps MPEG-2 file using 
30-50% CPU, can decode a 480x480 16Mbps
         MPEG-2 using 30% CPU and approximately 30% for Live TV at 416x480.
<This section needs more work, but I lack the required expertise.>


3.3.5  Sound card

The system needs a sound card, or an onboard equivalent on the motherboard, 
to play back sound and, in most cases, to record sound. Any sound card that 
can be operated by the alsa (Advanced Linux Sound Architecture) kernel 
modules will work with MythTV.

The usual practice for recording the audio associated with video captures 
is to run a jumper cable from an audio output on the video-capture card to 
the Line input on the sound card. Some video-capture cards use internal 
audio tuners that work with the Linux kernel's btaudio module, but a 
definitive list of these cards is hard to come by (in part because card 
makers often change tuners without changing card model designations, a 
practice called "slipstreaming"). See section 19.8 of this HowTo for more 
information on btaudio.


3.3.6 Video Display Card

If you want to view television on a computer monitor, then you can use any 
video card for which there is an XFree86 driver that supports xVideo (xv) 
extensions. Check the XFree86 documentation for details if you are 
uncertain about your preferred card.

Most people, though, want to view television on a television set. For this, 
you need either (a) one of the relatively small number of cards with TV-out 
outputs that are supported by Linux and XFree86, or (b) an external 
VGA-to-TV converter.

For choice (a), MythTV users on the mythtv-users mailing list report the 
following experience:

	nVidia: recent nVidia cards (such as the GeForce4 MX440) are reported to 
work with the nvtv drivers, available at 
http//sourceforge.net/projects/nv-tv-out/;  and with the drivers provided 
by nVidia itself at http://www.nvidia.com/content/drivers/drivers.asp .

	Matrox: recent Matrox cards (the G450 and G550 for sure, and possibly 
others) are reported to work with kernel patches (for Linux kernel 2.4.19) 
available at http//www.bglug.ca/matrox_tvout/. The URL provides a detailed 
recipe for geting these cards to work (follow it *exactly*).

	Savage: Savage cards with TV-out are fully supported by the standard 
XFree86 driver, the latest version of which is available at 
http//www.probo.com/timr/savage40.html. Some cards may require use of the 
"s3switch utility" also available at that URL. NOTE: The Savage 2000 card s 
unsuited for use with MythTV, but for another reason (lack of xVIdeo support).

	ATI: ATI is adament that it does not support use of its cards on Linux 
systems, and official XFree86 offers no support either. Some people report 
making some ATI cards work with the *experimental* version of the GATOS 
drivers, available in CVS at http//gatos.sourceforge.net/watching_tv.php.

These are the only four manufacturers for whom we have any information on 
TV out. If anyone has successfully used other TV-out cards with Linux, 
XFree86, and MythTV, please post a report on mythtv-users and we will add 
that information to this HowTo.

For choice (b), MythTV users on the mythtv-users mailing list report being 
satisfied with these devices:

	"Web Cable Plus" from AITech.

	 "Averkey lite", powered by a USB port,  has Composite, SVideo, YPbPr 
outputs;  pan, brightness, overscan/underscan controls; supports up to 
1024x768 outputs; and supports PAL and NTSC.

We will add other choices as they are reported on the mythtv-users list.

--------------------DRAFT ENDS------------------------



More information about the mythtv-users mailing list