Mercurial > mplayer.hg
view DOCS/xml/ru/codecs.xml @ 20186:7395a45584ba
Changlog updated with help of svn log
author | reimar |
---|---|
date | Thu, 12 Oct 2006 22:37:56 +0000 |
parents | 9d31ce6908cf |
children | e5902385e9e1 |
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 & 2.0 </emphasis> из <systemitem class="library">libavcodec</systemitem>, и <emphasis role="bold">RealVideo 3.0 & 4.0</emphasis> кодеки, используя библиотеки RealPlayer </simpara></listitem> <listitem><simpara> "родной" декодер для HuffYUV </simpara></listitem> <listitem><simpara> Различные старые, простые, похожие на RLE форматы </simpara></listitem> </itemizedlist> <para> Если у Вас есть не упомянутый здесь Win32 кодек, который ещё не поддерживается, пожалуйста, прочтите <link linkend="codec-importing">Как добавить кодек</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> Наконец, последний кодек, заслуживающий внимания — это <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> Как релиз <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>. Тем не менее, автор XAnim еще должен возбудить судебный иск против кого-либо по относящимся к кодеку вопросам. </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>нарушение сегментации</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 версии. Как правило, 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> Вам может потребоваться добавить некоторые опции (посмотрите вывод <command>./configure --help</command>). </para></step> <step><para> <screen>make && 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, влияющих на качество. В спецификации H.264 присутствует множество дополнительных возможностей, которые сами по себе никак не влияют на качество видео и до сих в <systemitem class="library">x264</systemitem> не реализованы. </para> <itemizedlist> <title>возможности кодера</title> <listitem><para>CAVLC/CABAC (Контекстнозависимое адаптивное бинарное арифметическое кодирование / Контестнозависимое адаптивное кодирование с переменной длиной)</para></listitem> <listitem><para>Кадры с несколькими ссылками</para></listitem> <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> <listitem><para>Обнаружение усечения изображения</para></listitem> <listitem><para>Адаптивное расположение B-кадров</para></listitem> <listitem><para>B-кадры как ссылки или в произвольном расположении кадров</para></listitem> <listitem><para>Адаптивные пространственные преобразования 8x8 и 4x4</para></listitem> <listitem><para>Режим кодирования без потерь</para></listitem> <listitem><para>Возможность задания пользовательских матриц квантования</para></listitem> <listitem><para>Параллельное кодирование разных блоков</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-разрешением использует около 35% 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. Для определенности: использование свежей версии Subversion - всегда хорошая идея. </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 Subversion</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 && make && sudo make install </screen> Это установит libx264.a в /usr/local/lib, а x264.h - в /usr/local/include. Сборка <application>MPlayer</application> при установленных в стандартные каталоги библиотеке и заголовочном файле <systemitem class="library">x264</systemitem> очень проста. Просто запустите станартное: <screen>./configure && make && 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 (они же 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 каналов (Левый Передний, Правый Передний, Левый Задний и Правый Задний выводы), используйте <option>-channels 4</option>. В этом случае все центральные каналы будут равномерно смикшированы до уровня передних каналов. <option>-channels 6</option> будет выводить все AC3 каналы так, как они закодированы - по порядку: Левый, Правый, Левый Задний, Правый Задний, Центральный и Сабвуфер. </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). Исходная реализация доступна с <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 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 ищите эту информацию в реестре, например, ищите "VIDC.HFYU". Чтобы узнать, как это делать, см. ниже старый метод 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> -> <guisubmenu>Properties</guisubmenu> -> <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>