From f52ef371ea21fb7a050aa71bba9156784e1a7672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 2 Jun 2007 20:08:31 +0200 Subject: Rename the faq SGML file to DocBook. --HG-- rename : doc/faq/faq.sgml => doc/faq/faq.docbook --- doc/faq/faq.docbook | 2285 +++++++++++++++++++++++++++++++++++++++++++++++++++ doc/faq/faq.sgml | 2285 --------------------------------------------------- 2 files changed, 2285 insertions(+), 2285 deletions(-) create mode 100644 doc/faq/faq.docbook delete mode 100644 doc/faq/faq.sgml diff --git a/doc/faq/faq.docbook b/doc/faq/faq.docbook new file mode 100644 index 000000000..568ac533a --- /dev/null +++ b/doc/faq/faq.docbook @@ -0,0 +1,2285 @@ + + + + + + + The xine engine FAQ + xine FAQ + + 2001-2007 + the xine project team + + + +
+ + General questions about xine and this document + + + What is the xine engine? + + The xine engine is a free media player engine. It comes in the form of + a shared libarary and is typically used by media player frontends + and other multimedia applications for playback of multimedia streams + such as movies, radio/tv network streams, DVDs, VCDs. + + + Since there are several frontends for the xine library available, + this document has a problem when it comes to examples. + The two most common frontends xine-ui and gxine are mixed in command + line examples throughout this FAQ. When you use a different + frontend, some of these will not work for you. The filename of + the config file also varies amongst frontends. If you get confused, + I recommend you try with one of xine-ui or gxine. + + + + + What's the aim and scope of this text? + + The primary goal of this FAQ is to cover all recurring questions related + to the xine engine. Frontend specific questions are usually not covered here. + + + + + My question is not yet covered here - where can I ask for help? + + First of all be sure that your question is really not covered here and + that you haven't just been a bit too lazy to read through all of this + text. ;-). Also check out the documentation specific to + the frontend (e.g. xine-ui or gxine or + totem). + + + That said - you are welcome to mail to our user mailing list: + xine-user@lists.sourceforge.net + Please provide some info about your setup so people have a chance to + help you, e.g. include information about your audio/video hardware + and drivers you use, operating system, cpu type and some console + output/any error messages. Also include command line parameters you + have specified and information about the type of stream you're + trying to play back. Also very important is the version of xine + you're using and information about any additional plugins you + may have installed on your system. + + + + + How do I pronounce "xine"? + + As long as people know what you are talking about, you are free to + pronounce it the way you like, but the official pronounciation is + [ksi:n], like the name "Maxine" with the "Ma" removed. + + + + + What are those xine-lib, xine-ui, gnome-xine, ... modules in cvs for? + + Some time ago xine just became too complex to be just one big program. + Therefore it was split into two major parts. + + + xine-lib is simply speaking the engine of xine. It contains all basic plugins + and is necessary to run anything that relies on xine. (This is the part that + is covered in this FAQ.) + + + Then there are frontends - applications that use xine. The most + common frontend is that of a media player. There are currently + two frontends being developed in the xine project, xine-ui (skinned + dvd-player style frontend directly based on xlib) and gxine, + a desktop media-player style frontend using the standard gtk widget set + and comes with a mozilla browser plugin. + External projects like kaffeine, sinek and totem develop additional frontends. + In the future you will likely see more and different types of applications + being developed which will use the xine engine for video processing + and other multimedia purposes. + + + If you simply want a media/dvd player, you'll need to install xine-lib + first and then choose and install a player frontend like xine-ui or gxine. + + + Other modules in CVS are: xine-plugin a mozilla browser plugin + for streaming media playback using xine, + xine_www the + xine project website sources. + + + + + Where and how do I get the latest development version? + + Be advised that end-users should stick to the official xine releases. + The CVS and Mercurial repositories are only intended for developers and for others who know why they use it. + + + Checking out xine modules from Mercurial + + The repositories are listed at http://hg.debian.org/hg/; + however, this is a list of all repositories which are kept there, not just the + xine project's (which are the ones which begin with xine-lib/). To check one out: +    hg clone http://hg.debian.org/hg/repository local_copy + e.g. +    hg clone http://hg.debian.org/hg/xine-lib/xine-lib xine-lib + + + Currently, only xine-lib and gxine are present here. + + + + Checking out xine modules from CVS + + To check out xine modules from CVS, first do this: +    cvs -d :pserver:anonymous@xine.cvs.sourceforge.net:/cvsroot/xine login + The password is empty, just press Enter. + + + Then, to check out individual modules (e.g. xine-lib or xine-ui): +    cvs -d :pserver:anonymous@xine.cvs.sourceforge.net:/cvsroot/xine co <modulename> + + + If you want xine-lib or gxine, you should use Mercurial instead. + The CVS repositories for these are not maintained. + + + + + + How do I submit patches? + + First, make sure that you're using a current development version + (see above) or at least the current release version. Then, once you're + ready to send the patch... + + + Generate your patch using either cvs diff -u > + my.patch or hg diff > my.patch (as + appropriate). Make sure that your message subject briefly describes the + patch; your message body should contain a longer description of the + patch. Your patch should be applicable using patch -p0 -i + my.patch or, preferably, patch -p1 -i + my.patch from the top-level directory in the source tree + (i.e. where configure.ac is) - this is fairly important for our + Mercurial-based repositories since it makes importing your patch that + much easier (hg import defaults to -p1). + + + Alternatively, if you've been hacking away at a module which is + maintained using mercurial, you can make them available as diffs - use + hg export or, if you have several patches, you could + use hg bundle instead (both require extra + parameters; hg help export and hg help + bundle for more details) - or via HTTP by using hg + serve. In the latter case, you'll need to post a URL from + which a developer can pull the changes. + + + Patches should normally be sent to the xine-devel mailing list, + xine-devel@lists.sourceforge.net. + + + + + Why is gxine's CVS module named "gnome-xine"? + + Historical reasons: gxine was originally named gnome-xine. + + + + + Where can I find pre-compiled binaries, e.g. RPMs? + + The xine project does not provide pre-compiled binaries for legal + reasons (some parts of xine may be covered by patents in some countries). + Some OS projects/vendors (e.g. debian, freebsd, ...) offer binaries + for their distributions - please contact them or use their package search + tools for further info. + You can also find links to third parties providing xine RPMs on + the xine homepage at + http://xinehq.de/index.php/releases. + + + See the next section of this FAQ for instructions on how to build xine + from source. + + + + + + + Building and installing xine from source + + + What do I need to compile everything properly? + + First of all an official and stable release of gcc. Also be aware + that patched gcc versions may break parts of xine and are therefore + not supported by the xine project. + + + Furthermore you'll have to use GNU make to compile xine. On most GNU/Linux + systems "make" is GNU make - on other platforms use "gmake" instead. + Also, zlib is required (including the appropriate header files, which are + often found in a package called zlib-devel or similar.) + + + If you want to compile xine from CVS, you'll need to have the autobuild tools + installed (automake, autoconf and libtool - in recent versions). + + + Frontends might need additional libraries, e.g. for gxine you'll need to have + GTK2 installed. Make sure you have not only the shared libraries themselves + but also the header files (often packaged seperately as so-called -dev packages) + on your system. + + + Some plugins that come with the xine engine need additional libraries (otherwise + they will not be built). For example, libogg and libvorbis (plus their include files) + are needed for ogg/vorbis support. Most notably, if you want to see any video + on your X11 desktop (and that's what you're here for, isn't it?), you need the + X developer packages as well. + + + Don't worry about this too much right now, xine's configure + (see below) will check for all the stuff needed and will tell you what's missing + (which means that you should check the output it produces carefully ;) ). + + + + + How do I compile xine? + + Simple build instructions for beginners + + Download the latest xine-lib and gxine/xine-ui tarballs, then follow + these instruction. To unpack a tarball, use: +    tar xfvz tarballname.tar.gz + + + The following instructions will install xine in /usr/local + where it will be visible for all users. You need root privileges to do this on most systems. + + + After unpacking xine-lib, issue: + +   ./configure +   make install + + + Make sure your /etc/ld.so.conf contains + /usr/local/lib and continue with: +    ldconfig + + + Now unpack your frontend (gxine or xine-ui or ...), then: + +   ./configure +   make install + + + + Complete build instructions + + The build process is the same for all of the xine modules. + + + You have to start with xine-lib. If built and installed successfully, you + can continue with the frontend(s). + + + If you have installed xine-lib to a non-standard prefix, make sure + that you have $prefix/bin in your PATH and that your linker finds + libs in $prefix/lib - otherwise trying to build modules that + rely on xine-lib will fail with configure complaining about not + finding certain parts of libxine. Using bash you can do something like: + +   export PATH="$prefix/bin:$PATH" +   export LD_LIBRARY_PATH="$prefix/lib:$LD_LIBRARY_PATH" + to make sure libxine can be found by the frontend(s). + + + Last but not least. Here the build instructions. As stated earlier, + those are the same for every xine module. + +   ./autogen.sh [-> *only* if you checked your sources out of CVS] +   ./configure +   make +   make install + + + + + + Making your own RPM packages (xine-lib, xine-ui, gxine) + + Basically you will only have to issue one command, if you have just + downloaded a source tarball from our web site: +    rpmbuild -ta <THE_NAME_OF_YOUR_SOURCE_TAR_BALL> + (Older versions of RPM use rpm instead of rpmbuild.) + + + This will start the binary and source RPM building. After compiling is + finished, a binary rpm is placed in your rpm binary directory which is + something like /usr/src/RPM/RPMS/<YOUR_ARCHITECTURE> + and a source RPM is written to your rpm source dir + (e.g. /usr/src/RPM/SRPMS). + + + In case that you have a fresh CVS checkout, you will need to do the + following first in order to get a tarball release out of it which you + can later use with the rpmbuild -ta command above: +    ./autogen.sh && make clean && make dist + + + In any case, please keep in mind that you have to build and install + xine-lib first before you can proceed with xine-ui. + + + + + Making your own .deb packages (xine-lib, xine-ui, gxine) + + You'll need a CVS or HG snapshot tarball or source checked out from the repository. + + + First, make sure that the "devscripts" package is installed. You'll + then need the following commands (the first one isn't needed unless you're using a snapshot tarball): + +   tar xzf <PACKAGE-VER.tar.gz> +   cd <PACKAGE-VER> +   ./autogen.sh noconfig +   debuild binary + + (If debuild complains about unmet dependencies, then + install them using aptitude install <PACKAGES> (as root) then re-run + debuild binary. + + + Once the build has been successfully completed, you'll have some new .debs. + +   cd .. +   ls *.deb +   su - -c 'cd '"`pwd`"' && dpkg -i <DEB_PACKAGES>' + + Ubuntu users will probably want to use this instead of that su: + +   sudo dpkg -i <DEB_PACKAGES> + + + + In any case, please keep in mind that you have to build and install + xine-lib first before you can proceed with xine-ui or gxine. + + + + + Can I provide additional CFLAGS for compilation? + + Yes, you can do so by setting the CFLAGS variable and then running + configure again. You can even pass them to + configure directly. Example: +    ./configure CFLAGS="-march=i686" + + + Other user variables configure respects are: + + + + CC to specify the compiler executable + + + + + CPP to specify the C preprocessor executable + + + + + LD to specify the linker executable + + + + + CPPFLAGS to pass additional include paths or other + preprocessor options + + + + + LDFLAGS to pass additional library paths or other + linker options + + + + + + An example combining some of these would look like: +    ./configure CC="/opt/intel/bin/icc" LD="/opt/intel/bin/xild" \ +   CPPFLAGS="-I/usr/local/include/dvdnav" LDFLAGS="-L/home/guenter/xine_libs" + + + + + Are there binaries for my AMD K7 (Athlon™) available? Can I build them? + + If you have a recent gcc you can try to compile "more" k7 support in (esp. + better instruction scheduling). If the configure script should fail to + detect your processor/gcc correctly, try passing the canonical system name for + your machine to configure with the --host option, e.g. +    ./configure --host=k7-pc-linux-gnu + + + + + Build problems: xine engine (xine-lib) + + The package doesn't compile at all! + + In order to be able to compile xine-lib, you need (amongst other things) + the zlib compression library plus the appropriate headers, which are + often found in a package called zlib-devel or similar. + + + Read again carefully the output ./configure + produced and/or compiler warnings and error reports, they often contain + helpful information to find out what's going on. If you're stuck here + and decide to post your problem on the xine-user mailing list, + make sure you include these outputs. + + + + The Xv video-out plugin fails to compile! + + If you want to have Xv support compiled in, make sure you either have + a shared Xv library on your system, e.g. + ls /usr/X11R6/lib/libXv* + should give you some .so libs, like this: + +   /usr/X11R6/lib/libXv.a +   /usr/X11R6/lib/libXv.so +   /usr/X11R6/lib/libXv.so.1 + + + Alternatively you need to have libtool 1.4 or newer installed, then + libXv.a is sufficient. Otherwise you can create the shared versions yourself: + +   ld --whole-archive -shared -o libXv.so.1 libXv.a +   ln -s libXv.so.1 libXv.so +   ldconfig + + + Now you should be ready to build the Xv video-out plugin on your system. + + + + + + Build problems in frontends (gxine/xine-ui/...) + + I have installed xine-lib but the frontend complains about not finding it! + + First of all take a closer look at the compilation instructions above again. + You will probably find your answer there right away. + + + As stated there (there again that hint *grin*), make sure that you + have $prefix/bin in your path and that your + linker is able to find libraries installed in $prefix/lib + By the way, $prefix is where you installed your xine-lib to earlier + (yes, installing xine-lib with make install or + installing the corresponding distribution-provided -dev or -devel + package would be a good idea before trying to compile the frontend ;) + ). + + + + + + Can I install xine in my home directory (without being root)? + + Sure. First set up a subdir where you install your private software, eg. +    mkdir ~/xine + + + Then you have to set a few environment variables - it's probably a good + idea to add this to your ~/.bashrc (or somewhere similar): + +   export PATH="$HOME/xine/bin:$PATH" +   export LD_LIBRARY_PATH="$HOME/xine/lib:$LD_LIBRARY_PATH" + + + Now you can unpack tarballs e.g. in ~/xine/src + (mkdir ~/xine/src if necessary) and do a + +   ./configure --prefix=$HOME/xine +   make install + + + You also need to tell frontends using xine-lib, where to find it: +    ./configure --prefix=$HOME/xine --with-xine-prefix=$HOME/xine + + + + + How to compile xine for Windows? + + For compiling xine under Windows with MinGW, CygWin or MS Visual C see README.WIN32. + + + For cross-compiling xine under comfortable unix-like environment with MinGW see README.MINGWCROSS. + + + + + + + Playback of various stream types + + + DVD Playback with xine + + How do I play back DVDs with xine? + + Newer xine (1.0.x) releases come with a full-featured + DVD plugin that should be able to handle any unencrypted, + non-locked DVD with full menu navigation support. No external + plugins are required anymore here. + + + To get DVD playback working, first make sure you have + a symlink /dev/dvd pointing to your + DVD device on your system. For example, if your DVD drive + is the master ide drive on the second IDE channel, + /dev/dvd should point to + /dev/hdc. Please note that if you + are using the ide-scsi emulation on your system, it is + likely that your DVD drive got mapped to a scsi device + node even though it is an ide drive. In that case first + check out you boot/kernel logs (or run cdrecord -scanbus) + to find out which device it got mapped to and set the + symlink accordingly (should be something like /dev/scd0, + /dev/scd1, ... in that case). + Also make sure you (as a user) have sufficient (read and write) permissions + on your DVD drive. This could mean you either have to change the device + permissions or add your user to a special group + (e.g. addgroup cdrom username), + depending on your setup and/or distribution. + + + It is highly recommended to switch DMA mode on for your DVD drive + (without it even very recent machines will have trouble producing + smooth video output). Use a command like + hdparm -d 1 <device> + on your DVD device. Please note that even if you're using ide-scsi + you will have to set the dma flag on the ide device node (e.g. + /dev/hdc), not the mapped /dev/scd + scsi device. + + + To be able to play back encrypted DVDs you need to have + libdvdcss installed on your system (please check if this is legal where + you live). If you do not understand what the term "encrypted DVD" means + here: As a rule of thumb, every DVD you have to pay money for is most + likely encrypted. + + + To make matters worse, apart from encryption, there is another obstacle + to take: the region code. The DVD authorities decided to divide the world + into eight geographical regions. Have a look at + http://www.dvdforum.gr.jp/RegionMap.pdf + if you want to know which number has been assigned to your country. It is + now their idea, that you shall only play DVDs, which have been produced + for your region. If you take a DVD off the shelf in your local store, + you should find a little globe-like icon which shows the region code the + disc is for. + + + Newer (post-2000) DVD drives (so-called RPC-2 drives) check the DVD + region, which means they'll prevent you from playing back DVDs that have + a different region code from what the drive is set up for. Some drives + come with a factory setting of region 0 so they can play back + any DVD until a region code is set. Others refuse to play any DVD at all + until they are told a region. The easiest way to handle this is to use + the regionset utility from + + http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415 + . + + + Once you have everything set up, try something like + gxine dvd:/ or xine -p dvd:/ + to start dvd playback. Some frontend also offer so-called autoplay + buttons or menu entries that start dvd playback immediately. + + + Important: do not try to mount the DVD. Just insert it and hit the DVD autoplay + button or start xine from the command line. + + + If things do not work as expected, try running the xine-check + shellscript that comes with xine to see if this gives you further hints on + what could be wrong. + + + + DVD playback works, but it takes a long time until playback starts + + This points to a region code problem. Some versions of libdvdcss can play + back DVDs from other regions than the RPC-2 DVD drive is set up for, + but this usually means a cryptographic attack (which takes time) has + to be used to access the DVD. + + + You can download a tool to set the region code of RPC-Drives here: + + http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415 + . + + + Warning: Please be aware that the number of region code changes in RPC-2 + drives is limited (usually about 5 times), after that your drive will + stay locked to the region you last set it up for. + + + + I have problems setting up my RPC-2 drive for the right region! + + You can download a tool to set the region code of RPC-Drives here: + + http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415 + . + + + Warning: Please be aware that the number of region code changes in RPC-2 + drives is limited (usually about 5 times), after that your drive will + stay locked to the region you last set it up for. + + + + + + Can I watch Video CDs (VCDs)? SVCDS ? CD-i? + + xine supports VCD and SVCD playback out-of-the box. Similar to DVDs, + make sure you have a /dev/cdrom alias pointing + to your CDROM drive which you will use to play back the (S)VCD. + + + At the moment, CD-i formats are not supported by xine. + + + Do not try to mount the (S)VCD. Simply insert it into your CDROM drive + and hit the VCD autoplay button or start something like + gxine vcd:/ or xine vcd:/ + from the command line. + + + VideoCD troubleshooting guide + + This gives higher-level troubleshooting. More lower-level information is + given in the next section. + + + + + When you open the configuration dialog of your frontend, you should + see a vcd config section. An important setting is + default_device. If this is set to the empty string, + the VCD plugin will try to scan your drives for a suitable device if the + driver has the capability to scan for drives. However you can set + the device to something of your choosing. On GNU/Linux, this may be + /dev/cdrom and on Solaris it may be + /vol/dev/aliases/cdrom0. + + + If you set this field, make sure these are correct for your + particular setup. For example, I generally play out of the DVD + device and this is called /dev/dvd rather than /dev/cdrom. + + + + + + Your frontend should offer a VCD autoscan button or menu item. + If you select this, you should see your CD disk light go on if you have one. + And the CD should be read. You should get a playlist of what's on the VideoCD. + + + If not something's wrong, possibly you configured the wrong drive. + You might try to read a disk image of a VideoCD and thus elimate any problems + with hardware. You can get a test VideoCD disk image to test here: + + http://www.vcdimager.org/pub/vcdimager/examples/test_svcd/test_svcd_pal.zip + . + After unzipping this there should be files test_svcd_pal.cue and + test_svcd_pal.bin. Run xine with the MRL + + vcd:/test_svcd_pal.cue:E0. + If you see something playing then this is a hardware problem. + You might also want to try starting playback-control with + + vcd:/test_svcd_pal.cue:P1. + + + + + + There should be at least one "track", and one "entry" listed for + the VideoCD and the names of these in the MRL list will end with + "T1" and "E0" respectively. Often there are other playlist items, + and if you have menus or still frames there will be + "segments" as well. The simplest things to check are probably + "entries" and "tracks". If there are no entries listed or none of + the tracks or entries play, then there may be a problem with + that particular medium. So as in the step above, you can try a known good + sample and perhaps burn a CD from that. More likely if you get this + far, some of the items listed work and some do not. There are a + number of debugging switches that you can dynamically turn on and + off that may be able to help in isolating more specific problems. + See the section below. + + + + + + Something plays now, but you do not get any menus? Well, first is there + supposed to be a menu? In the last step you should have seen what is on + the VideoCD. Still frames are always "segments" so see if you can find one in the MRL + list and select that. + + + If there are no segments listed, there aren't any still-frame + menus. It's also possible to have menus in looping MPEG's. Use the + vcddump tool to find loops. vcddump is + also part of VCDImager. Another program that can help you examine the contents + of a VideoCD is vcdxrip. + + + To troubleshoot, start out with the known SVCD example that has a + still-frame menu at the beginning: + + http://www.vcdimager.org/pub/vcdimager/examples/test_svcd/test_svcd_pal.zip + + Inside this is a largish file called test_svcd_pal.bin and another + short text file called test_svcd_ntsc.cue. These are CD disk + images; that is, something that could be burned to a CD drive such + as with cdrdao. However you don't have to create a CD to view these + with the xine VCD plugin. You should be able to play the VideoCD by running the MRL + + vcd:/test_svcd_pal.cue. + If you see a still frame on startup. Great! If instead you see what + looks like the beginning of a movie (Blue Streak with Martin Lawrence) + then go to the next step. + + + + + + You have a VideoCD with menu and can see it, but there is no menu on startup? + If you have the VideoCD from the last step, then run the MRL + + vcd:/test_svcd_pal.cue:P1 + If this shows a still frame, but it just does not show when you + hit either the "VCD" autoscan button or give a MRL without the P1 at + the end then go to the next step. + + + If you have another VideoCD, from the MRL list, you should also see "playlist" + entries. Try selecting the one that ends "P1". If you don't see an entry with P1, + then your VideoCD does not have playback control (PBC) and although there may + be a still frame on the VideoCD it may have been authored so it is not easily + accessed. Again vcddump or vcdxrip can help here. + + + + + + You have a VideoCD with menu at beginning and can see it using an MRL + with P1 at the end, but you want to see it by hitting the "VCD" autoscan button + as well? Check to see that you have the configuration entry + media.vcd.autoplay set to playlist. + + + + + + VideoCD debugging + + To facilitate tracking down problems we let you see what's going on dynamically. + Various debugging settings will cause output to appear on xine's plugin log + and/or on standard error output. See the config entry media.vcd.debug + for details. + + + The tool vcd-info from the cdio branch of vcdimager can be used to + show the entire contents of a VideoCD or selected portions of that. Until the cdio + branch of vcdimager is completely merged with vcdimager, the cd-info branch version + has a few more features. (However consult vcdimager for complete version of the program.) + + + vcdxrip can be used to extract portions of a VideoCD and or create an + XML description file of the VideoCD. This XML file and the extracted + files can be used by vcdxbuild to recreate another VideoCD. + + + And finally see also tools cd-info and cd-read from libcdio. + + + + + + Can I watch Quicktime (.mov, .mp4) files using xine? + + Quicktime is just a system layer (container format) which can contain various + different audio and video formats. The system layer itself is fully supported + in xine. However, some quicktime audio/video codecs are not natively supported yet. + Luckily, if you are using a x86 compatible machine (any recent PC hardware should do) + you can install and use the original Quicktime DLLs and watch most streams + (trailers) that can be downloaded from the net. + + + Possibly the most convenient way to get the Quicktime DLLs is to download + them from the MPlayer website + + http://www.mplayerhq.hu/design7/dload.html + . + The package is called "essential". Unpack it and move everything you find + inside to /usr/lib/codecs (actually you can place them + anywhere you want, e.g. someplace in your home directory, but then you'll + have to set decoder.external.win32_codecs_path in your + xine config file accordingly). Restart xine then and you should be + able to watch Quicktime trailers. + + + + + Real Network files/streams + + Can I watch Real (.rm, .ram) files using xine? + + The situation with real files and streams is pretty similar to the situation + with Quicktime Streams (see above). The newer real audio and video formats + are only supported by using binary-only codecs which are not included in + xine. + + + Possibly the most convenient way to get the Real codecs is to download + them from the MPlayer website + + http://www.mplayerhq.hu/design7/dload.html + . + The package is called "essential". Unpack it and move everything you + find inside to /usr/lib/codecs and set the + decoder.external.real_codecs_path in your xine config file + to /usr/lib/codecs (actually you can place them + anywhere you want, e.g. someplace in your home directory, but then you'll + have to set decoder.external.real_codecs_path accordingly). + Restart xine then and you should be able to watch Real files/streams. + + + + What about (live) network streams (pnm://, rtsp:// style urls)? + + xine supports both pnm and rtsp streaming. However, digging out the actual + pnm/rtsp url can be tricky as they're often packed into heavy JavaScript and + HTML code on most websites. You can either use a combination of your + browser's "save source" function and wget or use a xine browser plugin + (currently the gxine frontend comes with a simple mozilla plugin, + for example). When you decided to dig out the url by hand don't get fooled + by the many redirectors that are often placed around the actual url. + Use wget to download any http://-style urls and use less to look inside + the downloaded .ra/.ram files where you will find the actual pnm/rtsp + url which can be opened using xine. + + + + + + Can I watch Windows Media (.asf/.wmv/.wma) files using xine? + + While the container format (system layer) ASF (wmv is just an alias) + is fully supported in xine, for newer windows media 9 based streams + you'll need to install windows binary codecs (.DLLs). + + + Possibly the most convenient way to get the Windows DLLs is to download + them from the MPlayer website + + http://www.mplayerhq.hu/design7/dload.html + . + The package is called "essential". Unpack it and move everything you find + inside to /usr/lib/codecs (actually you can place them + anywhere you want, e.g. someplace in your home directory, but then you'll + have to set decoder.external.win32_codecs_path in your + xine config file accordingly). Restart xine then and you should be + able to watch windows media streams. + + + + + Can I watch Digital TV (Digital Video Broadcast) using xine? + + At the time of this writing DVB support is a very new and experimental + feature in xine. The number of supported cards is pretty limited at the moment. + See doc/README.dvb (in the xine-lib tarball) for details. + + + + + How do I play streams from STDIN? + + Use something like: +    cat stream.mpg | gxine stdin:/ + + + + + How can I watch files with external AVI subtitles? + + In xine 0.9.13 this used to be: +    xine foo.avi%bar.sub + + + Latest xine-lib modules (1-beta3 or newer) support external subtitles + for any media file, not only AVI. In order to use it you can pass a + special MRL construction like: +    xine test.mpg#subtitle:file.sub + The external subtitles support can also be used by any xine frontend. + Currently xine-ui and kaffeine implement this feature with a subtitle + selection dialog. + + + + + + + Running xine + + + I have a lot of dropped frames - what can I do? + + Your hardware might be too slow for xine. Make sure you turn on all + speed optimizing options. A few things you should check (in order of + importance): + + + + First of all, run the xine-check script included in xine + package (probably already installed in your system). + xine-check will report several of the most common problems + listed here. Sample output from xine-check: + +   xine-check +   Please be patient, this script may take a while to run... +   [ good ] you're using Linux, doing specific tests +   [ good ] looks like you have a /proc filesystem mounted. +   [ good ] You seem to have a reasonable kernel version (2.4.18) +   [ good ] intel compatible processor, checking MTRR support +   [ good ] you have MTRR support and there are some ranges set. +   [ good ] found the player at /usr/local/bin/xine +   [ good ] /usr/local/bin/xine is in your PATH +   [ good ] found /usr/local/bin/xine-config in your PATH +   [ good ] plugin directory /usr/local/lib/xine/plugins exists. +   [ good ] found input plugins +   [ good ] found demux plugins +   [ good ] found decoder plugins +   [ good ] found video_out plugins +   [ good ] found audio_out plugins +   [ good ] skin directory /usr/local/share/xine/skins exists. +   [ good ] found logo in /usr/local/share/xine/skins +   [ good ] I even found some skins. +   [ good ] /dev/cdrom points to /dev/hdc +   [ good ] /dev/dvd points to /dev/hdc +   [ good ] DMA is enabled for your DVD drive +   [ good ] found xvinfo: X-Video Extension version 2.2 +   [ good ] your Xv extension supports YUV overlays (improves MPEG performance) +   [ good ] your Xv extension supports packed YUV overlays +   [ good ] Xv ports: YUY2 YV12 I420 UYVY + + + + + Try to use the Xv driver, it greatly improves performance and quality + because your graphics card does image scaling and colourspace conversion. The + video section contains important information + about several Xv drivers. + + + If Xv cannot be used for some reason, make sure your display is set up + to 16bpp, not 24 or higher (reduces memory bandwith). Some Xv drivers + may also have better performance with 16bpp. + + + + + Make sure the hard drive (or cdrom/dvd drive) which supplies the + video data is in DMA mode (if supported). + + + On most linux-based systems, you can use hdparm to check this: + +   hdparm /dev/hda +   [...] +   using_dma = 1 (on) +   [...] + + + You can enable DMA mode with the following command: +    hdparm -d1 device_of_your_drive_that_supplies_video_data + In some cases where this fails it helps to specify the dma mode + to use, for example: +    hdparm -d1 -X 66 device_of_your_drive_that_supplies_video_data + In RedHat 8.0 an additional entry in /etc/modules.conf +    options ide-cd dma=1 + should help (reboot for this change to take effect). + + + More information about this may be found here: + + http://oreilly.linux.com/pub/a/linux/2000/06/29/hdparm.html + . + + + + + Use a recent kernel which is optimized for your hardware. Old kernels + may lack support for accelerated instructions like SSE, for example. + + + + + Close other applications (use a tool like "top" to find out + what applications are using up CPU power). Programs that update the + system clock like ntp should also be disabled. + + + + + Enable MTRR support in your kernel. If you are still using XFree 3.x, + you'll have to tell the kernel yourself where the graphics memory is. + You'll find details about that in the linux dvd howto. + + + If you're using X.org or XFree 4.x, enabling MTRR support in your kernel should + be enough (use a recent kernel!). + + + Try a cat /proc/mtrr - if the file exists and you find an entry + corresponding to the amount of graphics memory you have, everything + should be fine. + + + + + Have your X-server (usually X.org or XFree86) running with higher priority. + Most recent linux distributions (like RedHat 8.0 or Mandrake 9.0) should + do that for you, improving not only xine but desktop responsiveness + in general. + + + Use the "top" utility and verify under the "NI" column if + the X process has a negative value, this indicates a higher priority. + See "The X Window User HOWTO - Performance considerations" for + further instructions + + http://www.tldp.org/HOWTO/XWindow-User-HOWTO/performance.html + . + + + + + Use the latest or a known-good gcc version and build an optimized xine-lib for + your architecture. + + + + + Besides boosting X-server priority, sometimes it's possible to avoid + discarding frames by making xine itself higher priority. This is not + a recommended pratice since it will require to run xine as root, + but you may give it a try if you want: +    nice --5 xine + + + + + xine needs high speed memory access which depends on your chip set. + Make sure you enable all speed-improving options. + + + Especially the via apollo pro chipset is known to be quite weird, + (most of all on my gigabyte board). If you can't configure the ram + access thoroughly using the bios you might want to try some really + nasty tricks, as explained on (for example): + + http://www.overclockers.com/tips105/index03.asp + + + + This website centers around a windows-tool to tweak the chipset, you + can do the same on FreeBSD with pciconf. + On some linux distributions there are similar tools. + + + + + a nice performance tuning tool can be found here: + http://powertweak.sourceforge.net + + + + + Set up and use raw devices for DVD access. Please note that the + actual performance gain during playback is very small if any, but + since raw devices are bypassing the kernel's buffer cache, Linux + will not try to cache the DVDs you play. This would not be useful, + because xine does its own caching and you usually play DVDs + sequentially, which means you won't reuse anything from the cache. + But the problem would be that Linux throws everything out of the + cache that might be in there. + + + Raw devices should be available in linux kernel 2.4.x and there are + patches for older kernels available from: + + ftp://ftp.kernel.org/pub/linux/kernel/people/sct/raw-io/ + + + + To use raw devices, first connect a free raw device to your dvd + device, use something like: +    raw /dev/raw1 /dev/dvd + + + Then create a link named "rdvd" pointing to that raw device: +    ln -s raw1 /dev/rdvd + + + + + For slow / high-latency dvd drives it might help to increase + the number of video buffers xine allocates. Try setting + engine.buffers.video_num_buffers:500 + to a higher value (e.g. 1000 or 2500). + + + + + + + + Oki, xine doesn't drop frames now but video output still is not really smooth! + + Video output can be further improved by tuning your linux kernel: + + + + Set HZ to 1000 in + /usr/src/linux/include/asm-i386/param.h + + + + + Try applying scheduler patches, especially the O(1) and the preemptive + patches have proven useful at the time of this writing (spring 2003). + + + + Linux 2.5/2.6 will probably have these improvements out of the box. + + + Miguel Freitas has written a nice + + article about his kernel multimedia experiments + . + + + + + I have problems when using xine on FreeBSD, Solaris, ... ! + + Check out the the corresponding README files in the directory xine-lib/doc. + + + + + What is aalib? How do I use it in xine? + + aalib is an ascii art library. xine comes with an aalib video output + plugin so you can watch movies in your xterm, on the console or on your + old vt100 - very cool ;> ... another nice option is to preview movies + on a remote server in your shell over ssh. + + + To use it make sure you have aalib installed correctly before you + configure/build xine-lib and xine-ui. In addition to the xine binary a + binary named aaxine should get built and installed. You can then use + something like: +    aaxine foo.mpg + to use aalib video output. + + + + + Does xine support my dxr3 / hollywood+ card? + + While xine's focus is clearly on software decoding, the dxr3 is supported. + + + You can find more information about using xine with the dxr3 + here + (also covers how to do tv output using the dxr3). + + + + + + + Audio related questions + + + What audio drivers does xine support? OSS? Alsa? Arts? Esd? + + Currently xine support audio output via OSS (kernel audio drivers), + ALSA 0.9.x (ALSA 0.5.x is no longer supported), arts (KDE's sound daemon) + and esound (esd, gnome's sound daemon - not recommended because it has + serious issues with a/v sync). + + + + + When I'm watching a movie, the sound effects are much higher in volume than the voices! + + Congratulations, you seem to have an original movie audio track there. + + + Uhm. So you don't like it. Well, there are two things you can do: + + + + You can enable xine's audio compressor. Most frontends have + a settings window and in that you'll find a slider for the + compressor setting. The values are percent values, so a + slider setting of 200 means that xine will double the volume + of silent parts of the movie (loud parts stay the same). + + + If your frontend does not have such a compression slider, + you can pass the value with the MRL: +    xine dvd:/#compression:150 + + + + + If you have a dolby digital (AC3) soundtrack, you can try + to enable liba52's dynamic range compression setting + audio.a52.dynamic_range:1 + in your xine config file (or use some gui config dialog). + + + + + + + + When I play this stream, xine shows video but there's no audio! + + If this happens with any video, first try a different audio driver + (gxine -A oss, gxine -A arts, + xine -A alsa ...). + + + If this problem only occurs with one specific stream, maybe switching to + a different audio channel (using the gui) helps. Some DVD streams have + audio on strange channels. + + + If all this doesn't help, maybe you're missing an audio codec or you found + a bug. If you decide to post your problem on the xine-user mailing list, + make sure to include all console output xine produced and also clearly + state what type of stream you tried to play back or, even better, make + a test stream available somewhere for developers to download and try. + + + + + Can xine produce 4-/5-channel surround audio output? + + Yep, it can do that using OSS or ALSA drivers, provided that the driver + supports it. However, since xine cannot detect if there are actually speakers + connected to the additional channels, you'll have to activate that feature manually. + + + You can do this either in the config dialog while xine is running (press + the config button on the xine panel and go to the AUDIO tab) or have it + the complicated way by editing the config file yourself which is located + in your home directory in .config/gxine or + .xine: + +   audio.output.speaker_arrangement:Surround 4.0 +   audio.output.speaker_arrangement:Surround 4.1 +   audio.output.speaker_arrangement:Surround 5.1 + + + + + What about ac3 output via spdif to an external ac3 decoder? + + xine can do that too. Pretty much the same story as for 4-/5-channel + surround (see above). You can either use the config dialog or edit + the config file (~/.xine/config or + ~/.config/gxine/config) yourself: +    audio.output.speaker_arrangement:Pass Through + + + + + Getting SPDIF output from a SBLive 5.1 using OSS drivers + + The following explains how to get the above configuration + going with xine. Some parts of it may applicable to other + configurations (cards that use the EMU10k1 chip) as well. + + + Requirements + + + xine-lib >= 1.x.x + + + OSS driver + + + an external decoder + + + a cable to connect the SBLive to the external decoder + + + + The configuration described was tested using a Soundblaster live 5.1 (rev 7) + with a Yamaha DSP-AX620 external decoder. + + + + Retrieving the driver + + The OSS driver is maintained by creative and can be downloaded at + http://opensource.creative.com/. + The driver package contains documentation on how to install it. + Besides that I'd like to add the following notes. + + + In order to compile and install these drivers, you need a valid kernel + configuration file. For RedHat Linux's pre-compiled kernels these + configuration files can be found in + /usr/src/linux/configs. + After you've located the correct config file for your kernel, + you need to copy it to /usr/src/linux/.config + For example, when you run the 2.4.18-i686 kernel do : +    cp /usr/src/linux/configs/kernel-2.4.18-i686.config /usr/src/linux/.config + Make sure that the emu10k1 module that is currently installed is + not loaded. To unload the modules: +    /sbin/modprobe -rv emu10k1.o ac97_codec.o + If this mentions that the device is busy, some program is + using the driver. Some example could be a mixer application + or sound daemon like artsd. You'll need to close down the + applications before continuing. + At success it should print something like: + +   # delete emu10k1 +   # delete ac97_codec +   # delete soundcore + Run make in the directory where you unpacked the driver and follow the + instructions printed at the end of each step. + The last step should be: +    make install-tools + As the README of the driver package mentions the SPDIF AC3 + output doesn't work by default. In the directory + utils/scripts an emu10k1.conf + file can be found which need to be placed in the default + installation directory (/usr/local/etc). + After this the emu10k1.conf needs to be modified. + The following settings worked fine for me (I don't use the analog + outputs of the card): + +   CARD_IS_5_1=yes +   USE_DIGITAL_OUTPUT=yes +   ENABLE_TONE_CONTROL=yes +   AC3PASSTHROUGH=yes +   ENABLE_LIVEDRIVE_IR=no +   INVERT_REAR=no +   MULTICHANNEL=yes +   ROUTE_ALL_TO_SUB=no +   ANALOG_FRONT_BOOST=no +   SURROUND=no +   PROLOGIC=no +   ENABLE_CD_Spdif=yes +   ENABLE_OPTICAL_SPDIF=no +   ENABLE_LINE2_MIC2=no +   ENABLE_RCA_SPDIF=no +   ENABLE_RCA_AUX=no + After modifying the emu10k1.conf, + you need to modify your /etc/modules.conf and + make sure the following lines are in there. + +   alias sound-slot-0 emu10k1 +   post-install emu10k1 /usr/local/etc/emu-script + After saving the changes to modules.conf, run +    /sbin/depmod -a + Now, you're ready to load the new modules and set the correct + options for it. To load the modules run: +    /sbin/modprobe emu10k1 + + + + Setting up xine for SPDIF (AC3 passthrough) output + + You can either use the config dialog of your frontend or edit + the config file (~/.xine/config) yourself: +    audio.output.speaker_arrangement:Pass Through + In case the setting is not in the file you can add it. + + + + + The cable used for the SBLive can easily be self-made + or buy a stereo 3.5mm jack to dual RCA cable. + + + What you need to make the cable yourself: + + stereo 3.5mm jack plug + RCA plug + shielded cable (video coax 75 Ohm will do) + + Connect them as follows : + +   center pin jackplug ------|----- center pin RCA plug +    GND __|__ GND + + + In order to test it use a DVD with AC3 or DTS track + start xine and select the right audio track + from user interface or start xine as: +    xine dvd:/1 -a 0 + The external decoder should display something like + "Dolby Digital" in case the selected audio track contains + AC3 data or "DTS" in case the selected audio track + contains DTS data. Of course stereo audio also goes + through the SPDIF output, so the analog outputs of the + SBLive 5.1 are not needed anymore. + + + + + + Changing the volume with the GUI control has no effect! What's up!? + + Some xine drivers do not support volume changing although the GUI + will show the volume bar. Usually this is not xine's fault: aRts C + API, for example, doesn't offer any volume property to applications. + Similarly, with ac3 pass through it is not possible to set the volume. + + + Note that recently we added support to "simulate" volume in aRts by + changing sample values on-the-fly before delivering them to the driver. + Not as good as having access to sound card's mixer but at least users + will not complain about lacking of volume bar anymore! :) + + + + + Audio is stuttering and i see a lot of "metronom: fixing sound card drift by -2115 pts" on the console output + + Might be a soundcard problem, if it only comes in longer intervals. + Your soundcard does not keep it's sampling frequency accurately + enough, which results in audio and video + getting out of sync and xine has to compensate. If you see the message + only from time to time, you might remedy it by using the resampling sync + method. You can do this by setting the configuration entry + audio.synchronization.av_sync_method to resample. + + + If you receive the metronom message more often, + maybe switching to different drivers (alsa to oss or vise-versa) + can help here. It has also been reported that setting the configuration + entry audio.synchronization.force_rate to the native sampling + rate of your soundcard (try 44100 and 48000) helps sometimes. + + + Another, whole different possibility is that you have some background + process running which is messing with the clock (like some ntp client - + chronny, ntpd, ...). + + + Occasional messages of "fixing sound card drift" may happen on start and + when playing a long stream (like a movie). This is normal behaviour, + nothing to worry about. + + + + + xine seems to lose sound arbitrarily during playback, especially with DVDs + + You are using the OSS audio output plugin, right? In order to keep video and audio + in sync, xine regularly queries the audio driver for the amount of delay induced by + the current length of the driver's audio buffer. Unfortunately some OSS drivers seem + to be broken because the can return strange values here. This confuses the xine audio + subsystem and makes it drop audio. + + + You should try the various settings of the + configuration entry audio.oss_sync_method. The options + getodelay and getoptr ask the driver and + might therefore show the problem. But chances are that only one is broken and the other + works, so you should try them both first, since they are the most accurate. + The option probebuffer does not ask the driver directly but + tries to determine the buffer length from outside. This should work with any driver + and is the way to go, of the driver dependent methods fail. + softsync is the least accurate and should be used only in + emergency situations. + + + + + + + Video related questions + + + I can hear the audio - but I don't see a picture! + + Probably your hardware is simply too slow - see above for some + hints on how to speed things up. + + + Another possibility is that you using a buggy Xv driver, see the next + questions. + + + + + I only see a blue (or green or black) video image most of the time. + + You are either watching a very boring video (just kidding) or you are + suffering from a bug in the Xorg 6.7 implementation of X11. + + + The workaround is to add the line +    Option "XaaNoOffscreenPixmaps" + in the Device section of your X server configuration (usually + /etc/X11/xorg.conf or /etc/X11/XF86Config). + + + + + The image looks strange, it is shifted, cropped or shows weird lines! + + This points to a problem with the Xv extension, which is used by xine + to display the video image. To verify this, try running xine with the XShm + video output plugin: +    xine -V XShm + + + If that works fine, you just proved, that the Xv extension is buggy. xine will + remember the last used video output plugin, so the setting will stay at XShm. + You could simply continue using this, but XShm is a lot slower than Xv, so + read on and see if you can get it working. Usually you should look for + updated versions of the X driver module that belongs to your graphics card. + + + Other possibilites are limitations in either your X driver module or your + graphics hardware. If your card could somehow be running out of ressources (graphics + RAM perhaps) and displays an incorrect Xv overlay because of that, try reducing + the display resolution and/or colour depth. + + + Consult the next question for more details on Xv. + + + + + How can I make xine use the Xv extension and what drivers do I need? + + xine will normally use Xv by default if it is available. In some cases + you might need to choose Xv playback manually (when the ~/.xine/config + file for some reason says that you want to use XShm): +    xine -V Xv + + + If this doesn't work for you, it may be possible that Xv is not present + on your system. + + + First you need to install/use X.org or XFree 4.x. Once you got that you have to + make sure the X drivers you're using are supporting Xv on your + hardware. Here are some hints for individual gfx chips: + + + + 3Dfx: if all you get is a solid black window, upgrade to X.org or XFree 4.1.0 or later. + + + + + ATI: if you only get "half a picture", try lowering your resolution + or bit depth, disable DRI (looks like you ran out of video RAM) + + + + + Trident card: If you see vertical bands jumbled, upgrade to the latest + xfree/experimental trident drivers (for the CyberBlade XP + a driver exists here: + http://www.xfree86.org/~alanh/ ) + + + + + nVidia: With newer GeForce cards, Xv should work with XFree 4.2.0 or + newer, for older RivaTNT cards use the binary drivers from nvidia + (of course the binary drivers work as well for GeForce cards) + + + + + Mach64/Rage3D (not Rage128/Radeon) cards/chips get no XVideo with + standard drivers, try + GATOS drivers + instead + + + + + intel: i815 has Xv support in XFree 4.x, others unknown + + + + + Permedia 2/3 has Xv support in XFree 4.x + + + + + Savage: at least some older drivers tend to lock up the whole machine, + try the drivers available from + + http://www.probo.com/timr/savage40.html + . + + + + + SIS: certain controllers (more info needed!) have Xv support in XFree 4.x + + + + + Chips and Tech 6555x, 68554, 69000, 69030 have Xv support in XFree 4.x + + + + + NeoMagic: certain controllers (more info needed!) have Xv support in Xfree 4.x + + + + + SiliconMotion: certain controllers (more info needed!) have Xv support in Xfree 4.x + + + + + Matrox: G200 or newer (but not Parhelia) have Xv support in XFree 4.x. + For Parhelia, use the binary only drivers available from matrox' website. + + + + + + + + Some parts of my X Desktop get transparent when xine plays the video! + + Looks like some colours on your GUI match the colour key which Xv uses. You can + change the colour key value to avoid this. There should be a line like: +    video.XV_COLORKEY:2110 + in your ~/.xine/config file where you can change the colour that's used + by xine for the video overlay. + + + + + The aspect ratio of the video is wrong! + + Usually xine discovers the screen aspect ratio by + querying the X-server and then adjusts the video automatically + to make it look right. However, if that doesn't work try + pressing "a" to manually change the aspect ratio. + + + If you have a wide screen monitor, make sure the X-server + is correctly configured. The X-server must know the physical + size of the screen, which is independent of the resolution + being used. + + + For X.org, the screen size should be set in the "Monitor" + section in the file /etc/X11/xorg.conf, as in the example below: + +   Section "Monitor" +      Identifier "Monitor0" +      VendorName "Monitor Vendor" +      ModelName "DDC Probed Monitor - ViewSonic G773-2" +      DisplaySize 320 240 +      HorizSync 30.0 - 70.0 +      VertRefresh 50.0 - 180.0 +   EndSection + For XFree86, the filename is normally /etc/X11/XF86Config. + + + Where DisplaySize specifies, + in millimeters, the physical size of the monitor's picture area. + + + + + What is the difference between discarded and skipped frames? + + Sometimes xine will output a message like that: +    200 frames delivered, XX frames skipped, YY frames discarded + + + The difference between these counters is a little subtle for the non + developer. There are two threads running in order to display video: + the decoder thread will deliver frames to the video output thread. + The latter is responsible for scheduling the frames to be displayed at + the right time. + + + If your system can't keep up with decoding requirements, decoder will + deliver overdue frames. Imagine if it finished decoding the frame + tagged for displaying at 11:30 but xine clock marks 11:31. When this + situation is detected, xine will try to skip decoding a few frames + to recover. Not every decoder may support this feature. + + + When the frame is decoded to be shown somewhere in future but the + output thread doesn't get scheduled in time by the operating system + to complete the operation, the frame is discarded. One cause might + be the disk access operation, which may halt the system for a few + miliseconds without DMA. See performance section tips above. + + + Note that if a decoder can't skip frames for some reason, you would + never see frames skipped (they would be all discarded). + + + + + My xine is runing in black and white! / I only get a grey video output! + + This frequently happens with new Xv drivers or when switching to a + different video card. Background is that different Xv drivers often + use different ranges for the contrast/brightness/saturation settings. + + + To fix this, try opening the xine settings window and try adjusting + the sliders for contrast, brightness and saturation. + + + Please note that some frontends save these settings in their config file + so when you have found a working combination, make sure you exit + xine cleanly so the values are saved. + + + + + Which is the best video driver to use? + + xine supports several video drivers for outputing the image. These will + differ on how the frames are copied to the video card memory, whether + colourspace conversion and scaling is done in software or hardware, among + other things. They may also differ on ease of use and stability. + + + Most of the time, Xv should give the users a good trade-off between + quality, compatibility and ease of use. This is why xine tries to use + Xv by default. + + + However some users may want to explore better the available hardware + capabilities (eg. syncing frame drawing with monitor refresh). + Also some Xv drivers contain slow copies and accessing the video card + directly may yield performance gains. + + + Drivers that access hardware directly includes VIDIX (warning: requires + root priviledges or kernel helper) and SyncFB (requires kernel helper - Matrox only). + User may try one of those, but should be warned that with root access + they can cause the system to crash hard. The support is also limited to + a couple of graphics cards only. + + + Graphic workstations like SGI have usually a good support for OpenGL. + In that case, using OpenGL may be a better choice than XShm. However for + most desktop systems the performance of OpenGL will be quite bad. + + + + + + + OSD and overlay related questions + + + What is this "unscaled" OSD about? + + Since version 1-rc3 of xine-lib supports a new method for rendering OSD + (On Screen Display) and subtitles. This method uses a X11 extension + called XShape that allows using screen resolution instead of + stream resolution. It is called "unscaled" OSD because it does not + scales with the video being played. + + + Suppose you are watching a 320x200 video in full screen. Normal OSD + would be blended at 320x200 and then scaled to full screen (lets say, + 1024x768), resulting in big and ugly fonts. The unscaled overlay is + drawn directly to screen, creating a sharper and better looking OSD. + + + There are side effects too. Sometimes the unscaled overlay show some + glitch just before disappearing. Some people may be annoyed enough + by that and might want to disable the usage of unscaled overlay + altogether. + + + Unscaled OSD usage by subtitles and xine-ui is controlled by + the following settings (~/.xine/config or + ~/.config/gxine/config): +    gui.osd_use_unscaled:0 +    subtitles.separate.use_unscaled_osd:0 + + + + + I can't see the OSD or it leaves a black box over the image! + + If you are using xine-lib version 1-rc3 or newer, this is probably + due buggy XV drivers that do not support + unscaled OSD (the XShape + extension) properly. + + + There have being reports of some ATI drivers that don't allow + displaying anything over the video. The VIA Epia binary drivers + is reported to leave a black box where the OSD was displayed. + + + The problem may be fixed by either updating the video driver, + or disabling xine unscaled OSD support. + + + + + Why colours of overlays/subtitles seem to be "leaking"? + + xine blends most overlays, specially the ones from DVD discs, + directly over the image (scaled OSD). Unfortunately most codecs + (like MPEG2) use a subsampled image format (YV12) that makes + properly blending an interesting challenge. + + + In short, this is a known xine bug. There have being discussions + on improving the blending quality but, so far, nobody implemented + a better (scaled) overlay renderer. Contact developers if you want + to try doing something about it. + + + + + Why external subtitles look so ugly? + + You are probably using a xine-lib version older than 1-rc3. + Try upgrading your copy and read the + section about unscaled osd. + + + + + Why subtitles can't be displayed outside the video? + + It is possible, but older xine versions may not support it. There are two + alternatives for rendering the subtitles outside the video image: + + + + + + Use the "expand" post plugin to increase frame height adding + black bars to it. This will allow blending the subtitles + over the black bars, since they will be part of the video now. + + + + + Use unscaled OSD, as it + does not requires any video to render the subtitles on. + + + + + + Also notice that DVD overlays (including subtitles) are meant to + be displayed in a fixed position, this is how the DVD menu + highlighting works. xine does not support moving them. + + + + + What kinds of subtitle fonts does xine use? + + xine can use two kinds of fonts: + + + + TTF fonts + + + If xine is compiled with freetype library xine recognizes and uses TTF + fonts directly. + + + + + xine fonts + + + This is xine's native format. It's better because the font + generator utility implements more features than the "on the fly" TTF renderer. + + + + + + The font for text subtitles is selected via config option + subtitles.separate.font. You can specify xine font name + (sans, serif, ...) + or file name of the TTF font. The directories + $prefix/share/xine/libxine1/fonts and + ~/.xine/fonts are searched for the fonts, with + $prefix being the place xine-lib was installed to. + Usually this is /usr/local or /usr. + TTF fonts are also searched for in the current directory. + + + + + How to create own xine subtitle fonts? + + xine's native subtitle fonts can be generated from TTF fonts with the + utility xine-fontconv. It isn't compiled and installed by default but + you can make it manually. You'll need freetype and zlib packages together with + their versions for development plus a compiler, of course ;) + Here's how you build xine-fontconv: + + + + Get the source of xine-fontconv utility from the misc + directory within the xine-lib sources. + + + + + Compile it: +    gcc xine-fontconv.c -o xine-fontconv `freetype-config --cflags --libs` -lz + + + + You'll need some TTF font for generating. Characters in this font should + cover all codepages you want supported, otherwise you'll have missing characters. + + + Syntax is: +    ./xine-fontconf font.ttf font_name [encoding1 [encoding2 [...]]] + + + For example default font sans was generated with + following command: + +   ./xine-fontconv Aril_Bold.ttf sans iso-8859-1 iso-8859-2 iso-8859-5 \ +    iso-8859-9 iso-8859-15 cp1250 cp1251 + + + There are displayed messages about missing characters on the screen + during generating. It's OK if the missing characters are U+007f..U+009F. + These characters come from iso-8859-1 and they aren't displayable. + + + + + Encoding of external subtitles is bad. What is wrong? + + The encoding of the external subtitles is expected to be iso-8859-1 by + default. You need to set an appropriate encoding in the config option + subtitles.separate.src_encoding. Note that you also need + a font which contains all characters from the given encoding. + + + The default font sans and fonts + serif and mono cover these + encodings: + + iso-8859-1 + iso-8859-2 + iso-8859-5 + iso-8859-9 + iso-8859-15 + windows-1250 + windows-1251 + + + + + + + + Error Messages: What they mean and what you can do + + + Starting xine crashes X, I am logged out of my desktop! + + xine itself is unable to crash X, so when your X server just shuts down or + restarts with the login screen, there is something wrong with your X setup. + Most common are problems with the Xv extension. Try running xine with the XShm + video output plugin: +    xine -V XShm + + + If that works fine, you just proved, that the Xv extension is buggy. xine will + remember the last used video output plugin, so the setting will stay at XShm. + You could simply continue using this, but XShm is a lot slower than Xv, so + consult the section on Xv and see if you can + get it working. Usually you should look for updated versions of the X driver + module that belongs to your graphics card. + + + + + Starting xine fails with complains about audio drivers/devices! + + You can select the audio driver using the -A option. So try: +    xine -A null + If you have ALSA drivers installed, try: +    xine -A alsa + If you run ESD (not recommended), try: +    xine -A esd + If you run artsd, try: +    xine -A arts + + + + + "no video port found" + + You got the Xv extension, but your video card driver doesn't support it. + First try to find a driver that does support Xv on your hardware (check + your graphics card vendor). If your driver has Xv support but you can't + get it working, try at a lower resolution (1024x768 is enough even for + anamorphic DVDs). + + + If all that fails, you can still use plain X11/XShm: +    gxine -V XShm foo.vob + + + + + "Unable to open dvd drive (/dev/dvd)" + + You probably don't have /dev/dvd (check that). If so, simply create a + link /dev/dvd that points to your DVD device. Something like... +    ln -s hdc /dev/dvd + ...should do the job. Also make sure you have read and write access on + the device the symlink points to. + See the dvd playback section + for more information. + + + + + My drive doesn't work and the kernel says "status=0x51 { DriveReady SeekComplete Error }" + + This error can be fixed by recompiling your kernel with the option + "Use multi-mode by default" enabled in the IDE settings. + + + + + "demux error! 00 00 00 (should be 0x000001)" + + Probably xine can't access your input source. Most commonly this happens + when you're trying to play locked/encrypted DVDs. Remember that xine + can't play such DVDs out-of-the box for legal reasons (see above). + + + If it is legal where you live, you can try to install libdvdcss. Once + you have done that and re-start xine, it should automatically detect + and use it to play back encrypted DVDs. + + + Another reason could be that your (RPC-2) DVD drive isn't set up + for the right region (see above). + + + + + "audio driver 'oss' failed, using null driver instead" + + First of all, make sure that your OSS Audio drivers are working (i.e. + you can play music with other software). Maybe you're using alsa? + If so, try gxine -A alsa to see if this helps. + + + The most common reason for oss not working is that some other program is accesing + your audio device. If you're using linux, the command fuser /dev/dsp + should give you the PID of the process. + + + If you are using GNOME, chances are that this is caused by ESD. Now you + have two possibilities. Either deactivate ESD (temporarily) by right + clicking on the sound monitor applet and selecting "Place Esound in + standby" or just kill it. Then xine will use OSS audio output. The other + method is to make xine use ESD for audio output with: +    gxine -A esd + This may result in worse playback - exact syncronization is not possible + with esd, so using oss should be preferred. + + + If you are using KDE, there is the possibility that the aRts sound + daemon is currently running and thus blocking your sound device. You + can check that by starting the aRts control (in your KDE menu it should + be under Multimedia). If it is running, you can either use the aRts + audio output plugin: +    gxine -A arts + Or you suspend the aRts daemon by checking the appropriate option in + your aRts control. (recommended) + + + Newer versions of arts have an auto-suspend mode - this can lead to + some nondeterministic behaviour of xine if it is set up to use + the audio device directly. Using arts is recommended in that case; + however, you will lose the ability to do four/five channel audio output. + + + + + "video_out: throwing away image with pts xxx because it's too old" + + This is a performance related problem. + If you have a fast computer and this message is shown from time to + time when playing a DVD or CD, it's very likely that DMA is not enabled + for your drive. + + + + + "No video plugin available to decode 'xxxxxx'." + + You have tried to play a stream using a unknown or unhandled codec. + Possibly the file uses some obscure proprietary format and no + information is available on how to decode it. + + + If you're on an x86 platform (e.g. PC hardware) you might want to + try installing binary-only windows medial, real networks and + quicktime codecs (see above). + + + + + "w32codec: decoder failed to start. Is 'xxxxxx' installed?" + + You probably don't have the win32 dll needed to decode this file. + + + + + xine just crashed on me - i didn't get any error message + + OK, yes, that shouldn't happen and you're upset. We can understand that. + But, to help you and of course to fix this, we need some information. + So, let's go through the checklist and maybe prepare a nice bug report + for the xine-user mailing list: + + + + Did xine really crash (segfault) or did it hang (deadlock)? + + + + + Can you reproduce the bug? (e.g. do you remember what you + did and when you do it again it crashes again?) + + + + + Is that a specific media file or format which crashes xine? (Have you + tried other files types?) + + + + + Check the console output (and include it in a bug report), maybe earlier + there is some output that points to the problem. + + + + + Your X server just froze on you? unfortunately that's a known problem + with some chipsets and drivers (most commonly Savage chipsets) when + using Xv. You might want to try running gxine -V XShm + to see if the problem is related to the Xv driver. This will unfortunately + be much slower, as lots of things are now done in software instead of + hardware scaling/colour space conversion. + + + Maybe at the time you read this, there's an X upgrade which fixes + this for the Savage driver. If that works for you, please notify the xine crew at + xine-user@lists.sourceforge.net, so they can update this FAQ! + + + + + Even though we try to make each release as bug free as possible, xine is + still under heavy development (nice excuse, isn't it? *grin*). + + + If you write to the xine user mailing list + xine-user@lists.sourceforge.net + make sure you include a the above information (when applicable) + and also some information about your machine (operating system, cpu type and + speed, gfx card, sound card, ...) and please use a meaningfull subject + line ("xine bug" is bad, "xine fails to play this quicktime trailer in fullscreen mode" + ist much better). + + + Thanks for taking the time to help improve xine. + + + + + + + + +
+ +
diff --git a/doc/faq/faq.sgml b/doc/faq/faq.sgml deleted file mode 100644 index 568ac533a..000000000 --- a/doc/faq/faq.sgml +++ /dev/null @@ -1,2285 +0,0 @@ - - - - - - - The xine engine FAQ - xine FAQ - - 2001-2007 - the xine project team - - - -
- - General questions about xine and this document - - - What is the xine engine? - - The xine engine is a free media player engine. It comes in the form of - a shared libarary and is typically used by media player frontends - and other multimedia applications for playback of multimedia streams - such as movies, radio/tv network streams, DVDs, VCDs. - - - Since there are several frontends for the xine library available, - this document has a problem when it comes to examples. - The two most common frontends xine-ui and gxine are mixed in command - line examples throughout this FAQ. When you use a different - frontend, some of these will not work for you. The filename of - the config file also varies amongst frontends. If you get confused, - I recommend you try with one of xine-ui or gxine. - - - - - What's the aim and scope of this text? - - The primary goal of this FAQ is to cover all recurring questions related - to the xine engine. Frontend specific questions are usually not covered here. - - - - - My question is not yet covered here - where can I ask for help? - - First of all be sure that your question is really not covered here and - that you haven't just been a bit too lazy to read through all of this - text. ;-). Also check out the documentation specific to - the frontend (e.g. xine-ui or gxine or - totem). - - - That said - you are welcome to mail to our user mailing list: - xine-user@lists.sourceforge.net - Please provide some info about your setup so people have a chance to - help you, e.g. include information about your audio/video hardware - and drivers you use, operating system, cpu type and some console - output/any error messages. Also include command line parameters you - have specified and information about the type of stream you're - trying to play back. Also very important is the version of xine - you're using and information about any additional plugins you - may have installed on your system. - - - - - How do I pronounce "xine"? - - As long as people know what you are talking about, you are free to - pronounce it the way you like, but the official pronounciation is - [ksi:n], like the name "Maxine" with the "Ma" removed. - - - - - What are those xine-lib, xine-ui, gnome-xine, ... modules in cvs for? - - Some time ago xine just became too complex to be just one big program. - Therefore it was split into two major parts. - - - xine-lib is simply speaking the engine of xine. It contains all basic plugins - and is necessary to run anything that relies on xine. (This is the part that - is covered in this FAQ.) - - - Then there are frontends - applications that use xine. The most - common frontend is that of a media player. There are currently - two frontends being developed in the xine project, xine-ui (skinned - dvd-player style frontend directly based on xlib) and gxine, - a desktop media-player style frontend using the standard gtk widget set - and comes with a mozilla browser plugin. - External projects like kaffeine, sinek and totem develop additional frontends. - In the future you will likely see more and different types of applications - being developed which will use the xine engine for video processing - and other multimedia purposes. - - - If you simply want a media/dvd player, you'll need to install xine-lib - first and then choose and install a player frontend like xine-ui or gxine. - - - Other modules in CVS are: xine-plugin a mozilla browser plugin - for streaming media playback using xine, - xine_www the - xine project website sources. - - - - - Where and how do I get the latest development version? - - Be advised that end-users should stick to the official xine releases. - The CVS and Mercurial repositories are only intended for developers and for others who know why they use it. - - - Checking out xine modules from Mercurial - - The repositories are listed at http://hg.debian.org/hg/; - however, this is a list of all repositories which are kept there, not just the - xine project's (which are the ones which begin with xine-lib/). To check one out: -    hg clone http://hg.debian.org/hg/repository local_copy - e.g. -    hg clone http://hg.debian.org/hg/xine-lib/xine-lib xine-lib - - - Currently, only xine-lib and gxine are present here. - - - - Checking out xine modules from CVS - - To check out xine modules from CVS, first do this: -    cvs -d :pserver:anonymous@xine.cvs.sourceforge.net:/cvsroot/xine login - The password is empty, just press Enter. - - - Then, to check out individual modules (e.g. xine-lib or xine-ui): -    cvs -d :pserver:anonymous@xine.cvs.sourceforge.net:/cvsroot/xine co <modulename> - - - If you want xine-lib or gxine, you should use Mercurial instead. - The CVS repositories for these are not maintained. - - - - - - How do I submit patches? - - First, make sure that you're using a current development version - (see above) or at least the current release version. Then, once you're - ready to send the patch... - - - Generate your patch using either cvs diff -u > - my.patch or hg diff > my.patch (as - appropriate). Make sure that your message subject briefly describes the - patch; your message body should contain a longer description of the - patch. Your patch should be applicable using patch -p0 -i - my.patch or, preferably, patch -p1 -i - my.patch from the top-level directory in the source tree - (i.e. where configure.ac is) - this is fairly important for our - Mercurial-based repositories since it makes importing your patch that - much easier (hg import defaults to -p1). - - - Alternatively, if you've been hacking away at a module which is - maintained using mercurial, you can make them available as diffs - use - hg export or, if you have several patches, you could - use hg bundle instead (both require extra - parameters; hg help export and hg help - bundle for more details) - or via HTTP by using hg - serve. In the latter case, you'll need to post a URL from - which a developer can pull the changes. - - - Patches should normally be sent to the xine-devel mailing list, - xine-devel@lists.sourceforge.net. - - - - - Why is gxine's CVS module named "gnome-xine"? - - Historical reasons: gxine was originally named gnome-xine. - - - - - Where can I find pre-compiled binaries, e.g. RPMs? - - The xine project does not provide pre-compiled binaries for legal - reasons (some parts of xine may be covered by patents in some countries). - Some OS projects/vendors (e.g. debian, freebsd, ...) offer binaries - for their distributions - please contact them or use their package search - tools for further info. - You can also find links to third parties providing xine RPMs on - the xine homepage at - http://xinehq.de/index.php/releases. - - - See the next section of this FAQ for instructions on how to build xine - from source. - - - - - - - Building and installing xine from source - - - What do I need to compile everything properly? - - First of all an official and stable release of gcc. Also be aware - that patched gcc versions may break parts of xine and are therefore - not supported by the xine project. - - - Furthermore you'll have to use GNU make to compile xine. On most GNU/Linux - systems "make" is GNU make - on other platforms use "gmake" instead. - Also, zlib is required (including the appropriate header files, which are - often found in a package called zlib-devel or similar.) - - - If you want to compile xine from CVS, you'll need to have the autobuild tools - installed (automake, autoconf and libtool - in recent versions). - - - Frontends might need additional libraries, e.g. for gxine you'll need to have - GTK2 installed. Make sure you have not only the shared libraries themselves - but also the header files (often packaged seperately as so-called -dev packages) - on your system. - - - Some plugins that come with the xine engine need additional libraries (otherwise - they will not be built). For example, libogg and libvorbis (plus their include files) - are needed for ogg/vorbis support. Most notably, if you want to see any video - on your X11 desktop (and that's what you're here for, isn't it?), you need the - X developer packages as well. - - - Don't worry about this too much right now, xine's configure - (see below) will check for all the stuff needed and will tell you what's missing - (which means that you should check the output it produces carefully ;) ). - - - - - How do I compile xine? - - Simple build instructions for beginners - - Download the latest xine-lib and gxine/xine-ui tarballs, then follow - these instruction. To unpack a tarball, use: -    tar xfvz tarballname.tar.gz - - - The following instructions will install xine in /usr/local - where it will be visible for all users. You need root privileges to do this on most systems. - - - After unpacking xine-lib, issue: - -   ./configure -   make install - - - Make sure your /etc/ld.so.conf contains - /usr/local/lib and continue with: -    ldconfig - - - Now unpack your frontend (gxine or xine-ui or ...), then: - -   ./configure -   make install - - - - Complete build instructions - - The build process is the same for all of the xine modules. - - - You have to start with xine-lib. If built and installed successfully, you - can continue with the frontend(s). - - - If you have installed xine-lib to a non-standard prefix, make sure - that you have $prefix/bin in your PATH and that your linker finds - libs in $prefix/lib - otherwise trying to build modules that - rely on xine-lib will fail with configure complaining about not - finding certain parts of libxine. Using bash you can do something like: - -   export PATH="$prefix/bin:$PATH" -   export LD_LIBRARY_PATH="$prefix/lib:$LD_LIBRARY_PATH" - to make sure libxine can be found by the frontend(s). - - - Last but not least. Here the build instructions. As stated earlier, - those are the same for every xine module. - -   ./autogen.sh [-> *only* if you checked your sources out of CVS] -   ./configure -   make -   make install - - - - - - Making your own RPM packages (xine-lib, xine-ui, gxine) - - Basically you will only have to issue one command, if you have just - downloaded a source tarball from our web site: -    rpmbuild -ta <THE_NAME_OF_YOUR_SOURCE_TAR_BALL> - (Older versions of RPM use rpm instead of rpmbuild.) - - - This will start the binary and source RPM building. After compiling is - finished, a binary rpm is placed in your rpm binary directory which is - something like /usr/src/RPM/RPMS/<YOUR_ARCHITECTURE> - and a source RPM is written to your rpm source dir - (e.g. /usr/src/RPM/SRPMS). - - - In case that you have a fresh CVS checkout, you will need to do the - following first in order to get a tarball release out of it which you - can later use with the rpmbuild -ta command above: -    ./autogen.sh && make clean && make dist - - - In any case, please keep in mind that you have to build and install - xine-lib first before you can proceed with xine-ui. - - - - - Making your own .deb packages (xine-lib, xine-ui, gxine) - - You'll need a CVS or HG snapshot tarball or source checked out from the repository. - - - First, make sure that the "devscripts" package is installed. You'll - then need the following commands (the first one isn't needed unless you're using a snapshot tarball): - -   tar xzf <PACKAGE-VER.tar.gz> -   cd <PACKAGE-VER> -   ./autogen.sh noconfig -   debuild binary - - (If debuild complains about unmet dependencies, then - install them using aptitude install <PACKAGES> (as root) then re-run - debuild binary. - - - Once the build has been successfully completed, you'll have some new .debs. - -   cd .. -   ls *.deb -   su - -c 'cd '"`pwd`"' && dpkg -i <DEB_PACKAGES>' - - Ubuntu users will probably want to use this instead of that su: - -   sudo dpkg -i <DEB_PACKAGES> - - - - In any case, please keep in mind that you have to build and install - xine-lib first before you can proceed with xine-ui or gxine. - - - - - Can I provide additional CFLAGS for compilation? - - Yes, you can do so by setting the CFLAGS variable and then running - configure again. You can even pass them to - configure directly. Example: -    ./configure CFLAGS="-march=i686" - - - Other user variables configure respects are: - - - - CC to specify the compiler executable - - - - - CPP to specify the C preprocessor executable - - - - - LD to specify the linker executable - - - - - CPPFLAGS to pass additional include paths or other - preprocessor options - - - - - LDFLAGS to pass additional library paths or other - linker options - - - - - - An example combining some of these would look like: -    ./configure CC="/opt/intel/bin/icc" LD="/opt/intel/bin/xild" \ -   CPPFLAGS="-I/usr/local/include/dvdnav" LDFLAGS="-L/home/guenter/xine_libs" - - - - - Are there binaries for my AMD K7 (Athlon™) available? Can I build them? - - If you have a recent gcc you can try to compile "more" k7 support in (esp. - better instruction scheduling). If the configure script should fail to - detect your processor/gcc correctly, try passing the canonical system name for - your machine to configure with the --host option, e.g. -    ./configure --host=k7-pc-linux-gnu - - - - - Build problems: xine engine (xine-lib) - - The package doesn't compile at all! - - In order to be able to compile xine-lib, you need (amongst other things) - the zlib compression library plus the appropriate headers, which are - often found in a package called zlib-devel or similar. - - - Read again carefully the output ./configure - produced and/or compiler warnings and error reports, they often contain - helpful information to find out what's going on. If you're stuck here - and decide to post your problem on the xine-user mailing list, - make sure you include these outputs. - - - - The Xv video-out plugin fails to compile! - - If you want to have Xv support compiled in, make sure you either have - a shared Xv library on your system, e.g. - ls /usr/X11R6/lib/libXv* - should give you some .so libs, like this: - -   /usr/X11R6/lib/libXv.a -   /usr/X11R6/lib/libXv.so -   /usr/X11R6/lib/libXv.so.1 - - - Alternatively you need to have libtool 1.4 or newer installed, then - libXv.a is sufficient. Otherwise you can create the shared versions yourself: - -   ld --whole-archive -shared -o libXv.so.1 libXv.a -   ln -s libXv.so.1 libXv.so -   ldconfig - - - Now you should be ready to build the Xv video-out plugin on your system. - - - - - - Build problems in frontends (gxine/xine-ui/...) - - I have installed xine-lib but the frontend complains about not finding it! - - First of all take a closer look at the compilation instructions above again. - You will probably find your answer there right away. - - - As stated there (there again that hint *grin*), make sure that you - have $prefix/bin in your path and that your - linker is able to find libraries installed in $prefix/lib - By the way, $prefix is where you installed your xine-lib to earlier - (yes, installing xine-lib with make install or - installing the corresponding distribution-provided -dev or -devel - package would be a good idea before trying to compile the frontend ;) - ). - - - - - - Can I install xine in my home directory (without being root)? - - Sure. First set up a subdir where you install your private software, eg. -    mkdir ~/xine - - - Then you have to set a few environment variables - it's probably a good - idea to add this to your ~/.bashrc (or somewhere similar): - -   export PATH="$HOME/xine/bin:$PATH" -   export LD_LIBRARY_PATH="$HOME/xine/lib:$LD_LIBRARY_PATH" - - - Now you can unpack tarballs e.g. in ~/xine/src - (mkdir ~/xine/src if necessary) and do a - -   ./configure --prefix=$HOME/xine -   make install - - - You also need to tell frontends using xine-lib, where to find it: -    ./configure --prefix=$HOME/xine --with-xine-prefix=$HOME/xine - - - - - How to compile xine for Windows? - - For compiling xine under Windows with MinGW, CygWin or MS Visual C see README.WIN32. - - - For cross-compiling xine under comfortable unix-like environment with MinGW see README.MINGWCROSS. - - - - - - - Playback of various stream types - - - DVD Playback with xine - - How do I play back DVDs with xine? - - Newer xine (1.0.x) releases come with a full-featured - DVD plugin that should be able to handle any unencrypted, - non-locked DVD with full menu navigation support. No external - plugins are required anymore here. - - - To get DVD playback working, first make sure you have - a symlink /dev/dvd pointing to your - DVD device on your system. For example, if your DVD drive - is the master ide drive on the second IDE channel, - /dev/dvd should point to - /dev/hdc. Please note that if you - are using the ide-scsi emulation on your system, it is - likely that your DVD drive got mapped to a scsi device - node even though it is an ide drive. In that case first - check out you boot/kernel logs (or run cdrecord -scanbus) - to find out which device it got mapped to and set the - symlink accordingly (should be something like /dev/scd0, - /dev/scd1, ... in that case). - Also make sure you (as a user) have sufficient (read and write) permissions - on your DVD drive. This could mean you either have to change the device - permissions or add your user to a special group - (e.g. addgroup cdrom username), - depending on your setup and/or distribution. - - - It is highly recommended to switch DMA mode on for your DVD drive - (without it even very recent machines will have trouble producing - smooth video output). Use a command like - hdparm -d 1 <device> - on your DVD device. Please note that even if you're using ide-scsi - you will have to set the dma flag on the ide device node (e.g. - /dev/hdc), not the mapped /dev/scd - scsi device. - - - To be able to play back encrypted DVDs you need to have - libdvdcss installed on your system (please check if this is legal where - you live). If you do not understand what the term "encrypted DVD" means - here: As a rule of thumb, every DVD you have to pay money for is most - likely encrypted. - - - To make matters worse, apart from encryption, there is another obstacle - to take: the region code. The DVD authorities decided to divide the world - into eight geographical regions. Have a look at - http://www.dvdforum.gr.jp/RegionMap.pdf - if you want to know which number has been assigned to your country. It is - now their idea, that you shall only play DVDs, which have been produced - for your region. If you take a DVD off the shelf in your local store, - you should find a little globe-like icon which shows the region code the - disc is for. - - - Newer (post-2000) DVD drives (so-called RPC-2 drives) check the DVD - region, which means they'll prevent you from playing back DVDs that have - a different region code from what the drive is set up for. Some drives - come with a factory setting of region 0 so they can play back - any DVD until a region code is set. Others refuse to play any DVD at all - until they are told a region. The easiest way to handle this is to use - the regionset utility from - - http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415 - . - - - Once you have everything set up, try something like - gxine dvd:/ or xine -p dvd:/ - to start dvd playback. Some frontend also offer so-called autoplay - buttons or menu entries that start dvd playback immediately. - - - Important: do not try to mount the DVD. Just insert it and hit the DVD autoplay - button or start xine from the command line. - - - If things do not work as expected, try running the xine-check - shellscript that comes with xine to see if this gives you further hints on - what could be wrong. - - - - DVD playback works, but it takes a long time until playback starts - - This points to a region code problem. Some versions of libdvdcss can play - back DVDs from other regions than the RPC-2 DVD drive is set up for, - but this usually means a cryptographic attack (which takes time) has - to be used to access the DVD. - - - You can download a tool to set the region code of RPC-Drives here: - - http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415 - . - - - Warning: Please be aware that the number of region code changes in RPC-2 - drives is limited (usually about 5 times), after that your drive will - stay locked to the region you last set it up for. - - - - I have problems setting up my RPC-2 drive for the right region! - - You can download a tool to set the region code of RPC-Drives here: - - http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415 - . - - - Warning: Please be aware that the number of region code changes in RPC-2 - drives is limited (usually about 5 times), after that your drive will - stay locked to the region you last set it up for. - - - - - - Can I watch Video CDs (VCDs)? SVCDS ? CD-i? - - xine supports VCD and SVCD playback out-of-the box. Similar to DVDs, - make sure you have a /dev/cdrom alias pointing - to your CDROM drive which you will use to play back the (S)VCD. - - - At the moment, CD-i formats are not supported by xine. - - - Do not try to mount the (S)VCD. Simply insert it into your CDROM drive - and hit the VCD autoplay button or start something like - gxine vcd:/ or xine vcd:/ - from the command line. - - - VideoCD troubleshooting guide - - This gives higher-level troubleshooting. More lower-level information is - given in the next section. - - - - - When you open the configuration dialog of your frontend, you should - see a vcd config section. An important setting is - default_device. If this is set to the empty string, - the VCD plugin will try to scan your drives for a suitable device if the - driver has the capability to scan for drives. However you can set - the device to something of your choosing. On GNU/Linux, this may be - /dev/cdrom and on Solaris it may be - /vol/dev/aliases/cdrom0. - - - If you set this field, make sure these are correct for your - particular setup. For example, I generally play out of the DVD - device and this is called /dev/dvd rather than /dev/cdrom. - - - - - - Your frontend should offer a VCD autoscan button or menu item. - If you select this, you should see your CD disk light go on if you have one. - And the CD should be read. You should get a playlist of what's on the VideoCD. - - - If not something's wrong, possibly you configured the wrong drive. - You might try to read a disk image of a VideoCD and thus elimate any problems - with hardware. You can get a test VideoCD disk image to test here: - - http://www.vcdimager.org/pub/vcdimager/examples/test_svcd/test_svcd_pal.zip - . - After unzipping this there should be files test_svcd_pal.cue and - test_svcd_pal.bin. Run xine with the MRL - - vcd:/test_svcd_pal.cue:E0. - If you see something playing then this is a hardware problem. - You might also want to try starting playback-control with - - vcd:/test_svcd_pal.cue:P1. - - - - - - There should be at least one "track", and one "entry" listed for - the VideoCD and the names of these in the MRL list will end with - "T1" and "E0" respectively. Often there are other playlist items, - and if you have menus or still frames there will be - "segments" as well. The simplest things to check are probably - "entries" and "tracks". If there are no entries listed or none of - the tracks or entries play, then there may be a problem with - that particular medium. So as in the step above, you can try a known good - sample and perhaps burn a CD from that. More likely if you get this - far, some of the items listed work and some do not. There are a - number of debugging switches that you can dynamically turn on and - off that may be able to help in isolating more specific problems. - See the section below. - - - - - - Something plays now, but you do not get any menus? Well, first is there - supposed to be a menu? In the last step you should have seen what is on - the VideoCD. Still frames are always "segments" so see if you can find one in the MRL - list and select that. - - - If there are no segments listed, there aren't any still-frame - menus. It's also possible to have menus in looping MPEG's. Use the - vcddump tool to find loops. vcddump is - also part of VCDImager. Another program that can help you examine the contents - of a VideoCD is vcdxrip. - - - To troubleshoot, start out with the known SVCD example that has a - still-frame menu at the beginning: - - http://www.vcdimager.org/pub/vcdimager/examples/test_svcd/test_svcd_pal.zip - - Inside this is a largish file called test_svcd_pal.bin and another - short text file called test_svcd_ntsc.cue. These are CD disk - images; that is, something that could be burned to a CD drive such - as with cdrdao. However you don't have to create a CD to view these - with the xine VCD plugin. You should be able to play the VideoCD by running the MRL - - vcd:/test_svcd_pal.cue. - If you see a still frame on startup. Great! If instead you see what - looks like the beginning of a movie (Blue Streak with Martin Lawrence) - then go to the next step. - - - - - - You have a VideoCD with menu and can see it, but there is no menu on startup? - If you have the VideoCD from the last step, then run the MRL - - vcd:/test_svcd_pal.cue:P1 - If this shows a still frame, but it just does not show when you - hit either the "VCD" autoscan button or give a MRL without the P1 at - the end then go to the next step. - - - If you have another VideoCD, from the MRL list, you should also see "playlist" - entries. Try selecting the one that ends "P1". If you don't see an entry with P1, - then your VideoCD does not have playback control (PBC) and although there may - be a still frame on the VideoCD it may have been authored so it is not easily - accessed. Again vcddump or vcdxrip can help here. - - - - - - You have a VideoCD with menu at beginning and can see it using an MRL - with P1 at the end, but you want to see it by hitting the "VCD" autoscan button - as well? Check to see that you have the configuration entry - media.vcd.autoplay set to playlist. - - - - - - VideoCD debugging - - To facilitate tracking down problems we let you see what's going on dynamically. - Various debugging settings will cause output to appear on xine's plugin log - and/or on standard error output. See the config entry media.vcd.debug - for details. - - - The tool vcd-info from the cdio branch of vcdimager can be used to - show the entire contents of a VideoCD or selected portions of that. Until the cdio - branch of vcdimager is completely merged with vcdimager, the cd-info branch version - has a few more features. (However consult vcdimager for complete version of the program.) - - - vcdxrip can be used to extract portions of a VideoCD and or create an - XML description file of the VideoCD. This XML file and the extracted - files can be used by vcdxbuild to recreate another VideoCD. - - - And finally see also tools cd-info and cd-read from libcdio. - - - - - - Can I watch Quicktime (.mov, .mp4) files using xine? - - Quicktime is just a system layer (container format) which can contain various - different audio and video formats. The system layer itself is fully supported - in xine. However, some quicktime audio/video codecs are not natively supported yet. - Luckily, if you are using a x86 compatible machine (any recent PC hardware should do) - you can install and use the original Quicktime DLLs and watch most streams - (trailers) that can be downloaded from the net. - - - Possibly the most convenient way to get the Quicktime DLLs is to download - them from the MPlayer website - - http://www.mplayerhq.hu/design7/dload.html - . - The package is called "essential". Unpack it and move everything you find - inside to /usr/lib/codecs (actually you can place them - anywhere you want, e.g. someplace in your home directory, but then you'll - have to set decoder.external.win32_codecs_path in your - xine config file accordingly). Restart xine then and you should be - able to watch Quicktime trailers. - - - - - Real Network files/streams - - Can I watch Real (.rm, .ram) files using xine? - - The situation with real files and streams is pretty similar to the situation - with Quicktime Streams (see above). The newer real audio and video formats - are only supported by using binary-only codecs which are not included in - xine. - - - Possibly the most convenient way to get the Real codecs is to download - them from the MPlayer website - - http://www.mplayerhq.hu/design7/dload.html - . - The package is called "essential". Unpack it and move everything you - find inside to /usr/lib/codecs and set the - decoder.external.real_codecs_path in your xine config file - to /usr/lib/codecs (actually you can place them - anywhere you want, e.g. someplace in your home directory, but then you'll - have to set decoder.external.real_codecs_path accordingly). - Restart xine then and you should be able to watch Real files/streams. - - - - What about (live) network streams (pnm://, rtsp:// style urls)? - - xine supports both pnm and rtsp streaming. However, digging out the actual - pnm/rtsp url can be tricky as they're often packed into heavy JavaScript and - HTML code on most websites. You can either use a combination of your - browser's "save source" function and wget or use a xine browser plugin - (currently the gxine frontend comes with a simple mozilla plugin, - for example). When you decided to dig out the url by hand don't get fooled - by the many redirectors that are often placed around the actual url. - Use wget to download any http://-style urls and use less to look inside - the downloaded .ra/.ram files where you will find the actual pnm/rtsp - url which can be opened using xine. - - - - - - Can I watch Windows Media (.asf/.wmv/.wma) files using xine? - - While the container format (system layer) ASF (wmv is just an alias) - is fully supported in xine, for newer windows media 9 based streams - you'll need to install windows binary codecs (.DLLs). - - - Possibly the most convenient way to get the Windows DLLs is to download - them from the MPlayer website - - http://www.mplayerhq.hu/design7/dload.html - . - The package is called "essential". Unpack it and move everything you find - inside to /usr/lib/codecs (actually you can place them - anywhere you want, e.g. someplace in your home directory, but then you'll - have to set decoder.external.win32_codecs_path in your - xine config file accordingly). Restart xine then and you should be - able to watch windows media streams. - - - - - Can I watch Digital TV (Digital Video Broadcast) using xine? - - At the time of this writing DVB support is a very new and experimental - feature in xine. The number of supported cards is pretty limited at the moment. - See doc/README.dvb (in the xine-lib tarball) for details. - - - - - How do I play streams from STDIN? - - Use something like: -    cat stream.mpg | gxine stdin:/ - - - - - How can I watch files with external AVI subtitles? - - In xine 0.9.13 this used to be: -    xine foo.avi%bar.sub - - - Latest xine-lib modules (1-beta3 or newer) support external subtitles - for any media file, not only AVI. In order to use it you can pass a - special MRL construction like: -    xine test.mpg#subtitle:file.sub - The external subtitles support can also be used by any xine frontend. - Currently xine-ui and kaffeine implement this feature with a subtitle - selection dialog. - - - - - - - Running xine - - - I have a lot of dropped frames - what can I do? - - Your hardware might be too slow for xine. Make sure you turn on all - speed optimizing options. A few things you should check (in order of - importance): - - - - First of all, run the xine-check script included in xine - package (probably already installed in your system). - xine-check will report several of the most common problems - listed here. Sample output from xine-check: - -   xine-check -   Please be patient, this script may take a while to run... -   [ good ] you're using Linux, doing specific tests -   [ good ] looks like you have a /proc filesystem mounted. -   [ good ] You seem to have a reasonable kernel version (2.4.18) -   [ good ] intel compatible processor, checking MTRR support -   [ good ] you have MTRR support and there are some ranges set. -   [ good ] found the player at /usr/local/bin/xine -   [ good ] /usr/local/bin/xine is in your PATH -   [ good ] found /usr/local/bin/xine-config in your PATH -   [ good ] plugin directory /usr/local/lib/xine/plugins exists. -   [ good ] found input plugins -   [ good ] found demux plugins -   [ good ] found decoder plugins -   [ good ] found video_out plugins -   [ good ] found audio_out plugins -   [ good ] skin directory /usr/local/share/xine/skins exists. -   [ good ] found logo in /usr/local/share/xine/skins -   [ good ] I even found some skins. -   [ good ] /dev/cdrom points to /dev/hdc -   [ good ] /dev/dvd points to /dev/hdc -   [ good ] DMA is enabled for your DVD drive -   [ good ] found xvinfo: X-Video Extension version 2.2 -   [ good ] your Xv extension supports YUV overlays (improves MPEG performance) -   [ good ] your Xv extension supports packed YUV overlays -   [ good ] Xv ports: YUY2 YV12 I420 UYVY - - - - - Try to use the Xv driver, it greatly improves performance and quality - because your graphics card does image scaling and colourspace conversion. The - video section contains important information - about several Xv drivers. - - - If Xv cannot be used for some reason, make sure your display is set up - to 16bpp, not 24 or higher (reduces memory bandwith). Some Xv drivers - may also have better performance with 16bpp. - - - - - Make sure the hard drive (or cdrom/dvd drive) which supplies the - video data is in DMA mode (if supported). - - - On most linux-based systems, you can use hdparm to check this: - -   hdparm /dev/hda -   [...] -   using_dma = 1 (on) -   [...] - - - You can enable DMA mode with the following command: -    hdparm -d1 device_of_your_drive_that_supplies_video_data - In some cases where this fails it helps to specify the dma mode - to use, for example: -    hdparm -d1 -X 66 device_of_your_drive_that_supplies_video_data - In RedHat 8.0 an additional entry in /etc/modules.conf -    options ide-cd dma=1 - should help (reboot for this change to take effect). - - - More information about this may be found here: - - http://oreilly.linux.com/pub/a/linux/2000/06/29/hdparm.html - . - - - - - Use a recent kernel which is optimized for your hardware. Old kernels - may lack support for accelerated instructions like SSE, for example. - - - - - Close other applications (use a tool like "top" to find out - what applications are using up CPU power). Programs that update the - system clock like ntp should also be disabled. - - - - - Enable MTRR support in your kernel. If you are still using XFree 3.x, - you'll have to tell the kernel yourself where the graphics memory is. - You'll find details about that in the linux dvd howto. - - - If you're using X.org or XFree 4.x, enabling MTRR support in your kernel should - be enough (use a recent kernel!). - - - Try a cat /proc/mtrr - if the file exists and you find an entry - corresponding to the amount of graphics memory you have, everything - should be fine. - - - - - Have your X-server (usually X.org or XFree86) running with higher priority. - Most recent linux distributions (like RedHat 8.0 or Mandrake 9.0) should - do that for you, improving not only xine but desktop responsiveness - in general. - - - Use the "top" utility and verify under the "NI" column if - the X process has a negative value, this indicates a higher priority. - See "The X Window User HOWTO - Performance considerations" for - further instructions - - http://www.tldp.org/HOWTO/XWindow-User-HOWTO/performance.html - . - - - - - Use the latest or a known-good gcc version and build an optimized xine-lib for - your architecture. - - - - - Besides boosting X-server priority, sometimes it's possible to avoid - discarding frames by making xine itself higher priority. This is not - a recommended pratice since it will require to run xine as root, - but you may give it a try if you want: -    nice --5 xine - - - - - xine needs high speed memory access which depends on your chip set. - Make sure you enable all speed-improving options. - - - Especially the via apollo pro chipset is known to be quite weird, - (most of all on my gigabyte board). If you can't configure the ram - access thoroughly using the bios you might want to try some really - nasty tricks, as explained on (for example): - - http://www.overclockers.com/tips105/index03.asp - - - - This website centers around a windows-tool to tweak the chipset, you - can do the same on FreeBSD with pciconf. - On some linux distributions there are similar tools. - - - - - a nice performance tuning tool can be found here: - http://powertweak.sourceforge.net - - - - - Set up and use raw devices for DVD access. Please note that the - actual performance gain during playback is very small if any, but - since raw devices are bypassing the kernel's buffer cache, Linux - will not try to cache the DVDs you play. This would not be useful, - because xine does its own caching and you usually play DVDs - sequentially, which means you won't reuse anything from the cache. - But the problem would be that Linux throws everything out of the - cache that might be in there. - - - Raw devices should be available in linux kernel 2.4.x and there are - patches for older kernels available from: - - ftp://ftp.kernel.org/pub/linux/kernel/people/sct/raw-io/ - - - - To use raw devices, first connect a free raw device to your dvd - device, use something like: -    raw /dev/raw1 /dev/dvd - - - Then create a link named "rdvd" pointing to that raw device: -    ln -s raw1 /dev/rdvd - - - - - For slow / high-latency dvd drives it might help to increase - the number of video buffers xine allocates. Try setting - engine.buffers.video_num_buffers:500 - to a higher value (e.g. 1000 or 2500). - - - - - - - - Oki, xine doesn't drop frames now but video output still is not really smooth! - - Video output can be further improved by tuning your linux kernel: - - - - Set HZ to 1000 in - /usr/src/linux/include/asm-i386/param.h - - - - - Try applying scheduler patches, especially the O(1) and the preemptive - patches have proven useful at the time of this writing (spring 2003). - - - - Linux 2.5/2.6 will probably have these improvements out of the box. - - - Miguel Freitas has written a nice - - article about his kernel multimedia experiments - . - - - - - I have problems when using xine on FreeBSD, Solaris, ... ! - - Check out the the corresponding README files in the directory xine-lib/doc. - - - - - What is aalib? How do I use it in xine? - - aalib is an ascii art library. xine comes with an aalib video output - plugin so you can watch movies in your xterm, on the console or on your - old vt100 - very cool ;> ... another nice option is to preview movies - on a remote server in your shell over ssh. - - - To use it make sure you have aalib installed correctly before you - configure/build xine-lib and xine-ui. In addition to the xine binary a - binary named aaxine should get built and installed. You can then use - something like: -    aaxine foo.mpg - to use aalib video output. - - - - - Does xine support my dxr3 / hollywood+ card? - - While xine's focus is clearly on software decoding, the dxr3 is supported. - - - You can find more information about using xine with the dxr3 - here - (also covers how to do tv output using the dxr3). - - - - - - - Audio related questions - - - What audio drivers does xine support? OSS? Alsa? Arts? Esd? - - Currently xine support audio output via OSS (kernel audio drivers), - ALSA 0.9.x (ALSA 0.5.x is no longer supported), arts (KDE's sound daemon) - and esound (esd, gnome's sound daemon - not recommended because it has - serious issues with a/v sync). - - - - - When I'm watching a movie, the sound effects are much higher in volume than the voices! - - Congratulations, you seem to have an original movie audio track there. - - - Uhm. So you don't like it. Well, there are two things you can do: - - - - You can enable xine's audio compressor. Most frontends have - a settings window and in that you'll find a slider for the - compressor setting. The values are percent values, so a - slider setting of 200 means that xine will double the volume - of silent parts of the movie (loud parts stay the same). - - - If your frontend does not have such a compression slider, - you can pass the value with the MRL: -    xine dvd:/#compression:150 - - - - - If you have a dolby digital (AC3) soundtrack, you can try - to enable liba52's dynamic range compression setting - audio.a52.dynamic_range:1 - in your xine config file (or use some gui config dialog). - - - - - - - - When I play this stream, xine shows video but there's no audio! - - If this happens with any video, first try a different audio driver - (gxine -A oss, gxine -A arts, - xine -A alsa ...). - - - If this problem only occurs with one specific stream, maybe switching to - a different audio channel (using the gui) helps. Some DVD streams have - audio on strange channels. - - - If all this doesn't help, maybe you're missing an audio codec or you found - a bug. If you decide to post your problem on the xine-user mailing list, - make sure to include all console output xine produced and also clearly - state what type of stream you tried to play back or, even better, make - a test stream available somewhere for developers to download and try. - - - - - Can xine produce 4-/5-channel surround audio output? - - Yep, it can do that using OSS or ALSA drivers, provided that the driver - supports it. However, since xine cannot detect if there are actually speakers - connected to the additional channels, you'll have to activate that feature manually. - - - You can do this either in the config dialog while xine is running (press - the config button on the xine panel and go to the AUDIO tab) or have it - the complicated way by editing the config file yourself which is located - in your home directory in .config/gxine or - .xine: - -   audio.output.speaker_arrangement:Surround 4.0 -   audio.output.speaker_arrangement:Surround 4.1 -   audio.output.speaker_arrangement:Surround 5.1 - - - - - What about ac3 output via spdif to an external ac3 decoder? - - xine can do that too. Pretty much the same story as for 4-/5-channel - surround (see above). You can either use the config dialog or edit - the config file (~/.xine/config or - ~/.config/gxine/config) yourself: -    audio.output.speaker_arrangement:Pass Through - - - - - Getting SPDIF output from a SBLive 5.1 using OSS drivers - - The following explains how to get the above configuration - going with xine. Some parts of it may applicable to other - configurations (cards that use the EMU10k1 chip) as well. - - - Requirements - - - xine-lib >= 1.x.x - - - OSS driver - - - an external decoder - - - a cable to connect the SBLive to the external decoder - - - - The configuration described was tested using a Soundblaster live 5.1 (rev 7) - with a Yamaha DSP-AX620 external decoder. - - - - Retrieving the driver - - The OSS driver is maintained by creative and can be downloaded at - http://opensource.creative.com/. - The driver package contains documentation on how to install it. - Besides that I'd like to add the following notes. - - - In order to compile and install these drivers, you need a valid kernel - configuration file. For RedHat Linux's pre-compiled kernels these - configuration files can be found in - /usr/src/linux/configs. - After you've located the correct config file for your kernel, - you need to copy it to /usr/src/linux/.config - For example, when you run the 2.4.18-i686 kernel do : -    cp /usr/src/linux/configs/kernel-2.4.18-i686.config /usr/src/linux/.config - Make sure that the emu10k1 module that is currently installed is - not loaded. To unload the modules: -    /sbin/modprobe -rv emu10k1.o ac97_codec.o - If this mentions that the device is busy, some program is - using the driver. Some example could be a mixer application - or sound daemon like artsd. You'll need to close down the - applications before continuing. - At success it should print something like: - -   # delete emu10k1 -   # delete ac97_codec -   # delete soundcore - Run make in the directory where you unpacked the driver and follow the - instructions printed at the end of each step. - The last step should be: -    make install-tools - As the README of the driver package mentions the SPDIF AC3 - output doesn't work by default. In the directory - utils/scripts an emu10k1.conf - file can be found which need to be placed in the default - installation directory (/usr/local/etc). - After this the emu10k1.conf needs to be modified. - The following settings worked fine for me (I don't use the analog - outputs of the card): - -   CARD_IS_5_1=yes -   USE_DIGITAL_OUTPUT=yes -   ENABLE_TONE_CONTROL=yes -   AC3PASSTHROUGH=yes -   ENABLE_LIVEDRIVE_IR=no -   INVERT_REAR=no -   MULTICHANNEL=yes -   ROUTE_ALL_TO_SUB=no -   ANALOG_FRONT_BOOST=no -   SURROUND=no -   PROLOGIC=no -   ENABLE_CD_Spdif=yes -   ENABLE_OPTICAL_SPDIF=no -   ENABLE_LINE2_MIC2=no -   ENABLE_RCA_SPDIF=no -   ENABLE_RCA_AUX=no - After modifying the emu10k1.conf, - you need to modify your /etc/modules.conf and - make sure the following lines are in there. - -   alias sound-slot-0 emu10k1 -   post-install emu10k1 /usr/local/etc/emu-script - After saving the changes to modules.conf, run -    /sbin/depmod -a - Now, you're ready to load the new modules and set the correct - options for it. To load the modules run: -    /sbin/modprobe emu10k1 - - - - Setting up xine for SPDIF (AC3 passthrough) output - - You can either use the config dialog of your frontend or edit - the config file (~/.xine/config) yourself: -    audio.output.speaker_arrangement:Pass Through - In case the setting is not in the file you can add it. - - - - - The cable used for the SBLive can easily be self-made - or buy a stereo 3.5mm jack to dual RCA cable. - - - What you need to make the cable yourself: - - stereo 3.5mm jack plug - RCA plug - shielded cable (video coax 75 Ohm will do) - - Connect them as follows : - -   center pin jackplug ------|----- center pin RCA plug -    GND __|__ GND - - - In order to test it use a DVD with AC3 or DTS track - start xine and select the right audio track - from user interface or start xine as: -    xine dvd:/1 -a 0 - The external decoder should display something like - "Dolby Digital" in case the selected audio track contains - AC3 data or "DTS" in case the selected audio track - contains DTS data. Of course stereo audio also goes - through the SPDIF output, so the analog outputs of the - SBLive 5.1 are not needed anymore. - - - - - - Changing the volume with the GUI control has no effect! What's up!? - - Some xine drivers do not support volume changing although the GUI - will show the volume bar. Usually this is not xine's fault: aRts C - API, for example, doesn't offer any volume property to applications. - Similarly, with ac3 pass through it is not possible to set the volume. - - - Note that recently we added support to "simulate" volume in aRts by - changing sample values on-the-fly before delivering them to the driver. - Not as good as having access to sound card's mixer but at least users - will not complain about lacking of volume bar anymore! :) - - - - - Audio is stuttering and i see a lot of "metronom: fixing sound card drift by -2115 pts" on the console output - - Might be a soundcard problem, if it only comes in longer intervals. - Your soundcard does not keep it's sampling frequency accurately - enough, which results in audio and video - getting out of sync and xine has to compensate. If you see the message - only from time to time, you might remedy it by using the resampling sync - method. You can do this by setting the configuration entry - audio.synchronization.av_sync_method to resample. - - - If you receive the metronom message more often, - maybe switching to different drivers (alsa to oss or vise-versa) - can help here. It has also been reported that setting the configuration - entry audio.synchronization.force_rate to the native sampling - rate of your soundcard (try 44100 and 48000) helps sometimes. - - - Another, whole different possibility is that you have some background - process running which is messing with the clock (like some ntp client - - chronny, ntpd, ...). - - - Occasional messages of "fixing sound card drift" may happen on start and - when playing a long stream (like a movie). This is normal behaviour, - nothing to worry about. - - - - - xine seems to lose sound arbitrarily during playback, especially with DVDs - - You are using the OSS audio output plugin, right? In order to keep video and audio - in sync, xine regularly queries the audio driver for the amount of delay induced by - the current length of the driver's audio buffer. Unfortunately some OSS drivers seem - to be broken because the can return strange values here. This confuses the xine audio - subsystem and makes it drop audio. - - - You should try the various settings of the - configuration entry audio.oss_sync_method. The options - getodelay and getoptr ask the driver and - might therefore show the problem. But chances are that only one is broken and the other - works, so you should try them both first, since they are the most accurate. - The option probebuffer does not ask the driver directly but - tries to determine the buffer length from outside. This should work with any driver - and is the way to go, of the driver dependent methods fail. - softsync is the least accurate and should be used only in - emergency situations. - - - - - - - Video related questions - - - I can hear the audio - but I don't see a picture! - - Probably your hardware is simply too slow - see above for some - hints on how to speed things up. - - - Another possibility is that you using a buggy Xv driver, see the next - questions. - - - - - I only see a blue (or green or black) video image most of the time. - - You are either watching a very boring video (just kidding) or you are - suffering from a bug in the Xorg 6.7 implementation of X11. - - - The workaround is to add the line -    Option "XaaNoOffscreenPixmaps" - in the Device section of your X server configuration (usually - /etc/X11/xorg.conf or /etc/X11/XF86Config). - - - - - The image looks strange, it is shifted, cropped or shows weird lines! - - This points to a problem with the Xv extension, which is used by xine - to display the video image. To verify this, try running xine with the XShm - video output plugin: -    xine -V XShm - - - If that works fine, you just proved, that the Xv extension is buggy. xine will - remember the last used video output plugin, so the setting will stay at XShm. - You could simply continue using this, but XShm is a lot slower than Xv, so - read on and see if you can get it working. Usually you should look for - updated versions of the X driver module that belongs to your graphics card. - - - Other possibilites are limitations in either your X driver module or your - graphics hardware. If your card could somehow be running out of ressources (graphics - RAM perhaps) and displays an incorrect Xv overlay because of that, try reducing - the display resolution and/or colour depth. - - - Consult the next question for more details on Xv. - - - - - How can I make xine use the Xv extension and what drivers do I need? - - xine will normally use Xv by default if it is available. In some cases - you might need to choose Xv playback manually (when the ~/.xine/config - file for some reason says that you want to use XShm): -    xine -V Xv - - - If this doesn't work for you, it may be possible that Xv is not present - on your system. - - - First you need to install/use X.org or XFree 4.x. Once you got that you have to - make sure the X drivers you're using are supporting Xv on your - hardware. Here are some hints for individual gfx chips: - - - - 3Dfx: if all you get is a solid black window, upgrade to X.org or XFree 4.1.0 or later. - - - - - ATI: if you only get "half a picture", try lowering your resolution - or bit depth, disable DRI (looks like you ran out of video RAM) - - - - - Trident card: If you see vertical bands jumbled, upgrade to the latest - xfree/experimental trident drivers (for the CyberBlade XP - a driver exists here: - http://www.xfree86.org/~alanh/ ) - - - - - nVidia: With newer GeForce cards, Xv should work with XFree 4.2.0 or - newer, for older RivaTNT cards use the binary drivers from nvidia - (of course the binary drivers work as well for GeForce cards) - - - - - Mach64/Rage3D (not Rage128/Radeon) cards/chips get no XVideo with - standard drivers, try - GATOS drivers - instead - - - - - intel: i815 has Xv support in XFree 4.x, others unknown - - - - - Permedia 2/3 has Xv support in XFree 4.x - - - - - Savage: at least some older drivers tend to lock up the whole machine, - try the drivers available from - - http://www.probo.com/timr/savage40.html - . - - - - - SIS: certain controllers (more info needed!) have Xv support in XFree 4.x - - - - - Chips and Tech 6555x, 68554, 69000, 69030 have Xv support in XFree 4.x - - - - - NeoMagic: certain controllers (more info needed!) have Xv support in Xfree 4.x - - - - - SiliconMotion: certain controllers (more info needed!) have Xv support in Xfree 4.x - - - - - Matrox: G200 or newer (but not Parhelia) have Xv support in XFree 4.x. - For Parhelia, use the binary only drivers available from matrox' website. - - - - - - - - Some parts of my X Desktop get transparent when xine plays the video! - - Looks like some colours on your GUI match the colour key which Xv uses. You can - change the colour key value to avoid this. There should be a line like: -    video.XV_COLORKEY:2110 - in your ~/.xine/config file where you can change the colour that's used - by xine for the video overlay. - - - - - The aspect ratio of the video is wrong! - - Usually xine discovers the screen aspect ratio by - querying the X-server and then adjusts the video automatically - to make it look right. However, if that doesn't work try - pressing "a" to manually change the aspect ratio. - - - If you have a wide screen monitor, make sure the X-server - is correctly configured. The X-server must know the physical - size of the screen, which is independent of the resolution - being used. - - - For X.org, the screen size should be set in the "Monitor" - section in the file /etc/X11/xorg.conf, as in the example below: - -   Section "Monitor" -      Identifier "Monitor0" -      VendorName "Monitor Vendor" -      ModelName "DDC Probed Monitor - ViewSonic G773-2" -      DisplaySize 320 240 -      HorizSync 30.0 - 70.0 -      VertRefresh 50.0 - 180.0 -   EndSection - For XFree86, the filename is normally /etc/X11/XF86Config. - - - Where DisplaySize specifies, - in millimeters, the physical size of the monitor's picture area. - - - - - What is the difference between discarded and skipped frames? - - Sometimes xine will output a message like that: -    200 frames delivered, XX frames skipped, YY frames discarded - - - The difference between these counters is a little subtle for the non - developer. There are two threads running in order to display video: - the decoder thread will deliver frames to the video output thread. - The latter is responsible for scheduling the frames to be displayed at - the right time. - - - If your system can't keep up with decoding requirements, decoder will - deliver overdue frames. Imagine if it finished decoding the frame - tagged for displaying at 11:30 but xine clock marks 11:31. When this - situation is detected, xine will try to skip decoding a few frames - to recover. Not every decoder may support this feature. - - - When the frame is decoded to be shown somewhere in future but the - output thread doesn't get scheduled in time by the operating system - to complete the operation, the frame is discarded. One cause might - be the disk access operation, which may halt the system for a few - miliseconds without DMA. See performance section tips above. - - - Note that if a decoder can't skip frames for some reason, you would - never see frames skipped (they would be all discarded). - - - - - My xine is runing in black and white! / I only get a grey video output! - - This frequently happens with new Xv drivers or when switching to a - different video card. Background is that different Xv drivers often - use different ranges for the contrast/brightness/saturation settings. - - - To fix this, try opening the xine settings window and try adjusting - the sliders for contrast, brightness and saturation. - - - Please note that some frontends save these settings in their config file - so when you have found a working combination, make sure you exit - xine cleanly so the values are saved. - - - - - Which is the best video driver to use? - - xine supports several video drivers for outputing the image. These will - differ on how the frames are copied to the video card memory, whether - colourspace conversion and scaling is done in software or hardware, among - other things. They may also differ on ease of use and stability. - - - Most of the time, Xv should give the users a good trade-off between - quality, compatibility and ease of use. This is why xine tries to use - Xv by default. - - - However some users may want to explore better the available hardware - capabilities (eg. syncing frame drawing with monitor refresh). - Also some Xv drivers contain slow copies and accessing the video card - directly may yield performance gains. - - - Drivers that access hardware directly includes VIDIX (warning: requires - root priviledges or kernel helper) and SyncFB (requires kernel helper - Matrox only). - User may try one of those, but should be warned that with root access - they can cause the system to crash hard. The support is also limited to - a couple of graphics cards only. - - - Graphic workstations like SGI have usually a good support for OpenGL. - In that case, using OpenGL may be a better choice than XShm. However for - most desktop systems the performance of OpenGL will be quite bad. - - - - - - - OSD and overlay related questions - - - What is this "unscaled" OSD about? - - Since version 1-rc3 of xine-lib supports a new method for rendering OSD - (On Screen Display) and subtitles. This method uses a X11 extension - called XShape that allows using screen resolution instead of - stream resolution. It is called "unscaled" OSD because it does not - scales with the video being played. - - - Suppose you are watching a 320x200 video in full screen. Normal OSD - would be blended at 320x200 and then scaled to full screen (lets say, - 1024x768), resulting in big and ugly fonts. The unscaled overlay is - drawn directly to screen, creating a sharper and better looking OSD. - - - There are side effects too. Sometimes the unscaled overlay show some - glitch just before disappearing. Some people may be annoyed enough - by that and might want to disable the usage of unscaled overlay - altogether. - - - Unscaled OSD usage by subtitles and xine-ui is controlled by - the following settings (~/.xine/config or - ~/.config/gxine/config): -    gui.osd_use_unscaled:0 -    subtitles.separate.use_unscaled_osd:0 - - - - - I can't see the OSD or it leaves a black box over the image! - - If you are using xine-lib version 1-rc3 or newer, this is probably - due buggy XV drivers that do not support - unscaled OSD (the XShape - extension) properly. - - - There have being reports of some ATI drivers that don't allow - displaying anything over the video. The VIA Epia binary drivers - is reported to leave a black box where the OSD was displayed. - - - The problem may be fixed by either updating the video driver, - or disabling xine unscaled OSD support. - - - - - Why colours of overlays/subtitles seem to be "leaking"? - - xine blends most overlays, specially the ones from DVD discs, - directly over the image (scaled OSD). Unfortunately most codecs - (like MPEG2) use a subsampled image format (YV12) that makes - properly blending an interesting challenge. - - - In short, this is a known xine bug. There have being discussions - on improving the blending quality but, so far, nobody implemented - a better (scaled) overlay renderer. Contact developers if you want - to try doing something about it. - - - - - Why external subtitles look so ugly? - - You are probably using a xine-lib version older than 1-rc3. - Try upgrading your copy and read the - section about unscaled osd. - - - - - Why subtitles can't be displayed outside the video? - - It is possible, but older xine versions may not support it. There are two - alternatives for rendering the subtitles outside the video image: - - - - - - Use the "expand" post plugin to increase frame height adding - black bars to it. This will allow blending the subtitles - over the black bars, since they will be part of the video now. - - - - - Use unscaled OSD, as it - does not requires any video to render the subtitles on. - - - - - - Also notice that DVD overlays (including subtitles) are meant to - be displayed in a fixed position, this is how the DVD menu - highlighting works. xine does not support moving them. - - - - - What kinds of subtitle fonts does xine use? - - xine can use two kinds of fonts: - - - - TTF fonts - - - If xine is compiled with freetype library xine recognizes and uses TTF - fonts directly. - - - - - xine fonts - - - This is xine's native format. It's better because the font - generator utility implements more features than the "on the fly" TTF renderer. - - - - - - The font for text subtitles is selected via config option - subtitles.separate.font. You can specify xine font name - (sans, serif, ...) - or file name of the TTF font. The directories - $prefix/share/xine/libxine1/fonts and - ~/.xine/fonts are searched for the fonts, with - $prefix being the place xine-lib was installed to. - Usually this is /usr/local or /usr. - TTF fonts are also searched for in the current directory. - - - - - How to create own xine subtitle fonts? - - xine's native subtitle fonts can be generated from TTF fonts with the - utility xine-fontconv. It isn't compiled and installed by default but - you can make it manually. You'll need freetype and zlib packages together with - their versions for development plus a compiler, of course ;) - Here's how you build xine-fontconv: - - - - Get the source of xine-fontconv utility from the misc - directory within the xine-lib sources. - - - - - Compile it: -    gcc xine-fontconv.c -o xine-fontconv `freetype-config --cflags --libs` -lz - - - - You'll need some TTF font for generating. Characters in this font should - cover all codepages you want supported, otherwise you'll have missing characters. - - - Syntax is: -    ./xine-fontconf font.ttf font_name [encoding1 [encoding2 [...]]] - - - For example default font sans was generated with - following command: - -   ./xine-fontconv Aril_Bold.ttf sans iso-8859-1 iso-8859-2 iso-8859-5 \ -    iso-8859-9 iso-8859-15 cp1250 cp1251 - - - There are displayed messages about missing characters on the screen - during generating. It's OK if the missing characters are U+007f..U+009F. - These characters come from iso-8859-1 and they aren't displayable. - - - - - Encoding of external subtitles is bad. What is wrong? - - The encoding of the external subtitles is expected to be iso-8859-1 by - default. You need to set an appropriate encoding in the config option - subtitles.separate.src_encoding. Note that you also need - a font which contains all characters from the given encoding. - - - The default font sans and fonts - serif and mono cover these - encodings: - - iso-8859-1 - iso-8859-2 - iso-8859-5 - iso-8859-9 - iso-8859-15 - windows-1250 - windows-1251 - - - - - - - - Error Messages: What they mean and what you can do - - - Starting xine crashes X, I am logged out of my desktop! - - xine itself is unable to crash X, so when your X server just shuts down or - restarts with the login screen, there is something wrong with your X setup. - Most common are problems with the Xv extension. Try running xine with the XShm - video output plugin: -    xine -V XShm - - - If that works fine, you just proved, that the Xv extension is buggy. xine will - remember the last used video output plugin, so the setting will stay at XShm. - You could simply continue using this, but XShm is a lot slower than Xv, so - consult the section on Xv and see if you can - get it working. Usually you should look for updated versions of the X driver - module that belongs to your graphics card. - - - - - Starting xine fails with complains about audio drivers/devices! - - You can select the audio driver using the -A option. So try: -    xine -A null - If you have ALSA drivers installed, try: -    xine -A alsa - If you run ESD (not recommended), try: -    xine -A esd - If you run artsd, try: -    xine -A arts - - - - - "no video port found" - - You got the Xv extension, but your video card driver doesn't support it. - First try to find a driver that does support Xv on your hardware (check - your graphics card vendor). If your driver has Xv support but you can't - get it working, try at a lower resolution (1024x768 is enough even for - anamorphic DVDs). - - - If all that fails, you can still use plain X11/XShm: -    gxine -V XShm foo.vob - - - - - "Unable to open dvd drive (/dev/dvd)" - - You probably don't have /dev/dvd (check that). If so, simply create a - link /dev/dvd that points to your DVD device. Something like... -    ln -s hdc /dev/dvd - ...should do the job. Also make sure you have read and write access on - the device the symlink points to. - See the dvd playback section - for more information. - - - - - My drive doesn't work and the kernel says "status=0x51 { DriveReady SeekComplete Error }" - - This error can be fixed by recompiling your kernel with the option - "Use multi-mode by default" enabled in the IDE settings. - - - - - "demux error! 00 00 00 (should be 0x000001)" - - Probably xine can't access your input source. Most commonly this happens - when you're trying to play locked/encrypted DVDs. Remember that xine - can't play such DVDs out-of-the box for legal reasons (see above). - - - If it is legal where you live, you can try to install libdvdcss. Once - you have done that and re-start xine, it should automatically detect - and use it to play back encrypted DVDs. - - - Another reason could be that your (RPC-2) DVD drive isn't set up - for the right region (see above). - - - - - "audio driver 'oss' failed, using null driver instead" - - First of all, make sure that your OSS Audio drivers are working (i.e. - you can play music with other software). Maybe you're using alsa? - If so, try gxine -A alsa to see if this helps. - - - The most common reason for oss not working is that some other program is accesing - your audio device. If you're using linux, the command fuser /dev/dsp - should give you the PID of the process. - - - If you are using GNOME, chances are that this is caused by ESD. Now you - have two possibilities. Either deactivate ESD (temporarily) by right - clicking on the sound monitor applet and selecting "Place Esound in - standby" or just kill it. Then xine will use OSS audio output. The other - method is to make xine use ESD for audio output with: -    gxine -A esd - This may result in worse playback - exact syncronization is not possible - with esd, so using oss should be preferred. - - - If you are using KDE, there is the possibility that the aRts sound - daemon is currently running and thus blocking your sound device. You - can check that by starting the aRts control (in your KDE menu it should - be under Multimedia). If it is running, you can either use the aRts - audio output plugin: -    gxine -A arts - Or you suspend the aRts daemon by checking the appropriate option in - your aRts control. (recommended) - - - Newer versions of arts have an auto-suspend mode - this can lead to - some nondeterministic behaviour of xine if it is set up to use - the audio device directly. Using arts is recommended in that case; - however, you will lose the ability to do four/five channel audio output. - - - - - "video_out: throwing away image with pts xxx because it's too old" - - This is a performance related problem. - If you have a fast computer and this message is shown from time to - time when playing a DVD or CD, it's very likely that DMA is not enabled - for your drive. - - - - - "No video plugin available to decode 'xxxxxx'." - - You have tried to play a stream using a unknown or unhandled codec. - Possibly the file uses some obscure proprietary format and no - information is available on how to decode it. - - - If you're on an x86 platform (e.g. PC hardware) you might want to - try installing binary-only windows medial, real networks and - quicktime codecs (see above). - - - - - "w32codec: decoder failed to start. Is 'xxxxxx' installed?" - - You probably don't have the win32 dll needed to decode this file. - - - - - xine just crashed on me - i didn't get any error message - - OK, yes, that shouldn't happen and you're upset. We can understand that. - But, to help you and of course to fix this, we need some information. - So, let's go through the checklist and maybe prepare a nice bug report - for the xine-user mailing list: - - - - Did xine really crash (segfault) or did it hang (deadlock)? - - - - - Can you reproduce the bug? (e.g. do you remember what you - did and when you do it again it crashes again?) - - - - - Is that a specific media file or format which crashes xine? (Have you - tried other files types?) - - - - - Check the console output (and include it in a bug report), maybe earlier - there is some output that points to the problem. - - - - - Your X server just froze on you? unfortunately that's a known problem - with some chipsets and drivers (most commonly Savage chipsets) when - using Xv. You might want to try running gxine -V XShm - to see if the problem is related to the Xv driver. This will unfortunately - be much slower, as lots of things are now done in software instead of - hardware scaling/colour space conversion. - - - Maybe at the time you read this, there's an X upgrade which fixes - this for the Savage driver. If that works for you, please notify the xine crew at - xine-user@lists.sourceforge.net, so they can update this FAQ! - - - - - Even though we try to make each release as bug free as possible, xine is - still under heavy development (nice excuse, isn't it? *grin*). - - - If you write to the xine user mailing list - xine-user@lists.sourceforge.net - make sure you include a the above information (when applicable) - and also some information about your machine (operating system, cpu type and - speed, gfx card, sound card, ...) and please use a meaningfull subject - line ("xine bug" is bad, "xine fails to play this quicktime trailer in fullscreen mode" - ist much better). - - - Thanks for taking the time to help improve xine. - - - - - - - - -
- -
-- cgit v1.2.3