[mythtv] Up and running; notes, tv-out, projects, etc...

Grant Taylor mythtv-dev@snowman.net
Tue, 03 Sep 2002 11:08:21 -0400

OK, at long last I've got mythtv working well.  Phew!

I'd started trying to use hardware I already had, namely a Matrox g450
with TV tuner and out.  The Linux drivers for this card are pretty
shakey, and the card isn't really capable enough, anyway.  Then I
played around with an ATI AIW Radeon 7500, on which individual
features do mostly work, but which isn't strictly a v4l device and
thus would be awkward at best to make work with mythtv.

The secret is to use a separate, bttv-based capture card with a well
supported tv-out video card; nvidia seems to be among the better of
these, although the drivers comprise userspace and (intentionally
obfuscated!) kernel binaries that I don't like one bit.  I've ended up
with a PNY brand Geforce4 MX 440 that I picked up at Circuit City
(which has a nice return policy).

The nice thing is that this will generate TV from 1024x768 as well as
the more usual 800x600 and 640x480 modes.  The less nice thing is that
the generated picture is a bit smaller than my TV screen, so there are
little unused areas on the top and bottom.  Anybody know how to adjust
this?  The "nvtv" project over at sourceforge distributes a tool that
would do it but for the fact that it doesn't know about my card ;(

It's also important to have a disk that's not only fast but also can
seek well; currently I'm using a big maxtor thing which can read at
~35MB/s, but seeks pretty slow.  Simultaneous play and record is a bit
iffy using 480x480, but works well at 352x480.  It's very clear that
the problem is seek time, "live" or even recently paused TV works
great, but watching something from 30 minutes ago, or in another file
entirely, causes trouble.  It seems like any of tagged queueing (not
on IDE, I guess?), striping, or a new fast-seeking drive would fix it.

Using the mpeg4 codec makes a slow disk less of an issue, if you have
the CPU to burn, but in my case it wasn't quite enough.  The mpeg code
also has worse failure modes: sound is frequently disturbed when there
is jitter, as opposed to with the nupple library, which tends to sound
fine but just "hang" for several frames. 

My bttv device (a bt878-based Hauppauge WinTV Go PCI card, also a
current device at Circuit City) can capture only at 480 or 240 lines,
but at seemingly arbitrary resolutions in the other dimension.  Mythtv
just shows nothing in wrong modes.

I run the svideo output through a radio sh*t modulator onto channel 3
and pipe that up from the basement.  I pipe an irman back to the
basement as serial over cat 5.  This makes things nice and quiet in
the TV room, and is much less hassle than trying to build a silent PC
from nonsilent parts!

SO!  Now for improvements.  I'd like to do some of the following, in
this order, but from the list people may be overlapping, and I'd hate
to duplicate work:

 - Larger fonts.  I whacked some of the 11's and 13's for my own use
   in the code, but really the font sizes should all be in settings or
   in the theme or something.  As an aside, the font scaling
   calculation breaks when the resolution is narrower than tall
   (352x480 gets teeny-weeny fonts!).

 - Similarly, the "preview" window in the "watch recordings" listing
   seems too small.

 - External "library" manipluations.  Some sort of web form or basic
   tools to fiddle with the recordings, schedule stuff, etc.  I'd
   especially like to be able to take random external video files and
   stick them into the system so they'll show as just another
   recording.  I gather someone somewhere is fiddling with PHP code?

 - Audio fix.  If you change the audio speed in settings, mythtv will
   be unable to play back previously recorded stuff properly.
   Apparently the audio speed isn't in the files or is ignored?

 - Standalone player.  The internal player is basic but quite easy to
   use, and most importantly plays myth-nupple files.  It would be
   nice to be able to easily play them on other computers without a
   full mythtv install.  Maybe the thing is a plugin for xine/mplayer,
   or just a little wrapper like the "mythtv" program to make a simple

Is there an anon-cvs pserver for mythtv?  That would be a little
handier than the tarball snapshot thing.

Grant Taylor - gtaylor<at>picante.com - http://www.picante.com/~gtaylor/
 Linux Printing Website and HOWTO:  http://www.linuxprinting.org/