Xine
Encyclopedia
xine is a multimedia
playback engine for Unix-like
operating system
s 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.
. At that time playing DVD
s in Linux
was described as a tortuous process since one had to manually create audio and video named pipe
s 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.
, 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.
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.
as a backend for the Phonon
media framework used by KDE
and Qt.
Multimedia
Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...
playback engine for Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s released under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
. 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
Synchronization
Synchronization is timekeeping which requires the coordination of events to operate a system in unison. The familiar conductor of an orchestra serves to keep the orchestra in time....
of audio and video streams. xine uses libraries from other projects such as liba52, libmpeg2
Libmpeg2
libmpeg2 is a free and open source software library for decoding MPEG-1 and MPEG-2 video streams. libmpeg2 is released under the terms of the GNU GPL license.-Legality and software patents:...
, FFmpeg
FFmpeg
FFmpeg is a free software project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line...
, libmad
MPEG Audio Decoder
MPEG Audio Decoder is a GPL library to decode files that have been encoded with an MPEG audio codec, written by Robert Leslie and produced by Underbit Technologies. It was developed as a new implementation, on the ISO/IEC standards....
, FAAD2, and Ogle
Ogle DVD Player
Ogle is a DVD player for GNU/Linux, and other Unix-like operating systems. It is released as free software under the GNU GPL license. It was originally developed in 1999 by a few students at Chalmers Tekniska Högskola in Göteborg, Sweden, and maintained until late 2003...
. 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.
History
xine was started in 2000 by Günter Bartsch shortly after LinuxTagLinuxTag
LinuxTag is a Free Software expo with an emphasis on Linux , held every summer in Germany. It is relatively large, claiming that it is the largest expo of this kind in Europe, drawing visitors from many countries....
. At that time playing DVD
DVD
A DVD is an optical disc storage media format, invented and developed by Philips, Sony, Toshiba, and Panasonic in 1995. DVDs offer higher storage capacity than Compact Discs while having the same dimensions....
s in Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
was described as a tortuous process since one had to manually create audio and video named pipe
Named pipe
In computing, a named pipe is an extension to the traditional pipe concept on Unix and Unix-like systems, and is one of the methods of inter-process communication. The concept is also found in Microsoft Windows, although the semantics differ substantially...
s and start their separated decoder processes.
Günter realized the OMS (Open Media System) or LiViD
LiViD
LiViD, short for Linux Video and DVD, was a collection of projects that aim to create program tools and software libraries related to DVD for Linux operating system.The projects included:* OMS* GATOS* mpeg2dec* ac3dec...
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
Front-end and back-end
Front end and back end are generalized terms that refer to the initial and the end stages of a process. The front end is responsible for collecting input in various forms from the user and processing it to conform to a specification the back end can use...
(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.
Supported media formats
- Physical media: CDsCompact DiscThe Compact Disc is an optical disc used to store digital data. It was originally developed to store and playback sound recordings exclusively, but later expanded to encompass data storage , write-once audio and data storage , rewritable media , Video Compact Discs , Super Video Compact Discs ,...
, DVDDVDA DVD is an optical disc storage media format, invented and developed by Philips, Sony, Toshiba, and Panasonic in 1995. DVDs offer higher storage capacity than Compact Discs while having the same dimensions....
s, Video CDVideo CDBefore the advent of DVD and Blu-ray, the Video CD became the first format for distributing films on standard 120 mm optical discs. The format is a standard digital format for storing video on a Compact Disc...
s - Container formats: 3gp3GP3GP is a multimedia container format defined by the Third Generation Partnership Project for 3G UMTS multimedia services. It is used on 3G mobile phones but can also be played on some 2G and 4G phones....
, AVIAudio Video InterleaveAudio Video Interleave , known by its acronym AVI, is a multimedia container format introduced by Microsoft in November 1992 as part of its Video for Windows technology. AVI files can contain both audio and video data in a file container that allows synchronous audio-with-video playback...
, ASFAdvanced Systems FormatAdvanced Systems Format is Microsoft's proprietary digital audio/digital video container format, especially meant for streaming media...
, FLVFLVFlash Video is a container file format used to deliver video over the Internet using Adobe Flash Player versions 6–11. Flash Video content may also be embedded within SWF files. There are two different video file formats known as Flash Video: FLV and F4V. The audio and video data within FLV files...
, MatroskaMatroskaThe Matroska Multimedia Container is an open standard free container format, a file format that can hold an unlimited number of video, audio, picture or subtitle tracks in one file. It is intended to serve as a universal format for storing common multimedia content, like movies or TV shows...
, MOV (QuickTime)QuickTimeQuickTime is an extensible proprietary multimedia framework developed by Apple Inc., capable of handling various formats of digital video, picture, sound, panoramic images, and interactivity. The classic version of QuickTime is available for Windows XP and later, as well as Mac OS X Leopard and...
, MP4, NUT, OggOggOgg is a free, open container format maintained by the Xiph.Org Foundation. The creators of the Ogg format state that it is unrestricted by software patents and is designed to provide for efficient streaming and manipulation of high quality digital multimedia.The Ogg container format can multiplex...
, OGM, RealMediaRealMediaRealMedia is a proprietary multimedia container format created by RealNetworks. Its extension is ".rm". It is typically used in conjunction with RealVideo and RealAudio and is used for streaming content over the Internet.... - Audio formats: AACAdvanced Audio CodingAdvanced Audio Coding is a standardized, lossy compression and encoding scheme for digital audio. Designed to be the successor of the MP3 format, AAC generally achieves better sound quality than MP3 at similar bit rates....
, AC3, ALACApple LosslessApple Lossless Apple Lossless Apple Lossless (also known as ALAC (Apple Lossless Audio Codec), or ALE (Apple Lossless Encoder) is an audio codec developed by Apple Inc. for lossless data compression of digital music. After initially being proprietary for many years, in late 2011 Apple open sourced...
, AMRAdaptive Multi-RateThe Adaptive Multi-Rate audio codec is a patented audio data compression scheme optimized for speech coding. AMR was adopted as the standard speech codec by 3GPP in October 1999 and is now widely used in GSM and UMTS...
, FLACFLACFLAC is a codec which allows digital audio to be losslessly compressed such that file size is reduced without any information being lost...
, MP3MP3MPEG-1 or MPEG-2 Audio Layer III, more commonly referred to as MP3, is a patented digital audio encoding format using a form of lossy data compression...
, RealAudioRealAudioRealAudio is a proprietary audio format developed by RealNetworks and first released in April 1995. It uses a variety of audio codecs, ranging from low-bitrate formats that can be used over dialup modems, to high-fidelity formats for music. It can also be used as a streaming audio format, that is...
, ShortenShortenShorten is a file format used for compressing audio data. It is a form of data compression of files and is used to losslessly compress CD-quality audio files . Shorten is no longer developed and more recent lossless audio codecs such as FLAC, Monkey's Audio , TTA, and WavPack have become more...
, SpeexSpeexSpeex is a patent-free audio compression format designed for speech and also a free software speech codec that may be used on VoIP applications and podcasts. It is based on the CELP speech coding algorithm. Speex claims to be free of any patent restrictions and is licensed under the revised BSD...
, VorbisVorbisVorbis is a free software / open source project headed by the Xiph.Org Foundation . The project produces an audio format specification and software implementation for lossy audio compression...
, WMAWindows Media AudioWindows Media Audio is an audio data compression technology developed by Microsoft. The name can be used to refer to its audio file format or its audio codecs. It is a proprietary technology that forms part of the Windows Media framework. WMA consists of four distinct codecs... - Video formats: CinepakCinepakCinepak is a video codec developed by Peter Barrett at SuperMac Technologies, and released in 1991 with the Video Spigot, and then in 1992 as part of Apple Computer's QuickTime video suite. It was designed to encode 320x240 resolution video at 1x CD-ROM transfer rates. The codec was ported to the...
, DVDVDV is a format for the digital recording and playing back of digital video. The DV codec was launched in 1995 with joint efforts of leading producers of video camcorders....
, H.263H.263H.263 is a video compression standard originally designed as a low-bitrate compressed format for videoconferencing. It was developed by the ITU-T Video Coding Experts Group in a project ending in 1995/1996 as one member of the H.26x family of video coding standards in the domain of the ITU-T.H.263...
, H.264/MPEG-4 AVCH.264/MPEG-4 AVCH.264/MPEG-4 Part 10 or AVC is a standard for video compression, and is currently one of the most commonly used formats for the recording, compression, and distribution of high definition video...
, HuffYUVHuffyuvHuffyuv is a lossless video codec created by Ben Rudiak-Gould which is meant to replace uncompressed YCbCr as a video capture format.Despite the "YUV" in the name, it does not compress the YUV color space, but YCbCr...
, IndeoIndeoIndeo Video is a video codec developed by Intel in 1992. It was sold to Ligos Corporation in 2000. While its original version was related to Intel's DVI video stream format, a hardware-only codec for the compression of television-quality video onto compact disks, Indeo was distinguished by being...
, MJPEGMJPEGIn multimedia, Motion JPEG is an informal name for a class of video formats where each video frame or interlaced field of a digital video sequence is separately compressed as a JPEG image...
, MPEG-1MPEG-1MPEG-1 is a standard for lossy compression of video and audio. It is designed to compress VHS-quality raw digital video and CD audio down to 1.5 Mbit/s without excessive quality loss, making video CDs, digital cable/satellite TV and digital audio broadcasting possible.Today, MPEG-1 has become...
, MPEG-2MPEG-2MPEG-2 is a standard for "the generic coding of moving pictures and associated audio information". It describes a combination of lossy video compression and lossy audio data compression methods which permit storage and transmission of movies using currently available storage media and transmission...
, MPEG-4 ASP, RealVideoRealVideoRealVideo is a suite of proprietary video compression formats developed by RealNetworks – the specific format changes with the version. It was first released in 1997 and is at version 10. RealVideo is supported on many platforms, including Windows, Mac, Linux, Solaris, and several mobile...
, SorensonSorenson codecSorenson codec may refer to either of three proprietary video codecs: Sorenson Video, Sorenson Video 3 or Sorenson Spark. Sorenson Video is also known as Sorenson Video Codec, Sorenson Video Quantizer or SVQ...
, TheoraTheoraTheora is a free lossy video compression format. It is developed by the Xiph.Org Foundation and distributed without licensing fees alongside their other free and open media projects, including the Vorbis audio format and the Ogg container....
, WMV (partial, including WMV1, WMV2 and WMV3; via FFmpegFFmpegFFmpeg is a free software project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line...
) - Video devices: V4LVideo4LinuxVideo4Linux or V4L is a video capture application programming interface for Linux. Many USB webcams, TV tuners, and other devices are supported. Video4Linux is closely integrated with the Linux kernel. Video4Linux was named after Video for Windows , but is not technically related to it.- V4L2 :V4L2...
, DVB, PVRDigital video recorderA digital video recorder , sometimes referred to by the merchandising term personal video recorder , is a consumer electronics device or application software that records video in a digital format to a disk drive, USB flash drive, SD memory card or other local or networked mass storage device... - Network protocols: HTTPHypertext Transfer ProtocolThe Hypertext Transfer Protocol is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web....
, TCPTransmission Control ProtocolThe Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
, UDPUser Datagram ProtocolThe User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...
, RTPReal-time Transport ProtocolThe Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...
, SMBServer Message BlockIn computer networking, Server Message Block , also known as Common Internet File System operates as an application-layer network protocol mainly used to provide shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network. It also provides an...
, MMSMicrosoft Media ServicesMicrosoft Media Server is the name of Microsoft's proprietary network streaming protocol used to transfer unicast data in Windows Media Services . MMS can be transported via UDP or TCP...
, PNM, RTSPReal Time Streaming ProtocolThe Real Time Streaming Protocol is a network control protocol designed for use in entertainment and communications systems to control streaming media servers. The protocol is used for establishing and controlling media sessions between end points...
DVD issues
Since it is not a member of DVD ForumDVD Forum
The DVD Forum is an international organization composed of hardware, software, media and content companies that use and develop the DVD and formerly HD DVD formats...
, the xine project is not contractually obliged to insert user operation prohibition
User operation prohibition
The user operation prohibition is a form of use restriction used on video DVD discs and Blu-ray discs. Most DVD players and Blu-ray players prohibit the viewer from performing a large majority of actions during sections of a DVD that are protected or restricted by this feature, and will display...
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
Encryption
In cryptography, encryption is the process of transforming information using an algorithm to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key. The result of the process is encrypted information...
with CSS except by using
reverse-engineered code. xine therefore uses the libdvdcss
Libdvdcss
libdvdcss is a free software library for accessing and unscrambling DVDs encrypted with the Content Scramble System...
library, which was created by reverse engineering. The legal status of libdvdcss is questionable in several nations; in the United States
United States
The United States of America is a federal constitutional republic comprising fifty states and a federal district...
, for example, the Digital Millennium Copyright Act
Digital Millennium Copyright Act
The Digital Millennium Copyright Act is a United States copyright law that implements two 1996 treaties of the World Intellectual Property Organization . It criminalizes production and dissemination of technology, devices, or services intended to circumvent measures that control access to...
arguably prohibits reverse-engineering
Universal v. Reimerdes
Universal City Studios, Inc. v. Reimerdes was the first test of the Digital Millennium Copyright Act , a United States federal law.The plaintiffs, 8 movie studios, successfully sought an injunction against the distribution of DeCSS, a program capable of decrypting content protected using the...
of CSS. Virtually all commercial DVDs are encrypted with CSS.
Other issues
To prevent a screensaver from starting, xine sends a scroll lockScroll lock
Scroll lock is a keyboard button on some computer keyboards. The key is not frequently used and therefore some keyboards lack Scroll Lock altogether....
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
Konsole
Konsole is a free terminal emulator which is part of KDE Software Compilation. Konsole was originally written by Lars Doelle.The KDE applications Konqueror, Krusader, Kate, Konversation, Dolphin and KDevelop use Konsole to provide embedded terminal functionality.- Features :* Tabbed terminals...
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 GStreamerGStreamer
GStreamer is a pipeline-based multimedia framework written in the C programming language with the type system based on GObject.GStreamer allows a programmer to create a variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing...
as a backend for the Phonon
Phonon (KDE)
Phonon is the multimedia API provided by Qt and is the standard abstraction for handling multimedia streams within the KDE Software Compilation 4....
media framework used by KDE
KDE
KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...
and Qt.
See also
- List of codecs
- Open source codecs and containersOpen source codecs and containersThis is a listing of open-source implementations of media formats—usually called codecs. Many of the codecs listed implement media formats that are restricted by patents and are henceforth not open formats. For example, x264 is a widely used open source implementation of the heavily patent...
- Comparison of video codecsComparison of video codecsA video codec is software or a device that provides encoding and decoding which may or may not include the use of video compression and/or decompression for digital video....
- Comparison of audio codecsComparison of audio codecsThe following tables compare general and technical information for a variety of audio formats and audio compression formats. For listening tests comparing the perceived audio quality of audio formats and codecs, see the article Codec listening test....
- Open source codecs and containers
- Comparison of container formatsComparison of container formatsThis table compares features of container formats. To see which multimedia players support which container format, look at comparison of media players.-Information:-Audio formats supported:-Video formats supported:-Caption formats supported:...
- FFmpegFFmpegFFmpeg is a free software project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line...
, cross-platformCross-platformIn computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...
, open sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
, audio and video codec suite/libraryCodecA codec is a device or computer program capable of encoding or decoding a digital data stream or signal. The word codec is a portmanteau of "compressor-decompressor" or, more commonly, "coder-decoder"...
- FFmpeg
- Comparison of video player software
- KaffeineKaffeineKaffeine is a media player for Unix-like operating systems running KDE.By default it uses xine-lib media framework but also supports GStreamer. It also supports the use of MPlayer project's binary codecs for proprietary formats...
, a player for KDE that can use xine - TotemTotem (media player)Totem is a media player for the GNOME computer desktop environment which runs on GNU/Linux, Solaris, BSD and other Unix and Unix-like systems. It is officially included in GNOME starting from version 2.10 , but de facto it was already included in most GNOME environments...
, a player for GNOME that could use xine until version 2.27.1 - XinePlayer (Mac OS XMac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
frontend) - MPlayerMPlayerMPlayer is a free and open source media player. The program is available for all major operating systems, including Linux and other Unix-like systems, Microsoft Windows and Mac OS X. Versions for OS/2, Syllable, AmigaOS and MorphOS are also available. The Windows version works, with some minor...
and MEncoderMEncoderMEncoder is a free command line video decoding, encoding and filtering tool released under the GNU General Public License. It is a close sibling to MPlayer and can convert all the formats that MPlayer understands into a variety of compressed and uncompressed formats using different codecs.MEncoder...
(use libavcodecLibavcodeclibavcodec is a free software/open source LGPL-licensed library of codecs for encoding and decoding video and audio data. Same name but incompatible libraries are provided from both FFmpeg project and Libav project....
and libavformat from FFmpegFFmpegFFmpeg is a free software project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line...
, share some code/libraries with xine) - AmarokAmarok (audio)Amarok is a cross-platform free and open source music player for KDE, but is released independently of the central KDE Software Compilation release cycle...
, a music player that can use xine as one of its playback engines - VLC media playerVLC media playerVLC media player is a free and open source media player and multimedia framework written by the VideoLAN project.VLC is a portable multimedia player, encoder, and streamer supporting many audio and video codecs and file formats as well as DVDs, VCDs, and various streaming protocols. It is able to...
(uses libavcodecLibavcodeclibavcodec is a free software/open source LGPL-licensed library of codecs for encoding and decoding video and audio data. Same name but incompatible libraries are provided from both FFmpeg project and Libav project....
from FFmpegFFmpegFFmpeg is a free software project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line...
, share some code/libraries with xine)
- Kaffeine
- ScreencastScreencastA screencast is a digital recording of computer screen output, also known as a video screen capture, often containing audio narration. The term screencast compares with the related term screenshot; whereas screenshot is a picture of a computer screen, a screencast is essentially a movie of the...