[pvrusb2] recommendation for just watching tv

Mike Isely isely at isely.net
Wed Nov 16 22:36:07 CST 2005


On Thu, 17 Nov 2005, tombreit wrote:

> hi,
>
> i'd like to just watch tv on my laptop - but i'm a little bit confused
> about the usb-solutions for "my" linux (debian testing/unstable).
>
> you guys might be more involved in this hauppauge pvr usb2-thing :-)
> ... and could perhaps give me some recommendations about this (or
> another?) analog-usb-tv-box?
>
> is this device also suitable for live-tv-watching in good quality? or is
> it primarily for recording? it's not about getting it to work on linux,
> just about quality and suitability.
>
> sorry, you see, i'm really confused :-)
> looking forward for some suggestions,
> thomas breitner
>

Here's some info from where I'm sitting:

There are two basic types of video capture strategies:

   1. Digitize raw video frames and make that available to applications.

   2. Digitize raw video and THEN hardware-encode that into a nice standard 
mpeg2 video stream.

There are two basic types of video capture devices:

   A. Devices which are PCI cards and must be inserted into the computer.

   B. Devices which are external by nature and communicate with the 
computer through a USB connection.

There are tuners out there on the market in each combination of strategy / 
type.  There are some plusses and minuses to each choice.  For example...

If you have a laptop, you're mostly limited to USB devices (choice B).

PCI cards however seem to have more mature drivers in Linux.  Video4Linux 
just recently seems to have started directly supporting a range of USB 
capture devices.

Raw uncompressed video capture (choice 1) requires a lot of bandwidth, a 
lot of storage space, and the formats are not all that well standardized. 
Also, if one is going to try to "store" such video data, the file may 
require additional metadata encoded in order to properly delimit frames. 
Cards which only provide the uncompressed video therefore tend not to be 
great choices for use in a PVR - typically with such a card you still want 
to store mpeg2 anyway (rather than trying to mess with raw frames) so 
you're left having to do the encoding in software.  Software mpeg2 
encoding is expensive; you need a big machine to do that in real time.

Using a device which directly generates mpeg2 video (choice 2) is far more 
friendly for bandwidth purposes and is mpeg2 data is easily stored in a 
file since it's just a byte stream with all required metadata already 
embedded within it.  This makes devices which emit mpeg2 data ideal 
devices for PVR applications - you can build a nice PVR without having to 
configure a hugely powerful PC which is nice because then you use smaller 
fans (or no fan) which is a lot more amenable to a home theater 
environment.

On the other hand, mpeg2 is not a good choice if you just want to "watch" 
TV and not record it.  Why?  Because if you are starting with an mpeg2 
stream then you have to decode that back to video frames before displaying 
it and that typically requires a software decoder setup (which still 
requires far less CPU than a software mpeg2 encoder).  A device which 
spits out raw uncompressed frames is a much better choice here because 
there the data is already in a form that you can display fairly easily. 
For just "watching TV" there's no need at all for mpeg2.

You can get better performance characteristics out of a PCI device than a 
USB device (i.e. more bandwidth, less latency).  This means that raw 
uncompressed video capture cards are more common for PCI (and a lot 
cheaper) than corresponding USB devices.  If you are trying to capture 
broadcast quality video, USB 1.1 just doesn't have enough headroom.  USB 
2.0 has plenty, but these devices are not as common.  For an mpeg2 stream, 
USB is fine - in fact even USB 1.1 is good enough in most such cases.

One last and very important consideration as well is that many TV 
applications in Linux simply can't handle mpeg2 streams.  Such apps are 
really designed to expect and use raw video frames, and are tuned to 
genlock against the incoming frames and essentially just map the data into 
an X window.  The excellent tvtime application is an example of this, 
though I've heard rumors that the tvtime developers may be adding an mpeg2 
decoder for it (and that is NOT a trivial feature to add).  The xawtv 
application used to just do raw video frames, but the 4.x development 
branch (which is unfortunately not very stable) adds mpeg2 video decoding. 
mplayer of course can handle just about anything :-)

So, with all that said, if you are on a laptop, then that pretty much 
rules out PCI devices and you are left with USB.  The Hauppauge "WinTV PVR 
USB2" device (which is what the pvrusb2 driver of course is for) will work 
for you, but it is mpeg2 at its heart and thus you won't be able to use it 
with tvtime.  An alternative device you can try is the Hauppauge "WinTV 
USB2" (no "PVR" in the same).  This is a *completely* different device 
than the PVR USB2 that I know so well, however the V4L maintainer is 
rapidly building up a solid driver for it.  Something like that might work 
well for you, since you don't plan on recording anything.

Another thing you might want to consider is that maybe you don't want to 
forclose the opportunity to record in the future.  Also realize that if 
you ever want to run an application which can "pause live TV", then you're 
back in the PVR camp and you'll really want something which can encode 
mpeg2 video in hardware.  That of course brings you right back here. 
MythTV might be a gorilla of an application which is a pain in the butt to 
set up, but it is *sweet* once you have it running.  Using MythTV has 
completely changed the way I watch TV.

Hope that helps...

   -Mike


-- 
                         |         Mike Isely          |     PGP fingerprint
      Spammers Die!!     |                             | 03 54 43 4D 75 E5 CC 92
                         |   isely @ pobox (dot) com   | 71 16 01 E2 B5 F5 C1 E8
                         |                             |


More information about the pvrusb2 mailing list