A Video Group defines how Freevo will use it's available inputs as recording sources. My installation has the following Video Groups:
VIDEO_GROUPS = [ #VideoGroup[0] VideoGroup( vdev='/dev/video0', adev=None, input_type='tuner', input_num=0, tuner_norm='NTSC', tuner_chanlist='us-cable', desc='Local Cable', group_type='ivtv', record_group=1), #VideoGroup[1] VideoGroup( vdev='/dev/video0', adev=None, input_type='tuner', input_num=0, tuner_norm='NTSC', tuner_chanlist='us-cable', desc='Local Cable Recording', group_type='ivtv', record_group=None), #VideoGroup[2] VideoGroup( vdev='/dev/video0', adev=None, input_type='composite', input_num=1, tuner_type='external', desc='Composite Input', group_type='ivtv', record_group=3), #VideoGroup[3] VideoGroup( vdev='/dev/video0', adev=None, input_type='composite', input_num=1, tuner_type='external', desc='Composite Input Recording', group_type='ivtv', record_group=None), #VideoGroup[4] VideoGroup( vdev='/dev/video0', adev=None, input_type='svideo', input_num=3, tuner_type='external', desc='S-Video Input', group_type='ivtv', record_group=5), #VideoGroup[5] VideoGroup( vdev='/dev/video0', adev=None, input_type='svideo', input_num=3, tuner_type='external', desc='S-Video Input Recording', group_type='ivtv', record_group=None) ]
Here's how each element of a Group breaks down:
1. vdev: The actual video device used by this group. /dev/video0 is typical but your system may be different.
2. adev: The actual audio device used by this group. I'm using a Hauppauge PVR 150 card which has it's own MPEG2 encoder so I don't have an adev entry. Other TV cards may require this entry.
3. input_type: Named input type.
4. input_num: Actual input number of your TV card. Denotes which input to use, i.e. Tuner, Composite, S-Video, Tuner2, etc. Check your recordserver.log for more information on your input numbers as these vary from card to card.
5. tuner_norm: Tuning standard to use with this tuner. Typical options are PAL, NTSC and SECAM. Applies to only to the internal tuner(s) of a TV card.
6. tuner_chanlist: Defines the channel list type to use. This varies by specific location. Your localconf.py will have more details.
7. tuner_type: Used to denote external tuners only, i.e. composite or S-video input from a VCR or DVD player.
8. desc: Friendly description.
9. group_type: Seems to point to the type of hardware device; ivtv for most Hauppauge cards, webcam for webcam, etc.
10. record_group: Defines which Video Group to use to record from a specific input. Note the comments included above. Video Group 0 points to Video Group 1 for use as a recording input. Video Group 2 points to Video Group 3, and so on. These pointers allow the use of multiple cards each with multiple tuners. See MultiTunerConfig for more info.