mirror of
https://github.com/mpv-player/mpv
synced 2025-01-04 22:20:22 +00:00
f50e0439fe
sensible place in the installation section. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27852 b3059339-0415-0410-9bf9-f77b7e298cf2
257 lines
8.0 KiB
XML
257 lines
8.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<chapter id="codecs">
|
|
<title>Codecs</title>
|
|
|
|
<para>
|
|
The <ulink url="../../codecs-status.html">codec status table</ulink> is a
|
|
complete list of all supported codecs, regenerated daily.
|
|
Some binary codecs for use with MPlayer are available in the
|
|
<ulink url="http://www.mplayerhq.hu/design7/dload.html#binary_codecs">download section</ulink>
|
|
of our homepage.
|
|
</para>
|
|
|
|
<para>
|
|
If you have a Win32 codec which is not supported yet,
|
|
please read the <link linkend="codec-importing">codec importing HOWTO</link>
|
|
and help us add support for it.
|
|
</para>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="audio-codecs">
|
|
<title>Audio codecs</title>
|
|
|
|
|
|
<sect2 id="swac3">
|
|
<title>Software AC-3 decoding</title>
|
|
|
|
<para>
|
|
This is the default decoder used for files with AC-3 audio.
|
|
</para>
|
|
|
|
<para>
|
|
The AC-3 decoder can create audio output mixes for 2, 4, or 6 speakers.
|
|
When configured for 6 speakers, this decoder provides separate output of
|
|
all the AC-3 channels to the sound driver, allowing for full "surround
|
|
sound" experience without the external AC-3 decoder required to use the
|
|
hwac3 codec.
|
|
</para>
|
|
|
|
<para>
|
|
Use the <option>-channels</option> option to select the number of output
|
|
channels. Use <option>-channels 2</option> for a stereo downmix. For a 4
|
|
channel downmix (Left Front, Right Front, Left Surround and Right Surround
|
|
outputs), use <option>-channels 4</option>. In this case, any center
|
|
channel will be mixed equally to the front channels.
|
|
<option>-channels 6</option> will output all the AC-3 channels as they are
|
|
encoded - in the order Left, Right, Left Surround, Right Surround, Center and
|
|
LFE.
|
|
</para>
|
|
|
|
<para>
|
|
The default number of output channels is 2.
|
|
</para>
|
|
|
|
<para>
|
|
To use more than 2 output channels, you will need to use OSS, and have a
|
|
sound card that supports the appropriate number of output channels via the
|
|
SNDCTL_DSP_CHANNELS ioctl. An example of a suitable driver is emu10k1
|
|
(used by Soundblaster Live! cards) from August 2001 or newer (ALSA CVS is
|
|
also supposed to work).
|
|
</para>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 id="hwac3">
|
|
<title>Hardware AC-3 decoding</title>
|
|
|
|
<para>
|
|
You need an AC-3 capable sound card, with digital out (S/PDIF). The card's
|
|
driver must properly support the AFMT_AC3 format (C-Media does). Connect
|
|
your AC-3 decoder to the S/PDIF output, and use the <option>-ac
|
|
hwac3</option> option. It is experimental but known to work with C-Media
|
|
cards and Soundblaster Live! + ALSA (but not OSS) drivers and DXR3/Hollywood+
|
|
MPEG decoder cards.
|
|
</para>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 id="hwmpa">
|
|
<title>Hardware MPEG audio codec</title>
|
|
|
|
<para>
|
|
This codec (selected by <option>-ac hwmpa</option>) passes through MPEG audio
|
|
packets to hardware decoders, such as the ones found in full-featured DVB cards
|
|
and DXR2 adapters.
|
|
Don't use it in combination with any other audio output device
|
|
(such as OSS and ALSA) that isn't able to decode it (you will hear
|
|
only white noise).
|
|
</para>
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="codec-importing">
|
|
<title>Win32 codecs importing HOWTO</title>
|
|
|
|
<!-- TODO: a short paragraph of text would be nice here... -->
|
|
|
|
<sect2 id="vfw-codecs">
|
|
<title>VFW codecs</title>
|
|
|
|
<para>
|
|
VFW (Video for Windows) is the old Video API for Windows. Its codecs have
|
|
the <filename>.DLL</filename> or (rarely) <filename>.DRV</filename>
|
|
extension. If <application>MPlayer</application> fails at playing your AVI
|
|
with this kind of message:
|
|
<screen>UNKNOWN video codec: HFYU (0x55594648)</screen>
|
|
It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU =
|
|
HuffYUV codec, DIV3 = DivX Low Motion, etc.). Now that you know this, you
|
|
have to find out which DLL Windows loads in order to play this file. In our
|
|
case, the <filename>system.ini</filename> contains this information in a
|
|
line that reads:
|
|
<programlisting>VIDC.HFYU=huffyuv.dll</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
So you need the <filename>huffyuv.dll</filename> file. Note that the audio
|
|
codecs are specified by the MSACM prefix:
|
|
<programlisting>msacm.l3acm=L3codeca.acm</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
This is the MP3 codec. Now that you have all the necessary information
|
|
(fourcc, codec file, sample AVI), submit your codec support request by
|
|
mail, and upload these files to the FTP site:
|
|
<systemitem role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable><codecname></replaceable>/</systemitem>
|
|
</para>
|
|
|
|
<note><para>
|
|
On Windows NT/2000/XP search for this info in the registry,
|
|
e.g. search for "VIDC.HFYU". To find out how to do this, look at
|
|
the old DirectShow method below.
|
|
</para></note>
|
|
</sect2>
|
|
|
|
<!-- ********** -->
|
|
|
|
<sect2 id="dshow-codecs">
|
|
<title>DirectShow codecs</title>
|
|
|
|
<para>
|
|
DirectShow is the newer Video API, which is even worse than its predecessor.
|
|
Things are harder with DirectShow, since
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<filename>system.ini</filename> does not contain the needed information,
|
|
instead it is stored in the registry and
|
|
</para></listitem>
|
|
<listitem><para>
|
|
we need the GUID of the codec.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<procedure>
|
|
<title>New Method:</title>
|
|
<para>
|
|
Using <application>Microsoft GraphEdit</application> (fast)
|
|
</para>
|
|
<step><para>
|
|
Get <application>GraphEdit</application> from either DirectX SDK or
|
|
<ulink url="http://doom9.net">doom9</ulink>.
|
|
</para></step>
|
|
<step><para>
|
|
Start <command>graphedit.exe</command>.
|
|
</para></step>
|
|
<step><para>
|
|
From the menu select
|
|
<menuchoice><guimenu>Graph</guimenu>
|
|
<guisubmenu>Insert Filters</guisubmenu></menuchoice>.
|
|
</para></step>
|
|
<step><para>
|
|
Expand item <systemitem>DirectShow Filters</systemitem>.
|
|
</para></step>
|
|
<step><para>
|
|
Select the right codec name and expand item.
|
|
</para></step>
|
|
<step><para>
|
|
In the entry <systemitem>DisplayName</systemitem> look at the text in
|
|
winged brackets after the backslash and write it down (five dash-delimited
|
|
blocks, the GUID).
|
|
</para></step>
|
|
<step><para>
|
|
The codec binary is the file specified in the
|
|
<systemitem>Filename</systemitem> entry.
|
|
</para></step>
|
|
</procedure>
|
|
|
|
<note><para>
|
|
If there is no <systemitem>Filename</systemitem> and
|
|
<systemitem>DisplayName</systemitem> contains something like
|
|
<systemitem>device:dmo</systemitem>, then it is a DMO-Codec.
|
|
</para></note>
|
|
|
|
<procedure>
|
|
<title>Old Method:</title>
|
|
<para>
|
|
Take a deep breath and start searching the registry...
|
|
</para>
|
|
<step><para>
|
|
Start <command>regedit</command>.
|
|
</para></step>
|
|
<step><para>
|
|
Press <keycombo><keycap>Ctrl</keycap><keycap>F</keycap></keycombo>, disable
|
|
the first two checkboxes, and enable the third. Type in the fourcc of the
|
|
codec (e.g. <userinput>TM20</userinput>).
|
|
</para></step>
|
|
<step><para>
|
|
You should see a field which contains the path and the filename (e.g.
|
|
<filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>).
|
|
</para></step>
|
|
<step><para>
|
|
Now that you have the file, we need the GUID. Try searching again, but
|
|
now search for the codec's name, not the fourcc. Its name can be acquired
|
|
when Media Player is playing the file, by checking
|
|
<menuchoice><guimenu>File</guimenu> <guisubmenu>Properties</guisubmenu>
|
|
<guimenuitem>Advanced</guimenuitem></menuchoice>.
|
|
If not, you are out of luck. Try guessing (e.g. search for TrueMotion).
|
|
</para></step>
|
|
<step><para>
|
|
If the GUID is found you should see a <guilabel>FriendlyName</guilabel>
|
|
and a <guilabel>CLSID</guilabel> field. Write down the 16 byte CLSID,
|
|
this is the GUID we need.
|
|
</para></step>
|
|
</procedure>
|
|
|
|
<note><para>
|
|
If searching fails, try enabling all the checkboxes. You may have
|
|
false hits, but you may get lucky...
|
|
</para></note>
|
|
|
|
<para>
|
|
Now that you have all the necessary information (fourcc, GUID, codec file,
|
|
sample AVI), submit your codec support request by mail, and upload these files
|
|
to the FTP site:
|
|
<systemitem role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable><codecname></replaceable>/</systemitem>
|
|
</para>
|
|
|
|
<para>
|
|
If you want to add a codec yourself, read
|
|
<ulink url="http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt">DOCS/tech/codecs.conf.txt</ulink>.
|
|
</para>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
</chapter>
|