diff options
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | doc/Makefile.am | 2 | ||||
-rw-r--r-- | doc/faq/Makefile.am | 12 | ||||
-rw-r--r-- | doc/faq/README | 14 | ||||
-rw-r--r-- | doc/faq/faq.html | 2690 | ||||
-rw-r--r-- | doc/faq/faq.sgml | 1464 |
6 files changed, 4182 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 1e186a94c..73c912b6f 100644 --- a/configure.ac +++ b/configure.ac @@ -1162,6 +1162,7 @@ doc/man/Makefile doc/man/en/Makefile doc/man/en/man3/Makefile doc/hackersguide/Makefile +doc/faq/Makefile include/Makefile include/xine.h intl/Makefile diff --git a/doc/Makefile.am b/doc/Makefile.am index 6b5e3b956..8550098fa 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,5 +1,5 @@ -SUBDIRS = man hackersguide +SUBDIRS = man hackersguidea faq EXTRA_DIST = $(docs_DOCS) README README.plugins MRLs dataflow.dia README.dvb dvb_channels diff --git a/doc/faq/Makefile.am b/doc/faq/Makefile.am new file mode 100644 index 000000000..291e4718b --- /dev/null +++ b/doc/faq/Makefile.am @@ -0,0 +1,12 @@ + +EXTRA_DIST = README faq.sgml + +docdir = $(prefix)/share/doc/xine/faq + +mostlyclean-generic: + -rm -f *~ \#* .*~ .\#* + +maintainer-clean-generic: + -@echo "This command is intended for maintainers to use;" + -@echo "it deletes files that may require special tools to rebuild." + -rm -f Makefile.in diff --git a/doc/faq/README b/doc/faq/README new file mode 100644 index 000000000..f44d8a6c3 --- /dev/null +++ b/doc/faq/README @@ -0,0 +1,14 @@ +This directory contains the new sgml xine engine FAQ. + +use a command like + +sgmltools -b onehtml faq.sgml + +or + +sgmltools -b txt faq.sgml + +to transform it into html/txt (sgmltools-lite package in debian). + +guenter Sat Jan 4 22:59:33 CET 2003 + diff --git a/doc/faq/faq.html b/doc/faq/faq.html new file mode 100644 index 000000000..2db4051bd --- /dev/null +++ b/doc/faq/faq.html @@ -0,0 +1,2690 @@ +<HTML +><HEAD +><TITLE +>The xine engine FAQ</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"></HEAD +><BODY +CLASS="BOOK" +><DIV +CLASS="BOOK" +><A +NAME="AEN1" +></A +><DIV +CLASS="TITLEPAGE" +><H1 +CLASS="TITLE" +><A +NAME="AEN2" +></A +>The xine engine FAQ</H1 +><P +CLASS="COPYRIGHT" +>Copyright © 2001-2003 the xine project team</P +><HR></DIV +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>1. <A +HREF="#GENERAL" +>General questions about xine and this document</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN10" +>What is the xine engine?</A +></DT +><DT +><A +HREF="#AEN13" +>What's the aim and scope of this text?</A +></DT +><DT +><A +HREF="#AEN16" +>My question is not yet covered here - where can I ask for help?</A +></DT +><DT +><A +HREF="#AEN24" +>What are those xine-lib, xine-ui, gxine, ... modules in cvs for?</A +></DT +><DT +><A +HREF="#AEN34" +>Where and how do I get the latest development version?</A +></DT +><DT +><A +HREF="#AEN46" +>Where can I find pre-compiled binaries, e.g. RPMs?</A +></DT +></DL +></DD +><DT +>2. <A +HREF="#BUILDING" +>Building and installing xine from source</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN52" +>What do I need to compile everything properly?</A +></DT +><DT +><A +HREF="#AEN61" +>How do I compile xine?</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN63" +>Simple build instructions for beginners</A +></DT +><DT +><A +HREF="#AEN77" +>Complete build instructions</A +></DT +></DL +></DD +><DT +><A +HREF="#AEN88" +>Making your own RPM packages (xine-lib, xine-ui)</A +></DT +><DT +><A +HREF="#AEN101" +>Can I provide additional CFLAGS for compilation?</A +></DT +><DT +><A +HREF="#AEN107" +>Are there binaries for my AMD K7 (Athlon (TM) ) available? Can I build them?</A +></DT +><DT +><A +HREF="#AEN111" +>Build problems: xine engine (xine-lib)</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN113" +>The package doesn't compile at all!</A +></DT +><DT +><A +HREF="#AEN118" +>The Xv video-out plugin fails to compile!</A +></DT +></DL +></DD +><DT +><A +HREF="#AEN126" +>Build problems: frontend (gxine/xine-ui/...)</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN128" +>I have installed xine-lib but the frontend complains about not finding it!</A +></DT +></DL +></DD +><DT +><A +HREF="#AEN135" +>Can I install xine in my home directory (without being root) ?</A +></DT +><DT +><A +HREF="#AEN146" +></A +></DT +></DL +></DD +><DT +>3. <A +HREF="#PLAYBACK" +>Playback of various stream types</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN152" +>DVD Playback with xine</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN154" +>How do I play back DVDs with xine?</A +></DT +><DT +><A +HREF="#AEN178" +>DVD playback works, but it takes a long time until playback starts</A +></DT +><DT +><A +HREF="#AEN184" +>I have problems setting up my RPC-2 drive for the right region!</A +></DT +></DL +></DD +><DT +><A +HREF="#AEN189" +>Can I watch Video CDs (VCDs)? SVCDS ? CD-i?</A +></DT +><DT +><A +HREF="#AEN196" +>Can I watch Quicktime (.mov, .mp4) files using xine?</A +></DT +><DT +><A +HREF="#AEN203" +>Real Network files/streams</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN205" +>Can I watch Real (.rm, .ram) files using xine ?</A +></DT +><DT +><A +HREF="#AEN214" +>What about (live) network streams (pnm://, rtsp:// style urls) ?</A +></DT +></DL +></DD +><DT +><A +HREF="#AEN217" +>Can I watch Windows Media (.asf/.wmv) files using xine?</A +></DT +><DT +><A +HREF="#AEN224" +>Can I watch Digital TV (Digital Video Broadcast) using xine ?</A +></DT +><DT +><A +HREF="#AEN228" +>How do I play streams from STDIN?</A +></DT +><DT +><A +HREF="#AEN232" +>How can I watch files with external AVI subtitles?</A +></DT +></DL +></DD +><DT +>4. <A +HREF="#RUNNING" +>Running xine</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN238" +>I have a lot of dropped frames - what can I do?</A +></DT +><DT +><A +HREF="#AEN286" +>I have problems when using xine on FreeBSD, Solaris, ... !</A +></DT +><DT +><A +HREF="#AEN290" +>What is aalib? How do I use it in xine?</A +></DT +><DT +><A +HREF="#AEN297" +>What do all these ~/.xine/config entries mean?</A +></DT +></DL +></DD +><DT +>5. <A +HREF="#AUDIO" +>Audio related questions</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN303" +>What audio drivers does xine support? OSS? Alsa? Arts? Esd?</A +></DT +><DT +><A +HREF="#AEN306" +>When I'm watching a movie, the sound effects ar much higher volume than the voices</A +></DT +><DT +><A +HREF="#AEN316" +>When I play this stream, xine shows video but there's no audio!</A +></DT +><DT +><A +HREF="#AEN323" +>Can xine produce 4-/5-channel surround audio output?</A +></DT +><DT +><A +HREF="#AEN332" +>What about ac3 output via spdif to an external ac3 decoder?</A +></DT +><DT +><A +HREF="#AEN338" +>Changing the volume with the GUI control has not affect! What's up!?</A +></DT +></DL +></DD +><DT +>6. <A +HREF="#VIDEO" +>Video related questions</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN343" +>I can hear the audio - but I don't see a picture!</A +></DT +><DT +><A +HREF="#AEN346" +>How can I make xine use the Xv extension and what drivers do I need?</A +></DT +><DT +><A +HREF="#AEN354" +>Some parts of my X Desktop get transparent when xine plays the video!</A +></DT +><DT +><A +HREF="#AEN359" +>The aspect ratio of the video is wrong!</A +></DT +><DT +><A +HREF="#AEN362" +>What is the difference between discarded and skipped frames?</A +></DT +></DL +></DD +><DT +>7. <A +HREF="#ERRORS" +>Error Messages: What they mean and what you can do</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN372" +>Starting xine fails with complains about audio drivers/devices!</A +></DT +><DT +><A +HREF="#AEN379" +>"no video port found"</A +></DT +><DT +><A +HREF="#AEN384" +>Unable to open dvd drive (/dev/dvd)</A +></DT +><DT +><A +HREF="#AEN388" +>"demux error! 00 00 00 (should be 0x000001)"</A +></DT +><DT +><A +HREF="#AEN393" +>"audio driver 'oss' failed, using null driver instead"</A +></DT +><DT +><A +HREF="#AEN404" +>video_out: throwing away image with pts xxx because it's too old</A +></DT +><DT +><A +HREF="#AEN407" +>"No video plugin available to decode 'xxxxxx'."</A +></DT +><DT +><A +HREF="#AEN411" +>"w32codec: decoder failed to start. Is 'xxxxxx' installed?"</A +></DT +><DT +><A +HREF="#AEN414" +>xine just crashed on me - i didn't get any error message</A +></DT +></DL +></DD +></DL +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="GENERAL" +></A +>Chapter 1. General questions about xine and this document</H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN10" +></A +>What is the xine engine?</H2 +><P +> + 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. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN13" +></A +>What's the aim and scope of this text?</H2 +><P +> The primary goal of this FAQ is to cover all recurring questions related + to the xine engine. Frontend specific questions are not covered here. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN16" +></A +>My question is not yet covered here - where can I ask for help?</H2 +><P +> 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 xine HOWTO and documentation specific to + the frontend (e.g. <B +CLASS="COMMAND" +> xine-ui </B +> or <B +CLASS="COMMAND" +> gxine </B +> or + <B +CLASS="COMMAND" +> totem </B +>). + </P +><P +> That said - you are welcome to mail to our user mailing list: + + <TT +CLASS="EMAIL" +><<A +HREF="mailto:xine-user@lists.sourceforge.net" +>xine-user@lists.sourceforge.net</A +>></TT +> + + 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. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN24" +></A +>What are those xine-lib, xine-ui, gxine, ... modules in cvs for?</H2 +><P +> Some time ago xine just became too complex to be just one big program. + Therefore it was split into two major parts. + </P +><P +> xine-lib is simply speaking the engine of xine. It contains all plugins + and is necessary to run anything that relies on xine (this is the part that + is covered in this FAQ). + </P +><P +> 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 sinek and totem develop additional frontends. + In the future you will likely see more and different types of apllications + being developed which will use the xine engine for video processing + and other multimedia purposes. + </P +><P +> </P +><P +> 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. + </P +><P +> Other modules in CVS: <TT +CLASS="FILENAME" +>xine-plugin</TT +> a mozilla browser plugin + for streaming media playback using xine, <TT +CLASS="FILENAME" +>xine-www</TT +> the + xine project website sources. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN34" +></A +>Where and how do I get the latest development version?</H2 +><P +> Be advised that end-users should stick to the official xine releases. + CVS is only intended for developers. + </P +><P +> To check out xine-modules from CVS, first do this: + </P +><P +> <B +CLASS="COMMAND" +> cvs -d :pserver:anonymous@cvs.xine.sourceforge.net:/cvsroot/xine login </B +> + [empty password] + </P +><P +> then, to check out individual modules (e.g. <TT +CLASS="FILENAME" +>xine-lib</TT +>, + <TT +CLASS="FILENAME" +>gxine</TT +>, <TT +CLASS="FILENAME" +>xine-ui</TT +>): + </P +><P +> <B +CLASS="COMMAND" +>cvs -d :pserver:anonymous@cvs.xine.sourceforge.net:/cvsroot/xine co modulename</B +> + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN46" +></A +>Where can I find pre-compiled binaries, e.g. RPMs?</H2 +><P +> 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 for further info. + You can also find links to third parties providing xine RPMs on + the xine homepage. + </P +><P +> See the next chapter of this FAQ for instructions on how to build xine + from source. + </P +></DIV +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="BUILDING" +></A +>Chapter 2. Building and installing xine from source </H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN52" +></A +>What do I need to compile everything properly?</H2 +><P +> 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. + </P +><P +> 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 iss required (including the appropriate header files, which are + often found in a package called zlib-devel or similar.) + </P +><P +> If you want to compile xine from CVS, you'll need to have the autobuild tools + installed (automake, autoconf and libtool - in recent versions). + </P +><P +> Frontends might need additional libraries, e.g. for gxine you'll need to have + GTK 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. + </P +><P +> 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. + </P +><P +> Don't worry about this too much right now, xine's <B +CLASS="COMMAND" +>configure</B +> + (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 ;) ) + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN61" +></A +>How do I compile xine?</H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN63" +></A +>Simple build instructions for beginners</H3 +><P +> Download the latest xine-lib and gxine/xine-ui tarballs, then follow + these instruction. To unpack a tarball, use: + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> tar xfvz tarballname.tar.gz + </PRE +></TD +></TR +></TABLE +><P +> The following instructions will install xine in <TT +CLASS="FILENAME" +>/usr/local</TT +> for all + users. You need root privileges to do this on most systems. + </P +><P +> First unpack xine-lib, then: + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> ./configure + make install + </PRE +></TD +></TR +></TABLE +><P +> Make sure your <TT +CLASS="FILENAME" +>/etc/ld.so.conf</TT +> contains + <TT +CLASS="FILENAME" +>/usr/local/lib</TT +>, then: + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> ldconfig + </PRE +></TD +></TR +></TABLE +><P +> Now unpack your frontend (gxine or xine-ui or ...), then: + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> ./configure + make install + </PRE +></TD +></TR +></TABLE +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN77" +></A +>Complete build instructions</H3 +><P +> The build process is the same for all of the xine modules. + </P +><P +> You have to start with xine-lib. If built and installed successfully, you + can continue with the frontend(s). + </P +><P +> If you have installed xine-lib to a non-standard prefix, make sure you + that you have <TT +CLASS="FILENAME" +>$prefix/bin</TT +> in your PATH and that your linker finds + libs in <TT +CLASS="FILENAME" +> $prefix/lib </TT +> - 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: + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> export PATH="$prefix/bin:$PATH" + export LD_LIBRARY_PATH="$prefix/lib:$LD_LIBRARY_PATH" + </PRE +></TD +></TR +></TABLE +><P +> to make sure libxine can be found by the frontend(s). + </P +><P +> Last but not least. Here the build instructions. As stated earlier, + those are the same for every xine module. + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> ./cvscompile.sh [-> *only* if you checked your sources out of CVS] + ./configure + make + make install + </PRE +></TD +></TR +></TABLE +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN88" +></A +>Making your own RPM packages (xine-lib, xine-ui)</H2 +><P +> Basically you will only have to issue one command, if you have just + downloaded a source tarball from our web site: + </P +><P +> <B +CLASS="COMMAND" +> rpm -ta THE_NAME_OF_YOUR_SOURCE_TAR_BALL </B +> + </P +><P +> 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 + usally <TT +CLASS="FILENAME" +>/usr/src/RPM/RPMS/[YOUR_ARCHITECTURE]</TT +> and a source RPM is written + to your rpm source dir (e.g. <TT +CLASS="FILENAME" +>/usr/src/RPM/SRPMS</TT +>). + </P +><P +> 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 <B +CLASS="COMMAND" +> rpm -ta </B +> command above: + </P +><P +> <B +CLASS="COMMAND" +> ./cvscompile.sh && make clean && make dist </B +> + </P +><P +> In any case, please keep in mind that you have to build and install + xine-lib first before you can proceed with xine-ui. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN101" +></A +>Can I provide additional CFLAGS for compilation?</H2 +><P +> Yes, you can do so by setting the CFLAGS variable and then run + configure again. + </P +><P +> This can be useful to specify additional include paths or library paths + to the compiler. + </P +><P +> Example: <B +CLASS="COMMAND" +> export CFLAGS="-I/usr/include -L/home/guenter/xine_libs" </B +> + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN107" +></A +>Are there binaries for my AMD K7 (Athlon (TM) ) available? Can I build them?</H2 +><P +> 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 setting the xine_BUILD envvar + explicitly to a valid description string for your configuration, e.g. + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> export xine_BUILD=k7-pc-linux-gnu + rm -f config.cache + ./cvscompile.sh + make + make install + </PRE +></TD +></TR +></TABLE +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN111" +></A +>Build problems: xine engine (xine-lib)</H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN113" +></A +>The package doesn't compile at all!</H3 +><P +> 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. + </P +><P +> Read again carefully the output <B +CLASS="COMMAND" +>./configure</B +> + produced and/or compiler warnings and error reports, they often contain + helpfull 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. + </P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN118" +></A +>The Xv video-out plugin fails to compile!</H3 +><P +> If you want to have Xv support compiled in, make sure you either have + a shared Xv library on your system, e.g. + <B +CLASS="COMMAND" +> ls /usr/X11R6/lib/libXv* </B +> + should give you some .so libs, like this: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> /usr/X11R6/lib/libXv.a + /usr/X11R6/lib/libXv.so + /usr/X11R6/lib/libXv.so.1 + </PRE +></TD +></TR +></TABLE +> + </P +><P +> Alternatively you need to have libtool 1.4 or newer installed. If not + and you only got libXv.a you can create the shared versions yourself: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> ld --whole-archive -shared -o libXv.so.1 libXv.a + ln -s libXv.so.1 libXv.so + ldconfig + </PRE +></TD +></TR +></TABLE +> + </P +><P +> Now you should be ready to build the Xv video-out plugin on your system. + </P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN126" +></A +>Build problems: frontend (gxine/xine-ui/...)</H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN128" +></A +>I have installed xine-lib but the frontend complains about not finding it!</H3 +><P +> First of all take a closer look at the compilation instructions above again. + You will probably find your answer there right away. + </P +><P +> As stated there (there again that hint *grin*), make sure that you + have <TT +CLASS="FILENAME" +> $prefix/bin </TT +> in your path and that your + linker is able to find + libraries installed in <TT +CLASS="FILENAME" +>$prefix/lib</TT +> (by the way, $prefix is where you + installed your xine-lib to earlier (yes, installing xine-lib with + <B +CLASS="COMMAND" +> make install </B +> would be a good idea before trying to compile + the frontend ;)). + </P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN135" +></A +>Can I install xine in my home directory (without being root) ?</H2 +><P +> yes. first set up a subdir where you install your private software, eg + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> $ mkdir ~/usr + </PRE +></TD +></TR +></TABLE +><P +> then you have to set a few environment variables - it's probably a good + idea to add this to your <TT +CLASS="FILENAME" +> ~/.bashrc </TT +> (or somewhere similar): + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> export PATH="$HOME/usr/bin:$PATH" + export LD_LIBRARY_PATH="$HOME/usr/lib:$LD_LIBRARY_PATH" + export CFLAGS="-I$HOME/usr/include -L$HOME/usr/lib -O3" + export ACLOCAL_FLAGS="-I $HOME/usr/share/aclocal" + </PRE +></TD +></TR +></TABLE +><P +> now you can unpack tarballs e.g. in <TT +CLASS="FILENAME" +>~/usr/src</TT +> + (<B +CLASS="COMMAND" +>mkdir ~/usr/src</B +> if necessary) and do a + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> $ ./configure --prefix=$HOME/usr + $ make install + </PRE +></TD +></TR +></TABLE +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN146" +></A +></H2 +><P +> </P +><P +> </P +></DIV +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="PLAYBACK" +></A +>Chapter 3. Playback of various stream types</H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN152" +></A +>DVD Playback with xine</H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN154" +></A +>How do I play back DVDs with xine?</H3 +><P +> 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. + </P +><P +> To get DVD playback working, first make sure you have + a symlink <TT +CLASS="FILENAME" +>/dev/dvd</TT +> pointing to your + DVD device on your system. For example, if your DVD drive + is the master ide drive on the second IDE channel, + <TT +CLASS="FILENAME" +>/dev/dvd</TT +> should point to + <TT +CLASS="FILENAME" +>/dev/hdc</TT +>. Please note that if you + are using the ide-scsi emulation on your system, it is + likely that you 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 <B +CLASS="COMMAND" +> cdrecord -scanbus </B +>) + to find out which device it got mapped to and set the + symlink accordingly (should be something like <TT +CLASS="FILENAME" +>/dev/scd0</TT +>, + <TT +CLASS="FILENAME" +>/dev/scd1</TT +>, ... in that case). + Also make sure you (as a user) have sufficient (read) 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. <B +CLASS="COMMAND" +>addgroup cdrom username</B +>), + depending on your setup and/or distribution. + </P +><P +> It is highly recommended to switch DMA mode on for yout DVD drive + (without it even very recent machines will have trouble producing + smooth video output). Use a command like + <B +CLASS="COMMAND" +>hdparm -d 1 device</B +> + 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. + <TT +CLASS="FILENAME" +>/dev/hdc</TT +>), not the mapped <TT +CLASS="FILENAME" +>/dev/scd</TT +> + scsi device. + </P +><P +> 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). + </P +><P +> + 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 (most drives + come with a factory setting of region 0 so they can only play back + region 0 dvds and there are not many of those available). The easiest + way to handle this is to use the regionset utility from + <A +HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz" +TARGET="_top" +> http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz</A +>. + </P +><P +> Once you have everything set up, try something like + <B +CLASS="COMMAND" +> gxine dvd:// </B +> or <B +CLASS="COMMAND" +> xine -p dvd:// </B +> + to start dvd playback. Some frontend also offer so-called autoplay + buttons or menu entries that start dvd playback immediately. + </P +><P +> Important: do not try to mount the DVD. Just insert it and hit the DVD autoplay + button or start xine from the command line. + </P +><P +> If things do not work as expected, try running the <B +CLASS="COMMAND" +> xine-check </B +> + shellscript that comes with libxine to see if this gives you further hints on + what could be wrong. + </P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN178" +></A +>DVD playback works, but it takes a long time until playback starts</H3 +><P +> 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. + </P +><P +> You can download a tool to set the region code of RPC-Drives here: + <A +HREF="http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz" +TARGET="_top" +> http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz + </A +> + </P +><P +> 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. + </P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN184" +></A +>I have problems setting up my RPC-2 drive for the right region!</H3 +><P +> You can download a tool to set the region code of RPC-Drives here: + <A +HREF="http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz" +TARGET="_top" +> http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz + </A +> + </P +><P +> 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. + </P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN189" +></A +>Can I watch Video CDs (VCDs)? SVCDS ? CD-i?</H2 +><P +> xine supports VCD and SVCD playback out-of-the box. Similar to DVDs, + make sure you have a <TT +CLASS="FILENAME" +>/dev/cdrom</TT +> alias pointing + to your CDROM drive which you will use to play back the (S)VCD. + </P +><P +> At the moment, CD-i formats are not supported by xine. + </P +><P +> 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 + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> gxine VCD:// + </PRE +></TD +></TR +></TABLE +> + from the command line. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN196" +></A +>Can I watch Quicktime (.mov, .mp4) files using xine?</H2 +><P +> 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, only very few typically used quicktime audio/video codecs + are 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. + </P +><P +> Possibly the most convenient way to get the Quicktime DLLs is to download + them from the mplayer website + <A +HREF="http://www1.mplayerhq.hu/MPlayer/releases/codecs/" +TARGET="_top" +> http://www1.mplayerhq.hu/MPlayer/releases/codecs/</A +>. + The package is called "QuickTime5 DLLs". Unpack it and move everything you find + inside to <TT +CLASS="FILENAME" +>/usr/lib/win32</TT +> (actually you can place them + anywhere you want, e.g. someplace in your homedirectory, but then you'll + have to set <TT +CLASS="PARAMETER" +><I +>codec.win32_path</I +></TT +> in your + xine config file accordingly). Restart xine then and you should be + able to watch Quicktime trailers. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN203" +></A +>Real Network files/streams</H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN205" +></A +>Can I watch Real (.rm, .ram) files using xine ?</H3 +><P +> The situation with real files and streams is pretty similar to the situation + with Quicktime Streams (see above). Most newer real audio and video formats + are only supported by using binary-only codecs which are available from + real networks but are not included in xine. + </P +><P +> One way to get these codecs is to download and install RealPlayer from + RealNetworks, for example in <TT +CLASS="FILENAME" +>/usr/local/RealPlayer8</TT +> or + <TT +CLASS="FILENAME" +>/opt/RealPlayer8</TT +>. If you installed it in one of these + places, xine should automatically find and use the real binary codecs. + If it doesn't work, try to find out the exact path to where the real codecs + are installed on your system (look for a file named <TT +CLASS="FILENAME" +>rv30.so.6.0</TT +> + which should reside in a directory called <TT +CLASS="FILENAME" +>Codecs</TT +> in the + directory where you have installed RealPlayer in) and set + <TT +CLASS="PARAMETER" +><I +>codec.real_codecs_path</I +></TT +> in your xine config file + accordingly. + </P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN214" +></A +>What about (live) network streams (pnm://, rtsp:// style urls) ?</H3 +><P +> 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 + (currenlty 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. + </P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN217" +></A +>Can I watch Windows Media (.asf/.wmv) files using xine?</H2 +><P +> While the container format (system layer) ASF (wmv is just an alias) + is fully supported in xine, for newer windows media 8 and 9 based streams + you'll need to install windows binary codecs (.DLLs). + </P +><P +> Possibly the most convenient way to get the windows DLLs is to download + them from the mplayer website + <A +HREF="http://www1.mplayerhq.hu/MPlayer/releases/codecs/" +TARGET="_top" +> http://www1.mplayerhq.hu/MPlayer/releases/codecs/</A +>. + The package is called "Win32 Codecpack". Unpack it and move everything you find + inside to <TT +CLASS="FILENAME" +>/usr/lib/win32</TT +> (actually you can place them + anywhere you want, e.g. someplace in your homedirectory, but then you'll + have to set <TT +CLASS="PARAMETER" +><I +>codec.win32_path</I +></TT +> in your + xine config file accordingly). Restart xine then and you should be + able to watch windows media streams. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN224" +></A +>Can I watch Digital TV (Digital Video Broadcast) using xine ?</H2 +><P +> 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 <TT +CLASS="FILENAME" +>doc/README.dvb</TT +> (in the xine-lib tarball) for details. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN228" +></A +>How do I play streams from STDIN?</H2 +><P +> Use something like: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> cat stream.mpg | gxine stdin:// + </PRE +></TD +></TR +></TABLE +> + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN232" +></A +>How can I watch files with external AVI subtitles?</H2 +><P +> This is not supported in current xine 1.0.x releases (but it is being + actively worked on, so please be patient :) ). In xine 0.9.13 + this used to be: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> xine foo.avi%bar.sub + </PRE +></TD +></TR +></TABLE +> + </P +></DIV +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="RUNNING" +></A +>Chapter 4. Running xine </H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN238" +></A +>I have a lot of dropped frames - what can I do?</H2 +><P +> Your hardware might be too slow for xine. Make sure you turn on all + speed optimizing options. A few things you should check: + + <P +></P +><UL +><LI +><P +> first of all, run the <B +CLASS="COMMAND" +>xine-check</B +> script included in xine-lib + package (probably already installed in your system). + <B +CLASS="COMMAND" +>xine-check</B +> will report several of the most common problems + listed here. Sample output from xine-check: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="90%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> $ 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 + </PRE +></TD +></TR +></TABLE +> + </P +></LI +><LI +><P +> use a recent kernel which is optimized for your hardware + </P +></LI +><LI +><P +> use the latest gas/gcc + </P +></LI +><LI +><P +> close other applications (use a tool like "top" to find out + what applications are using up CPU power) + </P +></LI +><LI +><P +> if you are not using Xv, make sure your display is set up + to 16bpp, not 24 or higher (reduces memory bandwith) + </P +></LI +><LI +><P +> make sure the hard drive (or cdrom/dvd drive) which supplies the + video data is in DMA mode (if supported) + </P +><P +> On most linux-based systems, you can use hdparm to check this. + Example: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="90%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> hdparm /dev/hda + + ... + using_dma = 1 (on) + ... + </PRE +></TD +></TR +></TABLE +> + </P +><P +> You can enable DMA mode with the following command: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="90%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> hdparm -d1 device_of_your_drive_that_supplies_video_data + </PRE +></TD +></TR +></TABLE +> + </P +><P +> More information about this may be found here: + <A +HREF="http://oreilly.linux.com/pub/a/linux/2000/06/29/hdparm.html" +TARGET="_top" +> http://oreilly.linux.com/pub/a/linux/2000/06/29/hdparm.html + </A +> + </P +></LI +><LI +><P +> xine needs high speed memory access which depends on your chip set. + Make sure you enable all speed-improving options. + </P +><P +> 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): + </P +><P +> <A +HREF="http://www.overclockers.com/tips105/index03.asp" +TARGET="_top" +>http://www.overclockers.com/tips105/index03.asp</A +> + </P +><P +> This website centers around a windows-tool to tweak the chipset, you + can do the same on FreeBSD with <B +CLASS="COMMAND" +>pciconf</B +>. + On some linux distributions there are similar tools. + </P +></LI +><LI +><P +> a nice performance tuning tool can be found here: + <A +HREF="http://powertweak.sourceforge.net" +TARGET="_top" +>http://powertweak.sourceforge.net</A +> + </P +></LI +><LI +><P +> 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. + </P +><P +> If you're using XFree 4.x, enabling MTRR support in your kernel should + be enough. + </P +><P +> Try a <B +CLASS="COMMAND" +> cat /proc/mtrr </B +> - if the file exists and you find an entry + corresponding to the amount of graphics memory you have, everything + should be fine. + </P +></LI +><LI +><P +> set up and use raw devices for dvd access. + </P +><P +> Raw devices should be available in linux kernel 2.4.x and there are + patches for older kernels available from: + <A +HREF="ftp://ftp.kernel.org/pub/linux/kernel/people/sct/raw-io/" +TARGET="_top" +> ftp://ftp.kernel.org/pub/linux/kernel/people/sct/raw-io/ + </A +> + </P +><P +> To use raw devices, first connect a free raw device to your dvd + device, use something like: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="90%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> raw /dev/raw1 /dev/hdc + </PRE +></TD +></TR +></TABLE +> + </P +><P +> then create a link named "rdvd" pointing to that raw device: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="90%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> raw /dev/raw1 /dev/hdc + </PRE +></TD +></TR +></TABLE +> + </P +></LI +></UL +> + + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN286" +></A +>I have problems when using xine on FreeBSD, Solaris, ... !</H2 +><P +> Check out the the corresponding README files in the directory <TT +CLASS="FILENAME" +>xine-ui/doc</TT +> + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN290" +></A +>What is aalib? How do I use it in xine?</H2 +><P +> 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 ;> + </P +><P +> To use it make sure you have aalib installed correctly before you + configure/build xine-lib and xine-ui. In addition to the <B +CLASS="COMMAND" +>xine</B +> binary a + binary named <B +CLASS="COMMAND" +>aaxine</B +> should get built and installed. You can then use + something like: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> aacine foo.mpg + </PRE +></TD +></TR +></TABLE +> + to use aalib video output. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN297" +></A +>What do all these ~/.xine/config entries mean?</H2 +><P +> You can find information about them in <TT +CLASS="FILENAME" +>xine-ui/doc/README.config_en</TT +>. + </P +></DIV +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="AUDIO" +></A +>Chapter 5. Audio related questions </H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN303" +></A +>What audio drivers does xine support? OSS? Alsa? Arts? Esd?</H2 +><P +> 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). + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN306" +></A +>When I'm watching a movie, the sound effects ar much higher volume than the voices</H2 +><P +> Congratulations, you seem to have an original movie audio track there. + </P +><P +> Uhm. So you don't like it. Well, there are two things you can do: + + <P +></P +><UL +><LI +><P +> 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). + </P +></LI +><LI +><P +> If you have a dolby digital (AC3) soundtrack, you can try + to enable liba52's dynamic range compression setting + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="90%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> codec.a52_dynrng:1 + </PRE +></TD +></TR +></TABLE +> + in your xine config file (or use some gui config dialog). + </P +></LI +></UL +> + + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN316" +></A +>When I play this stream, xine shows video but there's no audio!</H2 +><P +> Well, first try a different audio driver (<B +CLASS="COMMAND" +> gxine -A oss </B +>, + <B +CLASS="COMMAND" +> gxine -A arts </B +> ...). + </P +><P +> 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. + </P +><P +> 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. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN323" +></A +>Can xine produce 4-/5-channel surround audio output?</H2 +><P +> Yep, it can do that using OSS or ALSA drivers, provided that the driver + supports it. On startup xine tells you what modes are supported by your + audio driver, e.g: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> audio_alsa_out : supported modes are mono stereo (4-channel not enabled + in xine config) (5-channel not enabled in xine config) (5.1-channel not + enabled in xine config) (a/52 and DTS pass-through not enabled in xine + config) + </PRE +></TD +></TR +></TABLE +> + </P +><P +> On this machine 4-channel surround would be possible. However, since xine + cannot detect if there are actually speakers connected to the additional + channels, you'll have to activate that feature manually. + </P +><P +> 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 <TT +CLASS="FILENAME" +>.gxine</TT +>/<TT +CLASS="FILENAME" +>.xine</TT +>: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> # 4-channel: + audio.four_channel:1 + + # 5-channel: + audio.five_channel:1 + + # 5.1-channel + audio.five_lfe_channel:0 + </PRE +></TD +></TR +></TABLE +> + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN332" +></A +>What about ac3 output via spdif to an external ac3 decoder?</H2 +><P +> 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 (<TT +CLASS="FILENAME" +>~/.xine/config</TT +>/<TT +CLASS="FILENAME" +>~/.gxine/config</TT +>) + yourself: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> audio.a52_pass_through:1 + </PRE +></TD +></TR +></TABLE +> + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN338" +></A +>Changing the volume with the GUI control has not affect! What's up!?</H2 +><P +> Some xine drivers do not support volume changing although the GUI + will show the volume bar. Usually this is not xines 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. + </P +></DIV +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="VIDEO" +></A +>Chapter 6. Video related questions </H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN343" +></A +>I can hear the audio - but I don't see a picture!</H2 +><P +> Probably your hardware is simply too slow - see above for some + hints on how to speed things up. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN346" +></A +>How can I make xine use the Xv extension and what drivers do I need?</H2 +><P +> xine will normally use Xv by default if it is available. In some cases + you might need to choose Xv playback manually (when the <TT +CLASS="FILENAME" +>~/.xine/config</TT +> + file for some reason says that you want to use XShm): + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> xine -V Xv foo.mpg + </PRE +></TD +></TR +></TABLE +> + </P +><P +> If this doesn't work for you, it may be possible that Xv is not present + on your system. + </P +><P +> First you need to install/use XFree 4.x. Once you got that you have to + make sure the XFree drivers you're using are supporting Xv on your + hardware. Here are some locations to look for suitable drivers: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> CARDS WITH OUT-OF-THE-BOX XV SUPPORT IN XFREE86 4.x: + + 3dfx (voodoo) (URL: ?) + i815 (URL: ?) + Matrox G200/G400 (URL: www.matrox.com) + NVidia (URL: www.nvidia.com) + Permedia 2/3 (URL: ?) + + CARDS WITH YET UNKNOWN STATUS: + + ATI cards (take a look at GATOS: www.linuxvideo.org/gatos/) + Savage (URL: www.probo.com/timr/savage40.html) + </PRE +></TD +></TR +></TABLE +> + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN354" +></A +>Some parts of my X Desktop get transparent when xine plays the video!</H2 +><P +> Looks like some colors on your GUI match the colorkey Xv uses. You can + change the colorkey value to avoid this. There should be a line like: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> video.XV_COLORKEY:2110 + </PRE +></TD +></TR +></TABLE +> + in your <TT +CLASS="FILENAME" +>~/.xine/config</TT +> file where you can change the color that's used + by xine for the video overlay. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN359" +></A +>The aspect ratio of the video is wrong!</H2 +><P +> Try pressing "a" to change the aspect ratio + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN362" +></A +>What is the difference between discarded and skipped frames?</H2 +><P +> Sometimes xine will output a message like that: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> 200 frames delivered, XX frames skipped, YY frames discarded + </PRE +></TD +></TR +></TABLE +> + </P +><P +> 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 later is responsible for scheduling the frames to be displayed at + the right time. + </P +><P +> 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. + </P +><P +> When the frame is decoded to be show 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 section above. + </P +><P +> Note that if a decoder can't skip frames for some reason, you would + never see frames skipped (they would be all discarded). + </P +></DIV +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="ERRORS" +></A +>Chapter 7. Error Messages: What they mean and what you can do</H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN372" +></A +>Starting xine fails with complains about audio drivers/devices!</H2 +><P +> You can select the audio driver using the -A option. So try: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> xine -A null + </PRE +></TD +></TR +></TABLE +> + If you have ALSA drivers installed, try: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> xine -A alsa + </PRE +></TD +></TR +></TABLE +> + If you run ESD (not recommended), try: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> xine -A esd + </PRE +></TD +></TR +></TABLE +> + If you run artsd, try: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> xine -A arts + </PRE +></TD +></TR +></TABLE +> + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN379" +></A +>"no video port found"</H2 +><P +> 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 mpeg-2). + </P +><P +> If all that fails, you can still use plain X11/XShm: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> gxine -V XShm foo.vob + </PRE +></TD +></TR +></TABLE +> + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN384" +></A +>Unable to open dvd drive (/dev/dvd)</H2 +><P +> 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... + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> cd /dev + ln -s hdc dvd + </PRE +></TD +></TR +></TABLE +> + ...should do the job. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN388" +></A +>"demux error! 00 00 00 (should be 0x000001)"</H2 +><P +> 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). + </P +><P +> If it is legal where you life, 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. + </P +><P +> Another reason could be that your (RPC-2) DVD drive isn't set up + for the right region (see above). + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN393" +></A +>"audio driver 'oss' failed, using null driver instead"</H2 +><P +> 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 <B +CLASS="COMMAND" +> gxine -A alsa </B +> to see if this helps. + </P +><P +> 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 <B +CLASS="COMMAND" +>fuser /dev/dsp</B +> + should give you the PID of the process. + </P +><P +> 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: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> gxine -A esd + </PRE +></TD +></TR +></TABLE +> + This may result in worse playback - exact syncronization is not possible + with esd, so using oss should be preferred. + </P +><P +> 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: + <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> gxine -A arts + </PRE +></TD +></TR +></TABLE +> + Or you suspend the aRts daemon by checking the appropriate option in + your aRts control. (recommended) + </P +><P +> 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 loose the ability to do four/five channel audio output. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN404" +></A +>video_out: throwing away image with pts xxx because it's too old</H2 +><P +> This is a performance related problem. + + If you have a fast computer and this message shows from time to + time playing dvd/cdrom, it's very likely that your drive is not + DMA enabled. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN407" +></A +>"No video plugin available to decode 'xxxxxx'."</H2 +><P +> 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. + </P +><P +> 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). + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN411" +></A +>"w32codec: decoder failed to start. Is 'xxxxxx' installed?"</H2 +><P +> You probably don't have the win32 dll needed to decode this file. + </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN414" +></A +>xine just crashed on me - i didn't get any error message</H2 +><P +> 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: + </P +><P +></P +><UL +><LI +><P +> did xine really crash (segfault) or did it hang (deadlock) ? + </P +></LI +><LI +><P +> can you reproduce the bug? (e.g. do you remember what you + did and when you do it again it crashes again?) + </P +></LI +><LI +><P +> check the console output (and include it in a bug report), maybe earlier + there is some output that points to the problem. + </P +></LI +><LI +><P +> Your X server just froze on you? unfortunately that's a know problem + with some chipsets and drivers (most commonly Savage chipsets) when + using Xv. You might want to try running <B +CLASS="COMMAND" +> gxine -V XShm </B +> + 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. + </P +><P +> Maybe at the time you read this, there's an XFree upgrade which fixes + this for the Savage driver. If that works for you, please notify the xine crew at + <TT +CLASS="EMAIL" +><<A +HREF="mailto: xine-user@lists.sf.net " +> xine-user@lists.sf.net </A +>></TT +>, so they can update this FAQ! + </P +></LI +><LI +><P +> 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*). + </P +><P +> Please take a look at our bug report form which is located in the xine-lib + package (doc/bug_report_form). Fill it out accordingly and sent it to our + user mailing list: <TT +CLASS="EMAIL" +><<A +HREF="mailto:xine-user@lists.sourceforge.net" +>xine-user@lists.sourceforge.net</A +>></TT +> + </P +><P +> Thanks for taking the time to help improve xine. + </P +></LI +></UL +></DIV +></DIV +></DIV +></BODY +></HTML +>
\ No newline at end of file diff --git a/doc/faq/faq.sgml b/doc/faq/faq.sgml new file mode 100644 index 000000000..71c76eb67 --- /dev/null +++ b/doc/faq/faq.sgml @@ -0,0 +1,1464 @@ +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ +<!ENTITY intro SYSTEM "intro.sgml"> +]> + +<book> + +<bookinfo> + <title>The xine engine FAQ</title> + <titleabbrev>xine FAQ</titleabbrev> + <copyright> + <year>2001-2003</year> + <holder>the xine project team</holder> + </copyright> +</bookinfo> + +<chapter id="general"> + + <title>General questions about xine and this document</title> + + <sect1> + + <title>What is the xine engine?</title> + + <para> + 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. + </para> + + </sect1> + + <sect1> + + <title> What's the aim and scope of this text? </title> + + <para> + The primary goal of this FAQ is to cover all recurring questions related + to the xine engine. Frontend specific questions are not covered here. + </para> + + </sect1> + + <sect1> + + <title> My question is not yet covered here - where can I ask for help? </title> + + <para> + 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 xine HOWTO and documentation specific to + the frontend (e.g. <command> xine-ui </command> or <command> gxine </command> or + <command> totem </command>). + </para> + + <para> + That said - you are welcome to mail to our user mailing list: + + <email>xine-user@lists.sourceforge.net</email> + + 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. + </para> + + </sect1> + + <sect1> + + <title> What are those xine-lib, xine-ui, gxine, ... modules in cvs for? </title> + + <para> + Some time ago xine just became too complex to be just one big program. + Therefore it was split into two major parts. + </para> + + <para> + xine-lib is simply speaking the engine of xine. It contains all plugins + and is necessary to run anything that relies on xine (this is the part that + is covered in this FAQ). + </para> + + <para> + 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 sinek and totem develop additional frontends. + In the future you will likely see more and different types of apllications + being developed which will use the xine engine for video processing + and other multimedia purposes. + <para> + + <para> + 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. + </para> + + <para> + Other modules in CVS: <filename>xine-plugin</filename> a mozilla browser plugin + for streaming media playback using xine, <filename>xine-www</filename> the + xine project website sources. + </para> + + </sect1> + + <sect1> + + <title> Where and how do I get the latest development version? </title> + + <para> + Be advised that end-users should stick to the official xine releases. + CVS is only intended for developers. + </para> + + <para> + To check out xine-modules from CVS, first do this: + </para> + <para> + <command> cvs -d :pserver:anonymous@cvs.xine.sourceforge.net:/cvsroot/xine login </command> + [empty password] + </para> + <para> + then, to check out individual modules (e.g. <filename>xine-lib</filename>, + <filename>gxine</filename>, <filename>xine-ui</filename>): + </para> + <para> + <command>cvs -d :pserver:anonymous@cvs.xine.sourceforge.net:/cvsroot/xine co modulename</command> + </para> + + </sect1> + + <sect1> + + <title> Where can I find pre-compiled binaries, e.g. RPMs? </title> + + <para> + 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 for further info. + You can also find links to third parties providing xine RPMs on + the xine homepage. + </para> + + <para> + See the next chapter of this FAQ for instructions on how to build xine + from source. + </para> + + </sect1> + +</chapter> + +<chapter id="building"> + + <title> Building and installing xine from source </title> + + <sect1> + + <title> What do I need to compile everything properly? </title> + + <para> + 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. + </para> + + <para> + 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 iss required (including the appropriate header files, which are + often found in a package called zlib-devel or similar.) + </para> + + <para> + If you want to compile xine from CVS, you'll need to have the autobuild tools + installed (automake, autoconf and libtool - in recent versions). + </para> + + <para> + Frontends might need additional libraries, e.g. for gxine you'll need to have + GTK 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. + </para> + + <para> + 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. + </para> + + <para> + Don't worry about this too much right now, xine's <command>configure</command> + (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 ;) ) + </para> + </sect1> + + <sect1> + + <title> How do I compile xine? </title> + + <sect2> + + <title> Simple build instructions for beginners </title> + + <para> + Download the latest xine-lib and gxine/xine-ui tarballs, then follow + these instruction. To unpack a tarball, use: + </para> + <programlisting> + tar xfvz tarballname.tar.gz + </programlisting> + <para> + The following instructions will install xine in <filename>/usr/local</filename> for all + users. You need root privileges to do this on most systems. + </para> + <para> + First unpack xine-lib, then: + </para> + <programlisting> + ./configure + make install + </programlisting> + <para> + Make sure your <filename>/etc/ld.so.conf</filename> contains + <filename>/usr/local/lib</filename>, then: + </para> + <programlisting> + ldconfig + </programlisting> + <para> + Now unpack your frontend (gxine or xine-ui or ...), then: + </para> + <programlisting> + ./configure + make install + </programlisting> + + </sect2> + + <sect2> + + <title> Complete build instructions </title> + + <para> + The build process is the same for all of the xine modules. + </para> + <para> + You have to start with xine-lib. If built and installed successfully, you + can continue with the frontend(s). + </para> + <para> + If you have installed xine-lib to a non-standard prefix, make sure you + that you have <filename>$prefix/bin</filename> in your PATH and that your linker finds + libs in <filename> $prefix/lib </filename> - 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: + </para> + <programlisting> + export PATH="$prefix/bin:$PATH" + export LD_LIBRARY_PATH="$prefix/lib:$LD_LIBRARY_PATH" + </programlisting> + <para> + to make sure libxine can be found by the frontend(s). + </para> + <para> + Last but not least. Here the build instructions. As stated earlier, + those are the same for every xine module. + </para> + <programlisting> + ./cvscompile.sh [-> *only* if you checked your sources out of CVS] + ./configure + make + make install + </programlisting> + + </sect2> + + </sect1> + + <sect1> + + <title> Making your own RPM packages (xine-lib, xine-ui) </title> + + <para> + Basically you will only have to issue one command, if you have just + downloaded a source tarball from our web site: + </para> + + <para> + <command> rpm -ta THE_NAME_OF_YOUR_SOURCE_TAR_BALL </command> + </para> + + <para> + 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 + usally <filename>/usr/src/RPM/RPMS/[YOUR_ARCHITECTURE]</filename> and a source RPM is written + to your rpm source dir (e.g. <filename>/usr/src/RPM/SRPMS</filename>). + </para> + + <para> + 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 <command> rpm -ta </command> command above: + </para> + + <para> + <command> ./cvscompile.sh && make clean && make dist </command> + </para> + + <para> + In any case, please keep in mind that you have to build and install + xine-lib first before you can proceed with xine-ui. + </para> + + </sect1> + + <sect1> + + <title> Can I provide additional CFLAGS for compilation? </title> + + <para> + Yes, you can do so by setting the CFLAGS variable and then run + configure again. + </para> + + <para> + This can be useful to specify additional include paths or library paths + to the compiler. + </para> + + <para> + Example: <command> export CFLAGS="-I/usr/include -L/home/guenter/xine_libs" </command> + </para> + + </sect1> + + <sect1> + + <title> Are there binaries for my AMD K7 (Athlon (TM) ) available? Can I build them? </title> + + <para> + 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 setting the xine_BUILD envvar + explicitly to a valid description string for your configuration, e.g. + </para> + + <programlisting> + export xine_BUILD=k7-pc-linux-gnu + rm -f config.cache + ./cvscompile.sh + make + make install + </programlisting> + + </sect1> + + <sect1> + + <title> Build problems: xine engine (xine-lib) </title> + + <sect2> + + <title> The package doesn't compile at all! </title> + + <para> + 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. + </para> + + <para> + Read again carefully the output <command>./configure</command> + produced and/or compiler warnings and error reports, they often contain + helpfull 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. + </para> + + </sect2> + <sect2> + + <title> The Xv video-out plugin fails to compile! </title> + + <para> + If you want to have Xv support compiled in, make sure you either have + a shared Xv library on your system, e.g. + <command> ls /usr/X11R6/lib/libXv* </command> + should give you some .so libs, like this: + <programlisting> + /usr/X11R6/lib/libXv.a + /usr/X11R6/lib/libXv.so + /usr/X11R6/lib/libXv.so.1 + </programlisting> + </para> + + <para> + Alternatively you need to have libtool 1.4 or newer installed. If not + and you only got libXv.a you can create the shared versions yourself: + <programlisting> + ld --whole-archive -shared -o libXv.so.1 libXv.a + ln -s libXv.so.1 libXv.so + ldconfig + </programlisting> + </para> + + <para> + Now you should be ready to build the Xv video-out plugin on your system. + </para> + + </sect2> + + </sect1> + + <sect1> + + <title> Build problems: frontend (gxine/xine-ui/...) </title> + + <sect2> + + <title> I have installed xine-lib but the frontend complains about not finding it!</title> + + <para> + First of all take a closer look at the compilation instructions above again. + You will probably find your answer there right away. + </para> + + <para> + As stated there (there again that hint *grin*), make sure that you + have <filename> $prefix/bin </filename> in your path and that your + linker is able to find + libraries installed in <filename>$prefix/lib</filename> (by the way, $prefix is where you + installed your xine-lib to earlier (yes, installing xine-lib with + <command> make install </command> would be a good idea before trying to compile + the frontend ;)). + </para> + + </sect2> + </sect1> + + <sect1> + + <title> Can I install xine in my home directory (without being root) ? </title> + + <para> + yes. first set up a subdir where you install your private software, eg + </para> + <programlisting> + $ mkdir ~/usr + </programlisting> + <para> + then you have to set a few environment variables - it's probably a good + idea to add this to your <filename> ~/.bashrc </filename> (or somewhere similar): + </para> + <programlisting> + export PATH="$HOME/usr/bin:$PATH" + export LD_LIBRARY_PATH="$HOME/usr/lib:$LD_LIBRARY_PATH" + export CFLAGS="-I$HOME/usr/include -L$HOME/usr/lib -O3" + export ACLOCAL_FLAGS="-I $HOME/usr/share/aclocal" + </programlisting> + <para> + now you can unpack tarballs e.g. in <filename>~/usr/src</filename> + (<command>mkdir ~/usr/src</command> if necessary) and do a + </para> + <programlisting> + $ ./configure --prefix=$HOME/usr + $ make install + </programlisting> + </sect1> + + <sect1> + + <title> </title> + + <para> + </para> + + <para> + </para> + + </sect1> + + +</chapter> + +<chapter id="playback"> + + <title>Playback of various stream types</title> + + <sect1> + + <title>DVD Playback with xine</title> + + <sect2> + + <title>How do I play back DVDs with xine?</title> + + <para> + 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. + </para> + + <para> + To get DVD playback working, first make sure you have + a symlink <filename>/dev/dvd</filename> pointing to your + DVD device on your system. For example, if your DVD drive + is the master ide drive on the second IDE channel, + <filename>/dev/dvd</filename> should point to + <filename>/dev/hdc</filename>. Please note that if you + are using the ide-scsi emulation on your system, it is + likely that you 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 <command> cdrecord -scanbus </command>) + to find out which device it got mapped to and set the + symlink accordingly (should be something like <filename>/dev/scd0</filename>, + <filename>/dev/scd1</filename>, ... in that case). + Also make sure you (as a user) have sufficient (read) 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. <command>addgroup cdrom username</command>), + depending on your setup and/or distribution. + </para> + + <para> + It is highly recommended to switch DMA mode on for yout DVD drive + (without it even very recent machines will have trouble producing + smooth video output). Use a command like + <command>hdparm -d 1 device</command> + 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. + <filename>/dev/hdc</filename>), not the mapped <filename>/dev/scd</filename> + scsi device. + </para> + + <para> + 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). + </para> + + <para> + 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 (most drives + come with a factory setting of region 0 so they can only play back + region 0 dvds and there are not many of those available). The easiest + way to handle this is to use the regionset utility from + <ulink url="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz"> + http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz</ulink>. + </para> + + <para> + Once you have everything set up, try something like + <command> gxine dvd:// </command> or <command> xine -p dvd:// </command> + to start dvd playback. Some frontend also offer so-called autoplay + buttons or menu entries that start dvd playback immediately. + </para> + + <para> + Important: do not try to mount the DVD. Just insert it and hit the DVD autoplay + button or start xine from the command line. + </para> + + <para> + If things do not work as expected, try running the <command> xine-check </command> + shellscript that comes with libxine to see if this gives you further hints on + what could be wrong. + </para> + + </sect2> + + <sect2> + <title> DVD playback works, but it takes a long time until playback starts </title> + <para> + 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. + </para> + + <para> + You can download a tool to set the region code of RPC-Drives here: + <ulink url="http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz"> + http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz + </ulink> + </para> + + <para> + 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. + </para> + </sect2> + + <sect2> + <title> I have problems setting up my RPC-2 drive for the right region! </title> + <para> + You can download a tool to set the region code of RPC-Drives here: + <ulink url="http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz"> + http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz + </ulink> + </para> + + <para> + 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. + </para> + </sect2> + </sect1> + + <sect1> + + <title> Can I watch Video CDs (VCDs)? SVCDS ? CD-i?</title> + + <para> + xine supports VCD and SVCD playback out-of-the box. Similar to DVDs, + make sure you have a <filename>/dev/cdrom</filename> alias pointing + to your CDROM drive which you will use to play back the (S)VCD. + </para> + + <para> + At the moment, CD-i formats are not supported by xine. + </para> + + <para> + 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 + <programlisting> + gxine VCD:// + </programlisting> + from the command line. + </para> + + </sect1> + + <sect1> + + <title> Can I watch Quicktime (.mov, .mp4) files using xine? </title> + + <para> + 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, only very few typically used quicktime audio/video codecs + are 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. + </para> + + <para> + Possibly the most convenient way to get the Quicktime DLLs is to download + them from the mplayer website + <ulink url="http://www1.mplayerhq.hu/MPlayer/releases/codecs/"> + http://www1.mplayerhq.hu/MPlayer/releases/codecs/</ulink>. + The package is called "QuickTime5 DLLs". Unpack it and move everything you find + inside to <filename>/usr/lib/win32</filename> (actually you can place them + anywhere you want, e.g. someplace in your homedirectory, but then you'll + have to set <parameter>codec.win32_path</parameter> in your + xine config file accordingly). Restart xine then and you should be + able to watch Quicktime trailers. + </para> + + </sect1> + + <sect1> + + <title> Real Network files/streams </title> + + <sect2> + <title> Can I watch Real (.rm, .ram) files using xine ? </title> + + <para> + The situation with real files and streams is pretty similar to the situation + with Quicktime Streams (see above). Most newer real audio and video formats + are only supported by using binary-only codecs which are available from + real networks but are not included in xine. + </para> + + <para> + One way to get these codecs is to download and install RealPlayer from + RealNetworks, for example in <filename>/usr/local/RealPlayer8</filename> or + <filename>/opt/RealPlayer8</filename>. If you installed it in one of these + places, xine should automatically find and use the real binary codecs. + If it doesn't work, try to find out the exact path to where the real codecs + are installed on your system (look for a file named <filename>rv30.so.6.0</filename> + which should reside in a directory called <filename>Codecs</filename> in the + directory where you have installed RealPlayer in) and set + <parameter>codec.real_codecs_path</parameter> in your xine config file + accordingly. + </para> + + </sect2> + + <sect2> + <title> What about (live) network streams (pnm://, rtsp:// style urls) ? </title> + + <para> + 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 + (currenlty 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. + </para> + + </sect2> + + <sect1> + + <title> Can I watch Windows Media (.asf/.wmv) files using xine? </title> + + <para> + While the container format (system layer) ASF (wmv is just an alias) + is fully supported in xine, for newer windows media 8 and 9 based streams + you'll need to install windows binary codecs (.DLLs). + </para> + + <para> + Possibly the most convenient way to get the windows DLLs is to download + them from the mplayer website + <ulink url="http://www1.mplayerhq.hu/MPlayer/releases/codecs/"> + http://www1.mplayerhq.hu/MPlayer/releases/codecs/</ulink>. + The package is called "Win32 Codecpack". Unpack it and move everything you find + inside to <filename>/usr/lib/win32</filename> (actually you can place them + anywhere you want, e.g. someplace in your homedirectory, but then you'll + have to set <parameter>codec.win32_path</parameter> in your + xine config file accordingly). Restart xine then and you should be + able to watch windows media streams. + </para> + + </sect1> + + <sect1> + + <title> Can I watch Digital TV (Digital Video Broadcast) using xine ? </title> + + <para> + 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 <filename>doc/README.dvb</filename> (in the xine-lib tarball) for details. + </para> + + </sect1> + + <sect1> + + <title>How do I play streams from STDIN?</title> + + <para> + Use something like: + <programlisting> + cat stream.mpg | gxine stdin:// + </programlisting> + </para> + </sect1> + + <sect1> + + <title> How can I watch files with external AVI subtitles?</title> + + <para> + This is not supported in current xine 1.0.x releases (but it is being + actively worked on, so please be patient :) ). In xine 0.9.13 + this used to be: + <programlisting> + xine foo.avi%bar.sub + </programlisting> + </para> + </sect1> + +</chapter> + +<chapter id="running"> + + <title> Running xine </title> + + <sect1> + + <title>I have a lot of dropped frames - what can I do?</title> + + <para> + Your hardware might be too slow for xine. Make sure you turn on all + speed optimizing options. A few things you should check: + + <itemizedlist> + <listitem> + <para> + first of all, run the <command>xine-check</command> script included in xine-lib + package (probably already installed in your system). + <command>xine-check</command> will report several of the most common problems + listed here. Sample output from xine-check: + <programlisting> + $ 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 + </programlisting> + </para> + </listitem> + <listitem> + <para> + use a recent kernel which is optimized for your hardware + </para> + </listitem> + <listitem> + <para> + use the latest gas/gcc + </para> + </listitem> + <listitem> + <para> + close other applications (use a tool like "top" to find out + what applications are using up CPU power) + </para> + </listitem> + <listitem> + <para> + if you are not using Xv, make sure your display is set up + to 16bpp, not 24 or higher (reduces memory bandwith) + </para> + </listitem> + <listitem> + <para> + make sure the hard drive (or cdrom/dvd drive) which supplies the + video data is in DMA mode (if supported) + </para> + <para> + On most linux-based systems, you can use hdparm to check this. + Example: + <programlisting> + hdparm /dev/hda + + ... + using_dma = 1 (on) + ... + </programlisting> + </para> + <para> + You can enable DMA mode with the following command: + <programlisting> + hdparm -d1 device_of_your_drive_that_supplies_video_data + </programlisting> + </para> + <para> + More information about this may be found here: + <ulink url="http://oreilly.linux.com/pub/a/linux/2000/06/29/hdparm.html"> + http://oreilly.linux.com/pub/a/linux/2000/06/29/hdparm.html + </ulink> + </para> + </listitem> + <listitem> + <para> + xine needs high speed memory access which depends on your chip set. + Make sure you enable all speed-improving options. + </para> + <para> + 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): + </para> + <para> + <ulink url="http://www.overclockers.com/tips105/index03.asp">http://www.overclockers.com/tips105/index03.asp</ulink> + </para> + <para> + This website centers around a windows-tool to tweak the chipset, you + can do the same on FreeBSD with <command>pciconf</command>. + On some linux distributions there are similar tools. + </para> + </listitem> + <listitem> + <para> + a nice performance tuning tool can be found here: + <ulink url="http://powertweak.sourceforge.net">http://powertweak.sourceforge.net</ulink> + </para> + </listitem> + <listitem> + <para> + 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. + </para> + <para> + If you're using XFree 4.x, enabling MTRR support in your kernel should + be enough. + </para> + <para> + Try a <command> cat /proc/mtrr </command> - if the file exists and you find an entry + corresponding to the amount of graphics memory you have, everything + should be fine. + </para> + </listitem> + <listitem> + <para> + set up and use raw devices for dvd access. + </para> + <para> + Raw devices should be available in linux kernel 2.4.x and there are + patches for older kernels available from: + <ulink url="ftp://ftp.kernel.org/pub/linux/kernel/people/sct/raw-io/"> + ftp://ftp.kernel.org/pub/linux/kernel/people/sct/raw-io/ + </ulink> + </para> + <para> + To use raw devices, first connect a free raw device to your dvd + device, use something like: + <programlisting> + raw /dev/raw1 /dev/hdc + </programlisting> + </para> + <para> + then create a link named "rdvd" pointing to that raw device: + <programlisting> + raw /dev/raw1 /dev/hdc + </programlisting> + </para> + </itemizedlist> + + </sect1> + + <sect1> + + <title>I have problems when using xine on FreeBSD, Solaris, ... !</title> + + <para> + Check out the the corresponding README files in the directory <filename>xine-ui/doc</filename> + </para> + </sect1> + + + <sect1> + + <title> What is aalib? How do I use it in xine? </title> + + <para> + 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 ;> + </para> + <para> + To use it make sure you have aalib installed correctly before you + configure/build xine-lib and xine-ui. In addition to the <command>xine</command> binary a + binary named <command>aaxine</command> should get built and installed. You can then use + something like: + <programlisting> + aacine foo.mpg + </programlisting> + to use aalib video output. + </para> + </sect1> + + <sect1> + + <title>What do all these ~/.xine/config entries mean?</title> + + <para> + You can find information about them in <filename>xine-ui/doc/README.config_en</filename>. + </para> + </sect1> +</chapter> + +<chapter id="audio"> + + <title> Audio related questions </title> + + <sect1> + + <title>What audio drivers does xine support? OSS? Alsa? Arts? Esd?</title> + + <para> + 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). + </para> + </sect1> + + <sect1> + + <title> When I'm watching a movie, the sound effects ar much higher volume than the voices</title> + + <para> + Congratulations, you seem to have an original movie audio track there. + </para> + <para> + Uhm. So you don't like it. Well, there are two things you can do: + + <itemizedlist> + <listitem> + <para> + 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). + </para> + </listitem> + <listitem> + <para> + If you have a dolby digital (AC3) soundtrack, you can try + to enable liba52's dynamic range compression setting + <programlisting> + codec.a52_dynrng:1 + </programlisting> + in your xine config file (or use some gui config dialog). + </para> + </listitem> + </itemizedlist> + + </para> + </sect1> + <sect1> + + <title> When I play this stream, xine shows video but there's no audio!</title> + + <para> + Well, first try a different audio driver (<command> gxine -A oss </command>, + <command> gxine -A arts </command> ...). + </para> + <para> + 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. + </para> + <para> + 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. + </para> + </sect1> + <sect1> + + <title>Can xine produce 4-/5-channel surround audio output?</title> + + <para> + Yep, it can do that using OSS or ALSA drivers, provided that the driver + supports it. On startup xine tells you what modes are supported by your + audio driver, e.g: + <programlisting> + audio_alsa_out : supported modes are mono stereo (4-channel not enabled + in xine config) (5-channel not enabled in xine config) (5.1-channel not + enabled in xine config) (a/52 and DTS pass-through not enabled in xine + config) + </programlisting> + </para> + <para> + On this machine 4-channel surround would be possible. However, since xine + cannot detect if there are actually speakers connected to the additional + channels, you'll have to activate that feature manually. + </para> + <para> + 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 <filename>.gxine</filename>/<filename>.xine</filename>: + <programlisting> + # 4-channel: + audio.four_channel:1 + + # 5-channel: + audio.five_channel:1 + + # 5.1-channel + audio.five_lfe_channel:0 + </programlisting> + </para> + </sect1> + <sect1> + + <title>What about ac3 output via spdif to an external ac3 decoder?</title> + + <para> + 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 (<filename>~/.xine/config</filename>/<filename>~/.gxine/config</filename>) + yourself: + <programlisting> + audio.a52_pass_through:1 + </programlisting> + </para> + </sect1> + <sect1> + + <title>Changing the volume with the GUI control has not affect! What's up!?</title> + + <para> + Some xine drivers do not support volume changing although the GUI + will show the volume bar. Usually this is not xines 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. + </para> + </sect1> + +</chapter> + +<chapter id="video"> + + <title> Video related questions </title> + <sect1> + + <title>I can hear the audio - but I don't see a picture!</title> + + <para> + Probably your hardware is simply too slow - see above for some + hints on how to speed things up. + </para> + </sect1> + + <sect1> + + <title>How can I make xine use the Xv extension and what drivers do I need?</title> + + <para> + xine will normally use Xv by default if it is available. In some cases + you might need to choose Xv playback manually (when the <filename>~/.xine/config</filename> + file for some reason says that you want to use XShm): + <programlisting> + xine -V Xv foo.mpg + </programlisting> + </para> + <para> + If this doesn't work for you, it may be possible that Xv is not present + on your system. + </para> + <para> + First you need to install/use XFree 4.x. Once you got that you have to + make sure the XFree drivers you're using are supporting Xv on your + hardware. Here are some locations to look for suitable drivers: + <programlisting> + CARDS WITH OUT-OF-THE-BOX XV SUPPORT IN XFREE86 4.x: + + 3dfx (voodoo) (URL: ?) + i815 (URL: ?) + Matrox G200/G400 (URL: www.matrox.com) + NVidia (URL: www.nvidia.com) + Permedia 2/3 (URL: ?) + + CARDS WITH YET UNKNOWN STATUS: + + ATI cards (take a look at GATOS: www.linuxvideo.org/gatos/) + Savage (URL: www.probo.com/timr/savage40.html) + </programlisting> + </sect1> + <sect1> + + <title>Some parts of my X Desktop get transparent when xine plays the video!</title> + + <para> + Looks like some colors on your GUI match the colorkey Xv uses. You can + change the colorkey value to avoid this. There should be a line like: + <programlisting> + video.XV_COLORKEY:2110 + </programlisting> + in your <filename>~/.xine/config</filename> file where you can change the color that's used + by xine for the video overlay. + </para> + </sect1> + <sect1> + + <title>The aspect ratio of the video is wrong!</title> + + <para> + Try pressing "a" to change the aspect ratio + </para> + </sect1> + <sect1> + + <title>What is the difference between discarded and skipped frames?</title> + + <para> + Sometimes xine will output a message like that: + <programlisting> + 200 frames delivered, XX frames skipped, YY frames discarded + </programlisting> + </para> + <para> + 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 later is responsible for scheduling the frames to be displayed at + the right time. + </para> + <para> + 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. + </para> + <para> + When the frame is decoded to be show 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 section above. + </para> + <para> + Note that if a decoder can't skip frames for some reason, you would + never see frames skipped (they would be all discarded). + </para> + </sect1> + +</chapter> + +<chapter id="errors"> + + <title> Error Messages: What they mean and what you can do</title> + <sect1> + + <title>Starting xine fails with complains about audio drivers/devices!</title> + + <para> + You can select the audio driver using the -A option. So try: + <programlisting> + xine -A null + </programlisting> + If you have ALSA drivers installed, try: + <programlisting> + xine -A alsa + </programlisting> + If you run ESD (not recommended), try: + <programlisting> + xine -A esd + </programlisting> + If you run artsd, try: + <programlisting> + xine -A arts + </programlisting> + </para> + </sect1> + <sect1> + + <title>"no video port found"</title> + + <para> + 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 mpeg-2). + </para> + <para> + If all that fails, you can still use plain X11/XShm: + <programlisting> + gxine -V XShm foo.vob + </programlisting> + </para> + </sect1> + <sect1> + + <title>Unable to open dvd drive (/dev/dvd)</title> + + <para> + 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... + <programlisting> + cd /dev + ln -s hdc dvd + </programlisting> + ...should do the job. + </para> + </sect1> + <sect1> + + <title>"demux error! 00 00 00 (should be 0x000001)"</title> + + <para> + 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). + </para> + <para> + If it is legal where you life, 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. + </para> + <para> + Another reason could be that your (RPC-2) DVD drive isn't set up + for the right region (see above). + </para> + </sect1> + <sect1> + + <title>"audio driver 'oss' failed, using null driver instead"</title> + + <para> + 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 <command> gxine -A alsa </command> to see if this helps. + </para> + <para> + 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 <command>fuser /dev/dsp</command> + should give you the PID of the process. + </para> + <para> + 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: + <programlisting> + gxine -A esd + </programlisting> + This may result in worse playback - exact syncronization is not possible + with esd, so using oss should be preferred. + </para> + <para> + 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: + <programlisting> + gxine -A arts + </programlisting> + Or you suspend the aRts daemon by checking the appropriate option in + your aRts control. (recommended) + </para> + <para> + 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 loose the ability to do four/five channel audio output. + </para> + </sect1> + <sect1> + + <title>video_out: throwing away image with pts xxx because it's too old</title> + + <para> + This is a performance related problem. + + If you have a fast computer and this message shows from time to + time playing dvd/cdrom, it's very likely that your drive is not + DMA enabled. + </para> + </sect1> + <sect1> + + <title>"No video plugin available to decode 'xxxxxx'."</title> + + <para> + 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. + </para> + <para> + 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). + </para> + </sect1> + <sect1> + + <title>"w32codec: decoder failed to start. Is 'xxxxxx' installed?"</title> + + <para> + You probably don't have the win32 dll needed to decode this file. + </para> + </sect1> + <sect1> + + <title>xine just crashed on me - i didn't get any error message</title> + + <para> + 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: + </para> + + <itemizedlist> + <listitem> + <para> + did xine really crash (segfault) or did it hang (deadlock) ? + </para> + </listitem> + <listitem> + <para> + can you reproduce the bug? (e.g. do you remember what you + did and when you do it again it crashes again?) + </para> + </listitem> + <listitem> + <para> + check the console output (and include it in a bug report), maybe earlier + there is some output that points to the problem. + </para> + </listitem> + <listitem> + <para> + Your X server just froze on you? unfortunately that's a know problem + with some chipsets and drivers (most commonly Savage chipsets) when + using Xv. You might want to try running <command> gxine -V XShm </command> + 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. + </para> + <para> + Maybe at the time you read this, there's an XFree upgrade which fixes + this for the Savage driver. If that works for you, please notify the xine crew at + <email> xine-user@lists.sf.net </email>, so they can update this FAQ! + </para> + </listitem> + <listitem> + <para> + 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*). + </para> + <para> + Please take a look at our bug report form which is located in the xine-lib + package (doc/bug_report_form). Fill it out accordingly and sent it to our + user mailing list: <email>xine-user@lists.sourceforge.net</email> + </para> + <para> + Thanks for taking the time to help improve xine. + </para> + </listitem> + </itemizedlist> + </sect1> +</chapter> + |