2006-10-30 15:32:47 +00:00
<?xml version="1.0" encoding="utf-8"?>
2008-05-21 17:12:57 +00:00
<!-- synced with r26729 -->
2006-09-08 16:42:09 +00:00
<chapter id= "codecs" >
2006-10-30 15:32:47 +00:00
<title > Поддерживаемые кодеки</title>
2003-04-11 17:38:51 +00:00
2006-09-08 16:42:09 +00:00
<sect1 id= "video-codecs" >
2006-10-30 15:32:47 +00:00
<title > Видео кодеки</title>
2003-04-11 17:38:51 +00:00
<para >
2006-10-30 15:32:47 +00:00
<ulink url= "../../codecs-status.html" > Таблица статуса кодеков</ulink> содержит
полный, ежедневно обновляющийся список всех поддерживаемых кодеков. Некоторые
бинарные кодеки, которые можно использовать в MPlayer, доступны
в <ulink url= "http://www.mplayerhq.hu/design7/dload.html#binary_codecs" > разделе закачки</ulink>
нашего сайта.
2003-04-11 17:38:51 +00:00
</para>
<para >
2006-10-30 15:32:47 +00:00
Наиболее важные кодеки:
2003-04-11 17:38:51 +00:00
</para>
<itemizedlist >
2006-12-23 15:58:02 +00:00
<listitem > <para >
2006-10-30 15:32:47 +00:00
<emphasis role= "bold" > MPEG1</emphasis> (<emphasis role= "bold" > VCD</emphasis> ) и
<emphasis role= "bold" > MPEG2</emphasis> (<emphasis role= "bold" > DVD</emphasis> ) видео
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
"родные" декодеры для <emphasis role= "bold" > всех вариантов DivX,
2008-03-03 12:38:33 +00:00
3ivX, Microsoft MPEG-4</emphasis> v1, v2 и других вариантов MPEG-4.
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
"родной" декодер для <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> файлах
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
"родной" <emphasis role= "bold" > Sorenson 1 (SVQ1)</emphasis> декодер
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
"родной" <emphasis role= "bold" > Sorenson 3 (SVQ3)</emphasis> декодер
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
<emphasis role= "bold" > 3ivx</emphasis> v1, v2 декодер
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
Cinepak и <emphasis role= "bold" > Intel Indeo</emphasis> кодеки (3.1,3.2,4.1,5.0)
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
<emphasis role= "bold" > MJPEG</emphasis> , AVID, VCR2, ASV2 и другие аппаратные
форматы
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
VIVO 1.0, 2.0, I263 и другие <emphasis role= "bold" > h263(+)</emphasis> варианты
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2003-04-11 17:38:51 +00:00
FLI/FLC
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
<emphasis role= "bold" > RealVideo 1.0 & 2.0 </emphasis> из
<systemitem class= "library" > libavcodec</systemitem> , и
<emphasis role= "bold" > RealVideo 3.0 & 4.0</emphasis> кодеки, используя
библиотеки RealPlayer
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
"родной" декодер для HuffYUV
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
Различные старые, простые, похожие на RLE форматы
2006-12-23 15:58:02 +00:00
</para> </listitem>
2003-04-11 17:38:51 +00:00
</itemizedlist>
<para >
2006-10-30 15:32:47 +00:00
Если у В а с есть не упомянутый здесь Win32 кодек, который ещё не поддерживается,
пожалуйста, прочтите <link linkend= "codec-importing" > Как добавить кодек</link>
и помогите нам добавить для него поддержку.
2003-04-11 17:38:51 +00:00
</para>
2006-12-09 09:27:35 +00:00
<!-- ********** -->
2003-04-11 17:38:51 +00:00
2006-09-08 16:42:09 +00:00
<sect2 id= "ffmpeg" xreflabel= "FFmpeg/libavcodec" >
2003-10-14 21:31:04 +00:00
<title > FFmpeg/libavcodec</title>
2003-04-11 17:38:51 +00:00
<para >
2006-10-30 15:32:47 +00:00
<ulink url= "http://ffmpeg.sourceforge.net" > FFmpeg</ulink> содержит
<systemitem class= "library" > libavcodec</systemitem> - ведущую библиотеку аудио
и видео кодеков с открытым исходным кодом. Она способна декодировать
2006-12-21 17:35:46 +00:00
большинство мультимедиа форматов, обычно быстрее альтернатив, и периодически
2006-11-05 12:30:00 +00:00
добавляется поддержка оставшихся. Это декодер по-умолчанию для большинства
кодеков, поддерживаемых
2006-10-30 15:32:47 +00:00
<application > MPlayer</application> . Кодирование также возможно для некоторых форматов и
поддерживается в <application > Mencoder</application> .
2003-05-20 06:51:47 +00:00
</para>
2003-10-14 21:31:04 +00:00
<para >
2006-11-05 18:53:21 +00:00
Полный список поддерживаемых
<ulink url= "http://www.ffmpeg.org/ffmpeg-doc.html#SEC19" > видео</ulink>
и <ulink url= "http://www.ffmpeg.org/ffmpeg-doc.html#SEC20" > аудио</ulink> кодеков
доступен на домашней странице FFmpeg.
2003-10-14 21:31:04 +00:00
</para>
2003-04-11 17:38:51 +00:00
<para >
2006-10-21 21:36:31 +00:00
<application > MPlayer</application>
2006-10-30 15:32:47 +00:00
содержит <systemitem class= "library" > libavcodec</systemitem> .
2006-11-05 18:53:21 +00:00
Просто запустите <filename > ./configure</filename> и компилируйте как обычно.
2003-04-11 17:38:51 +00:00
</para>
2006-09-08 16:42:09 +00:00
</sect2>
2003-04-11 17:38:51 +00:00
2006-12-09 09:27:35 +00:00
<!-- ********** -->
2003-04-11 17:38:51 +00:00
2006-09-08 16:42:09 +00:00
<sect2 id= "xvid" >
2006-11-13 19:24:02 +00:00
<title > Xvid</title>
2003-04-11 17:38:51 +00:00
<para >
2006-11-13 19:24:02 +00:00
<ulink url= "http://www.xvid.org" > Xvid</ulink> свободный, MPEG-4 ASP совместимый
2006-10-30 15:32:47 +00:00
видео кодек, особенностями которого являются двухпроходное кодирование и
2006-12-21 17:35:46 +00:00
полная поддержка MPEG-4 ASP, делающая е г о намного более эффективным, чем
2006-10-30 15:32:47 +00:00
хорошо известный DivX. Он предоставляет видео отменного качества и хорошую
производительность, в силу оптимизаций под большинство современных процессоров.
2006-09-05 09:52:53 +00:00
</para>
<para >
2006-10-30 15:32:47 +00:00
Он начался как ответвление OpenDivX кодека. Это произошло, когда ProjectMayo
сделал исходный код OpenDivX
закрытым DivX4, и разработчики OpenDivX не из ProjectMayo
2006-11-13 19:24:02 +00:00
разозлились, и взялись за Xvid. Поэтому у обоих проектов общие корни.
2003-04-11 17:38:51 +00:00
</para>
2006-10-21 21:36:31 +00:00
<para >
2006-11-13 19:24:02 +00:00
Имейте в виду, что Xvid не нужен для декодирования Xvid-кодированного видео.
2006-10-30 15:32:47 +00:00
<systemitem class= "library" > libavcodec</systemitem> используется по-умолчанию,
т.к. обеспечивает более высокую скорость.
2006-10-21 21:36:31 +00:00
</para>
2003-04-11 17:38:51 +00:00
<procedure >
2006-11-13 19:24:02 +00:00
<title > Установка <systemitem class= "library" > Xvid</systemitem> </title>
2006-09-05 09:52:53 +00:00
2003-04-11 17:38:51 +00:00
<para >
2006-10-30 15:32:47 +00:00
Как и большинство ПО с открытым исходным кодом, он доступен как в виде
<ulink url= "http://www.xvid.org/downloads.html" > официальных релизов</ulink> ,
так и в виде CVS версии.
Как правило, CVS версия достаточно стабильна для использования, т.к. в большинстве
случаев е е особенностью является отсутствие ошибок, присутствующих в релизах.
Далее описывается как заставить работать
2006-11-13 19:24:02 +00:00
<systemitem class= "library" > Xvid</systemitem> CVS с <application > MEncoder</application> 'ом
2006-10-30 15:32:47 +00:00
(необходимы, как минимум,
2006-09-05 09:52:53 +00:00
<application > autoconf</application> 2.50,
2006-10-30 15:32:47 +00:00
<application > automake</application> и <application > libtool</application> ):
2003-04-11 17:38:51 +00:00
</para>
<step > <para >
<screen > cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen>
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<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>
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
<screen > ./bootstrap.sh</screen>
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
<screen > ./configure</screen>
2006-10-30 15:32:47 +00:00
Вам может потребоваться добавить некоторые опции (посмотрите вывод
2006-10-01 09:25:34 +00:00
<command > ./configure --help</command> ).
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
<screen > make & & make install</screen>
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
2006-10-30 15:32:47 +00:00
Если Вы указали <option > --enable-divxcompat</option> ,
скопируйте <filename > ../../src/divx4.h</filename> в
2003-04-11 17:38:51 +00:00
<filename class= "directory" > /usr/local/include/</filename> .
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
2006-10-30 15:32:47 +00:00
Перекомпилируйте <application > MPlayer</application> с
2004-07-16 17:16:00 +00:00
<option > --with-xvidlibdir=<replaceable > /path/to/</replaceable> libxvidcore.a</option>
2006-10-21 21:36:31 +00:00
<option > --with-xvidincdir=<replaceable > /path/to/</replaceable> xvid.h</option> .
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
</procedure>
2006-09-08 16:42:09 +00:00
</sect2>
2003-04-11 17:38:51 +00:00
2006-12-09 09:27:35 +00:00
<!-- ********** -->
2003-04-11 17:38:51 +00:00
2006-09-08 16:42:09 +00:00
<sect2 id= "codec-x264" >
2006-11-05 18:53:21 +00:00
<title > <systemitem class= "library" > x264</systemitem> </title>
2005-05-05 13:26:59 +00:00
2006-09-08 16:42:09 +00:00
<sect3 id= "codec-x264-whatis" >
2006-11-05 18:53:21 +00:00
<title > Что такое <systemitem class= "library" > x264</systemitem> ?</title>
2005-05-05 13:26:59 +00:00
<para >
2006-12-09 09:27:35 +00:00
<ulink url= "http://developers.videolan.org/x264.html" > <systemitem class= "library" > x264</systemitem> </ulink> -
это библиотека для создания
2008-05-21 17:12:57 +00:00
видеопотоков H.264. Она не завершена на 100%, но,
поддерживает большинства возможностей H.264, влияющих на качество.
2006-12-09 09:27:35 +00:00
В спецификации H.264 присутствует множество дополнительных возможностей,
которые сами по с е б е никак не влияют на качество видео и до сих в
<systemitem class= "library" > x264</systemitem> не реализованы.
2005-05-05 13:26:59 +00:00
</para>
<itemizedlist >
2006-10-30 15:32:47 +00:00
<title > возможности кодера</title>
2006-12-09 09:27:35 +00:00
<listitem > <para >
CAVLC/CABAC (Контекстнозависимое адаптивное бинарное арифметическое
кодирование / Контестнозависимое адаптивное кодирование с переменной длиной)
</para> </listitem>
2006-10-30 15:32:47 +00:00
<listitem > <para > Кадры с несколькими ссылками</para> </listitem>
2006-12-09 09:27:35 +00:00
<listitem > <para >
Базовые (I-) кадры: все типы макроблоков (16x16, 8x8 и 4x4 с о всеми
видами предсказания)
</para> </listitem>
<listitem > <para >
Предсказуемые (P-) кадры: все дробления (от 16x16 до 4x4)
</para> </listitem>
<listitem > <para >
Двунаправленные (B-) кадры: дробления от 16x16 до 8x8 (включая SKIP/DIRECT)
</para> </listitem>
<listitem > <para >
Управление потоком: постоянный квантователь, постоянный битпоток,
одинарный или многопроходный ABR, опциональный VBV
</para> </listitem>
2006-10-30 15:32:47 +00:00
<listitem > <para > Обнаружение усечения изображения</para> </listitem>
<listitem > <para > Адаптивное расположение B-кадров</para> </listitem>
2006-12-09 09:27:35 +00:00
<listitem > <para >
B-кадры как ссылки или в произвольном расположении кадров
</para> </listitem>
2006-10-30 15:32:47 +00:00
<listitem > <para > Адаптивные пространственные преобразования 8x8 и 4x4</para> </listitem>
<listitem > <para > Режим кодирования без потерь</para> </listitem>
<listitem > <para > Возможность задания пользовательских матриц квантования</para> </listitem>
<listitem > <para > Параллельное кодирование разных блоков</para> </listitem>
2006-11-22 18:47:46 +00:00
<listitem > <para > Интерлейсинг</para> </listitem>
2005-05-05 13:26:59 +00:00
</itemizedlist>
2006-09-08 16:42:09 +00:00
</sect3>
2005-05-05 13:26:59 +00:00
2006-09-08 16:42:09 +00:00
<sect3 id= "codec-h264-whatis" >
2006-10-30 15:32:47 +00:00
<title > Что такое H.264?</title>
2005-05-05 13:26:59 +00:00
<para >
2006-12-09 09:27:35 +00:00
H.264 - это одно из названий нового цифрового кодека, совместно
разрабатываемого ITU и MPEG. Названия "ISO/IEC 14496-10" или
"MPEG-4 Part 10" тоже являются корректными, но чаще е г о
называют "MPEG-4 AVC" или просто "AVC".
2006-10-30 15:32:47 +00:00
</para>
2006-12-09 09:27:35 +00:00
2006-10-30 15:32:47 +00:00
<para >
2006-12-09 09:27:35 +00:00
Как е г о ни называй, но H.264 стоит попробовать, поскольку он
дает то же качество, что и MPEG-4 ASP, но при битрейте меньшем
на 5%-30%. Конкретный результат зависит как от исходного
материала, так и от кодировщика. Выигрыш не дается просто так:
декодирование потока H.264, похоже, имеет существенно повышенные требования
к CPU и памяти. В частности, на 1733 MHz Athlon декодирование
H.264 потока в 1500кб ит/с с DVD-разрешением использует около 35% CPU.
Для сравнения, декодирование 1500кб ит/с потока MPEG4-ASP с
DVD-разрешением требует около 10% CPU. Это означает, что для
большинства пользователей практически не может быть и речи о декодировании
потоков высокого разрешения.
Также это значит, что даже скромный DVD рип может время от времени
заикаться на процессорах слабее 2.0 GHz или около того.
2006-10-30 15:32:47 +00:00
</para>
2006-12-09 09:27:35 +00:00
2006-10-30 15:32:47 +00:00
<para >
2006-12-09 09:27:35 +00:00
По крайней мере, с <systemitem class= "library" > x264</systemitem>
требования для кодирования не слишком велики по сравнению с MPEG4-ASP.
В частности, на 1733 MHz Athlon кодирование обичного DVD будет идти с о
скоростью 5-15 fps.
2006-10-30 15:32:47 +00:00
</para>
2006-12-09 09:27:35 +00:00
2006-10-30 15:32:47 +00:00
<para >
2006-12-09 09:27:35 +00:00
Объяснять все тонкости 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> .
2005-05-05 13:26:59 +00:00
</para>
2006-09-08 16:42:09 +00:00
</sect3>
2005-05-05 13:26:59 +00:00
2006-12-09 09:27:35 +00:00
2006-09-08 16:42:09 +00:00
<sect3 id= "codec-x264-playback" >
2006-10-30 15:32:47 +00:00
<title > Как мне посмотреть H.264 при помощи <application > MPlayer</application> ?</title>
2005-05-05 13:26:59 +00:00
<para >
2006-12-09 09:27:35 +00:00
<application > MPlayer</application> использует H.264 декодер библиотеки
<systemitem class= "library" > libavcodec</systemitem> .
<systemitem class= "library" > libavcodec</systemitem> получила мало-мальски
пригодную для использования возможность декодирования H.264 где-то в июле 2004,
2006-12-21 17:35:46 +00:00
однако, с того времени было внесено множество серьезных изменений и улучшений,
2006-12-09 09:27:35 +00:00
как с точки зрения поддерживаемых функциональных возможностей, так и улучшенного
использования CPU.
Для определенности: использование свежей версии Subversion - всегда хорошая идея.
2005-05-05 13:26:59 +00:00
</para>
2006-12-09 09:27:35 +00:00
2005-05-05 13:26:59 +00:00
<para >
2006-12-09 09:27:35 +00:00
Если нужен быстрый и простой способ узнать какие свежие изменения, относящиеся к H.264,
были сделаны в <systemitem class= "library" > libavcodec</systemitem> , Вам следует
иметь ввиду
<ulink url= "http://mplayerhq.hu/cgi-bin/cvsweb.cgi/ffmpeg/libavcodec/h264.c?cvsroot=FFMpeg" > В е б -интерфейс к репозиторию FFmpeg Subversion</ulink> .
2005-05-05 13:26:59 +00:00
</para>
2006-09-08 16:42:09 +00:00
</sect3>
2005-05-05 13:26:59 +00:00
2006-12-09 09:27:35 +00:00
2006-09-08 16:42:09 +00:00
<sect3 id= "codec-x264-encode" >
2006-10-30 15:32:47 +00:00
<title > Как кодировать видео, используя <application > MEncoder</application> и <systemitem class= "library" > x264</systemitem> ?</title>
2005-05-05 13:26:59 +00:00
<para >
2008-05-21 17:12:57 +00:00
Если у вас установлен клиент GIT, последнюю версию x264
2006-12-09 09:27:35 +00:00
можно загрузить следующей командой:
2008-05-21 17:12:57 +00:00
<screen > git clone git://git.videolan.org/x264.git</screen>
2006-12-09 09:27:35 +00:00
Исходный код <application > MPlayer</application> обновляется
всякий раз при изменении API <systemitem class= "library" > x264</systemitem> ,
так что предлагается использовать Subversion версию
<application > MPlayer</application> 'а .
возможно, ситуация изменится с выходом "релиза"
<systemitem class= "library" > x264</systemitem> (если он будет).
В данный момент <systemitem class= "library" > x264</systemitem> следует
2008-05-21 17:12:57 +00:00
рассматривать как не совсем стабильный, в свете постоянного изменения
2006-12-09 09:27:35 +00:00
интерфейса программирования.
</para>
<para >
<systemitem class= "library" > x264</systemitem> собирается и устанавливается
как обычно:
<screen > ./configure & & make & & sudo make install</screen>
Это установит libx264.a в /usr/local/lib, а x264.h - в /usr/local/include.
Сборка <application > MPlayer</application> при установленных в стандартные
каталоги библиотеке и заголовочном файле <systemitem class= "library" > x264</systemitem>
очень проста.
2006-12-21 17:35:46 +00:00
Просто запустите стандартное:
2006-12-09 09:27:35 +00:00
<screen > ./configure & & make & & sudo make install</screen>
Скрипт <filename > ./configure</filename> сам определит, выполнены ли необходимые требования для
<systemitem class= "library" > x264</systemitem> .
2005-05-05 13:26:59 +00:00
</para>
2003-04-11 17:38:51 +00:00
</sect3>
</sect2>
2006-09-08 16:42:09 +00:00
</sect1>
2003-04-11 17:38:51 +00:00
2006-12-09 09:27:35 +00:00
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
2003-04-11 17:38:51 +00:00
2006-09-08 16:42:09 +00:00
<sect1 id= "audio-codecs" >
2006-10-30 15:32:47 +00:00
<title > Аудио кодеки</title>
2003-04-11 17:38:51 +00:00
<itemizedlist >
2006-10-30 15:32:47 +00:00
<title > Наиболее важными аудио кодеками среди всех являются:</title>
2006-12-23 15:58:02 +00:00
<listitem > <para >
2006-10-30 15:32:47 +00:00
MPEG layer 1/2/3 (MP1/2/3) аудио (<emphasis role= "bold" > родной</emphasis>
код, с MMX/SSE/3DNow! оптимизацией)
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
Windows Media Audio 7 и 8 (они же WMAv1 и WMAv2) (<emphasis role= "bold" > родной</emphasis> код, с
2004-07-16 17:16:00 +00:00
<link linkend= "ffmpeg" > <systemitem class= "library" > libavcodec</systemitem> </link> )
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
Windows Media Audio 9 (WMAv3) (используя DMO DLL)
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2007-08-22 09:56:42 +00:00
AC-3 Dolby аудио (<emphasis role= "bold" > родной</emphasis> код, с
2006-10-30 15:32:47 +00:00
MMX/SSE/3DNow! оптимизацией)
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2007-08-22 09:56:42 +00:00
AC-3 пропускаемый через звуковое оборудование
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2003-12-09 18:52:13 +00:00
AAC
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
Ogg Vorbis аудио кодек (<emphasis role= "bold" > родная</emphasis> библиотека)
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2007-08-22 09:56:42 +00:00
RealAudio: DNET (AC-3 с низким битпотоком), Cook, Sipro и ATRAC3
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
QuickTime: Qualcomm и QDesign аудио кодеки
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
VIVO аудио (g723, Vivo Siren)
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
Voxware аудио (используя DirectShow DLL)
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
alaw и ulaw, различные gsm, adpcm и pcm форматы и другие простые старые аудио
кодеки
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
Adaptive Multi-Rate (AMR) речевые кодеки
2006-12-23 15:58:02 +00:00
</para> </listitem>
2003-04-11 17:38:51 +00:00
</itemizedlist>
2006-12-09 09:27:35 +00:00
<!-- ********** -->
2006-09-08 16:42:09 +00:00
<sect2 id= "swac3" >
2007-08-22 09:56:42 +00:00
<title > Программное декодирование AC-3</title>
2003-04-11 17:38:51 +00:00
<para >
2007-08-22 09:56:42 +00:00
Это декодер, используемый, по умолчанию, для файлов с AC-3 аудио
2003-04-11 17:38:51 +00:00
</para>
<para >
2007-08-22 09:56:42 +00:00
Декодер AC-3 может создавать аудио вывод микшированный для 2, 4 или 6 колонок.
2006-10-30 15:32:47 +00:00
Будучи сконфигурированным для 6 колонок, этот декодер предоставляет раздельный
2007-08-22 09:56:42 +00:00
вывод всех AC-3 каналов звуковому драйверу, позволяя получить "звук вокруг"
без внешнего AC-3 декодера, необходимого для использования hwac3 кодека.
2003-04-11 17:38:51 +00:00
</para>
<para >
2006-10-30 15:32:47 +00:00
Используйте опцию <option > -channels</option> , чтобы выбрать количество каналов
при выводе. Используйте <option > -channels 2</option> для микширования до стерео.
Для микширования до 4 каналов (Левый Передний, Правый Передний, Левый Задний и
Правый Задний выводы),
используйте <option > -channels 4</option> . В этом случае все центральные каналы
будут равномерно смикшированы до уровня передних каналов. <option > -channels 6</option> будет
2007-08-22 09:56:42 +00:00
выводить все AC-3 каналы так, как они закодированы - по порядку:
2006-10-30 15:32:47 +00:00
Левый, Правый, Левый Задний, Правый Задний, Центральный и Сабвуфер.
2003-04-11 17:38:51 +00:00
</para>
<para >
2006-10-30 15:32:47 +00:00
Количество каналов по умолчанию - 2.
2003-04-11 17:38:51 +00:00
</para>
<para >
2006-10-30 15:32:47 +00:00
Чтобы использовать более 2 каналов, Вам нужно использовать OSS, и обладать
карточкой, поддерживающей необходимое количество каналов через ioctl
SNDCTL_DSP_CHANNELS. Примером подходящего драйвера является emu10k1
(используется для Soundblaster Live! карточек) августа 2001'г о или новее
(ALSA CVS тоже должен работать).
2003-04-11 17:38:51 +00:00
</para>
2006-09-08 16:42:09 +00:00
</sect2>
2003-04-11 17:38:51 +00:00
2006-12-09 09:27:35 +00:00
<!-- ********** -->
2003-04-11 17:38:51 +00:00
2006-09-08 16:42:09 +00:00
<sect2 id= "hwac3" >
2007-08-22 09:56:42 +00:00
<title > Аппаратное декодирование AC-3</title>
2003-04-11 17:38:51 +00:00
<para >
2007-08-22 09:56:42 +00:00
Вам нужна AC-3 совместимая карта с цифровым (S/PDIF) выводом. Драйвер карты
2006-10-30 15:32:47 +00:00
должен должным образом поддерживать AFMT_AC3 формат (например C-Media).
2007-08-22 09:56:42 +00:00
Подсоедините AC-3 декодер к S/PDIF выводу и используйте опцию <option > -ac
2006-10-30 15:32:47 +00:00
hwac3</option> . Это экспериментальная возможность, но известно, что это работает с
C-Media картами и Soundblaster Live! + ALSA (но не OSS) драйверами и
картами MPEG декодирования DXR3/Hollywood+.
2003-04-11 17:38:51 +00:00
</para>
2006-09-08 16:42:09 +00:00
</sect2>
2003-04-11 17:38:51 +00:00
2006-12-09 09:27:35 +00:00
<!-- ********** -->
2003-04-11 17:38:51 +00:00
2006-09-08 16:42:09 +00:00
<sect2 id= "libmad" >
2006-11-05 18:53:21 +00:00
<title > Поддержка <systemitem class= "library" > libmad</systemitem> </title>
2003-04-11 17:38:51 +00:00
<para >
2006-11-05 18:53:21 +00:00
<ulink url= "http://mad.sourceforge.net" > <systemitem
class="library">libmad</systemitem> </ulink> - это многоплатформенная,
2006-10-30 15:32:47 +00:00
целочисленная (внутренне 24'битный PCM)
библиотека декодирования MPEG аудио. Она не очень хорошо обрабатывает битые
файлы и иногда у неё бывают проблемы с перемещением по файлу, но она
2006-12-09 09:27:35 +00:00
может быть производительнее <systemitem class= "library" > mp3lib</systemitem>
на платформах без FPU (таких как <link linkend= "arm" > ARM</link> ).
2003-04-11 17:38:51 +00:00
</para>
<para >
2006-11-05 18:53:21 +00:00
Если <systemitem class= "library" > libmad</systemitem> у вас установлена,
<filename > ./configure</filename> сообщит о б этом,
2006-12-09 09:27:35 +00:00
и поддержка декодирования MPEG аудио с помощью
<systemitem class= "library" > libmad</systemitem> будет включена автоматически.
2003-04-11 17:38:51 +00:00
</para>
2006-09-08 16:42:09 +00:00
</sect2>
2003-04-11 17:38:51 +00:00
2006-12-09 09:27:35 +00:00
<!-- ********** -->
2006-09-08 16:42:09 +00:00
<sect2 id= "hwmpa" >
2006-10-30 15:32:47 +00:00
<title > Аппаратный MPEG аудио кодек</title>
2006-09-05 09:52:53 +00:00
<para >
2006-11-05 18:53:21 +00:00
Этот кодек (выбираемый по <option > -ac hwmpa</option> ) передает все аудио пакеты MPEG аппаратным
2006-10-30 15:32:47 +00:00
декодерам, таким как установленные в полнофункциональных DVB картах и DXR2 адаптерах.
Н е используйте е г о с другими драйверами вывода звука (такими как OSS и ALSA), которые
2006-12-21 17:35:46 +00:00
не способны аппаратно декодировать (вы услышите только белый шум).
2006-09-05 09:52:53 +00:00
</para>
2006-09-08 16:42:09 +00:00
</sect2>
2006-09-05 09:52:53 +00:00
2006-12-09 09:27:35 +00:00
<!-- ********** -->
2006-09-08 16:42:09 +00:00
<sect2 id= "aac" >
2006-10-30 15:32:47 +00:00
<title > AAC кодек</title>
2003-04-11 17:38:51 +00:00
<para >
2006-10-30 15:32:47 +00:00
AAC (Advanced Audio Coding) - это кодек, иногда обнаруживаемый в MOV и MP4
файлах. Декодер с открытым исходным кодом, называемый FAAD, доступен с
2003-09-22 08:20:53 +00:00
<ulink url= "http://www.audiocoding.com" /> .
2006-10-30 15:32:47 +00:00
<application > MPlayer</application> включает в себя CVS версию libfaad 2.1 beta, поэтому
Вам ничего не нужно дополнительно скачивать.
2003-04-11 17:38:51 +00:00
</para>
2003-10-08 17:51:55 +00:00
<para >
2006-10-30 15:32:47 +00:00
Если Вы используете gcc 3.2, который не может скомпилировать встроенный FAAD,
или просто хотите использовать внешнюю библиотеку, скачаете её с
<ulink url= "http://www.audiocoding.com/download.php" > страницы загрузок</ulink>
2006-11-05 18:53:21 +00:00
и укажите <filename > ./configure</filename> <option > --enable-faad-external</option> .
2006-10-30 15:32:47 +00:00
Вам не нужен весь faad2, чтобы декодировать AAC файлы, достаточно libfaad.
Вот как Вы можете её собрать:
2003-10-08 17:51:55 +00:00
<screen >
cd faad2/
2006-09-05 09:52:53 +00:00
sh bootstrap
2003-10-08 17:51:55 +00:00
./configure
cd libfaad
make
make install
</screen>
2006-10-30 15:32:47 +00:00
Бинарники отсутствуют на 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'ники
2006-12-17 13:00:53 +00:00
с <ulink url= "http://rpm.livna.org/" > Livna</ulink> .
2003-10-08 17:51:55 +00:00
</para>
2006-09-08 16:42:09 +00:00
</sect2>
2003-04-11 17:38:51 +00:00
2006-12-09 09:27:35 +00:00
<!-- ********** -->
2006-09-08 16:42:09 +00:00
<sect2 id= "amr" >
2006-10-30 15:32:47 +00:00
<title > AMR кодеки</title>
2006-09-05 09:52:53 +00:00
<para >
2006-10-30 15:32:47 +00:00
Речевой кодек Adaptive Multi-Rate используется в мобильных телефонах третьего поколения (3G).
2006-09-05 09:52:53 +00:00
2006-10-30 15:32:47 +00:00
Исходная реализация доступна с
2006-09-05 09:52:53 +00:00
<ulink url= "http://www.3gpp.org" > The 3rd Generation Partnership Project</ulink>
2006-10-30 15:32:47 +00:00
(бесплатна для личного использования).
2007-04-24 08:53:38 +00:00
Чтобы включить поддержку, скачайте и установите библиотеки поддержки для
<ulink url= "http://www.penguin.cz/~utx/amr" > AMR-NB и AMR-WB</ulink> , следуя
инструкциям на указанной странице.
2006-09-05 09:52:53 +00:00
</para>
2003-04-11 17:38:51 +00:00
</sect2>
2006-09-08 16:42:09 +00:00
</sect1>
2006-12-09 09:27:35 +00:00
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
2003-04-11 17:38:51 +00:00
2006-09-08 16:42:09 +00:00
<sect1 id= "codec-importing" >
2006-10-30 15:32:47 +00:00
<title > К А К извлечь кодек из Win32</title>
2003-04-11 17:38:51 +00:00
<!-- TODO: a short paragraph of text would be nice here... -->
2006-09-08 16:42:09 +00:00
<sect2 id= "vfw-codecs" >
2006-10-30 15:32:47 +00:00
<title > VFW кодеки</title>
2003-04-11 17:38:51 +00:00
<para >
2006-10-30 15:32:47 +00:00
VFW (Video for Windows[Видео для Windows]) - это старые Видео API для Windows.
У этих кодеков расширения <filename > .DLL</filename> или (реже) <filename > .DRV</filename> .
Если <application > MPlayer</application> не может проигрывать Ваш
AVI с такого рода сообщением:
2003-04-11 17:38:51 +00:00
<screen > UNKNOWN video codec: HFYU (0x55594648)</screen>
2006-10-30 15:32:47 +00:00
Это значит, что Ваш AVI закодирован кодеком с fourcc HFYU
(HFYU = HuffYUV кодек, DIV3 = DivX Low Motion, и т.п.). Теперь, когда Вы это
знаете, Вы должны найти DLL, которую Windows загружает для проигрывания этого
файла. В нашем случае, в файле <filename > system.ini</filename> есть эта
информация, в этой строке:
2003-04-11 17:38:51 +00:00
<programlisting > VIDC.HFYU=huffyuv.dll</programlisting>
</para>
<para >
2006-10-30 15:32:47 +00:00
Значит, Вам нужен файл <filename > huffyuv.dll</filename> . Заметьте, что аудио
кодеки используют префикс MSACM:
2003-04-11 17:38:51 +00:00
<programlisting > msacm.l3acm=L3codeca.acm</programlisting>
</para>
<para >
2006-10-30 15:32:47 +00:00
Это MP3 кодек. Теперь у В а с есть вся необходимая информация (fourcc, файл с
кодеком, пример AVI), представьте на рассмотрение запрос о поддержке Вашего
кодека по почте и загрузите эти файлы на FTP сайт:
2003-04-11 17:38:51 +00:00
<systemitem role= "url" >
2006-11-05 18:53:21 +00:00
ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable > < codecname> </replaceable> /
2003-04-11 17:38:51 +00:00
</systemitem>
</para>
2007-06-11 07:39:06 +00:00
<note > <para >
Под Windows NT/2000/XP ищите эту информацию в реестре, например,
2006-12-14 16:48:26 +00:00
ищите "VIDC.HFYU". Чтобы узнать, как это делать, см. ниже старый
2006-10-30 15:32:47 +00:00
метод DirectShow.
2003-04-11 17:38:51 +00:00
</para> </note>
2006-09-08 16:42:09 +00:00
</sect2>
2003-04-11 17:38:51 +00:00
2006-12-09 09:27:35 +00:00
<!-- ********** -->
2003-04-11 17:38:51 +00:00
2006-09-08 16:42:09 +00:00
<sect2 id= "dshow-codecs" >
2006-10-30 15:32:47 +00:00
<title > DirectShow кодеки</title>
2003-04-11 17:38:51 +00:00
<para >
2006-10-30 15:32:47 +00:00
DirectShow - это более новый Video API, которые даже хуже, чем е г о предшественник.
В с е сложнее с DirectShow, поскольку
2003-04-11 17:38:51 +00:00
<itemizedlist >
2006-12-23 15:58:02 +00:00
<listitem > <para >
2006-10-30 15:32:47 +00:00
<filename > system.ini</filename> не содержит необходимую информацию, вместо
этого она хранится в реестре и
2006-12-23 15:58:02 +00:00
</para> </listitem>
<listitem > <para >
2006-10-30 15:32:47 +00:00
нам нужен GUID этого кодека.
2006-12-23 15:58:02 +00:00
</para> </listitem>
2003-04-11 17:38:51 +00:00
</itemizedlist>
</para>
<procedure >
2006-10-30 15:32:47 +00:00
<title > Новый Метод:</title>
2003-04-11 17:38:51 +00:00
<para >
2006-10-30 15:32:47 +00:00
Используя <application > Microsoft GraphEdit</application> (быстро)
2003-04-11 17:38:51 +00:00
</para>
<step > <para >
2006-10-30 15:32:47 +00:00
Получите <application > GraphEdit</application> или из DirectX SDK или
2006-10-21 21:36:31 +00:00
<ulink url= "http://doom9.net" > doom9</ulink> .
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
2006-10-30 15:32:47 +00:00
Запустите <command > graphedit.exe</command> .
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
2006-12-23 12:12:39 +00:00
В меню выберите
<menuchoice > <guimenu > Graph</guimenu>
<guisubmenu > Insert Filters</guisubmenu> </menuchoice> .
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
2006-10-30 15:32:47 +00:00
Щёлкните <systemitem > DirectShow Filters</systemitem> .
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
2006-10-30 15:32:47 +00:00
Выберите нужное имя кодека и щёлкните по нему.
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
2006-10-30 15:32:47 +00:00
В поле <systemitem > DisplayName</systemitem> обратите внимание на текст в
фигурных скобках после обратного слэша и выпишете их (пять разделённых
дефисами блоков, GUID).
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
2006-10-30 15:32:47 +00:00
Бинарный файл кодека - это файл, указанный в поле <systemitem > Filename</systemitem> .
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
</procedure>
2006-12-09 09:27:35 +00:00
<note > <para >
2006-10-30 15:32:47 +00:00
Если там нет <systemitem > Filename</systemitem> и
<systemitem > DisplayName</systemitem> содержит что-то в духе
<systemitem > device:dmo</systemitem> , то это - DMO-Кодек.
2006-12-09 09:27:35 +00:00
</para> </note>
2003-04-11 17:38:51 +00:00
<procedure >
2006-10-30 15:32:47 +00:00
<title > Старый метод:</title>
2003-04-11 17:38:51 +00:00
<para >
2006-10-30 15:32:47 +00:00
Сделайте глубокий вдох и начните искать в реестре...
2003-04-11 17:38:51 +00:00
</para>
<step > <para >
2006-10-30 15:32:47 +00:00
Запустите <command > regedit</command> .
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
2006-12-24 05:45:27 +00:00
Нажмите <keycombo > <keycap > Ctrl</keycap> <keycap > F</keycap> </keycombo> , отключите
первые две галочки и включите третью. Наберите fourcc Вашего кодека
(например, <userinput > TM20</userinput> ).
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
2006-10-30 15:32:47 +00:00
Вы должны увидеть поле, содержащее путь и имя файла (например,
2003-04-11 17:38:51 +00:00
<filename > C:\WINDOWS\SYSTEM\TM20DEC.AX</filename> ).
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
2006-10-30 15:32:47 +00:00
Теперь, когда у В а с есть файл, нам нужен GUID. Попробуйте поискать снова,
но теперь ищите имя кодека, а не fourcc. Это имя может быть получено,
когда Media Player проигрывает файл, проверив
2006-12-23 12:12:39 +00:00
<menuchoice > <guimenu > File</guimenu> <guisubmenu > Properties</guisubmenu>
<guimenuitem > Advanced</guimenuitem> </menuchoice> .
2006-10-30 15:32:47 +00:00
Если нет, Вам не повезло. Попробуйте угадать (например, ищите TrueMotion).
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
<step > <para >
2006-10-30 15:32:47 +00:00
Если GUID найден, Вы должны видеть поля <guilabel > FriendlyName</guilabel>
и <guilabel > CLSID</guilabel> . Выпишите 16-ти байтовый CLSID, это GUID, который
нам нужен.
2006-12-09 09:27:35 +00:00
</para> </step>
2003-04-11 17:38:51 +00:00
</procedure>
2006-12-09 09:27:35 +00:00
<note > <para >
2006-10-30 15:32:47 +00:00
Если поиск не удаётся, попробуйте включить все галочки. Вы можете получить
ложные значения, но Вам может повести...
2006-12-09 09:27:35 +00:00
</para> </note>
2003-04-11 17:38:51 +00:00
<para >
2006-10-30 15:32:47 +00:00
Теперь у В а с есть вся необходимая информация (fourcc, GUID, файл с кодеком,
пример AVI), представьте на рассмотрение запрос о поддержке Вашего кодека по
почте и загрузите эти файлы на FTP сайт:
2006-12-09 09:27:35 +00:00
<systemitem role= "url" > ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable > < codecname> </replaceable> /</systemitem>
2003-04-11 17:38:51 +00:00
</para>
2006-12-09 09:27:35 +00:00
2006-09-05 09:52:53 +00:00
<para >
2006-10-30 15:32:47 +00:00
Если вы хотите добавить кодек самостоятельно, прочтите
2006-09-05 09:52:53 +00:00
<ulink url= "http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt" > DOCS/tech/codecs.conf.txt</ulink> .
</para>
2003-04-11 17:38:51 +00:00
</sect2>
</sect1>
2006-09-08 16:42:09 +00:00
</chapter>