Mercurial > mplayer.hg
diff DOCS/en/formats.html @ 9382:1b3444713694
Move English files to en/ subdirectory.
author | diego |
---|---|
date | Mon, 10 Feb 2003 00:00:00 +0000 |
parents | DOCS/formats.html@42667fd91d4a |
children | 4518182fb630 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/en/formats.html Mon Feb 10 00:00:00 2003 +0000 @@ -0,0 +1,320 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + +<HEAD> + <TITLE>Formats - MPlayer - The Movie Player for Linux</TITLE> + <LINK REL="stylesheet" TYPE="text/css" HREF="default.css"> + <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> +</HEAD> + +<BODY> + + +<H2><A NAME="formats">2.1 Supported formats</A></H2> + +<P>It is important to clarify a common mistake. When people see a file with a + <B>.AVI</B> extension, they immediately conclude that it is not an MPEG file. + That is not true. At least not entirely. Contrary to popular belief such a + file <B>can</B> contain MPEG1 video.</P> + +<P>You see, a <B>codec</B> is not the same as a <B>file format</B>.<BR> + Examples of video <B>codecs</B> are: MPEG1, MPEG2, DivX, Indeo5, 3ivx.<BR> + Examples of file <B>formats</B> are: MPG, AVI, ASF.</P> + +<P>In theory, you can put an OpenDivX video and MP3 audio into an <B>MPG</B> + format file. However, most players will not play it, since they expect MPEG1 + video and MP2 audio (unlike <B>AVI</B>, <B>MPG</B> does not have the + necessary fields to describe its video and audio streams). Or you might put + MPEG1 video into an AVI file. + <A HREF="http://ffmpeg.sourceforge.net">FFmpeg</A> and + <A HREF="encoding.html">MEncoder</A> can create these files.</P> + + + +<H3><A NAME="video_formats">2.1.1 Video formats</A></H3> + + +<H4><A NAME="mpeg">2.1.1.1 MPEG files</A></H4> + +<P>MPEG files come in different guises:</P> + +<UL> + <LI>MPG: This is the most <B>basic</B> form of the MPEG file formats. It + contains MPEG1 video, and MP2 (MPEG-1 layer 2) or rarely MP1 audio.</LI> + <LI>DAT: This is the very same format as MPG with a different extension. It + is used on <B>Video CD</B>s. Due to the way VCDs are created and Linux is + designed, DAT files cannot be played nor copied from VCDs as regular files. + You have to use the <CODE>-vcd</CODE> option to play the Video CD.</LI> + <LI>VOB: This is the MPEG file format on <B>DVD</B>s. It is the same as MPG, + plus the capability to contain subtitles or non-MPEG (AC3) audio. It + contains encoded MPEG2 video and usually AC3 audio, but DTS, MP2 and + uncompressed LPCM are allowed, too.<BR> <B>Read the <A + HREF="cd-dvd.html#dvd">DVD section</A>!</B></LI> +</UL> + +<P>Series of frames form independent groups in MPEG files. This means that you + can cut/join an MPEG file with standard file tools (like <CODE>dd</CODE>, + <CODE>cut</CODE>), and it remains completely functional.</P> + +<P>One important feature of MPGs is that they have a field to describe the + aspect ratio of the video stream within. For example SVCDs have 480x480 + resolution video, and in the header that field is set to 4:3, so that it is + played at 640x480. AVI files do not have this field, so they have to be + rescaled during encoding or played with the <CODE>-aspect</CODE> option.</P> + + +<H4><A NAME="avi">2.1.1.2 AVI files</A></H4> + +<P>Designed by Microsoft, <B>AVI (Audio Video Interleaved)</B> is a widespread + multipurpose format currently used mostly for DivX and DivX4 video. It has + many known drawbacks and shortcomings (for example in streaming). It + supports one video stream and 0 to 99 audio streams. File size is limited to + 2GB, but there exists an extension allowing bigger files called + <B>OpenDMS</B>. Microsoft currently strongly discourages its use and + encourages ASF/WMV. Not that anybody cares.</P> + +<P>There is a hack that allows AVI files to contain an Ogg Vorbis audio + stream, but makes them incompatible with standard AVI. MPlayer + supports playing these files. Seeking is also implemented but severely + hampered by badly encoded files with confusing headers. Unfortunately the + only encoder currently capable of creating these files, NanDub, has this + problem.</P> + +<P><B>Note:</B> DV cameras create raw DV streams that DV grabbing utilities + convert to two different types of AVI files. The AVI will then contain either + separate audio and video streams that MPlayer can play or the raw DV + stream for which support is under development.</P> + +<P>There are two kinds of AVI files:</P> +<UL> + <LI><B>Interleaved:</B> Audio and video content is interleaved. This is the + standard usage. Recommended and mostly used. Some tools create + interleaved AVIs with bad sync. MPlayer detects these as + interleaved, and this climaxes in loss of A/V sync, probably at seeking. + These files should be played as non-interleaved (with the <CODE>-ni</CODE> + option).</LI> + <LI><B>Non-interleaved:</B> First comes the whole video stream, then the whole + audio stream. It thus needs a lot of seeking, making playing from network or + CD-Rom difficult.</LI> +</UL> + +<P>MPlayer supports two kinds of timings for AVI files:</P> +<UL> + <LI><B>bps-based</B>: It is based on the bitrate/samplerate of the video/audio stream. This + method is used by most players, including <A HREF="http://avifile.sourceforge.net">avifile</A> + and Windows Media Player. + Files with broken headers, and files created with VBR audio but not with a + VBR-compliant encoder will result in A/V desync with this method (mostly at + seeking).</LI> + <LI><B>interleaving-based</B>: It does not use the bitrate value of the header, instead + it uses the relative position of interleaved audio and video chunks, making + badly encoded files with VBR audio playable.</LI> +</UL> + +<P>Any audio and video codec is allowed, but note that VBR audio is not well + supported by most players. The file format makes it possible to use VBR + audio, but most players expect CBR audio, thus they fail with VBR. VBR is + uncommon and the Microsoft AVI specs only describe CBR audio. Most AVI + encoders/multiplexers create bad files when using VBR audio. There are only + two known exceptions: NanDub and <A HREF="encoding.html">MEncoder</A>.</P> + + +<H4><A NAME="asf">2.1.1.3 ASF/WMV files</A></H4> + +<P>ASF (active streaming format) comes from Microsoft. They developed two + variants of ASF, v1.0 and v2.0. v1.0 is used by their media tools (Windows + Media Player and Windows Media Encoder) and is very secret. v2.0 is published + and patented :). Of course they differ, there is no compatibility at all (it + is just another legal game). MPlayer supports only v1.0, as nobody has + ever seen v2.0 files :). Note that ASF files nowadays come with the extension + .WMA or .WMV.</P> + + +<H4><A NAME="mov">2.1.1.4 QuickTime/MOV files</A></H4> + +<P>These formats were designed by Apple and can contain any codec, CBR or VBR. + They usually have a .QT or .MOV extension. Ever since the MPEG4 group chose + QuickTime as the recommended file format for MPEG4, their MOV files come with + an + .MPG or .MP4 extension (Interestingly the video and audio streams in these + files are real MPG and AAC files. You can even extract them with the + <CODE>-dumpvideo</CODE> and <CODE>-dumpaudio</CODE> options.).</P> + +<P><B>Note:</B> Most new QuickTime files use <B>Sorenson</B> video and QDesign + Music audio. See our <A HREF="codecs.html#sorenson">Sorenson</A> codec + section.</P> + + +<H4><A NAME="vivo">2.1.1.5 VIVO files</A></H4> + +<P>MPlayer happily demuxes VIVO file formats. The biggest disadvantage + of the format is that it has no index block, nor a fixed packet size or sync + bytes and most files lack even keyframes, so forget seeking!</P> + +<P>The video codec of VIVO/1.0 files is standard <B>h.263</B>. The video codec + of VIVO/2.0 files is a modified, nonstandard <B>h.263v2</B>. The audio is the + same, it may be <B>g.723</B> (standard), or <B>Vivo Siren</B>.</P> + +<P>See the <A HREF="codecs.html#vivo_video">VIVO video codec</A> and + <A HREF="codecs.html#vivo_audio">VIVO audio codec</A> sections for installation + instructions.</P> + + +<H4><A NAME="fli">2.1.1.6 FLI files</A></H4> + +<P><B>FLI</B> is a very old file format used by Autodesk Animator, but it is a + common file format for short animations on the net. MPlayer demuxes + and decodes FLI movies and is even able to seek within them (useful when + looping with the <CODE>-loop</CODE> option). FLI files do not have keyframes, + so the picture will be messy for a short time after seeking.</P> + + +<H4><A NAME="real">2.1.1.7 RealMedia (RM) files</A></H4> + +<P>Yes, MPlayer can read (demux) RealMedia (.rm) files. Seeking works, + but you have to explicitly specify the <CODE>-forceidx</CODE> option + (the format supports keyframes). Here are the lists of the supported + <A HREF="codecs.html#realvideo">RealVideo</A> + and <A HREF="codecs.html#realaudio">RealAudio</A> codecs.</P> + + +<H4><A NAME="nuppelvideo">2.1.1.8 NuppelVideo files</A></H4> + +<P><A HREF="http://mars.tuwien.ac.at/~roman/nuppelvideo">NuppelVideo</A> + is a TV grabber tool (AFAIK:). MPlayer can read its .NUV files (only + NuppelVideo 5.0). Those files can contain uncompressed YV12, YV12+RTJpeg + compressed, YV12 RTJpeg+lzo compressed, and YV12+lzo compressed frames. + MPlayer decodes them all (and also <B>encodes</B> them with + MEncoder to DivX/etc!). Seeking works.</P> + + +<H4><A NAME="yuv4mpeg">2.1.1.9 yuv4mpeg files</A></H4> + +<P><A HREF="http://mjpeg.sourceforge.net">yuv4mpeg / yuv4mpeg2</A> is a file + format used by the <A HREF="http://mjpeg.sf.net">mjpegtools programs</A>. + You can grab, produce, filter or encode video in this format using these + tools. The file format is really a sequence of uncompressed YUV 4:2:0 + images.</P> + + +<H4><A NAME="film">2.1.1.10 FILM files</A></H4> + +<P>This format is used on old Sega Saturn CD-Rom games.</P> + + +<H4><A NAME="roq">2.1.1.11 RoQ files</A></H4> + +<P>RoQ files are multimedia files used in some ID games such as Quake III and + Return to Castle Wolfenstein.</P> + + +<H4><A NAME="ogg">2.1.1.12 OGG/OGM files</A></H4> + +<P>This is a new file format from <A HREF="http://www.xiph.org">Xiphophorus</A>. + It can contain any video or audio codec, CBR or VBR. You will need to + have <CODE>libogg</CODE> and <CODE>libvorbis</CODE> installed + before compiling MPlayer to be able to play it.</P> + + +<H4><A NAME="sdp">2.1.1.13 SDP files</A></H4> + +<P><A HREF="ftp://ftp.rfc-editor.org/in-notes/rfc2327.txt">SDP</A> + is an IETF standard format for describing video and/or audio RTP streams. + (The "<A HREF="http://www.live.com/mplayer/">LIVE.COM Streaming Media</A>" + libraries are required.)</P> + + +<H4><A NAME="pva">2.1.1.14 PVA files</A></H4> + +<P>PVA is an MPEG-like format used by DVB TV boards' software (e.g.: MultiDec, + WinTV) under Windows.</P> + +<P>The PVA specifications can be downloaded from the following address: + <A HREF="http://www.technotrend.de/download/av_format_v1.pdf">http://www.technotrend.de/download/av_format_v1.pdf</A></P> + + +<H4><A NAME="gif">2.1.1.15 GIF files</A></H4> + +<P>The <B>GIF</B> format is a common format for web graphics. There are two + versions of the GIF spec, GIF87a and GIF89a. The main difference is that + GIF89a allows for animation. MPlayer supports both formats through use + of libungif or another libgif-compatible library. Non-animated GIFs will + be displayed as single frame videos. (Use the <CODE>-loop</CODE> and + <CODE>-fixed-vo</CODE> options to display these longer.)</P> + +<P>MPlayer currently does not support seeking in GIF files. GIF files do + not necessarily have a fixed frame size, nor a fixed framerate. Rather, + each frame is of independent size and is supposed to be positioned in a + certain place on a field of fixed-size. The framerate is controlled by + an optional block before each frame that specifies the next frame's delay + in centiseconds.</P> + +<P>Standard GIF files contain 24-bit RGB frames with at most an 8-bit + indexed pallete. These frames are usually LZW-compressed, although + some GIF encoders produce uncompressed frames to avoid patent issues + with LZW compression.</P> + +<P>If your distribution does not come with libungif, download a copy from the + <A HREF="http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml">libungif homepage</A>. + For detailed technical information, have a look at the + <A HREF="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">GIF89a specification</A>.</P> + + +<H3><A NAME="audio_formats">2.1.2 Audio formats</A></H3> + +<P>MPlayer is a <B>Movie</B> and not a <B>Media</B> player, although + it can play some audio file formats (they are listed in the sections below). + This is not a recommended usage of MPlayer, you better use + <A HREF="http://www.xmms.org">xmms</A>.</P> + + +<H4><A NAME="mp3">2.1.2.1 MP3 files</A></H4> + +<P>You may have problems playing certain MP3 files that MPlayer will + misdetect as MPEGs and play incorrectly or not at all. This cannot be fixed + without dropping support for certain broken MPEG files and thus will remain + like this for the foreseeable future. The <CODE>-demuxer</CODE> flag + described in the man page may help you in these cases.</P> + + +<H4><A NAME="wav">2.1.2.2 WAV files</A></H4> + + +<H4><A NAME="ogg_vorbis">2.1.2.3 OGG/OGM files (Vorbis)</A></H4> + +<P>Requires properly installed <CODE>libogg</CODE> and + <CODE>libvorbis</CODE>.</P> + + +<H4><A NAME="wma">2.1.2.4 WMA/ASF files</A></H4> + + +<H4><A NAME="mp4">2.1.2.5 MP4 files</A></H4> + + +<H4><A NAME="cdda">2.1.2.6 CD audio</A></H4> + +<P>MPlayer can use <B>cdparanoia</B> (lib) to play CDDA (Audio CD). + The scope of this section does not contain enumerating cdparanoia's + features.</P> + +<P>See the man page's <CODE>-cdda</CODE> option which can be used to + pass options to cdparanoia.</P> + + +<H4><A NAME="xmms">2.1.2.7 XMMS</A></H4> + +<P>MPlayer can use XMMS input plugins to play many file formats. There are + plugins for SNES game tunes, SID tunes (from Commodore 64), many Amiga + formats, .xm, .it, VQF, musepack, Bonk, shorten and many others. You can find + them at the + <A HREF="http://www.xmms.org/plugins_input.html">XMMS input plugin page</A>.</P> + +<P>For this feature you need to have XMMS and compile MPlayer with + <CODE>./configure --enable-xmms</CODE>. If that does not work, you might need + to set the XMMS plugin and library path explicitly by way of the + <CODE>--with-xmmsplugindir</CODE> and <CODE>--withxmmslibdir</CODE> + options.</P> + +</BODY> +</HTML>