mirror of https://github.com/mpv-player/mpv
262 lines
11 KiB
HTML
262 lines
11 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML>
|
|
|
|
<HEAD>
|
|
<LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
|
|
|
|
<P><B><A NAME=2.1>2.1. Supported formats</A></B></P>
|
|
|
|
<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.<BR>
|
|
</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>
|
|
|
|
|
|
|
|
<P><B><A NAME=2.1.1>2.1.1. Video formats</A></B></P>
|
|
|
|
|
|
<P><B><A NAME=2.1.1.1>2.1.1.1. MPEG files</A></B></P>
|
|
|
|
<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,
|
|
the 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#4.2">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 dd, cut), 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>
|
|
|
|
|
|
<P><B><A NAME=2.1.1.2>2.1.1.2. AVI files</A></B></P>
|
|
|
|
<P>Designed by Micro$oft, <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 and can be as big as
|
|
2GB. There exists an extension allowing bigger files called <B>OpenDMS</B>.
|
|
M$ currently strongly discourages its use and encourages ASF/WMV. Not that
|
|
anybody cares.<BR>
|
|
|
|
<P>There is a hack that allows AVI files to contain an Ogg Vorbis audio
|
|
stream, but makes them incompatible with standard AVI. <B>MPlayer</B>
|
|
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 <B>MPlayer</B> 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. <B>MPlayer</B> 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><B>MPlayer</B> 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
|
|
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 Microsoft's AVI specs only describe CBR audio. I also noticed that
|
|
most AVI encoders/multiplexers create bad files when using VBR audio. There are only
|
|
two exceptions (known to me): NaNDub and <A HREF="encoding.html">MEncoder</A>.</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.1.3>2.1.1.3. ASF/WMV files</A></B></P>
|
|
|
|
<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). <B>MPlayer</B> 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>
|
|
|
|
|
|
<P><B><A NAME=2.1.1.4>2.1.1.4. QuickTime/MOV files</A></B></P>
|
|
|
|
<P>These formats were designed by Apple. They usually have a .QT or .MOV extension. Note
|
|
that since the MPEG4 group chose QuickTime as the recommended file format
|
|
for MPEG4, their MOV files come with a .MPG or .MP4 extension (Interestingly
|
|
the video and audio streams in these files are real MPG and AAC files. With the
|
|
<CODE>-dumpvideo</CODE> and <CODE>-dumpaudio</CODE> options you can even extract them!).</P>
|
|
|
|
<P><B>Codecs</B>: Any codec is allowed, both CBR and VBR. Note: most new QuickTime files use
|
|
<B>Sorenson</B> video and QDesign Music audio. See our
|
|
<A HREF="codecs.html#2.2.1.10">Sorenson</A> codec section. QDesign Music
|
|
audio currently can't be played.</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.1.5>2.1.1.5. VIVO files</A></B></P>
|
|
|
|
<P><B>MPlayer</B> 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#2.2.1.4">VIVO video codec</A>
|
|
and <A HREF="codecs.html#2.2.2.4">VIVO audio codec</A> sections for installation
|
|
instructions.</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.1.6>2.1.1.6. FLI files</A></B></P>
|
|
|
|
<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. <B>MPlayer</B> 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>
|
|
|
|
|
|
<P><B><A NAME=2.1.1.7>2.1.1.7. RealMedia (RM) files</A></B></P>
|
|
|
|
<P>Yes, <B>MPlayer</B> 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#2.2.1.8">RealVideo</A>
|
|
and <A HREF="codecs.html#2.2.2.5">RealAudio</A> codecs.</P>
|
|
|
|
<P>It's recommended to download and install RealPlayer8 or RealONE, because
|
|
<B>MPlayer</B> can use their libraries to decode files with RealVideo 2.0 or
|
|
RealVideo 3.0 video!</P>
|
|
|
|
<P>The <B>MPlayer</B> configure script should detect the RealPlayer libraries
|
|
in all standard locations. If it does not, tell configure where to look with
|
|
the <CODE>--with-reallibdir</CODE> switch.</P>
|
|
|
|
<P>It is also possible to just take the RealPlayer libraries from somewhere and
|
|
put them in a suitable directory like <CODE>/usr/lib/real</CODE> or
|
|
<CODE>$LIBDIR/real</CODE>.</P>
|
|
|
|
<P>NOTE: RealPlayer libraries currently <B>only work with Linux, FreeBSD,
|
|
NetBSD and Cygwin on the x86 platform</B>!</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.1.8>2.1.1.8. NuppelVideo files</A></B></P>
|
|
|
|
<P><A HREF="http://mars.tuwien.ac.at/~roman/nuppelvideo">NuppelVideo</A>
|
|
is a TV grabber tool (AFAIK:). <B>MPlayer</B> 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. <B>MPlayer</B> decodes (and also <B>encodes</B> them with MEncoder to
|
|
DivX/etc!) them all. Seeking works.</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.1.9>2.1.1.9. yuv4mpeg files</A></B></P>
|
|
|
|
<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.
|
|
The file format is really a sequence of uncompressed YUV 4:2:0 images.
|
|
</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.1.10>2.1.1.10. FILM files</A></B></P>
|
|
|
|
<P>This format is used on old Sega Saturn CD-Rom games.</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.1.11>2.1.1.11. RoQ files</A></B></P>
|
|
|
|
<P>RoQ files are multimedia files used in some ID games such as Quake III and
|
|
Return to Castle Wolfenstein.</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.1.12>2.1.1.12. OGG files</A></B></P>
|
|
|
|
<P>This is a new fileformat from Xiphophorus, developed to contain Vorbis
|
|
audio. You'll need <CODE>libogg</CODE> and <CODE>libvorbis</CODE> installed
|
|
before compiling <B>MPlayer</B> to be able to play it.</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.2>2.1.2. Audio formats</A></B></P>
|
|
|
|
<P><B>MPlayer</B> 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 <B>MPlayer</B>, you better use
|
|
<A HREF="http://www.xmms.org">xmms</A>.</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.2.1>2.1.2.1. MP3 files</A></B></P>
|
|
|
|
<P>You may have problems playing certain MP3 files that <B>MPlayer</B> 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 manpage may help you in these cases.</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.2.2>2.1.2.2. WAV files</A></B></P>
|
|
|
|
|
|
<P><B><A NAME=2.1.2.3>2.1.2.3. OGG files (Vorbis)</A></B></P>
|
|
|
|
<P>Requires properly installed <CODE>libogg</CODE> and
|
|
<CODE>libvorbis</CODE>.</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.2.4>2.1.2.4. WMA/ASF files</A></B></P>
|
|
|
|
|
|
<P><B><A NAME=2.1.2.5>2.1.2.5. MP4 files</A></B></P>
|
|
|
|
</BODY>
|
|
</HTML>
|