The xine engine FAQ


Table of Contents
General questions about xine and this document
What is the xine engine?
What's the aim and scope of this text?
My question is not yet covered here - where can I ask for help?
How do I pronounce "xine"?
What are those xine-lib, xine-ui, gnome-xine, ... modules in cvs for?
Where and how do I get the latest development version?
Why is gxine's CVS module named gnome-xine?
Where can I find pre-compiled binaries, e.g. RPMs?
Building and installing xine from source
What do I need to compile everything properly?
Can I watch Video CDs (VCDs)? SVCDS ? CD-i?
Can I watch Quicktime (.mov, .mp4) files using xine?
Real Network files/streams

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: 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. CVS is only intended for developers and for others who know why they use it.

To check out xine-modules from CVS, first do this:

cvs -d :pserver:anonymous@cvs.xine.sf.net:/cvsroot/xine login
The password is empty, just press Enter.

Then, to check out individual modules (e.g. xine-lib, gnome-xine or xine-ui):

cvs -d :pserver:anonymous@cvs.xine.sf.net:/cvsroot/xine co modulename


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 XFree 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 meanrk 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=31346release_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=31346release_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/homepage/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/homepage/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.