[vdr] Temporary VDR Support for Freevo (and pvr-hd support)..

Rob Davis rob at davis-family.info
Tue Feb 16 14:54:47 CET 2010



This has probably been done before but...

I normally use VDR for receiving ATSC and NTSC broadcasts as I can
stream it around the house and use a Hauppauge MVP box in different
rooms.

However, I just got a nice Hauppauge PVR-HD which isn't (yet) supported
by VDR.  So I hacked a freevo a little to get it using VDR and the
PVR-HD..

I did this initially about 4 years ago, but then ended up using VDR
instead of Freevo.  Anyway, this uses two seperate input mechanisms, so
I copied an idea I found on the internet to allow a "pvr_cmd" into the
video_groups structure.

This is from my local_conf.py

TV_VIDEO_GROUPS = [
    VideoGroup(vdev='/dev/video0',
                adev=AUDIO_DEVICE,
                input_type='component',
                tuner_type='external',
                input_num=0,
                group_type='pvr-hd',
                desc='PVR-HD',
                vcr_cmd = 'cat /dev/video0>  %(filename)s & sleep
%(seconds)s ; kill -9 $!;'
                ),
    VideoGroup(vdev='/dev/video0',
                adev=AUDIO_DEVICE,
                input_type='component',
                input_num=1,
                group_type='pvr-hd',
                desc='PVR-HD',
                vcr_cmd='cat /dev/video0>  %(filename)s & sleep
%(seconds)s ; kill -9 $!;'
                ),
    VideoGroup(vdev='http://oac:3000/TS',
                adev=AUDIO_DEVICE,
                tuner_type="None",
                input_type='none',
                input_num=2,
                group_type='streamdev',
                desc='VDR',
                vcr_cmd='mencoder -oac copy -ovc copy -o %(filename)s
http://oac:3000/TS/%(channel)s -endpos %(seconds)s;'
                )
 ]
TV_CHANNELS = [
        ( '','Component','None', None, 1 ),
        ( 'I31497.labs-4.zap2it.com','906-WREXDT-13 WREXDT fcc',103,
None, 2 ),
        ( 'I58646.labs-4.zap2it.com','919-CNN HD-CNNHD',919, None, 0 )

]


The top line is just using the pvr-hd without any channel change..  (For
recording DVR recordings or On Demand things), the second will select
channel 103 on VDR to watch, the third will change to channel 919 on my
cable box and watch it using the hauppauge pvr-hd (Just
watches /dev/video0)..

I had to modify generic_record.py as it would send the channel number as
a string instead of an integer when working out which group to select
and not get the correct group.

Then several changes have been made to mplayer.py in TV, which streams
from VDR.  The channel request is sent with a +1 at the end to select
the first audio channel.. (The second can sometimes be spanish here)..

Then I changed config.py and generic_record.py to allow the vcr_cmd
based on Video_Group.

Recordings are native .ts streams, either from the hauppauge (h264,ac3
audio) or the TS from VDR.

Hope this helps someone (it goes with Freevo 1.9.0)

I get better HD playback with mplayer and vdpau than with vdr-sxfe and
xbmc isn't quite there yet..
-------------- next part --------------
A non-text attachment was scrubbed...
Name: freevovdrmods.tgz
Type: application/x-compressed-tar
Size: 18751 bytes
Desc: not available
URL: <http://www.linuxtv.org/pipermail/vdr/attachments/20100216/c7522823/attachment-0001.bin>


More information about the vdr mailing list