mirror of
https://github.com/mpv-player/mpv.git
synced 2026-10-24 12:10:18 +08:00
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19729 b3059339-0415-0410-9bf9-f77b7e298cf2
943 lines
33 KiB
XML
943 lines
33 KiB
XML
<?xml version="1.0" encoding="koi8-r"?>
|
||
<!-- synced with r19687 -->
|
||
<sect1 id="codecs">
|
||
<title>Поддерживаемые кодеки</title>
|
||
|
||
<sect2 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">Как добавить кодек [codec
|
||
importing HOWTO]</link> и помогите нам добавить для него поддержку.
|
||
</para>
|
||
|
||
|
||
<sect3 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>
|
||
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>
|
||
</sect3>
|
||
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
|
||
|
||
<sect3 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 && 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>
|
||
</sect3>
|
||
|
||
|
||
<sect3 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>
|
||
|
||
</sect3>
|
||
|
||
<sect3 id="codec-x264">
|
||
<title>x264</title>
|
||
|
||
<sect4 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>
|
||
|
||
</sect4>
|
||
|
||
<sect4 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>
|
||
</sect4>
|
||
|
||
<sect4 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>
|
||
</sect4>
|
||
|
||
<sect4 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>
|
||
</sect4>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 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>
|
||
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
|
||
|
||
<sect3 id="hwmpa">
|
||
<title>Аппаратный MPEG аудио кодек</title>
|
||
|
||
<para>
|
||
Этот кодек (выбираемый по -ac hwmpa) передает все аудио пакеты MPEG аппаратным
|
||
декодерам, такие, как установленные в полнофункциональных DVB картах и DXR2 адаптерах.
|
||
Не используйте его с другими драйверами вывода звука (такими как OSS и ALSA), которые
|
||
не способны аппаратно декодировать (вы усышите только белый шум).
|
||
</para>
|
||
</sect3>
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
|
||
<sect3 id="qdesign">
|
||
<title>QDesign кодеки</title>
|
||
<para>
|
||
Аудио потоки QDesign (fourcc:<emphasis>QDMC, QDM2</emphasis>) обнаруживаются
|
||
в MOV/QT файлах. Обе версии этого кодека могут декодироваться библиотеками
|
||
QuickTime. Инструкции по установке см. в секции
|
||
<link linkend="sorenson">Sorenson video codec</link>.
|
||
</para>
|
||
</sect3>
|
||
|
||
<sect3 id="qualcomm">
|
||
<title>Qualcomm кодеки</title>
|
||
<para>
|
||
Аудио потоки Qualcomm (fourcc:<emphasis>Qclp</emphasis>) обнаруживаются
|
||
в MOV/QT файлах. Они могут декодироваться библиотеками QuickTime.
|
||
Инструкций по установке см. в секции
|
||
<link linkend="sorenson">Sorenson video codec</link>.
|
||
</para>
|
||
</sect3>
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="codec-importing">
|
||
<title>КАК извлечь кодек из Win32</title>
|
||
|
||
<!-- TODO: a short paragraph of text would be nice here... -->
|
||
|
||
<sect3 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 ищите эту информацию в реестре, например,
|
||
ищите "VIDC.HFYU". Чтобы узнать, как это делать, см. ниже старый
|
||
DirectShow метод.
|
||
</para></note>
|
||
</sect3>
|
||
|
||
|
||
<sect3 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>
|
||
</sect3>
|
||
</sect2>
|
||
</sect1>
|