summaryrefslogtreecommitdiff
path: root/README
blob: d6404a7c0617bc561a17bef1423b85a7db37043e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
This is a "plugin" for the Video Disk Recorder (VDR).

Written by:                  Denis Loh <denis.loh@hftl.de>
                             Andreas Günther <andreas.guenther@hftl.de>

Project's homepage:          http://upnp.vdr-developer.org

Latest version available at: http://upnp.vdr-developer.org

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
See the file COPYING for more information.

Please note: This plugin is written under the terms of open source
redistribution by

Hochschule für Telekommunikation Leipzig,
University of Applied Science
Gustav-Freytag-Straße 43-45
04277 Leipzig
Germany
http://www.hft-leipzig.de

All rights reserved.


Description:

UPnP/DLNA Plugin for Video Disk Recorder

This Plugins extends the VDR with the possibility to act as an UPnP/DLNA Media
Server (DMS). It will serve VDR's contents in the network to any UPnP-AV and
DLNA capable devices.

The plugin requires a valid network connection with a IPv4 address. It will find
its settings automatically by default. In this case, the first network device in
the network device list with a valid IPv4 address and port 49152 will be used
for connections. You can change this behavior either by setting the command line
options or by editing the setup via the VDRs setup page. The command line
options have a higher priority and substitute the menu settings.

The command line settings are:
  -i <interface>  --int=<interface>     The server network
                                        interface
                                        e.g: eth0, wlan1 etc.
                                        If given option '-a' must
                                        be absent.
  -a <address>    --address=<address>   The server IPv4 address.
                                        If given option '-i' must
                                        be absent.
  -p <port>       --port=<port>         The server port
                                        Supported ports:
                                        0           (auto detect)
                                        49152-65535 (user defined)
  -d              --autodetect          Force auto detection
                                        Use this option to
                                        overwrite the setup menu
                                        options.
  -v              --verbose             Increase verbosity level
                                        The more v options the
                                        higher the output level
                  --dbdir=<directory>   The directory in which the
                                        metadata database is stored
                  --httpdir=<directory> The directory where the
                                        http documents are located

The verbose option can be more than once. With each option the verbosity level
will be increased. The maximum level is 5. Further options are silently ignored.

  -v                                  Print most important messages
  -vv                                 Print messages from the components
                                      i.e. the webserver, CDS, CMS, etc.
  -vvv                                Print messages from receivers and players
                                      and other additional components
  -vvvv                               You can't get enough, hum?
                                      This will print SQL messages and DIDL
                                      messages
  -vvvvv                              Can you read the matrix? You can't?
                                      Then try first reading SQL statements,
                                      fetches, buffer and parser outputs or
                                      any other outputs.

If not options are set, menu options will be used.

The server has a unique identifier, which is
"uuid:b120ba52-d88d-4500-9b64-888971d83fd3". Other devices in the network can
find and identify the VDR UPnP Server with this ID. However, the server should
be found automatically and being listed under the supported media server
devices. If not, please report this as a bug on the project homepage or send an
email to the developers of this plugin with the full device description and, if
applicable, the errors thrown by the media player device and/or the server.


Dependencies:

This plugin is tested with and requires the following libraries to work:

libupnp-1.6.6               The UPnP SDK
libsqlite-3.6               SQLite 3 Database
libavcodec-svn20090303      FFMPEG Library for analyzing audio video codecs
libavformat-svn20090303     FFMPEG Library for analyzing audio video formats
boost::spirit               Grammar parser
boost::function             Boost function library
boost::bind                 Boost bind library

The boost libraries are usually available in a packed version, so that only a
single installation is required. The FFMPEG libraries comes with FFMPEG itself.

ATTENTION: DO NOT USE ANOTHER VERSION OF LIBUPNP.

libupnp-1.8.0 is known not to work with this plugin! Versions below 1.6.6 may
work. However, there may exist some unknown issues.

If you want to know everything about the code, please see the source code
documentation at http://upnp.vdr-developer.org/docs/ where all public members
are explained.

I appreciate, if you help making the plugin better. If you find any project
related errors or missing features, please open a new ticket at the plugin
website with a detailed description of what you want or what happened.


Patching the libupnp:

If you have a DLNA compliant device such as TVs or streaming clients, you may
require a patched version of libupnp. You can download the patch on the project
website.