view DOCS/xml/ru/codecs.xml @ 19749:a2f302d0f5f7

Sections structure synced with english pages.
author voroshil
date Fri, 08 Sep 2006 16:42:09 +0000
parents fa0a33563e6c
children 9d31ce6908cf
line wrap: on
line source

<?xml version="1.0" encoding="koi8-r"?>
<!-- synced with r19687 -->
<chapter id="codecs">
<title>Поддерживаемые кодеки</title>

<sect1 id="video-codecs">
<title>Видео кодеки</title>

<para>
<ulink url="../../codecs-status.html">Таблица статуса кодеков</ulink> содержит
полный, ежедневно обновляющийся список всех поддерживаемых кодеков. Некоторые
бинарные кодеки, которые можно использовать в MPlayer, доступны 
в <ulink url="http://www.mplayerhq.hu/design7/dload.html#binary_codecs">разделе закачки</ulink>
нашего сайта.
</para>

<para>
Наиболее важные кодеки:
</para>

<itemizedlist>
<listitem><simpara>
  <emphasis role="bold">MPEG1</emphasis> (<emphasis role="bold">VCD</emphasis>) и
  <emphasis role="bold">MPEG2</emphasis> (<emphasis role="bold">DVD</emphasis>) видео
  </simpara></listitem>
<listitem><simpara>
  "родные" декодеры для <emphasis role="bold">DivX ;-), OpenDivX (DivX4),
  DivX 5 (Pro), 3ivX, M$ MPEG-4</emphasis> v1, v2 и других вариантов MPEG-4.
  </simpara></listitem>
<listitem><simpara>
  "родной" декодер для <emphasis role="bold">Windows Media Video 7/8</emphasis>
  (<emphasis role="bold">WMV1/WMV2</emphasis>), и Win32 DLL декодер
  для <emphasis role="bold">Windows Media Video 9</emphasis>
  (<emphasis role="bold">WMV3</emphasis>), оба используются в <filename>.wmv
  </filename> файлах
  </simpara></listitem>
<listitem><simpara>
  "родной" <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis> декодер
  </simpara></listitem>
<listitem><simpara>
  "родной" <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis> декодер
  </simpara></listitem>
<listitem><simpara>
  <emphasis role="bold">3ivx</emphasis> v1, v2 декодер
  </simpara></listitem>
<listitem><simpara>
  Cinepak и <emphasis role="bold">Intel Indeo</emphasis> кодеки (3.1,3.2,4.1,5.0)
  </simpara></listitem>
<listitem><simpara>
  <emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 и другие аппаратные
  форматы
  </simpara></listitem>
<listitem><simpara>
  VIVO 1.0, 2.0, I263 и другие <emphasis role="bold">h263(+)</emphasis> варианты
  </simpara></listitem>
<listitem><simpara>
  FLI/FLC
  </simpara></listitem>
<listitem><simpara>
  <emphasis role="bold">RealVideo 1.0 &amp; 2.0 </emphasis> из
  <systemitem class="library">libavcodec</systemitem>, и
  <emphasis role="bold">RealVideo 3.0 &amp; 4.0</emphasis> кодеки, используя 
  библиотеки RealPlayer
  </simpara></listitem>
<listitem><simpara>
  "родной" декодер для HuffYUV
  </simpara></listitem>
<listitem><simpara>
  Различные старые, похожие на RLE форматы
  </simpara></listitem>
</itemizedlist>

<para>
Если у Вас есть не упомянутый здесь Win32 кодек, который ещё не поддерживается,
пожалуйста, прочтите <link linkend="codec-importing">Как добавить кодек [codec
importing HOWTO]</link> и помогите нам добавить для него поддержку.
</para>


<sect2 id="ffmpeg" xreflabel="FFmpeg/libavcodec">
<title>FFmpeg/libavcodec</title>

<para>
<ulink url="http://ffmpeg.sourceforge.net">FFmpeg</ulink> содержит пакет кодеков
с <emphasis role="bold">открытым исходным кодом</emphasis>, который способен
декодировать потоки, закодированные различными видео и  аудио кодеками.
Кроме того, этот пакет предоставляет потрясающие кодирующие возможности,
причём производительность выше, чем у Win32 кодеков или DivX.com DivX4/5
библиотеки!
</para>

<para>
Он содержит множество хороших кодеков, из которых наиболее важными являются
варианты MPEG4: DivX3, DivX4, DivX5, Windows Media Video 7/8 (WMV1/WMV2). Также весьма
интересен декодер WMA.
</para>

<para>
Наконец, последний кодеком, заслуживающий внимания &mdash; это
<emphasis role="bold">Sorenson 3</emphasis>(SVQ3) кодек. Это первая реализация
этого кодека с полностью открытым исходным кодом. Она даже быстрее оригинала.
Используйте её, вместо двоичного кодека!
</para>

<para>
Полный список доступных кодеков доступен на странице FFmpeg.
Поддерживаемые <ulink url="http://www.ffmpeg.org/ffmpeg-doc.html#SEC19">видео</ulink>
и <ulink url="http://www.ffmpeg.org/ffmpeg-doc.html#SEC20">аудио</ulink> кодеки.
</para>


<para>
Both <application>MPlayer</application> releases and
<application>MPlayer</application> from Subversion contain
<systemitem class="library">libavcodec</systemitem> so you don't have
to care about making a separate <systemitem class="library">libavcodec</systemitem> checkout.
Just run <filename>configure</filename> and compile.
</para>

<para>
Как релиз <application>MPlayer</application>'а, так и его версия из Subversion 
содержат <systemitem class="library">libavcodec</systemitem>. Поэтому нет надобности 
беспокоиться о ее отдельной сборке. Просто запустите 
<filename>configure</filename> и компилируйте как обычно.
</para>

<para>
С FFmpeg и моей Matrox G400, я даже могу смотреть DivX фильмы с высочайшим
разрешением без пропускаемых кадров на моем K6-2 500.
</para>
</sect2>


<sect2 id="xanim">
<title>XAnim'овские кодеки</title>

<note>
<para>
Обратите внимание, что XAnim'овские бинарные кодеки распространяются с небольшим
текстом, утверждающим, что это лицензия и помимо прочих запретов, запрещающим
использование этих кодеков с любой программой кроме <application>XAnim</application>'а.
<!--- XXX Find a better translation: However, the XAnim
author has yet to bring legal action against anyone for codec-related issues.
-->
Тем не менее, автор XAnim'а ещё должен произвести юридические действия по
относящимся к кодекам вопросам.
<!-- 
Probably, this is better, but i do not sure:
Тем не менее автор еще должен выиграть судебный иск против кого-либо по относящимся 
к кодеку вопросам.
-->
</para>
</note>

<formalpara>
<title>УСТАНОВКА И ИСПОЛЬЗОВАНИЕ</title>
<para>
<application>MPlayer</application> способен использовать XAnim'овские кодеки
для декодирования. Чтобы включить их, следуйте инструкциям:
</para>
</formalpara>

<procedure>
<step><para>
  Скачайте кодеки, которые Вы хотите использовать, с 
  <ulink url="http://xanim.va.pubnix.com">сайта XAnim</ulink>.
  <emphasis role="bold">3ivx</emphasis> кодека там нет, но его можно найти на
  <ulink url="http://www.3ivx.com">сайте 3ivx</ulink>.
  </para></step>
<step><para>
  <emphasis role="bold">ИЛИ</emphasis> скачайте пакет кодеков с нашей
  <ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">страницы кодеков</ulink>
  </para></step>
<step><para>
  Используйте опцию <option>--with-xanimlibdir</option>, чтобы сообщить
  <filename>configure</filename>, где находятся XAnim'овские кодеки.
  По умолчанию, он их ищет в
  <filename class="directory">/usr/local/lib/codecs</filename>,
  <filename class="directory">/usr/local/lib/xanim/mods</filename>,
  <filename class="directory">/usr/lib/xanim/mods</filename>и
  <filename class="directory">/usr/lib/xanim</filename>.
  Вместо этого, Вы можете установить значением переменной среды окружения
  <envar>XANIM_MOD_DIR</envar> каталог с XAnim'овскими кодеками.
  </para></step>
<step><para>
  Переименуйте/создайте символические ссылки, убрав части, относящиеся к
  архитектуре так, чтобы файлы назывались: <filename>vid_cvid.xa</filename>,
  <filename>vid_h263.xa</filename>, <filename>vid_iv50.xa</filename>
  </para></step>
</procedure>

<para>
XAnim - это семейство видео кодеков <systemitem>xanim</systemitem>, поэтому Вы
можете использовать опцию <option>-vfm xanim</option>, чтобы заставить
<application>MPlayer</application> использовать их, если возможно.
</para>

<para>
Протестированные кодеки: <emphasis role="bold">Indeo 3.2, 4.1, 5.0, CVID, 3ivX,
h263.</emphasis>
</para>
</sect2>


<sect2 id="vivo-video">
<title>VIVO видео</title>
<para>
<application>MPlayer</application> может проигрывать Vivo (1.0 and 2.0) фильмы.
Наиболее подходящий кодек для 1.0 файлов - это FFmpeg'овский H263 декодер, Вы
можете включить его использование опцией <option>-vc ffh263</option>. Для 2.0
файлов используйте Win32 DLL (опция <option>-vc vivo</option>). Если Вы не
укажете опцию в командной строке, <application>MPlayer</application>
автоматически выберет лучший доступный кодек.
</para>
</sect2>


<sect2 id="mpeg12">
<title>MPEG 1/2 видео</title>
<para>
MPEG1 и MPEG2 декодируются многоплатформенной "родной" библиотекой <systemitem
class="library">libmpeg2</systemitem>, исходный код которой включён в
<application>MPlayer</application>.  Мы обрабатываем плохое MPEG 1/2 видео,
перехватывая <systemitem>Сигнал 11</systemitem>
(<systemitem>segmentation fault[ошибка сегментации]</systemitem>), и быстро
реинициализируя кодек, продолжая точно с места ошибки. Такая технология
восстановления не имеет значимых временных задержек.
</para>
</sect2>


<sect2 id="avicodecs">
<title>MS Video1, Cinepak CVID, и другие старые кодеки</title>
<para>
MPlayer может воспроизводить большую часть старых кодеков, использовавшихся
в AVI и MOV файлах. Прежде они декодировались бинарными Win32 кодеками,
а теперь, используя 
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>,
для большинства из них у нас есть <emphasis role="bold">родные кодеки</emphasis>.
</para>
</sect2>


<sect2 id="realvideo">
<title>RealVideo</title>

<para>
<application>MPlayer</application> поддерживает декодирование всех версий
RealVideo:

<itemizedlist>
<listitem><simpara>
  RealVideo 1.0, 2.0 (fourcc RV10, RV20) - (де)кодирование поддерживается, используя
  <systemitem class="library">libavcodec</systemitem>
  </simpara></listitem>
<listitem><simpara>
  RealVideo 3.0, 4.0 (fourcc RV30, RV40) - декодирование
  поддерживается, используя <emphasis role="bold">библиотеки RealPlayer'а</emphasis>
  </simpara></listitem>
</itemizedlist>
</para>

<para>
Cкачайте Real кодеки на
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">http://www.mplayerhq.hu/MPlayer/releases/codecs/</ulink>
и распакуйте их в каталог
<filename class="directory">/usr/local/lib/codecs</filename>.
Если Вы хотите хранить их в другом месте, укажите <command>configure</command>
опцию <option>--with-reallibdir</option>.
</para>


<note><para>
<application>RealPlayer</application>'овские библиотеки в настоящий момент
<emphasis role="bold">работают только под Linux, FreeBSD, NetBSD и Cygwin
на x86, Alpha и PowerPC (тестировались Linux/Alpha и Linux/PowerPC)
платформах и с Mac OS X</emphasis>.
</para></note>
</sect2>


<sect2 id="xvid">
<title>XviD</title>

<para>
<ulink url="http://www.xvid.org">XviD</ulink> свободный, MPEG-4 ASP совместимый
видел кодек, особенностями которого яявляются двухпроходное кодирование и
полная поддержка MPEG-4 ASP, делающая его намного более эеффективным, чем
хорошо известный DivX. Он обладает видео отменного качества и хорошей
производительностью, в силу оптимизаций под большинство современных процессоров.
</para>

<para>
Он начался как ответвление OpenDivX кодека. Это произошло, когда ProjectMayo 
сделал исходный код OpenDivX
закрытым (DivX4, теперь DivX5), и разработчики OpenDivX не из ProjectMayo
разозлились, и взялись за XviD. Поэтому у обоих проектов общие корни.
</para>

<procedure>
<title>Установка <systemitem class="library">XviD</systemitem></title>

<para>
  Как и большинство ПО с открытым исходным кодом, он доступен как в виде 
  <ulink url="http://www.xvid.org/downloads.html">официальных релизов</ulink>,
  так и в виде CVS версии. 
<!-- FIXME need good translation 
  The CVS version is usually stable enough to use, as most of the time it
  features fixes for bugs that exist in releases.
-->
  Как правило CVS версия достаточно стабильна для использования, т.к. в большинстве
  случаев ее особенностью является отсутствие ошибок, присутствующих в релизах.
  Далее описывается как заставить  работать
  <systemitem class="library">XviD</systemitem> CVS с <application>MEncoder</application>'ом
  (необходимы, как минимум,
  <application>autoconf</application> 2.50,
  <application>automake</application> и <application>libtool</application>):
</para>
<step><para>
  <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen>
  </para></step>
<step><para>
  <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen>
</para></step>
<step><para>
  <screen>cd xvidcore/build/generic</screen>
  </para></step>
<step><para>
  <screen>./bootstrap.sh</screen>
  </para></step>
<step><para>
  <screen>./configure</screen>
  Вам может потребоваться добавить некоторые опции (посмотрите вывод
  <screen>./configure --help</screen>).
  </para></step>
<step><para>
  <screen>make &amp;&amp; make install</screen>
  </para></step>
<step><para>
  Если Вы указали <option>--enable-divxcompat</option>,
  скопируйте <filename>../../src/divx4.h</filename> в
  <filename class="directory">/usr/local/include/</filename>.
  </para></step>
<step><para>
  Перекомпилируйте <application>MPlayer</application> с
  <option>--with-xvidlibdir=<replaceable>/path/to/</replaceable>libxvidcore.a</option>
  <option>--with-xvidincdir=<replaceable>/path/to/</replaceable>xvid.h</option>
  </para></step>
</procedure>
</sect2>


<sect2 id="sorenson">
<title>Sorenson</title>

<para>
Sorenson - это видео кодек, разработанный в Sorenson Media и лицензированный
Apple, которые распространяют его с <application>QuickTime Player</application>.
В настоящий момент мы способны декодировать все версии Sorenson видео файлов
следующими декодерами:
</para>

<itemizedlist>
<listitem><simpara>
  Sorenson Video v1 (fourcc <emphasis>SVQ1</emphasis>) - декодирование поддерживается
  <emphasis role="bold">родным кодеком</emphasis>
  (<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
  </simpara></listitem>
<listitem><simpara>
  Sorenson Video v3 (fourcc <emphasis>SVQ3</emphasis>) - декодирование поддерживается
  <emphasis role="bold">родным кодеком</emphasis>
  (<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
  </simpara></listitem>
</itemizedlist>

<procedure>
<title>КОМПИЛЯЦИЯ MPLAYER'А С ПОДДЕРЖКОЙ БИБЛИОТЕК QUICKTIME</title>
<note><para>в настоящий момент поддерживаются только 32битные Intel'евские
платформы.</para></note>
<step><para>скачайте <application>MPlayer</application>'овский Subversion</para></step>
<step><para>скачайте пакет QuickTime DLL с
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/"/>
</para></step>
<step><para>распакуйте пакет QuickTime DLL в Ваш каталог Win32 кодеков
(по умолчанию: <filename class="directory">/usr/local/lib/codecs</filename>)
</para></step>
<step><para>скомпилируйте <application>MPlayer</application></para></step>
</procedure>

</sect2>

<sect2 id="codec-x264">
<title>x264</title>

<sect3 id="codec-x264-whatis">
<title>Что такое x264?</title>
<para>
  <systemitem class="library">x264</systemitem> это библиотека для создания
  видеопотоков H.264. Она не завершена на 100%, но она имеет приемлемого
  качества поддержку большинства возможностей H.264.
<!-- FIXME need better translation 
  There are also many advanced features in the H.264 specification
  which have nothing to do with video quality per se; many of these
-->
  В спецификации H.264 присутствует множество дополнительных возможностей,
  которые никак не влиябт на качество видео и до сих в 
  <systemitem class="library">x264</systemitem> не реализованы.
</para>

<itemizedlist>
<title>возможности кодера</title>
<!-- FIXME i can't translate this -->
  <listitem><para>CAVLC/CABAC</para></listitem>
  <listitem><para>Multi-references</para></listitem>
  <listitem><para>Intra: all macroblock types (16x16, 8x8, and 4x4 with
    all predictions)</para></listitem>
  <listitem><para>Inter P: all partitions (from 16x16 down to
    4x4)</para></listitem>
  <listitem><para>Inter B: partitions from 16x16 down to 8x8
    (including SKIP/DIRECT)</para></listitem>
  <listitem><para>Ratecontrol: constant quantizer, constant bitrate,
    single or multipass ABR, optional VBV</para></listitem>
  <listitem><para>Scene cut detection</para></listitem>
  <listitem><para>Adaptive B-frame placement</para></listitem>
  <listitem><para>B-frames as references / arbitrary frame
    order</para></listitem>
  <listitem><para>8x8 and 4x4 adaptive spatial transform</para></listitem>
  <listitem><para>Lossless mode</para></listitem>
  <listitem><para>Custom quantization matrices</para></listitem>
  <listitem><para>Parallel encoding of multiple slices</para></listitem>
</itemizedlist>

</sect3>

<sect3 id="codec-h264-whatis">
<title>Что такое H.264?</title>
<para>
  
  H.264 это одно из названий нового цифрового кодека совместно 
  разрабатываемого ITU и MPEG. Названия "ISO/IEC 14496-10" или
  "MPEG-4 Part 10" тоже являются корректными, но чаще его
  называют  "MPEG-4 AVC" или просто "AVC".
</para>
<para>
  Как его ни называй, но H.264 стоит попробовать, поскольку он 
  дает то же качество, что и MPEG-4 ASP, но при битрейте меньшем 
  на 5%-30%. Конкретный результат зависит как от исходного
  материала, так и от кодировщика. Выигрыш не дается просто так:
  декодирование потока H.264, похоже, имеет повышенные требования
  к CPU и памяти. В частности, на 1733 MHz Athlon декодирование
  H.264 потока в 1500кбит/с с DVD-разрешением  использует около 50% CPU.
  Для сравнения, декодирование 1500кбит/с потока MPEG4-ASP с 
  DVD-разрешением требует около 10% CPU. Это значит, что вопрос декодирования 
  потоков высокого разрешения не стоит перед большинством пользователей.
  Также это значит, что даже скромный DVD рип может время от времени
  заикаться на процессорах слабее 2.0 GHz или около того.
</para>
<para>
  Как минимум с <systemitem class="library">x264</systemitem>,
  требования для кодирования не слишком велики по сравнению с MPEG4-ASP.
  В частности, на 1733 MHz Athlon кодирование обичного DVD будет идти со
  скоростью 5-15 fps.
</para>
<para>
  Объяснять все тонкости H.264 не является целью этого документа, но если
  вас интересует краткий обзор, вы можете прочесть 
  <ulink url="http://www.cdt.luth.se/~peppar/kurs/smd151/spie04-h264OverviewPaper.pdf">The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions</ulink>.
</para>
</sect3>

<sect3 id="codec-x264-playback">
<title>Как мне посмотреть H.264 при помощи <application>MPlayer</application>?</title>
<para>
  <application>MPlayer</application> использует H.264 декодер библиотеки
  <systemitem class="library">libavcodec</systemitem>.
  <systemitem class="library">libavcodec</systemitem> полиуила мало-мальски
  пригодную для использования возможность декодирования H.264 где-то в Июле 2004,
  конечно с того времени было внесено можество серъезных изменений и улучшений,
  как с точки зрения поддерживаемых функцианальных возможностей, так и улучшенного
  использования CPU.
  Для определенности: использование свежего среза CVS - всегда хорошая идея.
</para>
<para>
  Если нужен быстрый и простой способ какие свежие изменения, относящиеся к H.264,
  были сделаны в <systemitem class="library">libavcodec</systemitem>, Вам следует
  иметь ввиду
  <ulink url="http://mplayerhq.hu/cgi-bin/cvsweb.cgi/ffmpeg/libavcodec/h264.c?cvsroot=FFMpeg">FFmpeg CVS repository's web interface (Веб-интерфейс к репозиторию FFmpegCVS)</ulink>.
</para>
</sect3>

<sect3 id="codec-x264-encode">
<title>Как кодировать видео, используя <application>MEncoder</application> и <systemitem class="library">x264</systemitem>?</title>
<para>
  Если у вас установлен клиент subversion, последнюю версию x264 
  можно загрузить следующей командой:
  <screen>
    svn co svn://svn.videolan.org/x264/trunk x264<!--
--></screen>
  Исходный код <application>MPlayer</application> обновляется 
  свякий раз при изменении API <systemitem class="library">x264</systemitem>, 
  так что предлагается использовать Subversion версию
  <application>MPlayer</application>'а.
  возможно, ситуация изменится с выходом "релиза" 
  <systemitem class="library">x264</systemitem> (если он будет).
  В данный момент <systemitem class="library">x264</systemitem> следует
  рассматривать как очень нестабильный, в свете постоянного изменения
  интерфейса программирования.
</para>
<para>
  <systemitem class="library">x264</systemitem> собирается и устанавливается
  как обычно:
  <screen>
    ./configure &amp;&amp; make &amp;&amp; sudo make install
  </screen>
  Это установит libx264.a в /usr/local/lib, а x264.h - в /usr/local/include.
  Сборка <application>MPlayer</application>'а при установленных в стандартные
  каталоги библиотеке и заголовочного файла <systemitem class="library">x264</systemitem>
  очень проста.
  Просто запустите станартное:
  <screen>./configure &amp;&amp; make &amp;&amp; sudo make install</screen>
  Скрипт configure сам определит, выполнены ли необходимые требования для
  <systemitem class="library">x264</systemitem>.
</para>
</sect3>
</sect2>
</sect1>

<!-- ********** -->

<sect1 id="audio-codecs">
<title>Аудио кодеки</title>

<itemizedlist>
<title>Наиболее важными аудио кодеками среди всех являются:</title>
<listitem><simpara>
  MPEG layer 1/2/3 (MP1/2/3) аудио (<emphasis role="bold">"родной"</emphasis>
  код, с MMX/SSE/3DNow! оптимизацией)
  </simpara></listitem>
<listitem><simpara>
  Windows Media Audio 7 и 8 (aka WMAv1 и WMAv2) (<emphasis role="bold">"родной"</emphasis> код, с
  <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
  </simpara></listitem>
<listitem><simpara>
  Windows Media Audio 9 (WMAv3) (используя DMO DLL)
  </simpara></listitem>
<listitem><simpara>
  AC3 Dolby аудио (<emphasis role="bold">"родной"</emphasis> код, с
  MMX/SSE/3DNow! оптимизацией)
  </simpara></listitem>
<listitem><simpara>
  AC3 проходящий через звуковое оборудование
  </simpara></listitem>
<listitem><simpara>
  AAC
  </simpara></listitem>
<listitem><simpara>
  Ogg Vorbis аудио кодек (<emphasis role="bold">родная</emphasis> библиотека)
  </simpara></listitem>
<listitem><simpara>
  RealAudio: DNET (AC3 с низким битпотоком), Cook, Sipro и ATRAC3
  </simpara></listitem>
<listitem><simpara>
  QuickTime: Qualcomm и QDesign аудио кодеки
  </simpara></listitem>
<listitem><simpara>
  VIVO аудио (g723, Vivo Siren)
  </simpara></listitem>
<listitem><simpara>
  Voxware аудио (используя DirectShow DLL)
  </simpara></listitem>
<listitem><simpara>
  alaw и ulaw, различные gsm, adpcm и pcm форматы и другие простые старые аудио
  кодеки
  </simpara></listitem>
<listitem><simpara>
  Adaptive Multi-Rate (AMR) речевые кодеки
  </simpara></listitem>
</itemizedlist>


<sect2 id="swac3">
<title>Программное декодирование AC3</title>

<para>
Это декодер, используемый, по умолчанию, для файлов с AC3 аудио
</para>

<para>
Декодер AC3 может создавать аудио вывод микшированный для 2, 4 или 6 колонок.
Будучи сконфигурированным для 6 колонок, этот декодер предоставляет раздельный
вывод всех AC3 каналов звуковому драйверу, позволяя получить "звук вокруг"
без внешнего AC3 декодера, необходимого для использования hwac3 кодека.
</para>

<para>
Используйте опцию <option>-channels</option>, чтобы выбрать количество каналов
при выводе. Используйте <option>-channels 2</option> для микширования до стерео.
Для микширования до 4 каналов (выводы Left Front[Левый Передний], Right Front
[Правый передний], Left Surround[Левый Задний] и Right Surround[Правый Задний]),
используйте <option>-channels 4</option>. В этом случае все центральные каналы
будут смикшированы до уровня передних каналов. <option>-channels 6</option> будет
выводить все AC3 каналы так, как они закодированы - по порядку:
Left[Левый], Right[Правый], Left Surround[Левый Задний], Right Surround[Правый
Задний], Center[Центральный] и LFE.
</para>

<para>
Количество каналов по умолчанию - 2.
</para>

<para>
Чтобы использовать более 2 каналов, Вам нужно использовать OSS, и обладать
карточкой, поддерживающей необходимое количество каналов через ioctl
SNDCTL_DSP_CHANNELS.  Примером подходящего драйвера является emu10k1
(используется для Soundblaster Live! карточек) августа 2001'ого или новее
(ALSA CVS тоже должен работать).
</para>
</sect2>


<sect2 id="hwac3">
<title>Аппаратное декодирование AC3</title>
<para>
Вам нужна AC3-совместимая карта с цифровым (S/PDIF) выводом. Драйвер карты
должен должным образом поддерживать AFMT_AC3 формат (например C-Media).
Подсоедините AC3 декодер к S/PDIF выводу и используйте опцию <option>-ac
hwac3</option>. Это экспериментальная возможность, но известно, что это работает с
C-Media картами и Soundblaster Live! + ALSA (но не OSS) драйверами и
картами MPEG декодирования DXR3/Hollywood+.
</para>
</sect2>


<sect2 id="libmad">
<title>Поддержка libmad</title>

<para>
<ulink url="http://mad.sourceforge.net">libmad</ulink> - это многоплатформенная,
целочисленная (внутренне 24'битный PCM)
библиотека декодирования MPEG аудио. Она не очень хорошо обрабатывает битые
файлы и иногда у неё бывают проблемы с перемещением по файлу, она 
может быть производительнее mp3lib на платформах без FPU
(таких как <link linkend="arm">ARM</link>).
</para>

<para>
Чтобы включить её поддержку, компилируйте с опцией configure
<option>--enable-mad</option>.
</para>
</sect2>


<sect2 id="hwmpa">
<title>Аппаратный MPEG аудио кодек</title>

<para>
Этот кодек (выбираемый по -ac hwmpa) передает все аудио пакеты MPEG аппаратным
декодерам, такие, как установленные в полнофункциональных DVB картах и DXR2 адаптерах.
Не используйте его с другими драйверами вывода звука (такими как OSS и ALSA), которые
не способны аппаратно декодировать (вы усышите только белый шум).
</para>
</sect2>

<sect2 id="vivo-audio">
<title>VIVO аудио</title>
<para>
Аудио кодек, используемый в VIVO файлах зависит от того, это VIVO/1.0 или
VIVO/2.0 файл. В VIVO/1.0 файлах <emphasis role="bold">g.723</emphasis> аудио,
а в VIVO/2.0 файлах - <emphasis role="bold">Vivo Siren</emphasis> аудио. Оба
типа поддерживаются.
</para>
</sect2>


<sect2 id="realaudio">
<title>RealAudio</title>

<para>
<application>MPlayer</application> поддерживает декодирование почти всех версий
RealAudio:
</para>

<itemizedlist>
<listitem><simpara>
  RealAudio DNET - декодирование поддерживается в
  <systemitem class="library">liba52</systemitem>
  </simpara></listitem>
<listitem><simpara>
  RealAudio Cook/Sipro/ATRAC3 - декодирование поддерживается использованием
  <emphasis role="bold">библиотек из RealPlayer'а</emphasis>
  </simpara></listitem>
</itemizedlist>

<para>
Инструкции по установке RealPlayer'овские библиотек находятся в секции
<link linkend="realvideo">RealVideo</link>.
</para>
</sect2>

<sect2 id="qdesign">
<title>QDesign кодеки</title>
<para>
Аудио потоки QDesign (fourcc:<emphasis>QDMC, QDM2</emphasis>) обнаруживаются
в MOV/QT файлах. Обе версии этого кодека могут декодироваться библиотеками
QuickTime. Инструкции по установке см. в секции
<link linkend="sorenson">Sorenson video codec</link>.
</para>
</sect2>

<sect2 id="qualcomm">
<title>Qualcomm кодеки</title>
<para>
Аудио потоки Qualcomm (fourcc:<emphasis>Qclp</emphasis>) обнаруживаются
в MOV/QT файлах. Они могут декодироваться библиотеками QuickTime.
Инструкций по установке см. в секции
<link linkend="sorenson">Sorenson video codec</link>.
</para>
</sect2>

<sect2 id="aac">
<title>AAC кодек</title>
<para>
AAC (Advanced Audio Coding) - это кодек, иногда обнаруживаемый в MOV и MP4
файлах. Декодер с открытым исходным кодом, называемый FAAD, доступен с
<ulink url="http://www.audiocoding.com"/>.
<application>MPlayer</application> включает в себя CVS срез libfaad 2.1 beta, поэтому
Вам ничего не нужно дополнительно скачивать.
</para>

<para>
Если Вы используете gcc 3.2, который не может скомпилировать встроенный FAAD,
или просто хотите использовать внешнюю библиотеку, скачаете её с 
<ulink url="http://www.audiocoding.com/download.php">страницы скачивания</ulink>
и укажите <filename>configure</filename> <option>--enable-external-faad</option>.
Вам не нужен весь faad2, чтобы декодировать AAC файлы, достаточно libfaad.
Вот как Вы можете её собрать:
<screen>
cd faad2/
sh bootstrap
./configure
cd libfaad
make
make install
</screen>
Бинарники отсутствуют на audiocoding.com, но вы можете скачать (apt-get) Debian
пакеты с <ulink url="http://marillat.free.fr">домашней страницы Christian Marillat</ulink>,
Mandrake RPM'ники с <ulink url="http://plf.zarb.org">P.L.F</ulink> и RedHat RPM'ники
с <ulink url="http://greysector.rangers.eu.org/">Grey Sector[Серый Сектор]</ulink>.
</para>
</sect2>

<sect2 id="amr">
<title>AMR кодеки</title>
<para>
Adaptive Multi-Rate речевой кодек используется в мобильных телефонах третьего поколения (3G).

Референсная реализвация (reference implementation) доступна с 
<ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
(бесплатна для лчного использования).
</para>
<para>
чтобы включить поддержку, скачайте исходники для
<ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip">AMR-NB</ulink>
и
<ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip">AMR-WB</ulink>
кодеков, поместите их в каталог, где распакованы исходники 
<application>MPlayer</application> и выполните следующие команды:
<screen>
unzip 26104-610.zip
unzip 26104-610_ANSI_C_source_code.zip
mv c-code libavcodec/amr_float
unzip 26204-600.zip
unzip 26204-600_ANSI-C_source_code.zip
mv c-code libavcodec/amrwb_float
</screen>
После этого следуйте обычной <link linkend="features">процедуре сборки</link>
<application>MPlayer</application>.

</para>

</sect2>

</sect1>
<!-- ********** -->

<sect1 id="codec-importing">
<title>КАК извлечь кодек из Win32</title>

<!-- TODO: a short paragraph of text would be nice here... -->

<sect2 id="vfw-codecs">
<title>VFW кодеки</title>

<para>
VFW (Video for Windows[Видео для Windows]) - это старые Видео API для Windows.
У этих кодеков расширения <filename>.DLL</filename> или (реже) <filename>.DRV
</filename>. Если <application>MPlayer</application> не может проигрывать Ваш
AVI с такого рода сообщением:
<screen>UNKNOWN video codec: HFYU (0x55594648)</screen>
</para>

<para>
Это значит, что Ваш AVI закодирован кодеком с fourcc[кодом из 4 символов] HFYU
(HFYU = HuffYUV кодек, DIV3 = DivX Low Motion, и т. п.). Теперь, когда Вы это
знаете, Вы должны найти DLL, которую Windows загружает для проигрывания этого
файла. В нашем случае, в файле <filename>system.ini</filename> есть эта
информация, в этой строке:
<programlisting>VIDC.HFYU=huffyuv.dll</programlisting>
</para>

<para>
Значит, Вам нужен файл <filename>huffyuv.dll</filename>. Заметьте, что аудио
кодеки используют префикс MSACM:
<programlisting>msacm.l3acm=L3codeca.acm</programlisting>
</para>

<para>
Это MP3 кодек. Теперь у Вас есть  вся необходимая информация (fourcc, файл с
кодеком, пример AVI), представьте на рассмотрение запрос о поддержке Вашего
кодека по почте и загрузите эти файлы на FTP сайт:
<systemitem role="url">
ftp://upload.mplayerhq.hu/MPlayer/incoming/[codecname]/
</systemitem>
</para>

<note><para>Под Windows NT/2000/XP ищите эту информацию в реестре, например,
ищите &quot;VIDC.HFYU&quot;. Чтобы узнать, как это делать, см. ниже старый
DirectShow метод.
</para></note>
</sect2>


<sect2 id="dshow-codecs">
<title>DirectShow кодеки</title>

<para>
DirectShow - это более новый Video API, которые даже хуже, чем его предшественник.
Все сложнее с DirectShow, поскольку
<itemizedlist>
<listitem><simpara>
  <filename>system.ini</filename> не содержит необходимую информацию, вместо
  этого она хранится в реестре и 
  </simpara></listitem>
<listitem><simpara>
  нам нужен GUID этого кодека.
  </simpara></listitem>
</itemizedlist>
</para>

<procedure>
<title>Новый Метод:</title>
<para>
Используя <application>Microsoft GraphEdit</application> (быстро)
</para>
<step><para>
  Получите <application>GraphEdit</application> или из DirectX SDK или
  <ulink url="http://doom9.net">doom9</ulink>
  </para></step>
<step><para>
  Запустите <command>graphedit.exe</command>.
  </para></step>
<step><para>
  В меню выберите Graph -> Insert Filters.
  </para></step>
<step><para>
  Щёлкните <systemitem>DirectShow Filters</systemitem>
  </para></step>
<step><para>
  Выберите нужное имя кодека и щёлкните по нему.
  </para></step>
<step><para>
  В поле <systemitem>DisplayName</systemitem> обратите внимание на текст в
  фигурных скобках после обратного слэша и выпишете их (пять разделённых
  дефисами блоков, GUID).
  </para></step>
<step><para>
  Бинарный файл кодека - это файл, указанный в поле <systemitem>Filename</systemitem>.
  </para></step>
</procedure>

<note>
<para>
Если там нет <systemitem>Filename</systemitem> и
<systemitem>DisplayName</systemitem> содержит что-то в духе 
<systemitem>device:dmo</systemitem>, то это - DMO-Кодек.
</para>
</note>

<procedure>
<title>Старый метод:</title>
<para>
Сделайте глубокий вдох и начните искать в реестре...
</para>
<step><para>
  Запустите <command>regedit</command>.
  </para></step>
<step><para>
  Нажмите <keycap>Ctrl</keycap>+<keycap>F</keycap>, отключите первые две галочки
  и включите третью. Наберите fourcc Вашего кодека (например, 
  <userinput>TM20</userinput>).
  </para></step>
<step><para>
  Вы должны увидеть поле, содержащее путь и имя файла (например,
  <filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>).
  </para></step>
<step><para>
  Теперь, когда у Вас есть файл, нам нужен GUID. Попробуйте поискать снова,
  но теперь ищите имя кодека, а не fourcc. Это имя может быть получено,
  когда Media Player проигрывает файл, проверив
  <guimenu>File</guimenu> -&gt; <guisubmenu>Properties</guisubmenu> -&gt;
  <guimenuitem>Advanced</guimenuitem>.
  Если нет, Вам не повезло. Попробуйте угадать (например, ищите TrueMotion).
  </para></step>
<step><para>
  Если GUID найден, Вы должны видеть поля <guilabel>FriendlyName</guilabel>
  и <guilabel>CLSID</guilabel>. Выпишите 16-ти байтовый CLSID, это GUID, который
  нам нужен.
  </para></step>
</procedure>

<note>
<para>
Если поиск не удаётся, попробуйте включить все галочки. Вы можете получить
ложные значения, но Вам может повести...
</para>
</note>

<para>
Теперь у Вас есть  вся необходимая информация (fourcc, GUID, файл с кодеком,
пример AVI), представьте на рассмотрение запрос о поддержке Вашего кодека по
почте и загрузите эти файлы на FTP сайт:
<systemitem
role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/[codecname]/
</systemitem>
</para>
<para>
Если вы хотите добавить кодек самостоятельно, прочтите
<ulink url="http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt">DOCS/tech/codecs.conf.txt</ulink>.
</para>
</sect2>
</sect1>
</chapter>