4. Setup of a distributed TVGuide

Using a distributed TVGuide you can access TVGuide-Services running on remote hosts to either fill your locally stored information or just use the remote information. To setup such a scenario you can use the small program tvgserver or multiple MMBoxes.

The tvgserver-tool is a commandline-tool which collect EPG-Information using the specified source and stores them into a directory. By default, tvgserver creates the subdirectory epg in your current directory. You can specify an alternate directory with -d

tvgserver -d <full-path-of-directory>
As source can be used XMLTV, Nxtvepg or DVB.

To use XMLTV as source, start tvgserver with -x. The default grabber is that for Germany. To select another one, specify it by adding the option -l <grabber>.

tvgserver -x -l de
To use Nxtvepg, start tvgserver with option -n. This assumes a running nxtvepg-daemon.
tvgserver -n
To use DVB-EPG, start tvgserver with option -b. To use DVB, you need a valid tv_channels.xml-file. To create such a file read the Section about setting up LiveTV.
tvgserver -b

To just use the remote TVGuide-information and not holding data locally, set the host in your .mmboxrc by editing the epgLocation-variable

epgLocation=<host>:<host>

One feature of the TVGuide is, that if it detects missing information, it automatically queries remote TVGuides for that information. To enable this feature add all hosts you want to access directly by specifying them as epgpeer's in your .mmboxrc and set the epgpeers_number-variable to the number of the hosts specified. Note, that on each host must be a running tvgserver

epgpeers_number=2
epgpeer=<hostA>:<port>
epgpeer=<hostB>:<port>

Example-Scenario: This example describes a Scenario where you query a tvgserver as peer to update your locally stored information. The remote tvgserver collects its information using xmltv and is running on host remotehost. To do so, login to remoteHost and execute tvgserver

tvgserver -x
Edit your .mmboxrc by adding this host as epgpeer
epgpeer_0=remoteHost
Then start your MMBox
mmbox

HINT: Even your MMBox can serve as epgpeer or epglocation. Start the first MMBox with the -p-option and specify a port, where the MMBox is listening on.

mmbox -p 12345
The .mmboxrc of your second MMBox then should contain the host-port-combination of the first MMBox either as epgpeer or epgLocation respectively.
epgLocation=firstHost:12345
or
epgpeers_number=1
epgpeer_0=firstMMBox:12345