On 6/9/07, Petri Hintukainen <phintuka@users.sourceforge.net> wrote:
If you don't watch different recordings / channels at the same time you
can just run vdr-sxfe at each client and connect to the single VDR
server. You'll get same video + OSD mirrored to all locations.

But, if you need to have independently controlled clients with own video
and OSD, you need to run several instances of VDR - it doesn't matter if
you run all VDR instances on server or at each client. I run several VDR
instances on the server:
- less maintenance, only one installation of VDR and
   plugins required
- allows using diskless clients (and with less memory)
- Faster cutting / DVD burning / ... as there is no
   network between VDR and disks
- no need to export/mount /video to every client
- ...

Here's how I do it:

master VDR: DVB cards, recordings, server for client 1:
    vdr -c /etc/vdr \
        -P"xineliboutput --local=none --remote=37890" \
        -Pstreamdev-server
server for client 2:
    vdr -c /etc/vdr2 \
        -D 10 \
        -P"xineliboutput --local=none --remote=37892" \
        -Pstreamdev-client
server for client 3:
    vdr -c /etc/vdr3 \
        -D 10 \
        -P"xineliboutput --local=none --remote=37894" \
        -Pstreamdev-client

+ other options / plugins you normally use.

Using -D 10 option for client VDR instances "forces" all DVB cards for
master VDR. Streamdev plugin is used to provide live view for client
VDR's, it is not required to just watch recordings.
You must use separate configuration directory for each VDR (-c option).
Without it you'll most likely break all recordings (all VDRs record all
timers in paraller to same recording directory).

And at clients:
  Client 1:
    vdr-sxfe
  Client 2:
    vdr-sxfe xvdr://<server ip>:37892
  Client 3:
    vdr-sxfe xvdr://<server ip>:37894

If you use RTP between vdr and vdr-sxfe, using separate RTP address or
port for each xineliboutput server instance might be good idea.

Also it might be good idea to disable recording at all but the "master"
vdr. Recording the same timer on two VDR instances will most likely
corrupt whole recording. Besides that, doing all recordings directly
from DVB card (no streamdev in middle) makes things simpler and less
error prone. It is probably even impossible to do several recordings
from different transponders using single streamdev instance.
I use timersync plugin to disables recording on client VDRs. All timers
are still visible at each client and you can create/modify timers at any
client just as before. Plugin synchronizes all modifications to timers
between VDR instances and takes care that all recordings are made only
by "master" vdr. Still, if you have some kind of autotimer plugins etc.
that generate timers automatically it might be better to run those only
at server vdr...


- Petri


Hi Petri,

Thanks for providing exactly the info I needed. Much appreciated indeed :-)

Andrew