mirror of https://github.com/mpv-player/mpv
321 lines
14 KiB
HTML
321 lines
14 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 <CODE>vcd://</CODE> to play a 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>OpenDML</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>--with-xmmslibdir</CODE>
|
|
options.</P>
|
|
|
|
</BODY>
|
|
</HTML>
|