What is it all about?
This project attempts to provide a working implementation of a few
multimedia-related utilities for x86 Linux. At the time of
its creation in May 2000 its primary goal was creation of
video capture and recompression applications that would work
with most popular AVI file format and newest data compression
methods ( Indeo Video and variations of MPEG-4 for image compression
and MPEG Layer-3/Windows Media Audio for sound ). The core idea
of the project was in using Win32 dynamic-link libraries in Linux
environment.
However, it has become most popular because of its side product -
an AVI movie player that could play DivX ;-) movies in Linux with
reasonable performance and stability. Since then most of work was
done in this direction. Now it supports a wide range of codecs ( compressors/decompressors ) such as DivX ;-), Indeo Video, I263, and others,
able to show subtitles and perform video output using YUV overlays when
necessary support from hardware and operating system is available. It is
also able to play most files in ASF format, and current development CVS code
is capable of streaming ASF media over HTTP.
The project is not intended to provide 'universal' media framework for
Linux, nor to do much more than what it currently does. Moreover, it's mostly
a proof-of-concept work. It was the first project that introduced the
idea of using Windows DLLs and very limited ( ~50 Kbytes of code )
subset of Win32 API for audio/video (de)compression in *nix environments, the idea
which is already reused in several other - more general - software projects.
It is the first project that extends that idea to the usage of DirectShow audio/video decoders for the same purpose ( by emulating DirectShow/DCOM environment
from decoder point of view ). It is the only project that includes a player
for files in Advanced Streaming Format. All these features are essential for the
complete modern multimedia environment, and hopefully will become available in
near future in such perspective architectures as Arts ( KDE ) or GStreamer ( Gnome ).
Aside from reusing the ideas, the project is used as is in a few media players for Linux, such as XMMS, XTheater or LAMP.
The code of this project is distributed under General Public License version 2. Basically it means that you may do anything you want with this code, but if you want to redistribute
it or any its derivatives, you have to do it under GPL and you have to make the source code available. For more details visit the site of Free Software Foundation.
Legal issues covering Win32 DLLs which accompany source code are a bit more complicated. These DLLs are freely available in the Internet ( exact URLs to most of them are available on this site ). For those DLLs which come with the license, their copyright owners allow using them at no cost if you do not disassemble, reverse-engineer them, etc. In some cases ( Indeo Video ) they explicitly allow to include these files into other projects under mentioned restrictions.
Many DLLs are available without having to accept any license agreement at all ( DivX ;-), all DirectShow codecs ), what obviously means that any kind of activity with them is acceptable.
There is no warranty about the quality of this project.
It is written mostly by one former university student with background in the area of Applied Physics in his spare time. I cannot even guarantee that it compiles properly on your system, because I don't have resources to test it on all existing distributions of Linux and flavors of Unix. I try to resolve the issues that I'm informed about.