xine is a free (gpl-licensed) high-performance, portable and reusable multimedia playback engine. xine itself is a shared library with an easy to use, yet powerful API which is used by many applications for smooth video playback and video processing purposes.
xine tries to be as portable as possible. Supported platforms include: –
* GNU/Linux (x86, alpha, sparc, ppc, …)
* FreeBSD (x86)
* Solaris (sparc and x86)
* Irix (mips)
* Darwin/MacOS X (ppc) via the fink project
Support for the following platforms is in progress (help is always appreciated):
* MS Windows (partially working and committed to hg)
* HPUX (patches received)
* OpenBSD (patches received)
* OS/2 (external site)
Many different video output plugins ("drivers") exist. If you’re using X11, the use of the Xv extension (XFree 4.x, X.Org) is highly recommended. Xv makes use of some capabilities of video cards, most notably colour space conversion and scaling, for faster and smoother playback. Audio output is supported on OSS, Alsa, artsd, esd (not recommended) and IRIXAL (irix/mips only), Sun audio
xine is a free, GPL-licensed video player for unix-like systems. The software is based on a modular, advanced multi-threaded architecture composed of:
xine-engine – The core of xine is responsible for synchronizing audio, video and overlays. It provides high performance comunication functionality between modules, logging capability, unified configuration system, On Screen Display support, fast MMX/MMXEXT/SSE memory transfers, among other important things.
input plugins – They provide input data to xine and may be seen as an abstraction layer for DVDs, files, http, pipes, VCDs so that the rest of xine does not need to know from where the data is coming. Several input plugins for xine are already available over the internet from third party programmers.
demuxer plugins – These plugins are responsible for understanding file formats like AVI, MOV, ASF and others. These file formats don’t define how video and audio are encoded but how the encoded data is mixed together (multiplexed). An AVI file, for example, may have DivX4 video and MP3 audio, MPEG2 video and AC3 audio, etc.
decoder plugins – These plugins receive the encoded data (video, audio or subtitles) and deliver them uncompressed to the engine to be played or shown. Examples of encoding formats (also called "codecs") are MPEG2, MP3, Ogg Vorbis and Windows Media Video 7/8/9.
output plugins – xine runs on a wide variety of hardware and operating systems therefore it need to have different means of displaying video and audio. These plugins are like drivers, they talk directly to the system so xine-engine does not need to handle the details. Some video output plugins have been developed to utilize several hardware capabilities like color conversion, scaling and refresh sync to provide the best multimedia experience and at the same time, reuiring less CPU processing.