README
author nathan
Sat, 29 Dec 2007 14:49:09 +0100
branchtrunk
changeset 2 4c1f7b705009
parent 0 474a1293c3c0
child 19 306cc35c7faa
permissions -rw-r--r--
release 0.10.1
     1 
     2 This is a dual-plugin for VDR.
     3 The "MP3-Plugin" allows playback of MP3 and other audio files.
     4 The "MPlayer-Plugin" is used to call MPlayer for playback of video
     5 files (e.g. DivX)
     6 
     7 Written by:                  Stefan Hülswitt <s.huelswitt@gmx.de>
     8 Project's homepage:          http://www.muempf.de/
     9 Latest version available at: http://www.muempf.de/down/
    10 
    11 See the file COPYING for license information.
    12 
    13 ----------------------------------------------------------------------
    14 
    15 For the user manual see the MANUAL file.
    16 
    17 
    18 Installing:
    19 -----------
    20 
    21 By default the Makefile builds both plugins. If you want to use only one of
    22 them, you can add one of "WITHOUT_MP3=1" or "WITHOUT_MPLAYER=1" to your
    23 Make.config.
    24 
    25 In the past month the plugins only have been tested with VDR 1.4.x and 1.5.x.
    26 While the plugins probably can be compiled with VDR down to version 1.1.29, this
    27 is not tested nor supported.
    28 
    29 By default any mentioned plugin config file should be located in the "plugins"
    30 subdirectory of your VDR config directory (see commandline option -S to specify
    31 an plugin specific subdirectory). For a complete description of the config
    32 files, see the MANUAL file.
    33 
    34 The MP3 plugin needs some external libraries (some optionally):
    35 
    36 You must have installed libmad and libid3tag from
    37 <http://www.underbit.com/products/mad/> for decoding MP3 and ID3 support.
    38 Recommended version is 0.15.1b. To compile and install I suggest the following
    39 sequence from the source directory (libmad and libid3tag are installed
    40 separately, so you must execute this once for each directory):
    41 
    42 > configure
    43 > make
    44 > make install
    45 > ldconfig
    46 
    47 For playback of WAV and other sound files you must have installed libsndfile
    48 <http://www.mega-nerd.com/libsndfile/> on your system. Recommended version is
    49 1.0.11 or newer. The old 0.0.x series doesn't work due to some API changes. To
    50 compile and install libsndfile I suggest the following sequence from the
    51 libsndfile source directory:
    52 
    53 > configure
    54 > make
    55 > make install
    56 > ldconfig
    57 
    58 If you don't want to install libsndfile, you must add "WITHOUT_LIBSNDFILE=1" to
    59 your Make.config.
    60 
    61 If you want to listen to CD audio, you can use cdfs
    62 <http://www.elis.rug.ac.be/~ronsse/cdfs/> (version 0.5c suggested). I suggest
    63 that you create a new entry in /etc/fstab and mp3sources.conf for cdfs. The
    64 /etc/fstab entry could look like:
    65   /dev/hdc	/mnt/cdfs	cdfs	ro,noauto,user 0 0
    66 The entry for mp3sources.conf could look like:
    67   /mnt/cdfs;CD-Audio;1
    68 Or if you want only WAV files to be displayed:
    69   /mnt/cdfs;CD-Audio;1;*.wav
    70 If you don't like cdfs, you could use any other filesystems which allows to
    71 access the CD audio data as WAV files.
    72 
    73 For playback of OGG files you must have installed libvorbis and libvorbisfile
    74 <http://www.xiph.org/ogg/vorbis/> on your system. Most Linux distributions
    75 include packages for this.
    76 If you don't want to install the vorbis libraries, you must add
    77 "WITHOUT_LIBVORBISFILE=1" to your Make.config.
    78 
    79 The MP3 plugin can output the sound to an OSS soundcard. To compile this
    80 support add "WITH_OSS_OUTPUT=1" to your Make.config. The output device defaults
    81 to "/dev/dsp" (see commandline option -D too). Don't forget to enable OSS
    82 output in the plugin setup menu.
    83 
    84 Before compiling the plugin, you could have a look at "mp3-config.h". This file
    85 includes a number of defines to set options and values at compile time. You
    86 should only change defines, if you have understand the source code parts which
    87 deal with the define. Improper settings can make the MP3 plugin to fail or to
    88 operate unsmoothly. So you should know what you are doing.
    89 
    90 To build the plugin(s) type:
    91 "make plugins"
    92 from the VDR source directory.
    93 
    94 To make the progressbar work with the MPlayer plugin and slave mode you need to
    95 apply a small patch to mplayer. Select an appropriate patch file for your
    96 MPlayer version from the patches subdirectory. Apply the patch and recompile
    97 MPlayer.
    98 
    99 Early 0.90rc versions of MPlayer need a patch to enabled HEAD driver support
   100 too. You will find one for 0.90rc1 in the patches subdirectory. Probably you'll
   101 have to point configure to the new DVB include files with
   102 --with-extraincdir=/usr/local/src/DVB/include or where ever you have stored the
   103 files. MPlayer versions later as 0.90rc5 allow to select HEAD support with a
   104 configure option or even detect this automatically.
   105 
   106 Commandline options:
   107 --------------------
   108 
   109 For both plugins it's possible to give an additional configuration subdirectory
   110 with commandline option -S/--sources, i.e. the given directory name is appended
   111 to the default plugin config directory path.
   112 
   113 Both plugins have a commandline option -m/--mount to define the name and
   114 location of the mount script. The default mount script is "mount.sh". This
   115 script is called from the plugin with 2 options on the commandline. The first
   116 is one of mount/unmount/eject/status and gives the action to perform. The
   117 second one is the base directory as defined in "mp3sources.conf" or
   118 "mplayersources.conf". The script must return the exit code 0 if the action was
   119 successful and 1 if the action failed (see the comments in the example
   120 "mount.sh" script which comes with the archive).
   121 
   122 The MP3 plugin maintains a cache for information scanned from song files (e.g.
   123 ID3 tags). This information is saved to the id3info.cache file by default
   124 located in the video directory. You can use commandline option -C/--cache to
   125 specify a different directory for this file.
   126 
   127 If you are using cdfs, the MP3 plugin is able to query a CDDB database for the
   128 song information (like title, artist). Local CDDB lookups can be enable from
   129 the setup menu and you must give the path to your local CDDB files with
   130 commandline option -B/--cddb. The database layout follows the xmcd standard
   131 (one subdirectory level for the categories, individual files for every disc).
   132 The settings for remote CDDB lookups can be found in the setup menu, too. Any
   133 information retrieved from a remote host is stored to your local CDDB database,
   134 so the user running VDR needs write access to this directory.
   135 
   136 If you are using any of the networking capabilities and you have a dial-up
   137 network, you can use the commandline option -n/--network to give a script name.
   138 This script is called before and after any network access and receives one
   139 option on commandline. This can either be "up" or "down", depending on if it's
   140 before or after the network access. In the "up" case the script should not
   141 return before the network is connected and useable. By default the plugin
   142 assumes that network access can be done at any time without prior action.
   143 
   144 If you want to use the OSS output capability but your soundcard device is not
   145 "/dev/dsp" (which is the default) you can use the commandline option -D/--dsp
   146 to give an alternative soundcard device.
   147 
   148 If you want to use the cover image display, you have to provide an image
   149 converting script. Usually your covers are in a common image format like e.g.
   150 JPEG or PNG, but the MP3 plugin can only display MPEG (still) frames. The
   151 conversion is done by the script, which takes two arguments: first the filename
   152 of the image file and second the filename or the resulting MPEG file. The
   153 script also has to take care that any needed subdirectories in the cache are
   154 created e.g. mkdir -p. You will find an example script in the examples
   155 subdirectory. By default the script is called "image_convert.sh", but you can
   156 use the commandline option -i/--iconv to change the name and location of the
   157 script.
   158 To speed up consecutive accesses to the same image, the converted frames are
   159 cached on disk. The default cache directory is "/var/cache/images/mp3". You can
   160 change this location with the commandline option -c/--icache.
   161 Don't forget to enable the image display in the plugin setup menu.
   162 The search order for images is:
   163 - An image in the same directory as the song, named like the song but with the
   164   song extension replaced with the image format extension
   165   e.g. test.mp3 -> test.jpg
   166 - An image named "cover" with the image format extension in the same directory
   167   as the song (album cover).
   168   e.g. cover.gif
   169 - An image named "artist" with the image format extension in the parent
   170   directory of the song (artist image).
   171   e.g. artist.png
   172 - An image named "background" with the image format extension in the base
   173   directory of the MP3 source.
   174 For all locations the extensions "jpg", "png" & "gif" are checked (in that
   175 order). If no image can be found, a full screen black image is displayed (this
   176 is included statically in the plugin).
   177 
   178 MPlayer is called through a script called "mplayer.sh" with the filename to
   179 play as first argument and the phrase SLAVE as second argument if slave mode is
   180 enabled. You can use the commandline option -M/--mplayer to change the name and
   181 location of the mplayer script. The script has to call MPlayer with all the
   182 necessary options.
   183 
   184 The script should parse the SLAVE keyword too and give appropriate options to
   185 MPlayer. To enable slave mode you must give at least the "-slave" option, while
   186 I suggest "-slave -nolirc -quiet".
   187 
   188 You can use the mplayer.sh.example file, which comes with the archive, as a
   189 starting point. Juri Haberland maintains a full featured mplayer.sh file which
   190 is available at <http://batleth.sapienti-sat.org/projects/VDR/>.
   191 
   192 For the MPlayer plugin you can give a location for the global resume file with
   193 commandline option -R/--resume.
   194 
   195 
   196 Summary of commandline options:
   197 -------------------------------
   198 
   199 MP3 Plugin:
   200 -m CMD,  --mount=CMD    use CMD to mount/unmount/eject mp3 sources
   201 -n CMD,  --network=CMD  execute CMD before & after network access
   202 -B DIR,  --cddb=DIR     search CDDB files in DIR
   203 -C DIR,  --cache=DIR    store ID3 cache file in DIR
   204 -D DIR,  --dsp=DIR      device for OSS output
   205 -i CMD,  --iconv=CMD    use CMD to convert background images
   206 -c DIR,  --icache=DIR   cache converted images in DIR
   207 -S SUB,  --sources=SUB  search sources config in SUB subdirectory
   208  
   209 MPlayer plugin:
   210 -m CMD,  --mount=CMD    use CMD to mount/unmount/eject mplayer sources
   211 -M CMD,  --mplayer=CMD  use CMD when calling MPlayer
   212 -S SUB,  --sources=SUB  search sources config in SUB subdirectory
   213 -R DIR,  --resume=DIR   store global resume file in DIR