summaryrefslogtreecommitdiff
path: root/README
blob: e8c65d85545d7ddf9b78de21c3172fc168a830e2 (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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
This is a "plugin" for the Video Disk Recorder (VDR).

Written by:                  Petri Hintukainen <Petri.Hintukainen@hut.fi>

Project's homepage:          http://www.hut.fi/u/phintuka/vdr/

Latest version available at: http://www.hut.fi/u/phintuka/vdr/

See the file COPYING for license information.


Description

  Simple framebuffer and/or X11 front-end for VDR.
  (displays OSD and video in raw X/Xv/XvMC window or 
  Linux framebuffer/DirectFB).

  Support for local and remote frontends.

  Built-in image and media player supports playback of most known media
  files (avi/mp3/divx/jpeg/...) and network radio/video streams
  (http, rtsp, ...) directly from VDR.


Requirements

  - vdr-1.4.0 or later
  - xine-lib 1.1.1 or later
    (xine-lib is not required for server in network-only usage)
  - Enough CPU power and memory to decode streams 
    (PII 400Mhz + 64M should be enough with Xv or DirectFB)


WARNING

  Remote (network) mode should be used only in firewalled 
  environment; it gives anyone full control to VDR !
  Full access is allowed to all hosts listed in svdrphosts.conf.

  Multicast streaming can flood your internet connection and/or
  wireless LAN. If there is no router (or intelligent switch ?)
  all multicast packets will be broadcasted to all network links.
  This will flood slow network links:
    - Internet connection if outgoing bandwith is < 10 Mbit/s
    - Wireless LAN (11 or 54 Mbit/s).
  By default multicast TTL is set to 1 so multicast packets should
  be stopped to first router regardless of network configuration.


Public CVS

  Latest fixes are available from sourceforge.net public CVS
  (http://sourceforge.net/cvs/?group_id=160063).

  CVS checkout command:
  cvs -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput co vdr-xineliboutput


Buildtime options

  X11 and xine-lib are detected by Makefile.
  It is possible to override auto-detection by adding
  following definitions to VDR's Make.config:

    enable/disable building of X11 frontends:
      XINELIBOUTPUT_X11 = 1
      XINELIBOUTPUT_X11 = 0

    enable/disable framebuffer frontends:
      XINELIBOUTPUT_FB = 1
      XINELIBOUTPUT_FB = 0

    enable/disable xine (input)plugin:
      XINELIBOUTPUT_XINEPLUGIN = 1
      XINELIBOUTPUT_XINEPLUGIN = 0

  or changing corresponding lines in plugin's Makefile.

  xineplug_inp_vdr.so is automatically copied to xine's plugin directory.
  Writing to xine's plugin directory usually requires root permissions.

  It is possible to compile only remote frontends with command 
  "make frontends".


Usage examples (VDR plugin)

  If no arguments are given, both X11 and framebuffer frontends are tried.
  First working frontend is used with best available video driver.
  Complete list of available command-line arguments can be obtained
  with "vdr --help".

  Only local frontend, X11/Xv video, alsa audio:
    vdr -P"xineliboutput --local=sxfe --video=xv --audio=alsa --noremote"

  Only local frontend, (slow) X11 video, oss audio:
    vdr -P"xineliboutput --local=sxfe --video=x11 --audio=oss --noremote"

  Only local frontend, DirectFB: 
    vdr -P"xineliboutput --local=fbfe --video=DirectFB --noremote"

  Only remote frontend(s):
    vdr -P"xineliboutput --local=none --remote=37890"

  Local and remote frontends:
    vdr -P"xineliboutput --local=sxfe --remote=37890"
  or
    vdr -P"xineliboutput --local=fbfe --remote=37890"


Using remote frontends

  Two remote frontends are included, vdr-fbfe for framebuffer and 
  vdr-sxfe for X11.
  Complete list of available command-line arguments can be obtained
  with "vdr-??fe --help".

  Frontend should find server automatically (from local subnet) 
  and negoate best available transport. If frontend does not
  find server (or specific transport should be used), mrl must 
  be given on command line.

  Examples:

    Search for VDR (xineliboutput) server, connect to it and
    negoatite best available transport. Use best available audio 
    and video driver.
      vdr-fbfe
    or
      vdr-sxfe

    Connect to 192.168.1.3 default port and negoate best available transport
       vdr-fbfe xvdr://192.168.1.3

    Connect to 192.168.2.100, port 12550 and use TCP transport
       vdr-fbfe xvdr:tcp://192.168.2.100:12550

    Automatically search for VDR server and use UDP transport
        vdr-fbfe xvdr:udp:

  Available transports for video/audio 
      pipe  Use local pipe; server and front-end must be running in 
            same machine
      rtp   Use RTP/UDP multicast for data and TCP for control. 
            Multiple frontends can receive same stream.
      udp   Use UDP unicast for data and TCP for control.
      tcp   Use TCP protocol for control and data. Both channels 
            use same server port and are opened by client.

  Forwarding lirc keys to server
     Use option --lirc with optional lircd socket name to
     forward LIRC commands from client to server.

  Audio driver
    Use alsa:
     vdr-fbfe --audio alsa
    Use alsa (and specific card/sub-device):
     vdr-fbfe --audio alsa:plughw:1,1

  Video driver (and display / device):
    With X11 frontend (vdr-sxfe):
        vdr-sxfe --video x11 | xshm | xv | xvmc | xxmc [:display]
      Examples:
        --video xv
        --video xvmc:127.0.0.1:1.0

    With framebuffer frontend (vdr-fbfe):
      --video [fb | DirectFB] [:fb_device]
      examples:
      --video DirectFB
      --video fb:/dev/fb/1

  De-interlacing
    De-interlacing can be switched on with command-line option
      --post tvtime
    Examples:
      vdr-sxfe --post tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1
      vdr -P"xineliboutput --post=tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1"


Using with xine-ui (xine, fbxine, gxine, ...)

  Examples:
    xine "xvdr://127.0.0.1#nocache;demux:mpeg_block"
    xine "xvdr:tcp://127.0.0.1:37890#nocache;demux:mpeg_block"
    xine "xvdr:udp://127.0.0.1:37890#nocache;demux:mpeg_block"

  "#nocache;demux:mpeg_block" should always be appended to end of mrl.

  Remote mode must be enabled in VDR plugin.

  Some configuration options are not available when using 
  third-party frontends.


Controlling VDR

  With local frontend, vdr-sxfe and vdr-fbfe:

    Keyboard input from console is mapped to VDR keyboard input. 
    If VDR was compiled or configured without keyboard support,
    console keyboard input does not work.

    Keyboard input from X11 window is mapped to XKeySym remote.
    Keys are mapped to VDR keys in remote.conf file. Simple example
    of X11 key mappings is included in examples directory.

    It should be possible to use VDR's remote controller learning
    mode by pressing some key just after VDR has been started.

    Keyboard input can be disabled in configuration menu. There
    are separate entries for local and remote frontends.

  With xine-ui:

    Keyboard shortcuts and remote events from menus are automatically 
    forwarded to VDR and translated to VDR keys.
    Translation to VDR keys is static and defined in xine_input_vdr.c.


Frontend key bindings

  Esc     Close frontend (vdr-fbfe / fdr-sxfe)
  
  Mouse left button double-click
          Toggle between fullscreen / window mode (vdr-sxfe only)

  Mouse right button click
          Toggle between normal window / always on top /
          borderless window (vdr-sxfe only)

  Close Window
          Close frontend (fdr-sxfe only)


Image viewer key bindings

  Up/Down         Next/previous image
  Left/Right      Jump 5 images forward/backward
  Yellow          Delete current image
  Back            Return to image list
  Stop/Blue       Exit image viewer
  Play            Start slide show
  Pause           Stop slide show
  FastFF/FastRew  Start slide show; Increase/decrease slide show speed; 
                  Change slideshow direction
  Ok              Toggle replay display mode


Media player key bindings

  Back       Return to file list
  Red        Jump to beginning of file
  Green      Jump 1 min back
  Yellow     Jump 1 min forward
  Stop/Blue  Stop replay
  1, User8   Jump 20 s back  
  3, User9   Jump 20 s forward
  2          Move subtitles up
  5          Move subtitles down
  Pause      Pause replay
  Play       Play
  Ok         Toggle replay display mode

DVD player key bindings

  Up/Down/Left/Right/Ok/Back  DVD menu navigation
  Red        DVD menu(s)
  Green      Jump 1 min back
  Yellow     Jump 1 min forward
  Blue       Stop replay
  Pause      Pause replay
  Play       Play
  Stop       Stop replay
  Next
  Prev
  Info


DVD playback

  DVD images

  Media player supports playing DVDs directly from hard disk.
  Found DVD folders are marked with 'D' in media player 
  file list.
  Plugin detects folders as DVDs if there is file 
  Name_Of_DVD/VIDEO_TS/VIDEO_TS.IFO.

  It is also possible to replay DVD as VDR recording by 
  creating empty recording directory and renaming or
  symlinking .VOBs of selected title to 00?.vdr files.
  DVD menus (VTS_??_0.VOB) should _not_ be copied.
  Audio can be selected from main menu just as with normal 
  VDR recordings.
  Subtitle track can be selected from xineliboutput plugin 
  menu.
  For seeking it is necessarily to create index.vdr file
  with genindex or similar tool.

  DVD discs

  "Real" DVD discs (accessible from /dev/dvd) can be played 
  from xineliboutput plugin menu.

  In case of remote frontend (vdr-sxfe/vdr-fbfe) DVD drive 
  of _remote client_ is used.


Aspect ratio setting

  There are 4 possible aspect ratio settings for display:

    default  Aspect ratio is calculated from display resolution.

    4:3      4:3 video is scaled to fill whole window; 
             16:9 video has black bars at top and bottom

    16:9     16:9 video is scaled to fill whole window; 
             4:3 video has black bars at left and right.

    auto     4:3 and 16:9 are displayed as is; 
             wider than 16:9 is displayed as 16:9.
             (useful with 16:9 TV if TV can switch between 
             16:9 and 4:3 -> 16:9 smart scaling)

VDR Logo

  The VDR logo was designed by Jan Grell.

Notes

  Current xine-lib does not support unscaled overlays with DirectFB.