||This article needs additional citations for verification. (June 2008)|
|This article relies on references to primary sources. (June 2011)|
|Stable release||1.2.2 (June 9, 2012[±])|
|Stable release||0.99.7 (June 9, 2012[±])|
|Preview release||none (n/a) [±]|
|Stable release||0.5.907 (February 21, 2012[±])|
|Stable release||1.0.2 (July 26, 2008[±])|
xine (pron.: //) is a multimedia playback engine for Unix-like operating systems released under the GNU General Public License. xine is built around a shared library (xine-lib) that supports different frontend player applications. Another important feature of xine is the ability to manually correct the synchronization of audio and video streams. xine uses libraries from other projects such as liba52, libmpeg2, FFmpeg, libmad, FAAD2, and Ogle. xine can also use binary Windows codecs through a wrapper, bundled as the w32codecs, for playback of some media formats that are not handled natively.
xine was started in 2000 by Günter Bartsch shortly after LinuxTag. At that time playing DVDs in Linux was described as a tortuous process since one had to manually create audio and video named pipes and start their separated decoder processes.
Günter realized the OMS (Open Media System) or LiViD approach had obvious shortcomings in terms of audio and video synchronization, so xine was born as an experiment trying to get it right. The project evolved into a modern media player multi-threaded architecture.
During xine development, some effort was dedicated to making a clear separation of the player engine (xine-lib) and front-end (xine-ui). Since the 1.0 release (2004-12-25) the API of xine-lib is considered stable and several applications and players rely on it.
Günter left the project in 2003 when he officially announced the new project leaders, Miguel Freitas, Michael Roitzsch, Mike Melanson and Thibaut Mattern.
- Physical media: CDs, DVDs, Video CDs
- Container formats: 3gp, AVI, ASF, FLV, Matroska, MOV (QuickTime), MP4, NUT, Ogg, OGM, RealMedia
- Audio formats: AAC, AC3, ALAC, AMR, FLAC, MP3, RealAudio, Shorten, Speex, Vorbis, WMA
- Video formats: Cinepak, DV, H.263, H.264/MPEG-4 AVC, HuffYUV, Indeo, MJPEG, MPEG-1, MPEG-2, MPEG-4 ASP, RealVideo, Sorenson, Theora, WMV (partial, including WMV1, WMV2 and WMV3; via FFmpeg)
- Video devices: V4L, DVB, PVR
- Network protocols: HTTP, TCP, UDP, RTP, SMB, MMS, PNM, RTSP
DVD issues 
Since it is not a member of DVD Forum, the xine project is not contractually obliged to insert user operation prohibition such as disallowing fast-forward or skipping during trailers and ads. However, without membership in the Forum, the project also cannot make xine play DVDs encrypted with CSS except by using reverse-engineered code. xine therefore uses the libdvdcss library, which was created by reverse engineering. The legal status of libdvdcss is questionable in several nations; in the United States, for example, the Digital Millennium Copyright Act arguably prohibits reverse-engineering of CSS. Virtually all commercial DVDs are encrypted with CSS.
Other issues 
To prevent a screensaver from starting, xine sends a scroll lock key signal to the environment to pretend keyboard interaction took place. This can often lead to issues with other programs running as they receive the scroll lock key as normal input. One example is the Konsole terminal emulator, which changes the behaviour of the arrow keys when scroll lock is used.
xine backend 
The shared library (xine-lib) used and developed by xine is also used by other projects. For example, it can be used instead of GStreamer as a backend for the Phonon media framework used by KDE and Qt.
See also 
- List of codecs
- Comparison of container formats
- Comparison of video player software
- Kaffeine, a player for KDE that can use xine
- Totem, a player for GNOME that could use xine until version 2.27.1
- XinePlayer (Mac OS X frontend)
- MPlayer and MEncoder (use libavcodec and libavformat from FFmpeg, share some code/libraries with xine)
- Amarok, a music player that can use xine as one of its playback engines
- VLC media player (uses libavcodec from FFmpeg, share some code/libraries with xine)
- "the xine project - Features". xine-project.org. Retrieved 2010-05-28.
- "xine FAQ, How do I pronounce "xine"?". xine-project.org. Retrieved 2006-08-03.
- "About xine". xine-project.org. Retrieved 2006-11-14.
- "Ancient Linux DVD HOWTO (How DVDs were played on Linux in the twentieth century)". faqs.org. Retrieved 2007-02-06.
- "The xine hacker's guide - Engine architecture and data flow". xine-project.org. Retrieved 2007-02-06.
- "Xine(5) MRL Man Page". thelinuxblog.com. Retrieved 2008-06-09.