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 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453
|
+++++++++++++++++++++++++ +++++++++++++++++++++++++
XINE: A Free Video Player
+++++++++++++++++++++++++ +++++++++++++++++++++++++
INDEX
-===-
1 THE DOCUMENTATION
1.1 Scope of this document
2 ABOUT XINE
2.1 Supported platforms and requirements
2.2 Used software
2.3 Developers of xine
2.4 Usage
2.4.1 Keyboard shortcuts
2.4.2 Selecting audio channels
2.4.3 Selecting subtitles
2.4.4 LIRC
2.4.5 Setting xine config-options on the commandline
3 WHAT'S LEFT TO SAY
3.1 Freedom, DVDs and stuff...
4 Contacting the xine project
1 THE DOCUMENATION
1.1 Scope of this document
This is the end-user documentation for xine-lib and xine-ui. You'll
find more documentation in the doc/ directory of both packages.
Please also take a closer look at the FAQ included with the xine-ui
package which may already have the answers to your questions.
2 ABOUT XINE
xine is a free GPL-licensed video player for unix-like systems. It
supports mpeg-2 and mpeg-1 system (audio + video multiplexed) streams,
mpeg elementary streams (audio/video only, e.g. mp3 files), AVI files
with various video formats (some of them by using win32 dlls) and Vorbis
OGG streams. There is some support for quicktime streams (but most
quicktime video and audio codecs are highly proprietary and thus not
supported).
xine plays the video and audio data of the stream and synchronizes
the playback of both. Depending on the properties of the stream,
playback will need more or less processor power, full frame rate
for mpeg-2 has been seen on a 400 MHz P II system.
xine can play Video CDs, SVCDs and DVDs directly. Unfortunately the
legal status of encrypted/locked DVD playback is uncertain in some
countries so xine does not include any DVD unlock/decrypt code. To
play back such DVDs you'll need external programs or something like a
xine_dvd_plugin that can handle DVD authentification/descrambling.
The xine project team denies all responsibility for such uses of xine.
As of xine 0.5 xine's architecture allows for flexible plugins, so
various other stream types and output devices might be supported in
the future.
2.1 Supported platforms and requirements
- xine needs a X11 server for video output
(8, 15, 16, 24 or 32 bit color depth)
- xine can detect and use the MIT X video and X shared memory extension
for better playback performance
- if you can't get Xv to run on your platform you should use 16bpp
colordepth for speed. Xv seems to work nicely for any color-depth.
- if you have a Matrox G200/G400/G450 graphics adaptor you can optionally
use the sybcfb/teletux video ouput driver. See README.syncfb for more
details.
- for audio playback OSS, ALSA, ESD and ARTSD are supported.
- aaxine uses aalib for output and can run on nearly any terminal
- to build xine fairly recent GNU make, gcc and binutils are required
xine should run on any more recent i386-compatible machine (pentium
and higher) using GNU/linux or FreeBSD. Depending on the type of video
stream you want to play you will need more or less cpu-power for fluid
playback. As a rule of thumb, DVDs will typically begin to run nicely
on a Pentium II 400 system (or equivalent). There are many factors in
this equation, so your mileage may vary.
Successfully tested graphic cards (using Xv) for PCs include:
nVidia Riva TNT (closed-sources nvidia drivers), nVidia Riva TNT 2,
Matrox G400, ATI AIW Rage128-16MB, 3dfx voodoo3 2000 PCI 16Mb
The following cards have been reported to work, but it's unclear
whether they work with Xv or only with XShm (please report on
xine-user mailing list):
Trident 9660, ATI AIW M64-8Mb PCI, ATI RageII 8MB.
xine should be able to show video on any type of working xserver with
any graphics card, but with much worse performance than with Xv.
Additionally, xine runs on i386-solaris, sparc machines running linux
or solaris (Creator-3D framebuffer is known to work), see README.solaris
for more information. Also supported: some powerpc based systems (running
linux) and IRIX on MIPS.
Last but not least, xine has also been reported to work on Alpha, IA-64
and S/390 machines.
2.2 Used software
xine uses code from the following external free software projects:
- liba52 by Aaron Holtzman and Michel Lespinasse
- libmpeg2 by Aaron Holtzman and Michel Lespinasse
- libmad by Robert Leslie
- libffmpeg by Fabrice Bellard
Without these great pieces of software xine would of course not be
where it is now.
Also many thanks to the Linux Video and DVD Project "LiViD", where the
original ideas for the xine video player came from.
=> http://www.linuxvideo.org/
2.3 Developers of xine
main xine programming
Guenter Bartsch <guenter@users.sourceforge.net>
various suggestions, bug and build fixes, alsa plugin, gui
Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
many bug and deadlock fixes, bitrate detection, soft deinterlacer,
massive libwin32 updates
Miguel Freitas <miguel@cetuc.puc-rio.br>
teletux/syncfb video output module, various bugfixes/reviews, alsa
Joachim Koenig <Joachim.Koenig@gmx.net>
liba52/libmpeg2 developement
Michel Lespinasse <walken@zoy.org>
Debian package, user support
Siegfried Langauf <siggi@users.sourceforge.net>
Plus various other contributors, see the xine-lib/AUTHORS file
2.4 Usage
You can start xine without any command line parameters or you can
specify one or more input streams directly. xine tries to detect
whether it can use the Xv extension and will fall back to XShm, but
that detection might fail. You can specify the video output plugin by
using the "-V" option, e.g.
xine -V XShm
will force xine to use XShm or plain X11.
If you want to send the sound over a network with ESD, set the ESPEAKER
environment variable before starting xine.
The input stream can be a filename or something we call
"MediaResourceLocator" (or MRL), which looks similar to a URL. First
you specify an input source which is followed by "://" and an
input-source specific identifier. What input sources you can use
depends on the input plugins you have (for plain files you can omit
the input-source identifier).
Try:
xine --help
to get more complete information about usage.
xine supports the xdnd protocol (Version 3) so if you have a file browser
application supporting that protocol (e.g. gmc) you can drop video files
on xine for playback.
Playing track 3 from a VCD:
xine vcd://3
Example for direct DVD access:
xine dvd://VTS_01_1.VOB
2.4.1 Keyboard shortcuts
Key Action
[RETURN] play
[SPACE] pause
[Up]/[Down] fast forward / slow motion
0-9 enter the corresponding digit
/ Seek the % relative to the number previously entered
[Left]/[Right] seek -+ 15 sec (+CTRL: 60 sec)
[PgUp]/[Prior] jump to previous playlist entry
[PgDown]/[Next] jump to next playlist entry
f toggle fullscreen mode
a toggle aspect ratio (AUTO/16:9/4:3/DVB)
i toggle interlaced mode
z / Shift-Z zoom into / out of video
add Ctrl to zoom horizontally or Meta to zoom vertically
"<", ">" modify output window size
+ - change audio channel
, . change subtitle channel
n m adjust a/v sync
[HOME] reset a/v sync
[INSERT] toggle mouse cursor grabbing in the video output window
q quit
h hide video window (useful for mp3 playback)
More to come. :-)
Right click (or press 'g') on the video window to toggle panel
visibility.
Changing shortcuts:
You can also change one/many/all of the shortcuts. For this, you
should have a keymap in your $HOME/.xine/ directory. The key entry
syntax is:
WindowReduce {
key = less
modifier = none
}
The key should match with X11 key strings (see below). The modifier
could be:
- 'none' for no modifier,
- 'control' (or 'ctrl') for the control key,
- 'meta' (or 'alt' on PC) for meta key,
- 'mod3' or 'mod4' or 'mod5' only available on some platforms.
Modifiers can be mixed, separated with comma:
WindowReduce {
key = less
modifier = control, alt
}
If you don't specify a modifier line that's equal to specifying 'none'.
You can also add alias keystrokes, like:
Alias {
entry = Pause
key = p
}
Meaning you add another key stroke to 'Pause' entry, by pressing 'p',
you can also add a modifier section (see above). If you don't specify
it, the modifier will be the same as in the original section ('Pause'
in this case).
Tracking X11 key names:
To know a X11 key string, you could use 'xev', which it's provided
with your X11 package. Start 'xev' from a xterm, give focus to the
small displayed window, and hit the key you want to specify.
Then you will see something like:
...
KeyRelease event, serial 27, synthetic NO, window 0x3200001,
root 0x3c, subw 0x0, time 4144050914, (259,265), root:(272,319),
state 0x0, keycode 81 (keysym 0xff9a, KP_Prior), same_screen YES,
^^^^^^^^
This is what you're looking for.
About mouse button, to use your mouse wheel by example, you have
to track which button will be assigned to a function, using xev:
ButtonRelease event, serial 27, synthetic NO, window 0x1200001,
root 0x3b, subw 0x0, time 2710360666, (107,87), root:(120,117),
state 0x1000, button 5, same_screen YES
^^^^^^^^
This is the button
In this case, you have to set a "key = XButton_5". Modifier key
is also supported with mouse button handling.
Displaying current/remapped shortcuts:
You could use 'xine --keymap' or 'xine --keymap=default' to display
default shortcuts. You can redirect the result to a file, which can
become a ~/.xine/keymap itself.
To see the result of a remapping, just use 'xine --keymap=remapped'.
2.4.2 Selecting audio channels
Supply the -a option to select the desired audio track:
xine -a 3 test.mpg
Plays the third available audio track (and the video, of course).
Alternatively the gui can be used to select an audio channel.
2.4.3 Selecting subtitles
Subtitles are embedded in different tracks like audio. In general,
track 0 is the default language subtitle. Use the -u option to select
the desired subtitle track:
xine -u 0 test.vob
Displays the subtitles from stream 0.
Alternatively the gui can be used to select a subtitle channel.
2.4.4 LIRC
xine can be remotely controlled with IR. For this, you should have
LIRC installed (http://www.lirc.org).
You should add some entries in your ~/.lircrc, like this:
begin
remote = SAMSUNG
button = Button_Play
prog = xine
repeat = 0
config = Play
end
begin
remote = SAMSUNG
button = Button_1
prog = xine
repeat = 0
config = SetPosition10%
end
xine can self generate a lirc entries draft, using 'xine --keymap=lirc',
then you can redirect the output to a file to polish the settings.
Each entry will look like this:
# Reduce the output window size.
begin
remote = xxxxx
button = xxxxx
prog = xine
repeat = 0
config = WindowReduce
end
It's yours to specify the remote name, and assign the button.
Playlist:
---------
To Retrieve a playlist from a given input plugin, you can use the
special 'PlaylistFrom:' keyword, followed by the plugin name (the same
in the button in the panel window):
# Retrieve playlist from NAV plugin.
begin
remote = xxxxx
button = xxxxx
prog = xine
repeat = 0
config = PlaylistFrom:NAV
end
2.4.5 Setting xine config-options on the commandline
You can set any option (see README.config_en) from the commandline
to override the default value in $HOME/.xine/config.
For example you can do something like
xine vcd://1 opt:media.vcd.device=/dev/cdrom2 vcd://1
to change the vcd_device between playing two mrls.
These opt: settings will not be saved in the configuration file, they
are only temporary.
3 WHAT'S LEFT TO SAY
3.1 Freedom, DVDs and stuff...
xine is free software. "free software" is somewhat related to being
"open-source". However, the meaning of "free software" goes further
than just that: it is about the freedom of users of software. If you
have the time, please read what the free software foundation says
about the topics of freedom and software:
=> http://www.gnu.org/philosophy/free-sw.html
There is a very special threat to freedom when it comes to DVDs: the
movie industry is making huge efforts to restrict playback of DVDs to
controlled devices. Most DVDs that are currently sold are encrypted in
a proprietary way - and in some countries (most notably the USA), it
is possibly illegal to decrypt them - even for private viewing.
Hopefully most people will agree that this is a very questionable way
to treat customers. The xine project team condemns these efforts of
the movie industry - trying to prevent loss of sales in such a way
surely shows a lot of disrespect towards all their honest customers.
On the other hand, the xine project team is against breaking existing
law. No one knows exactly if it is actually illegal anywhere in the
world to write, own and use software for viewing encrypted DVDs. But
as this is an unclear topic (that seems potentially very dangerous),
xine does not contain any specific code for decrypting DVDs. It seems,
however, that third parties are working on such extensions. Possibly
in some places it is legal to use these. Whichever way - you will not
be able to play encrypted DVDs with xine out-of-the-box. Please note
that this is not a bug or 'missing feature', but a genuine legal
problem. It would be great to solve the problem (i.e. convincing
america and/or the movie industry that they are really annoying and
unnecessarily unfair to customers as well as users and developers of
free software), but including code to decrypt DVDs in xine won't solve
this problem.
4 Contacting the xine project
the xine project website is
=> http://xine.sourceforge.net
Feedback or offers for help are greatly appreciated, please contact:
the xine user mailing list <xine-user@lists.sourceforge.net>
|