[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