Xxv: Difference between revisions

From VDR Wiki
Jump to navigation Jump to search
(Hacked Images as link to http://www.vdr-wiki.de/wiki/index.php/Xxv)
m (Protected "Xxv" [edit=autoconfirmed:move=autoconfirmed])
 
(64 intermediate revisions by 34 users not shown)
Line 1: Line 1:
==Description==
==Description==
''xxv a central service is for the administration of the VDR and its environment, with which different of haven are open and these different services can serve.''
''XXV means "Xtreme eXtension for VDR" and is a central service is for the administration of the VDR and its environment, with which different of haven are open and these different services can serve.''


An additional haven over a Plugin to furnish should be just as simple, to make available as also a certain service. The letter of a Plugins goes very fast, there the input (Vdr, Database etc.) as well as the output (telnet, HTTP...) generically was realized. It should be e.g. possible thus to register with a telnet CONSOLE, HttpBrowser, Wapphone, etc. an autotimer. This should substantially faster the EPG data to scan be able (MySQL data base) and over an interface the VDR the new timer communicate. Naturally also is considered to the single mode of the SVdrP and only one instruction is mailed. Afterwards the haven is again closed immediately, so that other programs can access again svdrp.
An additional haven over a Plugin to construct should be just as simple, to make available as also a certain service. The letter of a Plugins goes very fast, there the input (Vdr, Database etc.) as well as the output (telnet, HTTP...) generically was realized. It should be e.g. possible thus to register with a telnet CONSOLE, HttpBrowser, Wapphone, etc. an autotimer. This should substantially faster the EPG data to scan be able (MySQL data base) and over an interface the VDR the new timer communicate. Naturally also is considered to the single mode of the SVdrP and only one instruction is mailed. Afterwards the haven is again closed immediately, so that other programs can access again svdrp.

* [http://www.xpix.de/downloads/xxv Download:]


Long speech short sense, here a small overview of the present functions:
Long speech short sense, here a small overview of the present functions:
Line 19: Line 17:
==Images==
==Images==
{|
{|
| http://www.vdr-wiki.de/wiki/images/thumb/4/4b/180px-Xxv_vtx.gif
| http://www.vdr-wiki.de/wiki/images/thumb/5/5d/Xxv_full.gif/180px-Xxv_full.gif
| http://www.vdr-wiki.de/wiki/images/thumb/2/2f/180px-Xxv_stone.png
| http://www.vdr-wiki.de/wiki/images/thumb/1/1d/Xxv_autotimer.gif/180px-Xxv_autotimer.gif
| http://www.vdr-wiki.de/wiki/images/thumb/e/e6/180px-Xxv_remote.gif
| http://www.vdr-wiki.de/wiki/images/thumb/f/f3/Xxv_remote.gif/180px-Xxv_remote.gif
|-
|-
| http://www.vdr-wiki.de/wiki/images/thumb/e/ef/180px-Xxv_full.gif
| http://www.vdr-wiki.de/wiki/images/thumb/b/b1/Xstyle-4.png/180px-Xstyle-4.png
| http://www.vdr-wiki.de/wiki/images/thumb/a/ae/180px-Xxv_autotimer.gif
| http://www.vdr-wiki.de/wiki/images/thumb/3/33/Spaltenansicht.png/180px-Spaltenansicht.png
|-
|-
| [[Image:xxv-skin-stone-epg.jpg|thumb|none|''EPG View on Skin Stone'']]
| http://www.deltab.de/vdr/xxv-deltab.png
| [[Image:xxv-skin-stone.jpg|thumb|none|''Recordings on Skin Stone'']]
| http://www.deltab.de/vdr/xxv-stone.png
| [[Image:xxv-skin-snow.jpg|thumb|none|''Timer on Skin Snow (Flatmode)'']]
| http://www.deltab.de/vdr/xxv-snow.png
|
| http://www.deltab.de/vdr/xxv-blue.png
|}
|}


Line 39: Line 37:


==Installation==
==Installation==
For the installation the download of the last version is necessary. Important information is located in the file '''README.txt''' contained in archives .
===Subversion checkout===
We support immediately subversion, i.e. thus for you that on your system subversion should be installed. As subversion Clients on your system to be installed can reread you here:


After the Download the archive file, must this archives unpacked :
http://subversion.tigris.org/project_packages.html


In order to make a Checkout to thus pull itself (the current xxv) their simply following calls:

cd $SOURCEDIR
svn checkout http://bandt.dyndns.org/repos/XXV

===Xxv unpack===
cd $SOURCEDIR
cd $SOURCEDIR
tar xvzf xxv-<VERSION>.tar.gz
tar xvzf xxv-<VERSION>.tar.gz
cd xxv-<VERSION>

===Man page install===
cd $SOURCEDIR
cp doc/xxvd.1 /usr/share/man/man1

===Logrotate conf install===
cd $SOURCEDIR
cp etc/logrotate.d/xxvd /etc/logrotate.d/xxvd


===MySQL===
===MySQL===
If [http://www.mysql.com MySQL] is not yet installed, this can take place on one this way:
====per Source====
====per Source====
cd $SOURCEDIR
cd $SOURCEDIR
Line 80: Line 65:


====Debian-specifically====
====Debian-specifically====
apt-get install mysql-server-4.1
apt-get install mysql-server


===Perl Module===
===Perl Module===
Line 86: Line 71:


====per cpan====
====per cpan====
The recommended way, ''' if you don't have a Debian system''':
The recommended way, '''if you don't have a Debian system''':
By means of "Bundle::Xxv" via CPAN, simply change into the '''$SOURCEDIR/lib''' folder and the Bundle install.
By means of "Bundle::Xxv" via CPAN, simply change into the '''$SOURCEDIR/lib''' folder and the Bundle install.
In addition one must UNFORTUNATELY put underneath cpan the module, it can be that with mkdir's the error messages to come the this draw-eats already already existed, which can ignore you confidently. All modules to be needed to stand in this Bundle and are installed automatically:
In addition one must UNFORTUNATELY put underneath cpan the module, it can be that with mkdir's the error messages to come the this draw-eats already already existed, which can ignore you confidently. All modules to be needed to stand in this Bundle and are installed automatically:
Line 95: Line 80:
perl -MCPAN -e 'install Bundle::Xxv'
perl -MCPAN -e 'install Bundle::Xxv'


Note: I had with my SuSE distri:
Note: I had with my SuSE distri use:


cd $SOURCEDIR/xxv-<VERSION>/lib
cd $SOURCEDIR/xxv-<VERSION>/lib
Line 101: Line 86:
cp Bundle/Xxv.pm /etc/perl/cpan/Bundle
cp Bundle/Xxv.pm /etc/perl/cpan/Bundle
perl -MCPAN -e 'install Bundle::Xxv'
perl -MCPAN -e 'install Bundle::Xxv'

use.


====by SOURCE====
====by SOURCE====
Line 120: Line 103:


====Debian-specifically====
====Debian-specifically====
#> apt-get install \
=====woody=====
apt-get install libdbi-perl \
perl \
libevent-perl \
perl-base \
libtimedate-perl \
perl-modules \
libtime-hires-perl \
libcgi-perl \
libmime-base64-perl \
libio-zlib-perl \
libproc-process-perl \
libconfig-tiny-perl \
liblocale-gettext-perl \
libdate-manip-perl \
libgd-perl \
libdbd-mysql-perl \
libwww-mechanize-perl \
libdbi-perl \
libwww-mechanize-formfiller-perl \
libmd5-perl \
libproc-process-perl \
libdigest-hmac-perl \
liblog-log4perl-perl \
libevent-perl \
libgd-gd2-noxpm-perl libgd-graph-perl libgd-graph3d-perl libgd-text-perl \
libxml-simple-perl
txt2html \
libhtml-tree-perl \
libjson-perl
libwww-perl \
liblocale-gettext-perl \
libmp3-info-perl \
libnet-amazon-perl \
libnet-telnet-perl \
libnet-xmpp-perl \
libproc-process-perl \
libsoap-lite-perl \
libtemplate-perl \
libhtml-template-perl \
liburi-perl \
libxml-rss-perl \
libxml-simple-perl


===View recordings with preview images===
=====Sarge=====
To view recordings in XXV with preview images, give it to two possibilities, [http://www.mplayerhq.hu mplayer] or [http://xxv.berlios.de/index.php?option=com_content&task=blogcategory&id=20&Itemid=42 vdr2jpeg], which has fewer dependence.
apt-get install libdbi-perl \
vdr2jpeg need only [http://ffmpeg.sourceforge.net/ ffmpeg]. By the example of vdr2jpeg the installation is described here. Details for installation are always located in the file '''README''' contained in archives.
libevent-perl \
libgd-gd2-noxpm-perl \
libgd-graph-perl \
libgd-graph3d-perl \
libgd-text-perl \
libhtml-parser-perl \
libhtml-tagset-perl \
libhtml-template-perl \
libhtml-tree-perl \
liblocale-gettext-perl \
libnet-telnet-perl \
libperl5.8 \
libterm-readkey-perl \
liburi-perl \
libwww-mechanize-perl \
libwww-perl \
liblog-log4perl-perl \
libxml-simple-perl \
libproc-process-perl \
perl \
perl-base \
perl-modules
perl -MCPAN -e 'install WWW::Mechanize::FormFiller'


After the Download the archive file, must this archives unpacked :
===Vdr2jpeg===
Over from the recordings of pictures for Xxv too ''extract'', there are 2 possibilities, '''mplayer''' or '''vdr2jpeg''', the latter has importantly fewer dependence, sets only '''ffmpeg''' (Version 0.4.8 functioned, 0.4.9pre1 apparently not) ahead. (details in the Readme).


cd $SOURCEDIR
cd $SOURCEDIR
wget http://www.deltab.de/vdr/vdr2jpeg-0.0.7.tgz
tar xzvf vdr2jpeg-0.0.8.tgz
tar [...] vdr2jpeg-0.0.7.tgz
cd vdr2jpeg-0.0.8
cd vdr2jpeg-0.0.7


or the current conditions by subversion
or get the current deloveper state by [http://subversion.tigris.org/ subversion]


<pre>
cd $SOURCEDIR
cd $SOURCEDIR
svn checkout http://bandt.dyndns.org/repos/vdr2jpeg
svn co http://svn.berlios.de/svnroot/repos/xxv/vdr2jpeg/trunk vdr2jpeg/
cd vdr2jpeg
cd vdr2jpeg
</pre>


In the Makefile should be adapted still the folder of ffmpeg and one compiles also
In the contained Makefile should be adapted still the listing of ffmpeg.
Subsequently, the program can be compiled by means of the Makefile and the following instruction :


make
make
make install INSTALLBINDIR=/usr/local/bin


If lasting compiling no error messages appear, the following instruction is sufficient for installation under /usr/local/bin:
Then is those '''xxv.conf''' to adapt.


make install
previewbinary=/usr/local/bin/vdr2jpeg


a deviating installation place can be indicated as an additional parameter like ''make install INSTALLBINDIR=/usr/bin''.
Or in the Browser, under configuration point ''recordings''.


Afterwards the preview production with vdr2jpeg must be activated. For that is in the Browser, with adjust configuration point ''RECORDS'' / previewbinary,previewcommand. It also possible to edit file '''xxvd.conf'''
==Update of an older version (< 0.20)==
directly.
We go of it out of which you xxv with you had already installed and to point you as you to a new version to be updated can. As the first we must stop the service:


[RECORDS]
vdr:~# /etc/init.d/xxvd stop
previewbinary=/usr/local/bin/vdr2jpeg
previewcommand=vdr2jpeg


===More files===
Then best subversion uses around a new version from xxv to to pull:
Install the man-page, which can be viewed later with '''man xxvd'''.


vdr:~# cd $SOURCEDIR
cd $SOURCEDIR
cp doc/xxvd.1 /usr/share/man/man1
vdr:~# svn co http://bandt.dyndns.org/repos/XXV


And don't forgot to activate the rotate of the log files.
So that the existing database is converted into the new structure, the update script must be started. This secures your most important data and develops the database again:


cd $SOURCEDIR
cd contrib
cp etc/logrotate.d/xxvd /etc/logrotate.d/xxvd
./upgrade-xxv.sh -u [db user name] -p [db password]

update-xxv
----------
Info: Checking Server
Info: Checking Database
Info: Retrieving current version
Info: current database version: 0
Info: new database version: 1
Info: Starting update...
Info: Saving Data
Info: Updating Database
Info: Restoring Data
Info: Updateing Version
Info: Update successful

Possibly copy /etc/init.d/xxvd and to the new installation listing adapt and afterwards start again:

vdr:~# cp etc/xxvd /etc/init.d/xxvd
vdr:~# /etc/init.d/xxvd restart

Log file control:

vdr:~# tail -f /var/log/xxvd.log


If any error messages should emerge wg. missing modules in the log file, then should install these for her. Who does not go to no more white as, which will help wiki you:

http://www.linuxtv.org/vdrwiki/index.php/Xxv#Perl_Module

==XXV keep current==

====... with Subversion====
In order to keep xxv current, you simply only one update with subversion need to make, which updates script call and start afterwards xxv again:

cd $SOURCEDIR
/etc/init.d/xxvd stop

svn update
...

====... as Download====
Naturally it will give also further the possibility of getting themselves from the existing download server http://xpix.dieserver.de/downloads/xxv/?M=D current packages and of unpacking these then. But(!), these packages are made available only in irregular distances. Are thus not always current:

<pre>
cd $SOURCEDIR
wget http://xpix.dieserver.de/downloads/xxv/xxv-<VERSION>.tgz
tar xvzf xxv-<VERSION>.tar.gz
</pre>

====Data base structure adapt====
New or extended xxv-functions involve often also a change of the data base structure. After the installation of an update, should you therefore first always the script contrib/update xxv call. XXV may be started at this time not yet.

In the simplest case must transfer no parameters to her to the script. This presupposes however that MySQL on the local computer is installed that the data base is called ' xxv ' and the database administrator ' root ' does not possess a password.

cd $SOURCEDIR/contrib
./update-xxv

Beyond that can to the script a set of parameters hand over, which also steer a few extended functions apart from the access to the data base you. An overview of all parameters receive you with:

cd $SOURCEDIR/contrib
./update-xxv -h
update-xxv
----------
Usage: update-xxv [-b] [-h hostname] [-P port] [-d database]
[-u user] [-p password]
-b <target> : Make a backup first to <target>.gz
-H <hostname> : Host name of the MySQL server (default: localhost)
-P <port> : Port number of MySQL server
-d <database> : XXV database name (default: xxv)
-u <user> : Username (default: root)
-p <password> : Password (default: no password)
-a : Ask for password
-f : Force upgrade, do not check version
-h : Help

With the parameter '''-b''' is accomplished before the update a Backup of the data base. In addition the name of the backupfile (without the ending gz) must be indicated. The parameters '''-H''' (hostname) and '''-P''' (haven) steer the access to the MySQL server. This ' localhost' and haven are according to standard 3306. If the database should not be called 'xxv', then can you with '''-D''' another name select.

The data base user can specify you with '''-u''' and its password with '''-p'''. In order to be able to accomplish the update, the data base user needs FILE of rights. Usually only the administrator 'root' is this right.

'''safety reference:''' With the delivery of the password in the command line parameters the password becomes visible for one moment for all other user of the local system ('ps -fA' indicates all processes with their parameters!). Alternatively have you therefore the possibility, by means of '''-A''' the update script for the password ask of letting. However the password is several times queried, since different data base operations are necessary.

Database updates are accomplished by update xxv only if you are really necessary. Should times somewhat inclined run or if you would like on an old data base structure ' down degrees ', then can you the update with '''-f''' force.

With a successful data base update a list of the accomplished actions spends update xxv:

update-xxv
----------
Info: Checking Server
Info: Checking Database
Info: Retrieving current version
Info: current database version: 0
Info: new database version: 1
Info: Starting update...
Info: Saving Data
Info: Updating Database
Info: Restoring Data
Info: Updateing Version
Info: Update successful


In the event of an error "error:..." Messages spent. The most probable cause for an error is the data base access. You should examine first thus username, password, data base name and host.

After the update can you XXV again start:

/etc/init.d/xxvd start


==Configuration==
==Configuration==
Line 316: Line 186:
mysqld_safe --user=mysql &
mysqld_safe --user=mysql &


Use the provided script, to create the xxv database. Adapt before username and its password on 'contrib/create-database.sql', for a xxv used mysql account, with your personal preferences.
Creation of the data base xxv:


cd $XXVDIR
mysql -u root -e "create database xxv;"
cat contrib/create-database.sql | mysql -u root


same can do alternatively in follow individually steps:
Afterwards the rights are to be set:


mysql -u root -e "grant all privileges on xxv.* to xpix@localhost;"
mysql -u root -e "create database xxv;"
mysql -u root -e "grant all privileges on xxv.* to username@localhost IDENTIFIED BY 'password';"
mysql -u root -e "flush privileges;"


Now '''$HOMEDIR/.xxvd.cfg''' is to be adapted as follows
Now register the data base connection and the mysql account in '''$HOMEDIR/.xxvd.cfg''':


[General]
[General]
DSN=DBI:mysql:database=xxv;host=localhost;port=3306
DSN=DBI:mysql:database=xxv;host=localhost;port=3306
PWD=
PWD=password
USR=xpix
USR=username


==Xxv start==
==Starting of Xxv==
So that xxv with each system start as service can be started, to have we a starting script under '''etc/xxvd''' stored, which one should install in its system. Before one should enter however still the path, where of you is xxv:
So that xxv with each system start as service can be started, to have we an example starting script under '''etc/xxvd' '' stored, because one in its system to install can. This should be adapted to the own system conditions, on case of each should one the path adapt, at which xxv one installed. (In place of nano can you naturally also another editor use.)


cd $SOURCEDIR/xxv-<VERSION>
cd $SOURCEDIR/xxv-<VERSION>
nano etc/xxvd
nano etc/xxvd


Under FOLDERS, into which first lines register simply that defined '''$SOURCEDIR'''.
In place of nano can you naturally also another editor use.
In the first lines simply '''$SOURCEDIR''' and with ctrl-o (with nano) stored.


# In welchem Ordner befindet sich bin/xxvd
# -------------------------------------------
# Where is bin/xxvd
# Where is bin/xxvd
'''FOLDER="/root/XXV"'''
'''FOLDER="/usr/local/XXV"'''
# -------------------------------------------


So that XXV with each boats of the computer after vdr one starts. It is necessary the current [[SysV_Init|to determine run level]]. And in the appropriate starting listing [[SysV_Init|To put on run level]] /etc/rc<RUNLEVEL>.d a symbolic left on the initialization program of the xxvd service /etc/init.d/xxvd. Here by the example run level 2:


cd $SOURCEDIR/xxv-<VERSION>
Under SuSE you still supplement at the beginning of the file, z.B. nach '# xxvd Start/Stop the xxvd daemon':
cp etc/xxvd /etc/init.d/.
chmod 775 /etc/init.d/xxvd
ln -s /etc/init.d/xxvd /etc/rc2.d/S90xxvd

Instead with SuSE you should alternatively at the beginning of the file etc/xxvd, after '# xxvd Start/Stop the xxvd daemon' the following lines add


### BEGIN INIT INFO
### BEGIN INIT INFO
Line 359: Line 234:
### END INIT INFO
### END INIT INFO


announce then xxvd as service
Then give you (with SuSE):


cp etc/xxvd /etc/init.d/.
cp etc/xxvd /etc/init.d/.
Line 365: Line 240:
insserv xxvd
insserv xxvd


On all system then afterwards the activated service with the following command can be started.
Thus XXV with each boats of the computer after vdr one starts. If you do not use SuSE, gehts further with:


/etc/init.d/xxvd start


For the sake of the completeness since stopping and starting the xxvd service again mention :
so that you know, in which [[SysV_Init|Runlevel]] it straight run, should their level call:


/etc/init.d/xxvd stop
runlevel
/etc/init.d/xxvd restart
You notice and provide the level you in the folder /etc/rc[runlevelnumber].d a symbolic link up xxvd. With my example in level 2:


cd $SOURCEDIR/xxv-<VERSION>
cp etc/xxvd /etc/init.d/.
chmod 775 /etc/init.d/xxvd
ln -s /etc/init.d/xxvd /etc/rc2.d/S90xxvd


===Parameter===
Start of xxv:
The following parameters could be handed over /etc/init.d/xxvd to the service program bin/xxvd.
{| width="100%" class="wikitable"
|-
! Parameter
! Default value
! Description
|-
| --verbose=LEVEL || 3 || Output level in the log file, 0 - quiet, 1 - only errors, 3 - warning... 5 everything
|-
| --version || - || Output of the used version of xxvd
|-
| --kill || - || stop current current xxvd process, in accordance with xxvd.pid
|-
| --nofork || - || xxvd when starting do not send into the background, necessarily for debugging.
|-
| --configfile=DATEI || ~/.xxvd.cfg || Name of the used configuration file
|-
| --logfile=DATEI || /var/log/xxvd.log || Name of the used log file
|-
|}

The following parameters are interesting particularly for package builder, which advise xxv-files on other folder.
{| width="100%" class="wikitable"
|-
! Parameter
! Default value
! Description
|-
| --htmldir=DIR || ./ || Folder with [[Xxv#HTTPD|HTTPD]]/[[Xxv#HTTPD|WAPD]] [[Xxv#Skins_install|Skins]]
|-
| --pidfile=DATEI || /var/run/xxvd.pid || To store file around the current prozess id
|-
| --localedir=DIR || ./locale || Folder with the translations
|-
| --newstmpl=DIR || ./share/news || Folder with output templates for the XXV NEWS plugins
|-
| --newsmods=DIR || ./lib/XXV/OUTPUT/NEWS || Module folder with the XXV NEWS plugins
|-
| --moduledir=DIR || ./lib/XXV/MODULES || Module folder with the XXV plugins
|-
| --docudir=DIR || ./doc || Folder with the documentation (NEWS, CHANGELOG ...)
|-
| --poddir=DIR || ./doc || Folder with the self documentation of the XXV plugins
|-
| --fontdir=DIR || ./share/fonts/ttf-bitstream-vera || Folder for ttf character sets for the overlay functions of the remote screen display
|-
| --vtxdir=DIR || ./share/vtx || Folder with the graphic font of the symbols for the teletext plugin
|-
| --contrib=DIR || ./contrib || Folder with additional script files
|-
|}

==Manual starting of xxv==
xxvd can be started also manually without activation as service, in addition serves the following command combination, which indicates the log file after the start also ''/var/log/xxvd.log''. The announcement of the log file is broken off with keystroke Strg-C.


cd $SOURCEDIR/xxv-<VERSION>
cd $SOURCEDIR/xxv-<VERSION>
./bin/xxvd --configfile=./xxvd.cfg && tail -f /var/log/xxvd.log
./bin/xxvd --configfile=./xxvd.cfg && tail -f /var/log/xxvd.log


for manual stopping of xxvd the following instruction serves
or as service:


cd $SOURCEDIR/xxv-<VERSION>
/etc/init.d/xxvd restart
./bin/xxvd --kill --configfile=./xxvd.cfg


==Handle with xxv==
Then a Browser call with the following URL:
The operation of XXV takes place on a [http://www.mozilla.com/firefox/ Browser]. In addition the URL must on your XXV installation refers to be entered in the address line. This takes place according to the pattern ''protocol://network address:port''
The port number for the [[Xxv#HTTPD|Web entrance]] is the 8080. This can be adapted by configuration parameters in xxvd.cfg. Here by the example of the IP address 192.168.0.100.


http://IP_of_yours_vdr:8080
<pre>http://192.168.0.100:8080</pre>


The port number for the [[Xxv#Telnet|Telnet entrance]] is the 8001.
or by telnet
telnet [IP of yours vdr or localhost] 8001
telnet 192.168.0.100 8001

The port number for the [[Xxv#Wapd|WAP entrance]] is the 8085.

<pre>http://192.168.0.100:8085</pre>


Required with a new installation will for the entrance the following logon data, these attitudes should after the installation the personal preferences be naturally adapted. Over these attitudes it is also possible the user inquiry switches off or to certain Network clients to limit.


User: '''xxv'''
User: '''xxv'''
Line 417: Line 353:
* Autotimers can determine whether timers with VPS and own pre and wake are put on.
* Autotimers can determine whether timers with VPS and own pre and wake are put on.
* With an update now additionally also the Channelnamen of the found Events is indicated
* With an update now additionally also the Channelnamen of the found Events is indicated
* Autotimer - Configuration - exclude: Exclude Channellist over for determines generally exclude channels the search for Events.
* Autotimer - Configuration - exclude: General excluding from channels, in order to exclude channels starting from a position in the channel list from the search to Events.

Search words can be concatenated by comma as logical AND and/or excluded by minus signs.

The following example should this clarify :
{|
|-
| docu,astronomy || --> Search for docu AND astronomy
|-
| Ryan,-Hanks || --> Search for Ryan AND NOT Hanks
|-
|}


Tip: This functionality is available also in the normal EPG fulltext search.


===Timers===
===Timers===
Line 488: Line 438:


* The cut marks are represented now graphically in the record overview.
* The cut marks are represented now graphically in the record overview.
* Many characteristics of the record are now capable for editing. (Marks, Lifetime, Priorität,...)
* Many characteristics of the record are now capable for editing. (Marks, Lifetime, Priority,...)
* Andreas took care of the leidigen and substantially unperformanten way of the Preview picture production and a very slim C program named 'vdr2jpeg' wrote. This program does nothing different one than Preview of pictures in the reason with certain marks to provide. This we naturally also supported of xxv and can by "svn co http://bandt.dyndns.org/repos/vdr2jpeg" are gotten. Closer data for installation can reread you in the README file of the program complex.
* Andreas took care of the leidigen and substantially unperformanten way of the Preview picture production and a very slim C program named 'vdr2jpeg' wrote. This program does nothing different one than Preview of pictures in the reason with certain marks to provide. This we naturally also supported of xxv and can by "svn co http://bandt.dyndns.org/repos/vdr2jpeg" are gotten. Closer data for installation can reread you in the README file of the program complex.
* Series, or recordings into a group file are summarized, in rlist as files are indicated.
* Series, or recordings into a group file are summarized, in rlist as files are indicated.
Line 577: Line 527:


==Skins install==
==Skins install==
Possible the Web interface in completely different appearance is to be able to be represented. But one must download oneself only the desired Skin and unpack the package in '''$SOURCEDIR''' :
The Web interface can diplay with a completely different appearance. The necessary skin package will unpack generally in the installation folder. But this skins folder can also move to a other folder by command line parameters, like ''--htmldir /var/lib/xxv/skins/''.


Here by the example of the Skins stone.
cd $SOURCEDIR
wget http://www.deltab.de/vdr/xxv-stone-0.40.tgz
tar zxvf xxv-stone-0.40.tgz


cd /var/lib/xxv/skins/
or the current conditions by subversion
tar zxvf xxv-stone-0.60.tgz


With unpacking, you should get a new folder, with name from Skin. this folder contains data of the skin.
cd $SOURCEDIR
svn checkout http://bandt.dyndns.org/repos/XXV-Skins


Subsequently, one calls the Web interface ''(http:''//''ip_deines_vdrs:8080)'' and selects the Skin under '''Preferences -> HTTPD -> Option HtmlRoot'''.
By unpacking a new folder with the name should ''stone'' developed with the data of the Skin its.
But do not forget to activate the changed preferences with ''Apply''.
Subsequently, one calls the Web interface ''(http://ip_yours_vdrs:8080)'' and subordinates the new names of the Skin '''Preferences -> HTTPD -> HtmlRoot''' . Only with ''Senddata'' activate the changed Skin. And with complete reloading the xxv-web page in the Browser (IE - key F5), which representation and the Cache of the Browser aktualiseren.


It can be necessary to execute a complete reloading of the xxv-web page, so that buffered files by the Browser to update.
Naturally one can directly edit also the configuration file and again start xxv thereafter:


The current developer state are available by subversion under
cd $HOMEDIR
<pre>
nano .xxvd.cfg
cd $SKINDIR
svn co http://svn.berlios.de/svnroot/repos/xxv/XXV-Skins/trunk XXV-Skins/
</pre>


==XXV keep current==
[HTTPD]
We go of it out of which you xxv with you had already installed and to point you as you to a new version to be updated can. As the first we must stop the service:
Clients=5
'''HtmlRoot=stone'''
Port=8080


/etc/init.d/xxvd restart
vdr:~# /etc/init.d/xxvd stop

====... with Subversion====
Most simply an update with subversion is to be made, the update script and start again afterwards xxv call:

cd $SOURCEDIR
svn update

====... as Download====
Naturally it will give also further the possibility of getting themselves from the existing [http://developer.berlios.de/project/showfiles.php?group_id=3233 download server] current packages and of unpacking these then. But, these packages are made available only in irregular distances. Are thus not always current:

cd $SOURCEDIR
tar xvzf xxv-<VERSION>.tar.gz

====Database structure adapt====
New or extended xxv-functions involve often also a change of the data base structure. After the installation of an update, should you therefore first always the script contrib/update xxv call. XXV may be started at this time not yet.

In the simplest case must transfer no parameters to her to the script. This presupposes however that MySQL on the local computer is installed that the data base is called 'xxv' and the database administrator 'root' does not possess a password.

cd $SOURCEDIR/contrib
./update-xxv

Beyond that can to the script a set of parameters hand over, which also steer a few extended functions apart from the access to the data base you. An overview of all parameters receive you with:

cd $SOURCEDIR/contrib
./update-xxv -h
update-xxv
----------
Usage: update-xxv [-b] [-h hostname] [-P port] [-d database]
[-u user] [-p password]
-b <target> : Make a backup first to <target>.gz
-H <hostname> : Host name of the MySQL server (default: localhost)
-P <port> : Port number of MySQL server
-d <database> : XXV database name (default: xxv)
-u <user> : Username (default: root)
-p <password> : Password (default: no password)
-a : Ask for password
-f : Force upgrade, do not check version
-h : Help

With the parameter '''-b''' is accomplished before the update a Backup of the data base. In addition the name of the backupfile (without the ending gz) must be indicated. The parameters '''-H''' (hostname) and '''-P''' (haven) steer the access to the MySQL server. This ' localhost' and haven are according to standard 3306. If the database should not be called 'xxv', then can you with '''-D''' another name select.

The data base user can specify you with '''-u''' and its password with '''-p'''. In order to be able to accomplish the update, the data base user needs FILE of rights. Usually only the administrator 'root' is this right.

<div style="border: solid 1px #cccccc; padding: 5px; margin: 5px;">
<div style="background-color: #eeeeee; padding: 5px;" id="safety reference">'''safety reference:'''</div>
With the delivery of the password in the command line parameters the password becomes visible for one moment for all other user of the local system ('ps -fA' indicates all processes with their parameters!). Alternatively have you therefore the possibility, by means of '''-A''' the update script for the password ask of letting. However the password is several times queried, since different data base operations are necessary.</div>

Database updates are accomplished by update xxv only if you are really necessary. Should times somewhat inclined run or if you would like on an old data base structure ' down degrees ', then can you the update with '''-f''' force.

With a successful data base update a list of the accomplished actions spends update xxv:

update-xxv
----------
Info: Checking Server
Info: Checking Database
Info: Retrieving current version
Info: current database version: 0
Info: new database version: 1
Info: Starting update...
Info: Saving Data
Info: Updating Database
Info: Restoring Data
Info: Updateing Version
Info: Update successful


In the event of an error "error:..." messages spent. The most probable cause for an error is the data base access. You should examine first thus username, password, data base name and host.

After the update can you XXV again start:

/etc/init.d/xxvd start

Subsequently, control the log file:

tail -f /var/log/xxvd.log

If any error messages should emerge because of missing Perl modules in the log file, then should install these for her. Who does not go to no more white as,
this [[Xxv#Perl_Module|Wiki]] will be help you ...

==Problems==
* '''Does XXV have a memory leak? Memory consumption approx. doubles in 6 hours.'''

Unfortunately the EventModul had a memory leakage, which with the version >= 1.05 has been fixed. Please install your Eventmodul again:

perl -MCPAN -e shell;
install Event

----


* '''I use vdr 1.3.26 - 27 and xxv V0.42. I can see no more recordings in the interface'''
==Probleme==
* '''I have mean vdr on 1.3.26 - 27 updates and uses xxv V0.42. I can no more recordings in the interface see'''


In these versions Klaus had something at the SVDRP interface screwed, thus XXV nothing more thereby to begin could. Either you update your XXV by subversion or you use a Patch which we on the following URL published:
In these versions Klaus had something at the SVDRP interface screwed, thus XXV nothing more thereby to begin could. Either you update your XXV by subversion or you use a Patch which we on the following URL published:
Line 614: Line 654:
----
----
* '''My Samba path shows amusing indications with umlauts in the paths of the recordings and the Liveplayer does not play this Aufnamen not'''
* '''My Samba path shows amusing indications with umlauts in the paths of the recordings and the Liveplayer does not play this recording'''


Look here: http://www.vdr-wiki.de/wiki/index.php/Samba#Probleme
Look here: http://www.vdr-wiki.de/wiki/index.php/Samba#Probleme
Line 729: Line 769:
xxv.</pre>
xxv.</pre>


'''Lösung:''' In the file ''/etc/default/vdr-xxv'' register: ''ENABLED=1''.
'''Solution:''' In the file ''/etc/default/vdr-xxv'' register: ''ENABLED=1''.

==Snapshot==
<pre>
cd $SOURCEDIR
svn co http://svn.berlios.de/svnroot/repos/xxv/XXV/trunk XXV/
</pre>


==Links==
==Links==
# [http://xxv.berlios.de/ Project homepage]
{|
# [http://developer.berlios.de/bugs/?group_id=3233 Bugtracker]
| [1]
| [http://www.mysql.org www.mysql.org]
| mySQL
|-
| [2]
| [http://xpix.dieserver.de/content xpix.dieserver.de/content]
| Homepage
|-
| [3]
| [http://xpix.dieserver.de/downloads/xxv xpix.dieserver.de/downloads/xxv]
| Downloads
|-
| [4]
| [http://xpix.dieserver.de/content/vdr/xxv/tutorials xpix.dieserver.de/content/vdr/xxv/tutorials]
| Tutorial to the letter of a Plugins for xxv
|-
| [5]
| [http://www.deltab.de/vdr/xxv.html www.deltab.de/vdr/xxv.html]
| Skins für xxv
|-
| [6]
| [http://xpix.dieserver.de/ids/index.cgi?mode=album&album=/ProgramStuff/XXV screenshots]
| Somewhat older Screenshots
|-
| [7]
| [http://www.vdr-portal.de/board/thread.php?threadid=30729 xxv für ct-vdr]
| Thread aus vdr-portal
|-
| [8]
| [http://www.xpix.de/downloads/xxv/doc/ Documentation]
| Documentation zu xxv
|}


[[Kategorie:Software]]
[[de:Xxv]]

Latest revision as of 09:12, 17 August 2008

Description

XXV means "Xtreme eXtension for VDR" and is a central service is for the administration of the VDR and its environment, with which different of haven are open and these different services can serve.

An additional haven over a Plugin to construct should be just as simple, to make available as also a certain service. The letter of a Plugins goes very fast, there the input (Vdr, Database etc.) as well as the output (telnet, HTTP...) generically was realized. It should be e.g. possible thus to register with a telnet CONSOLE, HttpBrowser, Wapphone, etc. an autotimer. This should substantially faster the EPG data to scan be able (MySQL data base) and over an interface the VDR the new timer communicate. Naturally also is considered to the single mode of the SVdrP and only one instruction is mailed. Afterwards the haven is again closed immediately, so that other programs can access again svdrp.

Long speech short sense, here a small overview of the present functions:

  • completely in Perl realizes
  • very generic front-end
  • Plugin system
  • Data base support
  • Epg data are regularly parsed and registered
  • very simple Plugin concept for future extensions
  • several services from a service (Telnet, HTTP, ...)
  • Dump interface for external programs

Images

http://www.vdr-wiki.de/wiki/images/thumb/5/5d/Xxv_full.gif/180px-Xxv_full.gif http://www.vdr-wiki.de/wiki/images/thumb/1/1d/Xxv_autotimer.gif/180px-Xxv_autotimer.gif http://www.vdr-wiki.de/wiki/images/thumb/f/f3/Xxv_remote.gif/180px-Xxv_remote.gif
http://www.vdr-wiki.de/wiki/images/thumb/b/b1/Xstyle-4.png/180px-Xstyle-4.png http://www.vdr-wiki.de/wiki/images/thumb/3/33/Spaltenansicht.png/180px-Spaltenansicht.png
EPG View on Skin Stone
Recordings on Skin Stone
Timer on Skin Snow (Flatmode)

Software requirements

  • mysql-server (version!?)
  • different Perl::Module (see installation)
  • vdr2jpeg (optionally)
  • mplayer optionally), installation see mplayer-plugin

Installation

For the installation the download of the last version is necessary. Important information is located in the file README.txt contained in archives .

After the Download the archive file, must this archives unpacked :

cd $SOURCEDIR
tar xvzf xxv-<VERSION>.tar.gz
cd xxv-<VERSION>

MySQL

If MySQL is not yet installed, this can take place on one this way:

per Source

cd $SOURCEDIR
tar xvzf mysql-<VERSION>.tar.gz
./configure --prefix=/usr/local \
            --libexecdir=/usr/local/bin \
            --without-extra-tools \
            --without-bench
make
make install
cd /usr/local/lib
ln -s mysql/libmysqlclient.so* .
groupadd mysql
useradd -g mysql mysql
chown -R mysql var
mysql_install_db --user=mysql &
ldconfig

Debian-specifically

apt-get install mysql-server

Perl Module

Now some perl modules follow , there give it like 2 ways:

per cpan

The recommended way, if you don't have a Debian system: By means of "Bundle::Xxv" via CPAN, simply change into the $SOURCEDIR/lib folder and the Bundle install. In addition one must UNFORTUNATELY put underneath cpan the module, it can be that with mkdir's the error messages to come the this draw-eats already already existed, which can ignore you confidently. All modules to be needed to stand in this Bundle and are installed automatically:

cd $SOURCEDIR/xxv-<VERSION>/lib
mkdir -p ~/.cpan/Bundle
cp Bundle/Xxv.pm ~/.cpan/Bundle
perl -MCPAN -e 'install Bundle::Xxv'

Note: I had with my SuSE distri use:

 cd $SOURCEDIR/xxv-<VERSION>/lib
 mkdir -p /etc/perl/cpan/Bundle
 cp Bundle/Xxv.pm /etc/perl/cpan/Bundle
 perl -MCPAN -e 'install Bundle::Xxv'

by SOURCE

Or another possibility via SOURCE.

  • <NAME>-<VERSION>.tar.gz

The installation is identical for most packages:

cd $SOURCEDIR
tar xvzf <NAME>-<VERSION>.tar.gz
cd <NAME>-<VERSION>
perl Makefile.PL
make
make install
cd -

Debian-specifically

#> apt-get install \
   perl \
   perl-base \
   perl-modules \
   libcgi-perl \
   libio-zlib-perl \
   libconfig-tiny-perl \
   libdate-manip-perl \
   libdbd-mysql-perl \
   libdbi-perl \
   libmd5-perl \
   libdigest-hmac-perl \
   libevent-perl \
   libgd-gd2-noxpm-perl libgd-graph-perl libgd-graph3d-perl libgd-text-perl \
   txt2html \
   libhtml-tree-perl \
   libjson-perl 
   libwww-perl \
   liblocale-gettext-perl \
   libmp3-info-perl \
   libnet-amazon-perl \
   libnet-telnet-perl \
   libnet-xmpp-perl \
   libproc-process-perl \
   libsoap-lite-perl \
   libtemplate-perl \
   libhtml-template-perl \
   liburi-perl \
   libxml-rss-perl \
   libxml-simple-perl

View recordings with preview images

To view recordings in XXV with preview images, give it to two possibilities, mplayer or vdr2jpeg, which has fewer dependence. vdr2jpeg need only ffmpeg. By the example of vdr2jpeg the installation is described here. Details for installation are always located in the file README contained in archives.

After the Download the archive file, must this archives unpacked :

cd $SOURCEDIR
tar xzvf vdr2jpeg-0.0.8.tgz
cd vdr2jpeg-0.0.8

or get the current deloveper state by subversion

 cd $SOURCEDIR
 svn co http://svn.berlios.de/svnroot/repos/xxv/vdr2jpeg/trunk vdr2jpeg/
 cd vdr2jpeg

In the contained Makefile should be adapted still the listing of ffmpeg. Subsequently, the program can be compiled by means of the Makefile and the following instruction :

make

If lasting compiling no error messages appear, the following instruction is sufficient for installation under /usr/local/bin:

make install

a deviating installation place can be indicated as an additional parameter like make install INSTALLBINDIR=/usr/bin.

Afterwards the preview production with vdr2jpeg must be activated. For that is in the Browser, with adjust configuration point RECORDS / previewbinary,previewcommand. It also possible to edit file xxvd.conf directly.

[RECORDS]
previewbinary=/usr/local/bin/vdr2jpeg
previewcommand=vdr2jpeg

More files

Install the man-page, which can be viewed later with man xxvd.

cd $SOURCEDIR
cp doc/xxvd.1 /usr/share/man/man1

And don't forgot to activate the rotate of the log files.

cd $SOURCEDIR
cp etc/logrotate.d/xxvd /etc/logrotate.d/xxvd

Configuration

Start the MySQL of server also:

mysqld_safe --user=mysql &

Use the provided script, to create the xxv database. Adapt before username and its password on 'contrib/create-database.sql', for a xxv used mysql account, with your personal preferences.

cd $XXVDIR
cat contrib/create-database.sql | mysql -u root

same can do alternatively in follow individually steps:

mysql -u root -e "create database xxv;"
mysql -u root -e "grant all privileges on xxv.* to username@localhost IDENTIFIED BY 'password';"
mysql -u root -e "flush privileges;"

Now register the data base connection and the mysql account in $HOMEDIR/.xxvd.cfg:

[General]
DSN=DBI:mysql:database=xxv;host=localhost;port=3306
PWD=password
USR=username

Starting of Xxv

So that xxv with each system start as service can be started, to have we an example starting script under 'etc/xxvd' stored, because one in its system to install can. This should be adapted to the own system conditions, on case of each should one the path adapt, at which xxv one installed. (In place of nano can you naturally also another editor use.)

cd $SOURCEDIR/xxv-<VERSION>
nano etc/xxvd

Under FOLDERS, into which first lines register simply that defined $SOURCEDIR.

# In welchem Ordner befindet sich bin/xxvd
# Where is bin/xxvd
FOLDER="/usr/local/XXV" 

So that XXV with each boats of the computer after vdr one starts. It is necessary the current to determine run level. And in the appropriate starting listing To put on run level /etc/rc<RUNLEVEL>.d a symbolic left on the initialization program of the xxvd service /etc/init.d/xxvd. Here by the example run level 2:

cd $SOURCEDIR/xxv-<VERSION>
cp etc/xxvd /etc/init.d/.
chmod 775 /etc/init.d/xxvd
ln -s /etc/init.d/xxvd /etc/rc2.d/S90xxvd  

Instead with SuSE you should alternatively at the beginning of the file etc/xxvd, after '# xxvd Start/Stop the xxvd daemon' the following lines add

### BEGIN INIT INFO
# Provides:       xxvd
# Required-Start: vdr
# Required-Stop:
# Default-Start: 3 5
# Default-Stop:  0 1 2 6
# Description:   telnet/http config server, for the DVB Settop box vdr program
### END INIT INFO

announce then xxvd as service

cp etc/xxvd /etc/init.d/.
cd /etc/init.d/
insserv xxvd

On all system then afterwards the activated service with the following command can be started.

/etc/init.d/xxvd start 

For the sake of the completeness since stopping and starting the xxvd service again mention :

/etc/init.d/xxvd stop 
/etc/init.d/xxvd restart


Parameter

The following parameters could be handed over /etc/init.d/xxvd to the service program bin/xxvd.

Parameter Default value Description
--verbose=LEVEL 3 Output level in the log file, 0 - quiet, 1 - only errors, 3 - warning... 5 everything
--version - Output of the used version of xxvd
--kill - stop current current xxvd process, in accordance with xxvd.pid
--nofork - xxvd when starting do not send into the background, necessarily for debugging.
--configfile=DATEI ~/.xxvd.cfg Name of the used configuration file
--logfile=DATEI /var/log/xxvd.log Name of the used log file

The following parameters are interesting particularly for package builder, which advise xxv-files on other folder.

Parameter Default value Description
--htmldir=DIR ./ Folder with HTTPD/WAPD Skins
--pidfile=DATEI /var/run/xxvd.pid To store file around the current prozess id
--localedir=DIR ./locale Folder with the translations
--newstmpl=DIR ./share/news Folder with output templates for the XXV NEWS plugins
--newsmods=DIR ./lib/XXV/OUTPUT/NEWS Module folder with the XXV NEWS plugins
--moduledir=DIR ./lib/XXV/MODULES Module folder with the XXV plugins
--docudir=DIR ./doc Folder with the documentation (NEWS, CHANGELOG ...)
--poddir=DIR ./doc Folder with the self documentation of the XXV plugins
--fontdir=DIR ./share/fonts/ttf-bitstream-vera Folder for ttf character sets for the overlay functions of the remote screen display
--vtxdir=DIR ./share/vtx Folder with the graphic font of the symbols for the teletext plugin
--contrib=DIR ./contrib Folder with additional script files

Manual starting of xxv

xxvd can be started also manually without activation as service, in addition serves the following command combination, which indicates the log file after the start also /var/log/xxvd.log. The announcement of the log file is broken off with keystroke Strg-C.

cd $SOURCEDIR/xxv-<VERSION>
./bin/xxvd --configfile=./xxvd.cfg && tail -f /var/log/xxvd.log

for manual stopping of xxvd the following instruction serves

cd $SOURCEDIR/xxv-<VERSION>
./bin/xxvd --kill --configfile=./xxvd.cfg

Handle with xxv

The operation of XXV takes place on a Browser. In addition the URL must on your XXV installation refers to be entered in the address line. This takes place according to the pattern protocol://network address:port The port number for the Web entrance is the 8080. This can be adapted by configuration parameters in xxvd.cfg. Here by the example of the IP address 192.168.0.100.

http://192.168.0.100:8080

The port number for the Telnet entrance is the 8001.

 telnet 192.168.0.100 8001

The port number for the WAP entrance is the 8085.

http://192.168.0.100:8085


Required with a new installation will for the entrance the following logon data, these attitudes should after the installation the personal preferences be naturally adapted. Over these attitudes it is also possible the user inquiry switches off or to certain Network clients to limit.

User:     xxv
Password: xxv

Plugins

General

General actually is no Plugin. Since it looks in such a way from view of xxv, it should be listed for the sake of the completeness here. Here global attitudes are listed such as log file path, data base server etc..

Manual: http://www.xpix.de/downloads/xxv/doc/General.html

  • Nearly all modules can be deactivated in your function (Configuration -> ModName -> Active = 'no').
  • The Templates is now likewise located and translatable, i.e. the skin programmer can access over the gettext routine the translation data base.

Autotimer

Here the EPG data is scanned for transmissions with a certain text into title, subtitle and text and programmed these as timers.

Manual: http://www.xpix.de/downloads/xxv/doc/AUTOTIMER.html

  • Autotimers can determine whether timers with VPS and own pre and wake are put on.
  • With an update now additionally also the Channelnamen of the found Events is indicated
  • Autotimer - Configuration - exclude: General excluding from channels, in order to exclude channels starting from a position in the channel list from the search to Events.

Search words can be concatenated by comma as logical AND and/or excluded by minus signs.

The following example should this clarify :

docu,astronomy --> Search for docu AND astronomy
Ryan,-Hanks --> Search for Ryan AND NOT Hanks


Tip: This functionality is available also in the normal EPG fulltext search.

Timers

This module permits the deletion, a providing and an editing of the new timers, as well as their representation.

Manual: http://www.xpix.de/downloads/xxv/doc/TIMERS.html

  • Timers referencing now on its EPG entry, if this is present.
  • Inactive timer now deleted if these more than one month in the future to lie. It seemed repeatedly, which a timer was programmed by autotimers, to this because of lack of interest was deactivated. If the timer had run off, it emerged automatically exactly one month later again in the list. These "timer corpses" had to be deleted then always laboriously by hand. Happened now automatically if TIMER - configuration - the Deactive is set on 'yes'.

EPG

Here those becomes epg.data read in and their entries in a database stored.

Manual: http://www.xpix.de/downloads/xxv/doc/EPG.html

  • Events are separately marked, if these are noted as timers.

Channels

Here ' ' channels.conf one reads in and their entries in a database one stores.

Manual: http://www.xpix.de/downloads/xxv/doc/CHANNELS.html

HTTPD

This module puts a server to HTTP as well as a Web interface at the disposal, in order to be able to serve xxv by Browser.

Manual: http://www.xpix.de/downloads/xxv/doc/HTTPD.html

  • A Processbar indicated if processes to be started somewhat longer to last (music to read in again, getCovers)
  • Now a starting side under Preferences - httpd - can be individually specified starting PAGE, (now, program, runs autotimer...)

Telnet

This module puts a server to telnet at the disposal, in order to be able to serve xxv by "telnet localhost port".

Manual: http://www.xpix.de/downloads/xxv/doc/TELNET.html

Interface

This module puts a server to data at the disposal, in order to be able to serve xxv with other GUIs.

Manual: http://www.xpix.de/downloads/xxv/doc/INTERFACE.html

Wapd

This module makes a WapD available server, in order to be able to serve xxv by means of Wap Browser (mobile telephone).

At present still without really function.

Manual: http://www.xpix.de/downloads/xxv/doc/WAPD.html

Music

The MusicPlugin makes a medium library as well as a Icecast available Streamserver.

Manual: http://www.xpix.de/downloads/xxv/doc/MUSIC.html

  • WebInterface: Many user more than 1000 MP3 titles on their had vdr rumlungern, thus thereby Javascript the concept absolutely not thereby clearly came. The new interface is now pure HTML and fortunately also substantially faster in the side structure.
  • GetCovers: This function is a bonus with xxv by means of module the Robot once on the day the Covers of the albums as image files from the InterNet to download can. For it the Perl module WWW::Mechanize which must be installed additionally, is used. This module emulates the normal operation in a Browser, with which a search word (album name, feature year) on the search side of a music portal is entered and suppl.-smooth-eat then scanned for the wished Albumcover. And this Coverbild is then stored in the preview listing and indicated in the album list.

Records

This Plugin represents all recordings clearly and permits different actions on the individual records.

Manual: http://www.xpix.de/downloads/xxv/doc/RECORDS.html

  • The cut marks are represented now graphically in the record overview.
  • Many characteristics of the record are now capable for editing. (Marks, Lifetime, Priority,...)
  • Andreas took care of the leidigen and substantially unperformanten way of the Preview picture production and a very slim C program named 'vdr2jpeg' wrote. This program does nothing different one than Preview of pictures in the reason with certain marks to provide. This we naturally also supported of xxv and can by "svn co http://bandt.dyndns.org/repos/vdr2jpeg" are gotten. Closer data for installation can reread you in the README file of the program complex.
  • Series, or recordings into a group file are summarized, in rlist as files are indicated.

Config

Configuration the Plugin makes it possible to change and store at run time different parameters of the interface (HTTP, telnet,..).

Manual: http://www.xpix.de/downloads/xxv/doc/CONFIG.html

Grab

Grab makes the live picture available of the VDR as JPEG image file.

Manual: http://www.xpix.de/downloads/xxv/doc/GRAB.html

  • grab ow is able to fade in additional information (e.g. the channel) into the gegrabbte live picture.

Remote

This Plugin represents a remote maintenance and in connection with grave also a live picture. Thus the VDR can be served by interfaces rudimentarily.

Manual: http://www.xpix.de/downloads/xxv/doc/REMOTE.html

Status

Status represents all system information in the interfaces as clear representation.

Manual: http://www.xpix.de/downloads/xxv/doc/STATUS.html


  • A particularly nice feature, it now graphs provided which the memory extent of utilization as well as the load of a certain period (configuration - status - history) to represent. The special to it, which become diagrams from the Templates provided, thus each bent ski programmer its own diagrams if necessary to provide can. In the HTML Skin one can see that very beautiful under status.


SVDRP

This Plugin makes all instructions available svdrp of the interface of the VDR.

Manual: http://www.xpix.de/downloads/xxv/doc/SVDRP.html

User

User authentication, which queries users in all interfaces identification and password and makes a level administration available.

Effectively come at xxvd three different account levels to carry :

  • The normal level of the operating system (Linux)

In this account xxvd executed. The account becomes in the variable RUNAS in /etc/init.d/xxvd defined. So that xxvd within unprivileged accounts can be executed, this account needs reader-genuine in xxv-folder, and write rights to the cfg file, pid file, log files and write rights in the preview folder of the Skins.

  • The Mysql Account

This entrance we only needs around the data in mySQL the data base to respond, therefore it needs reading and write rights within the active xxv-data base (mySQL:DATABASE) (GARANT SELECT, INSERT, UPDATE, CREATE, DROP, usw.)

  • And then there is the xxv-account within XXV the user administration.

It serves only for it individual xxv-commands to de-energise or close. Momentarily this is possible only in the three groups guest, user, admin.

  • guest, may data such as EPG data or Recordings regard
  • user, such as autotimers, timer may change data
  • admin, user may administer

The standard entrance after new installation has the following Login and should over the xxv-user administration when de-energising in InterNet be deleted or changed.

Login:xxv 
Passwort: xxv

If XXV only in the local area network one uses, the xxv-user administration can be switched off also completely in the preferences.

[USER]
Active=n

Manual: http://www.xpix.de/downloads/xxv/doc/USER.html

  • Certain parameters can be stopped now with the user. We use a generic system, if for example the user liked to see xpix only the Skin Snow can one in the user attitudes under 'Prefs' with 'HTTPD::HtmlRoot=snow' adjust very beautifully. Naturally one can assign also all other parameters of the modules to the user, e.g. we would like additional, which the user xpix only timer may define, whose priority is only with 30. That would look in such a way then:
   HTTPD::HtmlRoot=snow, TIMERS::Priority=30

The syntax reads thus 'Modulname::Parameter=Value, Modulname::Parameter=Value...'... if the user xpix also only as Level=User is adjusted, can one thus prevent the this its attitudes changes.

  • The user can make also a Logout now.

Vtx

This module indicates teletext sides.

Manual: http://www.xpix.de/downloads/xxv/doc/VTX.html

Skins install

The Web interface can diplay with a completely different appearance. The necessary skin package will unpack generally in the installation folder. But this skins folder can also move to a other folder by command line parameters, like --htmldir /var/lib/xxv/skins/.

Here by the example of the Skins stone.

cd /var/lib/xxv/skins/
tar zxvf xxv-stone-0.60.tgz

With unpacking, you should get a new folder, with name from Skin. this folder contains data of the skin.

Subsequently, one calls the Web interface (http://ip_deines_vdrs:8080) and selects the Skin under Preferences -> HTTPD -> Option HtmlRoot. But do not forget to activate the changed preferences with Apply.

It can be necessary to execute a complete reloading of the xxv-web page, so that buffered files by the Browser to update.

The current developer state are available by subversion under

 cd $SKINDIR
 svn co http://svn.berlios.de/svnroot/repos/xxv/XXV-Skins/trunk XXV-Skins/

XXV keep current

We go of it out of which you xxv with you had already installed and to point you as you to a new version to be updated can. As the first we must stop the service:

 vdr:~# /etc/init.d/xxvd stop

... with Subversion

Most simply an update with subversion is to be made, the update script and start again afterwards xxv call:

 cd $SOURCEDIR
 svn update

... as Download

Naturally it will give also further the possibility of getting themselves from the existing download server current packages and of unpacking these then. But, these packages are made available only in irregular distances. Are thus not always current:

 cd $SOURCEDIR
 tar xvzf xxv-<VERSION>.tar.gz

Database structure adapt

New or extended xxv-functions involve often also a change of the data base structure. After the installation of an update, should you therefore first always the script contrib/update xxv call. XXV may be started at this time not yet.

In the simplest case must transfer no parameters to her to the script. This presupposes however that MySQL on the local computer is installed that the data base is called 'xxv' and the database administrator 'root' does not possess a password.

 cd $SOURCEDIR/contrib
 ./update-xxv 

Beyond that can to the script a set of parameters hand over, which also steer a few extended functions apart from the access to the data base you. An overview of all parameters receive you with:

 cd $SOURCEDIR/contrib
 ./update-xxv -h
 
 update-xxv
 ----------
 
 Usage: update-xxv [-b] [-h hostname] [-P port] [-d database]
                   [-u user] [-p password]
 
 -b <target>    : Make a backup first to <target>.gz
 -H <hostname>  : Host name of the MySQL server (default: localhost)
 -P <port>      : Port number of MySQL server
 -d <database>  : XXV database name (default: xxv)
 -u <user>      : Username (default: root)
 -p <password>  : Password (default: no password)
 -a             : Ask for password
 -f             : Force upgrade, do not check version
 -h             : Help

With the parameter -b is accomplished before the update a Backup of the data base. In addition the name of the backupfile (without the ending gz) must be indicated. The parameters -H (hostname) and -P (haven) steer the access to the MySQL server. This ' localhost' and haven are according to standard 3306. If the database should not be called 'xxv', then can you with -D another name select.

The data base user can specify you with -u and its password with -p. In order to be able to accomplish the update, the data base user needs FILE of rights. Usually only the administrator 'root' is this right.

safety reference:
With the delivery of the password in the command line parameters the password becomes visible for one moment for all other user of the local system ('ps -fA' indicates all processes with their parameters!). Alternatively have you therefore the possibility, by means of -A the update script for the password ask of letting. However the password is several times queried, since different data base operations are necessary.

Database updates are accomplished by update xxv only if you are really necessary. Should times somewhat inclined run or if you would like on an old data base structure ' down degrees ', then can you the update with -f force.

With a successful data base update a list of the accomplished actions spends update xxv:

 update-xxv
 ----------
 
 Info: Checking Server
 Info: Checking Database
 Info: Retrieving current version
 Info: current database version: 0
 Info: new database version: 1
 Info: Starting update...
 Info: Saving Data
 Info: Updating Database
 Info: Restoring Data
 Info: Updateing Version
 Info: Update successful


In the event of an error "error:..." messages spent. The most probable cause for an error is the data base access. You should examine first thus username, password, data base name and host.

After the update can you XXV again start:

 /etc/init.d/xxvd start

Subsequently, control the log file:

 tail -f /var/log/xxvd.log

If any error messages should emerge because of missing Perl modules in the log file, then should install these for her. Who does not go to no more white as, this Wiki will be help you ...

Problems

  • Does XXV have a memory leak? Memory consumption approx. doubles in 6 hours.

Unfortunately the EventModul had a memory leakage, which with the version >= 1.05 has been fixed. Please install your Eventmodul again:

 perl -MCPAN -e shell;
 install Event

  • I use vdr 1.3.26 - 27 and xxv V0.42. I can see no more recordings in the interface

In these versions Klaus had something at the SVDRP interface screwed, thus XXV nothing more thereby to begin could. Either you update your XXV by subversion or you use a Patch which we on the following URL published:

http://www.vdr-portal.de/board/thread.php?postid=322895#post322895

If you should c't distribution to use, then update your xxv package by apt-get, afterwards the error should not arise any longer.



  • My Samba path shows amusing indications with umlauts in the paths of the recordings and the Liveplayer does not play this recording

Look here: http://www.vdr-wiki.de/wiki/index.php/Samba#Probleme


  • The password for the user xxv changed. And do not come now any longer to Admin rights.

The fast solution for your problem, in mysql log in and the user table delete:

vdr:~# mysql -u root -p           
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8 to server version: 3.23.49-log
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql> use xxv;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
mysql> drop table USER;
Query OK, 0 rows affected (0.12 sec)
 
mysql> quit

Then xxv restart again:

vdr:~# /etc/init.d/xxvd restart                                                 
Stop bin/xxvd: xxvd with pid 744 killed
Start bin/xxvd: xxvd started with pid 3563.

Afterwards you should be able yourself to log in with xxv:xxv normally.



  • No Preview image is provided:

The following check list should help you:

* the path is correct to mplayer in the RECORDS Config
* is  mplayer switched on under Records->config->mplayercommand?
* correct version under Records->config->mplayercommand?
* the path is correct to the video folder?
* the preview folder is writable for xxvd?

Consider also, the preview pictures in the background are generated. That means only after a small while is the first Previews to see (approx. 2min).



  • No Previewimages is provided and in xxvd_mplayer.log stands:
Unknown option on the command line: jpeg

Starting from mplayer-1.0pre6 the calling command line must be adapted, xxv make this for you. (Configuration -> RECORDS -> mplayercommand). Adjust simply the appropriate Player, which is installed on your system. MPlayer1.0pre5 and older as well as MPlayer1.0pre6 and more again. You get the version number of yours mplayers with mplayer v to see:

vdr:~/XXV# mplayer -v
MPlayer 1.0pre5-2.95.4 (C) 2000-2004 MPlayer Team

CPU: IDT/Centaur/VIA C3 Samuel 2 (WinChip C5B core)/C3 Ezra 600.9 MHz (Family: 6,    Stepping: 3)
Detected cache-line size is 32 bytes
3DNow supported but disabled
CPUflags:  MMX: 1 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX
...



  • in the log file the following warning emerges:
11 (10305) [03:27:27 03.02.2005] [Fatal] Cannot build telnet initial socket.

You must specify another port number for the telnet server in ~/.xxvd.cfg. The port which you used want, is probably already occupied.



  • in the log file from time to time the following warnings emerge:
 37 (805) [12:01:34 02/02/05] Can't locate object method "timers" via package    "XXV::MODULES::EPG" (perhaps you forgot to load "XXV::MODULES::EPG"?) at   /root/XXV/bin/../lib/Template/Stash.pm line 650.

These messages can be ignored. Perl tries to call by eval a method.



  • When starting the following warning appears:
 Start bin/xxvd: perl: warning: Setting locale failed.
 perl: warning: Please check that your locale settings:
 LANGUAGE = (unset),
 LC_ALL = (unset),
 LANG = "de_DE@euro"
 are supported and installed on your system.
 perl: warning: Falling back to the standard locale ("C").

A cause is, which bring along xxvd appropriate located texts, but on the computer no system localization of the same name is present. Suppressing this message goes with "export PERL_BADLANG=1", but more meaningfully it is to be likewise installed the system localization in the selected language.


Special problems with installation of the packages of the c't edition

  • In the log file is error that the file was not found ' ' docu.tmpl .

A start from xxv is via

xxvd -configfile=/var/lib/vdr-xxv/xxvd.cfg

possible, PID is assigned, but the Web interface (bspw.) is not attainable. The start also /etc/init.d/vdr-xxv start does not produce output for expenditure:

Starting XXV - Xtreme eXtension for VDR: xxvd started with pid 12345.
xxv.

Solution: In the file /etc/default/vdr-xxv register: ENABLED=1.

Snapshot

 cd $SOURCEDIR
 svn co http://svn.berlios.de/svnroot/repos/xxv/XXV/trunk XXV/

Links

  1. Project homepage
  2. Bugtracker