mirror of https://github.com/mpv-player/mpv
251 lines
11 KiB
HTML
251 lines
11 KiB
HTML
<!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. <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 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). <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>
|
|
|
|
|
|
<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. QDesign Music audio currently cannot be played.</P>
|
|
|
|
|
|
<H4><A NAME="vivo">2.1.1.5 VIVO files</A></H4>
|
|
|
|
<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#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. <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>
|
|
|
|
|
|
<H4><A NAME="real">2.1.1.7 RealMedia (RM) files</A></H4>
|
|
|
|
<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#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:). <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 them all (and also <B>encodes</B> them with
|
|
<B>MEncoder</B> 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 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 <B>MPlayer</B> to be able to play it.</P>
|
|
|
|
|
|
<H3><A NAME="audio_formats">2.1.2 Audio formats</A></H3>
|
|
|
|
<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>
|
|
|
|
|
|
<H4><A NAME="mp3">2.1.2.1 MP3 files</A></H4>
|
|
|
|
<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 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 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>
|
|
|
|
</BODY>
|
|
</HTML>
|