[pvrusb2] hauppage hvr-1900 on raspberry pi

Emmanuel Touzery etouzery at gmail.com
Wed Jun 6 13:41:42 CDT 2012


Hello,

 I have a Hauppage hvr-1900 that I use with an old PC, but that PC has the
usual downsides: it's big, loud and power-hungry. So I bought a raspberry
pi, hoping to use it to control the USB hauppage and use it for TV
recording.

 The driver works beautifully even though the pi is an ARMv6 device. All I
had to do was compile the kernel with the driver enabled and copy the
firmware and then it literally worked out of the box.

 But then of course there is a but ;-)

 It cuts when saving the video. There are drop-outs in the video.

 I googled the topic and found this:
http://comments.gmane.org/gmane.linux.drivers.pvrusb2/2006

 And this helped. Well with chrt it freezes the pi after a while, but with
nice -20 I think it doesn't cut anymore for AV IN mpeg2 videos. I'm not
100% sure but I watched 15 minutes of video and there was no cut. I'll need
more thorough testing to be 100% sure though. However for DVB-T recording
the cuts are still there, and I just can't manage to get rid of them.
Besides that flywheel app, and using a fifo, I've tried overclocking the
pi, building a non-preempt kernel (just in case), stopping as many daemons
as I could on the linux userspace, but nothing helps. I have measured the
SD card on which I write to write at 3Mb/s and more (up to 4). The mpeg2
stream is ~1Mb/s. And in fact here we have SD h264 dvb-t so the stream that
gets written to the SD card has a much lower bitrate when recording dvb-t
(and that cuts) than from av-in (which let's say doesn't cut). So in theory
it's not the SD card writing speed which is the bottleneck.

 Of course it's possible that the AV in mpeg2 stream still gets cut but
that thanks to the error resilience in mpeg2 it's not that seen, while in
h264 at the cuts, the video gets corrupted for a short time and you can't
miss it.

 Anyway, I'm a bit of a loss on this one. Is the CPU or the I/O (from
hauppage or to SD) on the pi just too slow, or does anybody have an idea
how to make it work? Specifically for DVB-T, I was told that the kernel
does PID filtering in software. Maybe it slows things down, or is it that
fast that even on a lowly CPU like that pi's, it could for sure be done
realtime? I guess I can't turn it off and save the full unfiltered stream?
Though then my SD card bandwidth could start being a problem I guess.

 Anyway, any advice is welcome. I'm not giving up, but I'm definitely
running out of ideas...

emmanuel


More information about the pvrusb2 mailing list