mirror of https://github.com/mpv-player/mpv
2623 lines
135 KiB
XML
2623 lines
135 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- synced with r25017 -->
|
||
<chapter id="video">
|
||
<title>Устройства вывода видео</title>
|
||
|
||
<sect1 id="mtrr">
|
||
<title>Настройка MTRR</title>
|
||
|
||
<para>
|
||
ОЧЕНЬ важно проверить, правильно ли установлены MTRR регистры,
|
||
поскольку они могут дать большой прирост производительности.
|
||
</para>
|
||
|
||
<para>
|
||
Выполните <command>cat /proc/mtrr</command>:
|
||
<screen>
|
||
<prompt>--($:~)--</prompt> cat /proc/mtrr
|
||
reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
|
||
reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!--
|
||
--></screen>
|
||
</para>
|
||
|
||
<para>
|
||
Здесь все верно, показана моя Matrox G400 с 16Мб памяти. Я выполнил это из-под
|
||
XFree 4.x.x, который автоматически устанавливает регистры MTRR.
|
||
</para>
|
||
|
||
<para>
|
||
Если ничего не сработало, вам придется сделать это вручную. Во-первых,
|
||
вы должны определить базовый адрес. Существует три способа выяснить его:
|
||
|
||
<orderedlist>
|
||
<listitem><para>
|
||
из сообщений запуска X11, например:
|
||
<screen>
|
||
(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
|
||
(--) SVGA: Linear framebuffer at 0xD8000000<!--
|
||
--></screen>
|
||
</para></listitem>
|
||
<listitem><para>
|
||
из <filename>/proc/pci</filename> (используйте команду <command>lspci -v</command>):
|
||
<screen>
|
||
01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
|
||
Memory at d8000000 (32-bit, prefetchable)<!--
|
||
--></screen>
|
||
</para></listitem>
|
||
<listitem><para>
|
||
из сообщений драйвера ядра mga_vid (используйте <command>dmesg</command>):
|
||
<screen>mga_mem_base = d8000000</screen>
|
||
</para></listitem>
|
||
</orderedlist>
|
||
</para>
|
||
|
||
<para>
|
||
Теперь давайте найдем объем памяти. Это очень просто, просто преобразуйте
|
||
размер видео памяти в шестнадцатеричный формат, или используйте таблицу:
|
||
<informaltable frame="none">
|
||
<tgroup cols="2">
|
||
<tbody>
|
||
<row><entry>1 MB</entry><entry>0x100000</entry></row>
|
||
<row><entry>2 MB</entry><entry>0x200000</entry></row>
|
||
<row><entry>4 MB</entry><entry>0x400000</entry></row>
|
||
<row><entry>8 MB</entry><entry>0x800000</entry></row>
|
||
<row><entry>16 MB</entry><entry>0x1000000</entry></row>
|
||
<row><entry>32 MB</entry><entry>0x2000000</entry></row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
</para>
|
||
|
||
<para>
|
||
Вы знаете базовый адрес и размер памяти, так давайте настроим регистры MTRR!
|
||
Например, для вышеуказанной карты Matrox (<literal>base=0xd8000000</literal>)
|
||
с 32Мб памяти (<literal>size=0x2000000</literal>) просто выполните:
|
||
<screen>
|
||
echo "base=0xd8000000 size=0x2000000 type=write-combining" > /proc/mtrr
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Не все CPU имеют MTRR. Например, старый K6-2 (около 266MHz,
|
||
степпинг 0) не имеет MTRR, но у степпинга 12 они уже есть
|
||
(запустите <command>cat /proc/cpuinfo</command> чтобы это проверить).
|
||
</para>
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="xv">
|
||
<title>Xv</title>
|
||
|
||
<para>
|
||
Под XFree86 4.0.2 или новее, вы можете использовать функции работы с YUV[YUV routines]
|
||
вашей видеокарты, используя расширение XVideo, то, которое используется при указании опциии
|
||
<option>-vo xv</option>.
|
||
<!-- FIXME
|
||
Also, this driver supports adjusting
|
||
brightness/contrast/hue/etc (unless you use the old, slow DirectShow DivX
|
||
codec, which supports it everywhere), see the man page.
|
||
-->
|
||
К тому же этот драйвер поддерживает управление
|
||
яркостью/контрастностью/цветностью/и т.д. (кроме случая использования старого ,медленного
|
||
DivX кодека DirectShow, который везде это поддерживает), смотрите страницу man.
|
||
|
||
</para>
|
||
|
||
<para>
|
||
Чтобы заставить его работать, убедитесь, что выполняется следующее:
|
||
|
||
<orderedlist>
|
||
<listitem><para>
|
||
Требуется использовать XFree86 4.0.2 или новее (предыдущие версии не меют XVideo)
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Ваша карта действительно поддерживает аппаратное ускорение (современные - да)
|
||
</para></listitem>
|
||
<listitem><para>
|
||
X загружают расширение XVideo, это похоже на:
|
||
<programlisting>(II) Loading extension XVideo</programlisting>
|
||
в <filename>/var/log/XFree86.0.log</filename>
|
||
<note><para>
|
||
Это всего лишь загружается расширение XVideo. При нормальной установке оно грузится
|
||
всегда, это не означает, что загружена <emphasis role="bold">аппаратная</emphasis>
|
||
поддержка XVideo.
|
||
</para></note>
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Ваша карта имеет поддержку Xv для Linux. Чтобы это проверить, запустите
|
||
<command>xvinfo</command>, являющуюся частью дистрибутива XFree86. Она должна
|
||
выдать на экран длинный текст, похожий на этот:
|
||
<screen>
|
||
X-Video Extension version 2.2
|
||
screen #0
|
||
Adaptor #0: "Savage Streams Engine"
|
||
number of ports: 1
|
||
port base: 43
|
||
operations supported: PutImage
|
||
supported visuals:
|
||
depth 16, visualID 0x22
|
||
depth 16, visualID 0x23
|
||
number of attributes: 5
|
||
(...)
|
||
Number of image formats: 7
|
||
id: 0x32595559 (YUY2)
|
||
guid: 59555932-0000-0010-8000-00aa00389b71
|
||
bits per pixel: 16
|
||
number of planes: 1
|
||
type: YUV (packed)
|
||
id: 0x32315659 (YV12)
|
||
guid: 59563132-0000-0010-8000-00aa00389b71
|
||
bits per pixel: 12
|
||
number of planes: 3
|
||
type: YUV (planar)
|
||
(...и т.д....)<!--
|
||
--></screen>
|
||
Карта должна поддерживать YUY2 пакованные и YUV12 планарные[planar] форматы
|
||
пикселов, чтобы быть полезной в <application>MPlayer</application>.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
И, наконец, проверьте, что <application>MPlayer</application> собран с
|
||
поддержкой 'xv'. Выполните <command>mplayer -vo help | grep xv </command>.
|
||
Если поддержка 'xv' включена, то увидите похожую строку:
|
||
<screen> xv X11/Xv</screen>
|
||
</para></listitem>
|
||
</orderedlist>
|
||
</para>
|
||
|
||
|
||
<sect2 id="tdfx">
|
||
<title>3dfx карты</title>
|
||
|
||
<para>
|
||
Хорошо известно, что старые 3dfx драйвера имеют проблемы с ускорением XVideo, они не
|
||
поддерживают ни YUY2 ни YV12, ни т.п. Проверьте, что у вас XFree86 версии
|
||
4.2.0 или новее, он может работать с YV12 и YUY2, в то время как предыдущие версии,
|
||
включая 4.1.0, <emphasis role="bold">с YV12 приводят к краху</emphasis>.
|
||
|
||
Если вы столкнулись со странными эффектами при использовании <option>-vo xv</option>,
|
||
попробуйте SDL (он тоже имеет поддержку XVideo), и посмотрите поможет ли это. Обратитесь к
|
||
разделу <link linkend="sdl">SDL</link> за подробностями.
|
||
</para>
|
||
|
||
<para>
|
||
<emphasis role="bold">ИЛИ</emphasis>, попробуйте НОВЫЙ
|
||
<option>-vo tdfxfb</option> драйвер! Смотрите раздел <link linkend="tdfxfb">tdfxfb</link>.
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="s3">
|
||
<title>S3 карты</title>
|
||
|
||
<para>
|
||
S3 Savage3D, должны прекрасно работать, но для Savage4 используйте XFree86 версии 4.0.3 или
|
||
выше (в случае проблем с изображением попробуйте 16bpp). По поводу S3 Virge:
|
||
она поддерживает xv, но карта сама по себе слишком медленная, так что лучше будет ее
|
||
продать.
|
||
</para>
|
||
|
||
<para>
|
||
Существует родной драйвер фреймбуфера для карт S3 Virge, аналогичный
|
||
tdfxfb. Настройте ваш фреймбуфер (например, укажите ядру
|
||
"<option>vga=792 video=vesa:mtrr</option>") и воспользуйтесь
|
||
<option>-vo s3fb</option> (<option>-vf yuy2</option> и <option>-dr</option>
|
||
тоже помогут).
|
||
</para>
|
||
|
||
<note><para>
|
||
Пока не ясно в каких моделях Savage отсутствует поддержка YV12, и преобразование
|
||
осуществляется драйвером (медленно). Если вы грешите на свою карту, возьмите
|
||
свежий драйвер иди вежливо спросите в списке рассылки MPlayer-users
|
||
о драйвере с поддержкой MMX/3DNow!.
|
||
</para></note>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="nvidia">
|
||
<title>nVidia карты</title>
|
||
|
||
<para>
|
||
nVidia под Linux - не всегда хороший выбор ... Открытые драйвера XFree86
|
||
поддерживают большинство этих карт, но в некоторых случаях придется
|
||
использовать закрытый бинарный драйвер от nVidia, доступный на
|
||
<ulink url="http://www.nvidia.com/object/linux.html">сайте nVidia</ulink>.
|
||
Этот драйвер также всегда необходим для задействования 3D ускорения.
|
||
</para>
|
||
|
||
<para>
|
||
|
||
Карты Riva128 не имеют поддержки XVideo с драйвером nVidia от XFree86 :(
|
||
Подайте жалобу nVidia.
|
||
</para>
|
||
|
||
<para>
|
||
Тем не менее, <application>MPlayer</application> имеет
|
||
<link linkend="vidix">VIDIX</link> драйвер для большинства карт nVidia. Сейчас он
|
||
в стадии беты и имеет некоторые недостатки. За подробостями обращайтесь
|
||
к разделу <link linkend="vidix-nvidia">nVidia VIDIX</link>.
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="ati">
|
||
<title>ATI карты</title>
|
||
|
||
<para>
|
||
<ulink url="http://gatos.sf.net">Драйвер GATOS</ulink>
|
||
(который стоит использовать, если у вас не Rage128 или Radeon) по-умолчанию имеет включенную
|
||
опцию VSYNC. Это значит, что скорость декодирования (!) синхронизирована с частотой обновления
|
||
монитора. Если воспроизведение кажется медленным, попробуйте как-нибудь отключить VSYNC или
|
||
установите частоту обновления в n*(fps[кадров/с] фильма) Гц.
|
||
</para>
|
||
|
||
<para>
|
||
Radeon VE - если нужен X, используйте XFree86 4.2.0 или новее.
|
||
Нет поддержки TV-выхода. Конечно, с <application>MPlayer</application> вы можете успешно
|
||
получить <emphasis role="bold">ускоренное</emphasis> отображение, с или без
|
||
<emphasis role="bold">TV-выхода</emphasis>, без каких-либо библиотек X.
|
||
Читайте раздел <link linkend="vidix">VIDIX</link>.
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="neomagic">
|
||
<title>NeoMagic карты</title>
|
||
|
||
<para>
|
||
Эти карты можно найти во многих ноутбуках. Вы должны использовать XFree86 4.3.0 или
|
||
более новый, или использовать
|
||
<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/">Xv-совместимые драйвера</ulink>.
|
||
от Stefan Seyfried. Просто выберите подходящий для вашей версии XFree86.
|
||
</para>
|
||
|
||
<para>
|
||
XFree86 4.3.0 включает поддержку Xv, недавно Bohdan Horst отослал небольшой
|
||
<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">патч</ulink>
|
||
для исходников XFree86, ускоряющий операции с фреймбуфером (и XVideo) в четыре раза.
|
||
Патч был включен в XFree86 CVS и должен быть в следующем релизе после 4.3.0.
|
||
</para>
|
||
|
||
<para>
|
||
Чтобы сделать возможным воспроизведение фильмов DVD разрешения поправьте ваш XF86Config как
|
||
указано здесь:
|
||
<programlisting>
|
||
Section "Device"
|
||
[...]
|
||
Driver "neomagic"
|
||
<emphasis>Option "OverlayMem" "829440"</emphasis>
|
||
[...]
|
||
EndSection<!--
|
||
--></programlisting>
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="trident">
|
||
<title>Trident карты</title>
|
||
|
||
<para>
|
||
Если хотите использовать Xv с картой Trident, учитывая, что они не работают с
|
||
4.1.0, установите XFree 4.2.0.
|
||
4.2.0 добавляет поддержку полноэкранного Xv с картой Cyberblade XP.
|
||
</para>
|
||
|
||
<para>
|
||
Другой вариант: <application>MPlayer</application> имеет
|
||
<link linkend="vidix">VIDIX</link> драйвер для карт Cyberblade/i1.
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="kyro">
|
||
<title>Kyro/PowerVR карты</title>
|
||
|
||
<para>
|
||
Если хотите использовать Xv с картами на базе Kyro (например,
|
||
Hercules Prophet 4000XT), следует скачать драйверы с
|
||
<ulink url="http://www.powervr.com/">сайта PowerVR</ulink>.
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="intel">
|
||
<title>Карты Intel</title>
|
||
|
||
<para>
|
||
Эти карты можно обнаружить во многих ноутбуках. Рекомендуется Xorg последней версии.
|
||
</para>
|
||
|
||
<para>
|
||
Для воспроизведения контента размера DVD (и более) поправьте
|
||
ваш XF86Config/xorg.conf как указано здесь:
|
||
<programlisting>
|
||
Section "Device"
|
||
[...]
|
||
Driver "intel"
|
||
<emphasis>Option "LinearAlloc" "6144"</emphasis>
|
||
[...]
|
||
EndSection
|
||
</programlisting>
|
||
Отсутствие этой опции скорее всего приведет к появлению ошибки
|
||
<screen>X11 error: BadAlloc (insufficient resources for operation)</screen>
|
||
при попытке использовать <option>-vo xv</option>.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="dga">
|
||
<title>DGA</title>
|
||
|
||
<formalpara>
|
||
<title>ПРЕАМБУЛА</title>
|
||
<para>
|
||
Этот документ пытается сказать несколько слов о том, что такое DGA в целом и
|
||
что можт сделать DGA драйвер для <application>MPlayer</application>
|
||
(а что нет).
|
||
</para>
|
||
</formalpara>
|
||
|
||
<formalpara>
|
||
<title>ЧТО ТАКОЕ DGA</title>
|
||
<para>
|
||
<acronym>DGA</acronym> это сокращение от <emphasis>Direct Graphics
|
||
Access[Прямой Доступ к Графике]</emphasis> и означает обход
|
||
программами X сервера и прямое изменение ими памяти фреймбуфера.
|
||
Говоря техническим языком, это происходит при помощи отображения[mapping]
|
||
памяти фреймбуфера в адресное пространство вашего процесса. Это позволяется
|
||
ядром, только если у вас есть привилегии суперпользователя. Вы можете
|
||
получить их либо войдя в систему под именем
|
||
<systemitem class="username">root</systemitem>, либо установив SUID бит на
|
||
исполняемый файл <application>MPlayer</application> (<emphasis role="bold">не
|
||
рекомендуется</emphasis>).
|
||
</para>
|
||
</formalpara>
|
||
<para>
|
||
Есть две версии DGA: DGA1 используется XFree 3.x.x и DGA2, появившийся в XFree 4.0.1.
|
||
</para>
|
||
|
||
<para>
|
||
DGA1 предоставляет только прямой доступ в фреймбуферу, как описано выше.
|
||
Для переключения видеорежимов придется обратиться в расширению XVidMode.
|
||
</para>
|
||
|
||
<para>
|
||
DGA2 объединяет возможности расширения XVidMode и, к тому же, позволяет изменять
|
||
глубину цвета отображения. Таким образом, вы можете,работая, в основном,
|
||
в X с 32-х битной глубиной цвета, переключиться на глубину 15 бит и наоборот.
|
||
</para>
|
||
|
||
<para>
|
||
Однако DGA имеет некоторые недостатки. Похоже, оно каким-то образом зависит от
|
||
используемого графического чипа и реализации видеодрайвера сервера X,
|
||
управляющего этим чипом. Так что он работает не на всех системах.
|
||
</para>
|
||
|
||
<formalpara>
|
||
<title>УСТАНОВКА ПОДДЕРЖКИ DGA ДЛЯ MPLAYER</title>
|
||
|
||
<para>
|
||
Во-первых, убедитесь, что X загружает расширение DGA, смотрите в
|
||
<filename>/var/log/XFree86.0.log</filename>:
|
||
|
||
<programlisting>(II) Loading extension XFree86-DGA</programlisting>
|
||
|
||
Смотрите, <emphasis role="bold">крайне рекомендуется</emphasis> XFree86 4.0.x или старше!
|
||
DGA драйвер программы <application>MPlayer</application> определяется автоматически скриптом
|
||
<filename>./configure</filename>, или можете принудительно указать его использование
|
||
опцией <option>--enable-dga</option>.
|
||
</para>
|
||
</formalpara>
|
||
|
||
<para>
|
||
Если драйвер не смог переключиться на меньшее разрешение, поэкспериментируйте с
|
||
опциями <option>-vm</option> (только для X 3.3.x), <option>-fs</option>,
|
||
<option>-bpp</option>, <option>-zoom</option> чтобы найти видеорежим
|
||
в который поместиться фильм. Конвертера Пока что нет :(
|
||
</para>
|
||
|
||
<para>
|
||
Получите права <systemitem class="username">root</systemitem>. DGA требует
|
||
права root для прямой записи в видеопамять. Если хотите запускать от имени обычного
|
||
пользователя, установите бит SUID на <application>MPlayer</application>:
|
||
|
||
<screen>
|
||
chown root <replaceable>/usr/local/bin/mplayer</replaceable>
|
||
chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable>
|
||
chmod +s <replaceable>/usr/local/bin/mplayer</replaceable>
|
||
</screen>
|
||
|
||
Теперь это работает и под обычным пользователем.
|
||
</para>
|
||
|
||
<caution>
|
||
<title>Риск безопасности</title>
|
||
<para>
|
||
В этом заключается <emphasis role="bold">большой</emphasis> риск безопасности!
|
||
<emphasis role="bold">Никогда</emphasis> не делайте этого на сервере или комппьютере,
|
||
к которому имеют доступ другие люди, т.к. они могут получить права root через
|
||
<application>MPlayer</application> с битом SUID.
|
||
</para>
|
||
</caution>
|
||
|
||
<para>
|
||
Теперь используйте опцию <option>-vo dga</option>, и вперед! (мы надеемся :)
|
||
Можете попробовать, работает ли у вас опция <option>-vo sdl:driver=dga</option>!
|
||
Это намного быстрее!
|
||
</para>
|
||
|
||
|
||
<formalpara id="dga-modelines">
|
||
<title>ПЕРЕКЛЮЧЕНИЕ РЕЖИМОВ</title>
|
||
|
||
<para>
|
||
DGA драйвер позволяет переключать режимы (менять разрешение) выходного сигнала.
|
||
Это позволяет избежать (медленного) программного масштабирования и в то же
|
||
время предоставить полноэкранное изображение. В идеале следует переключаться в
|
||
режим с таким же (необязательно с сохранением пропорций) как у видеоданных разрешением,
|
||
но X сервер позволяет переключаться в режимы, предопределенные в
|
||
<filename>/etc/X11/XF86Config</filename>
|
||
(<filename>/etc/X11/XF86Config-4</filename> для XFree 4.X.X соответственно).
|
||
Они определяются так называемыми моделайнами[modelines] и зависят
|
||
возможностей вашей видеокарты. X сервер читает этот файл при старте и
|
||
отключает режимы, недопустимые для вашего оборудования. Вы можете определить
|
||
какие режимы остались, посмотрев лог файл X11. Он может быть найден в:
|
||
<filename>/var/log/XFree86.0.log</filename>.
|
||
</para>
|
||
</formalpara>
|
||
|
||
<para>
|
||
Вот значения, про которые известно, что они работают с чипом Riva128 при
|
||
использовании X драйвера nv.o.
|
||
</para>
|
||
|
||
|
||
<para><programlisting>
|
||
Section "Modes"
|
||
Identifier "Modes[0]"
|
||
Modeline "800x600" 40 800 840 968 1056 600 601 605 628
|
||
Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
|
||
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
|
||
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
|
||
Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
|
||
Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
|
||
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
|
||
EndSection
|
||
</programlisting></para>
|
||
|
||
|
||
<formalpara>
|
||
<title>DGA & MPLAYER</title>
|
||
<para>
|
||
DGA используется программой <application>MPlayer</application> двумя способами:
|
||
можно указать SDL использовать его (<option>-vo sdl:driver=dga</option>) и
|
||
с помощью DGA драйвера (<option>-vo dga</option>). Все сказанное выше верно для обоих;
|
||
в следующих разделах будет рассказано как работает DGA драйвер для
|
||
<application>MPlayer</application>.
|
||
</para>
|
||
</formalpara>
|
||
|
||
|
||
<formalpara>
|
||
<title>ВОЗМОЖНОСТИ</title>
|
||
|
||
<para>
|
||
DGA запускается указанием <option>-vo dga</option> в командной строке. По-умолчанию,
|
||
он пытается переключить режим с ближайшим к оригинальному видео разрешением.
|
||
Он преднамеренно игнорирует опции <option>-vm</option> и <option>-fs</option>
|
||
(переключение видеорежимов и полноэкранный режим) - он всегда старается
|
||
занять как можно большую площадь экрана переключением видеорежима,
|
||
избегая таким образом использования дополнительных тактов CPU для
|
||
масштабирования изображения. Если выбранный режим вам не нравится, можете
|
||
принудительно указать использовать разрешение ближайшее к указанному вами опциями
|
||
<option>-x</option> и <option>-y</option>. При указании опции
|
||
<option>-v</option>, DGA драйвер выведет, кроме множества других вещей, список
|
||
всех поддерживаемых режимов, указанных в <filename>XF86Config</filename>.
|
||
Имея DGA2 вы также можете указать использование определенной глубины цвета
|
||
при помощи опции <option>-bpp</option>. Допустимыми значениями являются 15, 16, 24 и 32.
|
||
Зависит от оборудования, какие значения поддерживаются аппаратно, а для каких необходимо
|
||
производить (возможно медленное) преобразование.
|
||
</para>
|
||
</formalpara>
|
||
<para>
|
||
<!--FIXME offscreen memory -->
|
||
Если вам повезло иметь достаточно свободной памяти[offscreen memory], чтобы поместить
|
||
туда изображение целиком, DGA драйвер будет использовать двойную буферизацию,
|
||
что приведет к более плавному воспроизведению фильма. Он сообщит вам включена ли
|
||
двойная буферизация или нет.
|
||
</para>
|
||
|
||
<para>
|
||
Двойная буферизация означает, что каждый следующий кадр вашего фильма рисуется
|
||
в некоторую память[offscreen memory], пока отображается текущий кадр.
|
||
Когда следующий кадр готов, графическому чипу сообщается его расположение
|
||
в памяти, и чип просто выбирает оттуда данные для отображения.
|
||
В это время новыми видео данными заполняется другой участок буфера.
|
||
</para>
|
||
|
||
<para>
|
||
Двойная буферизация может быть задействована опцией
|
||
<option>-double</option> и отключена при помощи
|
||
<option>-nodouble</option>. В данный момент двойной буфер по-умолчанию отключен.
|
||
При использовании DGA драйвера, экранное отображение (OSD) работает только
|
||
с двойной буферизацией. Однако, включение двойной буферизации может привести
|
||
к существенному снижению скорости (на моем K6-II+ 525 оно использует дополнительные
|
||
20% времени CPU!) в зависимости от реализации DGA для вашего оборудования.
|
||
</para>
|
||
|
||
|
||
<formalpara>
|
||
<title>ПРОБЛЕМЫ БЫСТРОДЕЙСТВИЯ</title>
|
||
|
||
<para>
|
||
<!-- FIXME как-то криво звучит -->
|
||
Проще говоря, DGA доступ к фреймбуферу должен быть настолько быстр, насколько
|
||
быстр используемый X11 драйвер c дополнительной выгодой[benefit] получения
|
||
полноэкранного изображения. Процентные значения скорости, выводимые
|
||
<application>MPlayer</application>, должны интерпретироваться с некоторой
|
||
осторожностью, например, с драйвером X11 они не включают время, используемое
|
||
сервером X11 непосредственно для прорисовки. Подключите терминал к
|
||
последовательному порту и запустите <command>top</command>, чтобы
|
||
увидеть, что на самом деле происходит.
|
||
</para>
|
||
</formalpara>
|
||
|
||
<para>
|
||
Проще говоря, ускорение, полученное от использования DGA относительно
|
||
'обычного' использования X11, сильно зависит от видео карты и того,
|
||
насколько хорошо оптимизирован модуль X11 для него.
|
||
</para>
|
||
|
||
<para>
|
||
Если у вас медленная система, лучше использовать глубину 15 или 16 бит,
|
||
поскольку это потребует половину пропускной способности памяти 32-х
|
||
битного дисплея.
|
||
</para>
|
||
|
||
<para>
|
||
Использование глубины 24 бита - хорошая идея, даже если ваша карта
|
||
аппаратно поддерживает только 32 бита, поскольку передается на 25%
|
||
меньше данных по сравнению с режимом 32/32.
|
||
</para>
|
||
|
||
<para>
|
||
Приходилось видеть, как некоторые AVI файлы воспроизводились на Pentium MMX 266.
|
||
AMD K6-2 CPU может работать начиная с 400 МГц и выше.
|
||
</para>
|
||
|
||
|
||
<formalpara>
|
||
<title>ИЗВЕСТНЫЕ ОШИБКИ</title>
|
||
|
||
<para>
|
||
Ну, по мнению некоторых разработчиков XFree, DGA - это немного монстр.
|
||
Они говорят, что лучше его не использовать. Его реализация не
|
||
безупречна для любого существующего драйвера XFree.
|
||
изъянов.
|
||
</para>
|
||
</formalpara>
|
||
|
||
<itemizedlist>
|
||
<listitem><para>
|
||
С XFree 4.0.3 и <filename>nv.o</filename> существует ошибка приводящая
|
||
к странным цветам.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
ATI драйвер требует неоднократного переключения режима после
|
||
завершения использования DGA.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Некоторые драйвера просто не в состоянии переключиться обратно в
|
||
нормальный режим (используйте
|
||
<keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo>
|
||
и
|
||
<keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo>
|
||
для нормального переключения).
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Некоторые драйвера просто отображают странные цвета.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Некоторые драйвера неверно сообщают о количестве памяти, которое они отобразили в
|
||
адресное пространство процесса, так что vo_dga не будет использовать
|
||
двойную буферизацию (SIS?).
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Некоторые драйвера, похоже, не могут сообщить даже об одном верном режиме.
|
||
В этом случае DGA рухнет, сообщая о невероятном режиме
|
||
100000x100000 или о чем-нибудь похожем.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
OSD работает только с задействованным двойным буфером (иначе он моргает).
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="sdl">
|
||
<title>SDL</title>
|
||
|
||
<para>
|
||
<acronym>SDL</acronym> (Simple Directmedia Layer) - это, в основном, унифицированный
|
||
видео/аудио интерфейс. Программы, его использующие, знают только про SDL, а не про
|
||
то, какой видео или аудио драйвер реально используется. Например, порт игры Doom,
|
||
используя SDL, может запуститься на svgalib, aalib, X, fbdev и других, вам
|
||
придется только указать (для примера) используемый видеодрайвер при помощи
|
||
переменной окружения <envar>SDL_VIDEODRIVER</envar>. Ну, в теории.
|
||
</para>
|
||
|
||
<para>
|
||
<!-- FIXME is translation correct ?
|
||
With <application>MPlayer</application>, we used its X11 driver's software
|
||
scaler ability for cards/drivers that doesn't support XVideo, until we made
|
||
our own (faster, nicer) software scaler. Also we used its aalib output, but
|
||
now we have ours which is more comfortable. Its DGA mode was better than
|
||
ours, until recently. Get it now? :)
|
||
-->
|
||
Для карт/драйверов, не поддерживающих XVideo, мы использовали в
|
||
<application>MPlayer</application> собственные возможности программного масштабирования
|
||
SDL'вских X11 драйверов, пока не написали наш собственный (более быстрый и изящный)
|
||
программный модуль масштабирования. Также мы использовали его aalib вывод, но
|
||
теперь у нас есть свой, более удобный. До некоторых пор его DGA режим был
|
||
лучше нашего. Хотите получить его прямо сейчас ? :)
|
||
</para>
|
||
|
||
<para>
|
||
Он также помогает с некоторыми сбоящими драйверами/картами, если видео
|
||
прерывается (если это не проблема недостаточного быстродействия), или заикается звук.
|
||
</para>
|
||
|
||
<para>
|
||
SDL видео вывод поддерживает отображения субтитров внизу, на черной полосе (если она есть).
|
||
</para>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="svgalib">
|
||
<title>SVGAlib</title>
|
||
|
||
<formalpara>
|
||
<title>УСТАНОВКА</title>
|
||
<para>
|
||
потребуется установить svgalib и ее пакет разработки, чтобы
|
||
<application>MPlayer</application> собрал свой SVGAlib драйвер (определяется
|
||
автоматически, но можко включить принудительно), и отредактировать
|
||
<filename>/etc/vga/libvga.config</filename> в соответствии с вашией картой и монитором.
|
||
</para>
|
||
</formalpara>
|
||
|
||
<note><para>
|
||
Убедитесь, что не используете опцию <option>-fs</option>, поскольку она включает
|
||
использование программного масштабирования и работает медленно. Если вам действительно
|
||
это необходимо, используйте опцию <option>-sws 4</option>, которая будет давать плохое
|
||
качество, но несколько быстрее.
|
||
</para></note>
|
||
|
||
<formalpara>
|
||
<title>ПОДДЕРЖКА EGA (4BPP)</title>
|
||
<para>
|
||
SVGAlib включает в себя EGAlib, и <application>MPlayer</application> имеет
|
||
возможность выводить любой фильм в 16-ти цветах. Используется в таких вариантах:
|
||
</para>
|
||
</formalpara>
|
||
|
||
<itemizedlist>
|
||
<listitem><para>
|
||
EGA карта с EGA монитором: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
|
||
</para></listitem>
|
||
<listitem><para>
|
||
EGA карта с CGA монитором: 320x200x4bpp, 640x200x4bpp
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<para>
|
||
Значение bpp (бит на пиксел) должно быть вручную установлено в 4:
|
||
<option>-bpp 4</option>
|
||
</para>
|
||
|
||
<para>
|
||
Возможно потребуется отмасштабировать фильм, чтобы уместить в размеры EGA режима:
|
||
<screen>-vf scale=640:350</screen>
|
||
or
|
||
<screen>-vf scale=320:200</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Для масштабирования требуется быстрый алгоритм с плохим качеством:
|
||
<screen>-sws 4</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Возможно надо отключить автоматическую коррекцию пропорций:
|
||
<screen>-noaspect</screen>
|
||
</para>
|
||
|
||
<note><para>
|
||
Как показывает мой опыт, лучшее качество на EGA экране получается
|
||
при небольшом уменьшении яркости:
|
||
<option>-vf eq=-20:0</option>. Мне также пришлось уменьшить частоту дискретизации [samplerate]
|
||
на моей машине, поскольку звук не работал на 44kГц.
|
||
<option>-srate 22050</option>.
|
||
</para></note>
|
||
|
||
<para>
|
||
ВЫ можете включить OSD и субтитры только с плагином <option>expand</option>,
|
||
смотрите страницу руководства man для точных параметров.
|
||
</para>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="fbdev">
|
||
<title>Вывод во фреймбуфер (FBdev)</title>
|
||
|
||
<para>
|
||
Надо ли собирать FBdev автоматически определяется скриптом
|
||
<filename>./configure</filename>. Прочтите документацию на фреймбуйер в
|
||
исходниках ядра (<filename>Documentation/fb/*</filename>) для более подробной
|
||
информации.
|
||
</para>
|
||
|
||
<para>
|
||
Если ваша карта не поддерживает стандарт VBE 2.0 (старые ISA/PCI карты, такие
|
||
как S3 Trio64), а только VBE 1.2 (или еще старее?): ну, VESAfb все же будет доступна,
|
||
но вам потребуется загрузить SciTech Display Doctor (она же UniVBE) до загрузки Linux.
|
||
Используйте загрузочный диск DOS или что либо другое. И не забудьте зарегистрировать
|
||
ваш UniVBE ;))
|
||
</para>
|
||
|
||
<para>
|
||
Драйвер FBdev вместе с прочими принимает несколько дополнительных параметров:
|
||
</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><option>-fb</option></term>
|
||
<listitem><para>
|
||
указывает какой устройство фреймбуфера использовать
|
||
(по-умолчанию: <filename>/dev/fb0</filename>)
|
||
</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>-fbmode</option></term>
|
||
<listitem><para>
|
||
название используемого режима (в соответствии с <filename>/etc/fb.modes</filename>)
|
||
</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>-fbmodeconfig</option></term>
|
||
<listitem><para>
|
||
конфигурационный файл с режимами (по-умолчанию: <filename>/etc/fb.modes</filename>)
|
||
</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>-monitor-hfreq</option></term>
|
||
<term><option>-monitor-vfreq</option></term>
|
||
<term><option>-monitor-dotclock</option></term>
|
||
<listitem><para>
|
||
<emphasis role="bold">важные</emphasis> знаячения, смотрите
|
||
<filename>example.conf</filename>
|
||
</para></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>
|
||
При желании переключиться в особый режим используйте:
|
||
<screen>
|
||
mplayer -vm -fbmode <replaceable>название_режима</replaceable> <replaceable>имя_файла</replaceable>
|
||
</screen>
|
||
</para>
|
||
|
||
<itemizedlist>
|
||
<listitem><para>
|
||
<option>-vm</option> в одиночку выберет наиболее подходящий режим из
|
||
<filename>/etc/fb.modes</filename>. Также может использоваться совместно с
|
||
<option>-x</option> и <option>-y</option>. Опция
|
||
<option>-flip</option> поддерживается, только если формат точки фильма совпадает с
|
||
форматом точки видеорежима. Обратите внимание на значение bpp, fbdev пытается
|
||
использовать текущий или указанный вами опцией <option>-bpp</option>.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Опция <option>-zoom</option> не поддерживается (используйте <option>-vf scale</option>).
|
||
Вы не можете использовать режимы с 8bpp (или меньше).
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Вы, возможно, захотите отключить курсор:
|
||
<screen>echo -e '\033[?25l'</screen>
|
||
или
|
||
<screen>setterm -cursor off</screen>
|
||
и хранитель экрана:
|
||
<screen>setterm -blank 0</screen>
|
||
Чтобы снова включить курсор:
|
||
<screen>echo -e '\033[?25h'</screen>
|
||
или
|
||
<screen>setterm -cursor on</screen>
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<note><para>
|
||
Смена режимов FBdev <emphasis>не работает</emphasis> с VESA фреймбуфером.
|
||
Не просите об этом, т.к. это не ограничения <application>MPlayer</application>.
|
||
</para></note>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="mga_vid">
|
||
<title>Matrox фреймбуфер (mga_vid)</title>
|
||
|
||
<para>
|
||
<systemitem>mga_vid</systemitem> - это комбинация драйвера вывода и модуля ядра
|
||
Linux, использующая модуль видео масштабирования/оверлея
|
||
Matrox G200/G400/G450/G550 для выполнения YUV->RGB преобразования цветового
|
||
пространства и произвольного масштабирования.
|
||
<systemitem>mga_vid</systemitem> имеет аппаратную поддержку VSYNC с тройной
|
||
буферизацией. Работает как во фреймбуфер
|
||
консоли, так и под X, но только с Linux 2.4.x.
|
||
</para>
|
||
|
||
<para>
|
||
Версию этого драйверя для Linux 2.6.x ищите на
|
||
<ulink url="http://attila.kinali.ch/mga/"/>.
|
||
</para>
|
||
|
||
<procedure>
|
||
<title>Установка:</title>
|
||
<step><para>
|
||
чтобы использовать его, придется, во-первых, скомпилировать <filename>mga_vid.o</filename>:
|
||
<screen>
|
||
cd drivers
|
||
make<!--
|
||
--></screen>
|
||
</para></step>
|
||
<step><para>
|
||
Затем запустите (под <systemitem class="username">root</systemitem>)
|
||
<screen>make install</screen>
|
||
что должно установить модуль и создать для Вас файл устройства.
|
||
Загрузите драйвер:
|
||
<screen>insmod mga_vid.o</screen>
|
||
</para></step>
|
||
<step><para>
|
||
Вам следует проверить определение размера памяти, используя
|
||
команду <command>dmesg</command>. Если он неверен, укажите опцию
|
||
<option>mga_ram_size</option>
|
||
(но сначала <command>rmmod mga_vid</command>),
|
||
указав размер памяти в Мб:
|
||
<screen>insmod mga_vid.o mga_ram_size=16</screen>
|
||
</para></step>
|
||
<step><para>
|
||
чтобы в случае необходимости загружать его автоматической, сначала добавьте
|
||
следующую строку в конец файла <filename>/etc/modules.conf</filename>:
|
||
|
||
<programlisting>alias char-major-178 mga_vid</programlisting>
|
||
</para></step>
|
||
<step><para>
|
||
Теперь надо (пере)скомпилировать <application>MPlayer</application>,
|
||
<command>./configure</command> определит
|
||
<filename>/dev/mga_vid</filename> и соберет драйвер 'mga'.
|
||
Использование его в <application>MPlayer</application> осуществляется
|
||
опцией <option>-vo mga</option>, если используете консоль matroxfb, или
|
||
опцией <option>-vo xmga</option> из-под XFree86 3.x.x или 4.x.x.
|
||
</para></step>
|
||
</procedure>
|
||
|
||
<para>
|
||
Драйвер mga_vid работает совместно с Xv.
|
||
</para>
|
||
|
||
<para>
|
||
Из файла устройства <filename>/dev/mga_vid</filename> можно получать некоторую информацию,
|
||
например, командой
|
||
<screen>cat /dev/mga_vid</screen>
|
||
В него можно писать для изменения яркости:
|
||
<screen>echo "brightness=120" > /dev/mga_vid</screen>
|
||
</para>
|
||
|
||
<para>
|
||
В том же каталоге есть тестовая программа, называющаяся
|
||
<command>mga_vid_test</command>. Если все работает нормально, она должна
|
||
рисовать на экране изображения 256x256.
|
||
</para>
|
||
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)">
|
||
<title>Поддержка 3Dfx YUV</title>
|
||
<para>
|
||
Этот драйвер использует ядерный драйвер фреймбуфера tdfx для воспроизведения
|
||
фильмой с YUV ускорением. Вам потребуется ядро с поддержкой tdfxfb и перекомпиляция с
|
||
<screen>./configure --enable-tdfxfb</screen>
|
||
</para>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="tdfx_vid">
|
||
<title>tdfx_vid</title>
|
||
|
||
<para>
|
||
Это комбинация модуля Linux ядра и драйвера вывода видео, аналогичный
|
||
<link linkend="mga_vid">mga_vid</link>.
|
||
Вам потребуется 2.4.x ядро с драйвером <systemitem>agpgart</systemitem>,
|
||
поскольку <systemitem>tdfx_vid</systemitem> использует AGP.
|
||
Укажите <command>configure</command> опцию <option>--enable-tdfxfb</option>
|
||
для сборки драйвера вывода видео и соберите модуль ядра, как указано далее.
|
||
</para>
|
||
|
||
<procedure>
|
||
<title>Установка tdfx_vid.o модуля ядра:</title>
|
||
<step><para>
|
||
Скомпилируйте <filename>tdfx_vid.o</filename>
|
||
<screen>
|
||
cd drivers
|
||
make</screen>
|
||
</para></step>
|
||
<step><para>
|
||
Запустите (от <systemitem class="username">root</systemitem>):
|
||
<screen>make install</screen>
|
||
что должно установить модуль и создать для Вас файл устройства.
|
||
Загрузите драйвер:
|
||
<screen>insmod tdfx_vid.o</screen>
|
||
</para></step>
|
||
<step><para>
|
||
Чтобы сделать его загружающимся/выгружающимся автоматически, сначала вставьте
|
||
следующую строку в конец <filename>/etc/modules.conf</filename>:
|
||
|
||
<programlisting>alias char-major-178 tdfx_vid</programlisting>
|
||
</para></step>
|
||
</procedure>
|
||
|
||
<para>
|
||
В том же каталоге есть тестовая программа, называющаяся
|
||
<command>tdfx_vid_test</command>. Она должна вывести некоторую полезную
|
||
информацию, если все работает нормально.
|
||
</para>
|
||
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="opengl">
|
||
<title>OpenGL вывод</title>
|
||
|
||
<para>
|
||
<application>MPlayer</application> поддерживает воспроизведение фильмов через OpenGL,
|
||
но если ваша платформа/драйвер поддерживает xv, как в случае PC с Linux,
|
||
лучше используйте xv, производительность OpenGL значительно ниже. Если у вас
|
||
реализация X11 без поддержки xv, OpenGL жизнеспособная замена.
|
||
</para>
|
||
|
||
<para>
|
||
К сожалению, не все драйвера поддерживают эту возможность. Драйвера
|
||
Utah-GLX (для XFree86 3.3.6) имеют ее для всех карт.
|
||
Подробности установки смотрите <ulink url="http://utah-glx.sf.net"/>.
|
||
</para>
|
||
|
||
<para>
|
||
XFree86(DRI) 4.0.3 или новее поддерживает OpenGL с картами Matrox и Radeon,
|
||
4.2.0 или более поздние поддерживают и Rage128.
|
||
Инструкции по закачиванию и установке смотрите на <ulink url="http://dri.sf.net"/> .
|
||
</para>
|
||
|
||
<para>
|
||
Подсказка от одного из наших пользователей: видео вывод GL может использоваться
|
||
для получения синхронизированного по вертикали TV вывода. Необходимо установить
|
||
переменную окружения (как минимум для nVidia):
|
||
</para>
|
||
|
||
<para>
|
||
<command>export __GL_SYNC_TO_VBLANK=1</command>
|
||
</para>
|
||
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="aalib">
|
||
<title>AAlib - отображение в текстовом режиме</title>
|
||
|
||
<para>
|
||
AAlib - это библиотека для отображения графики в текстовом режиме, используя мощный
|
||
ASCII рендерер[renderer]. Существует <emphasis>множество</emphasis> программ уже
|
||
поддерживающих ее, такие как Doom, Quake, и т.д. <application>MPlayer</application>
|
||
содержит очень удобный драйвер для нее. Если <filename>./configure</filename>
|
||
обнаруживает установленную aalib, будет собран libvo драйвер для aalib.
|
||
</para>
|
||
|
||
<para>
|
||
В AA Window можно использовать некоторые клавиши для изменения настроек рендеринга:
|
||
</para>
|
||
|
||
<informaltable>
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row><entry>Клавиша</entry><entry>Действие</entry></row>
|
||
</thead>
|
||
<tbody>
|
||
<row><entry><keycap>1</keycap></entry><entry>
|
||
уменьшить контрастность
|
||
</entry></row>
|
||
<row><entry><keycap>2</keycap></entry><entry>
|
||
увеличить контрастность
|
||
</entry></row>
|
||
<row><entry><keycap>3</keycap></entry><entry>
|
||
уменьшить яркость
|
||
</entry></row>
|
||
<row><entry><keycap>4</keycap></entry><entry>
|
||
увеличить яркость
|
||
</entry></row>
|
||
<row><entry><keycap>5</keycap></entry><entry>
|
||
включение/отключение быстрого рендеринга
|
||
</entry></row>
|
||
<row><entry><keycap>6</keycap></entry><entry>
|
||
установка режима зашумления[dithering] (отсутствие, распределение ошибки[error distribution], Floyd Steinberg)
|
||
</entry></row>
|
||
<row><entry><keycap>7</keycap></entry><entry>
|
||
инвертировать изображение
|
||
</entry></row>
|
||
<row><entry><keycap>8</keycap></entry><entry>
|
||
переключение между управлением aa и <application>MPlayer</application>
|
||
</entry></row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<variablelist>
|
||
<title>Могут быть использованы следующие опции командной строки:</title>
|
||
<varlistentry>
|
||
<term><option>-aaosdcolor=<replaceable>V</replaceable></option></term>
|
||
<listitem><para>
|
||
Смена цвета OSD
|
||
</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>-aasubcolor=<replaceable>V</replaceable></option></term>
|
||
<listitem><para>
|
||
Смена цвета субтитров
|
||
</para><para>
|
||
где <replaceable>V</replaceable> может быть:
|
||
<literal>0</literal> (нормальный),
|
||
<literal>1</literal> (темный),
|
||
<literal>2</literal> (жирный),
|
||
<literal>3</literal> (жирный шрифт),
|
||
<literal>4</literal> (реверсный[reverse]),
|
||
<literal>5</literal> (специальный).
|
||
</para></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<variablelist>
|
||
<title>AAlib сама предоставляет большое количество опций. Вот некоторые из важных::</title>
|
||
<varlistentry>
|
||
<term><option>-aadriver</option></term>
|
||
<listitem><para>
|
||
Установить рекомендуемый aa драйвер (X11, curses, Linux).
|
||
</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>-aaextended</option></term>
|
||
<listitem><para>
|
||
Использовать все 256 символов.
|
||
</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>-aaeight</option></term>
|
||
<listitem><para>
|
||
Использовать восьмибитную ASCII.
|
||
</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>-aahelp</option></term>
|
||
<listitem><para>
|
||
Выводит все опции aalib.
|
||
</para></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<note><para>
|
||
Рандеринг очень сильно загружает CPU, особенно при использовании AA-on-X
|
||
(использование aalib под X), и меньше при использовании стандартной не-фреймбуфер
|
||
консоли. Используйте SVGATextMode, чтобы настроить большой текстовый режим и
|
||
наслаждайтесь! (второй выход карт Hercules рулит[secondary head Hercules cards
|
||
rock] :) ), но, IMHO, вы можете использовать опцию <option>-vf 1bpp</option>, чтобы
|
||
получить графику на hgafb :)
|
||
</para></note>
|
||
|
||
<para>
|
||
Используйте опцию <option>-framedrop</option>, если ваш компьютер недостаточно быстр
|
||
для отрисовки всех кадров!
|
||
</para>
|
||
|
||
<para>
|
||
При воспроизведении на терминале, вы получите лучшую скорость и качество при
|
||
использовании драйвера Linux, а не curses(<option>-aadriver linux</option>).
|
||
Но при этом вы долны иметь право записи в
|
||
<filename>/dev/vcsa<replaceable><терминал></replaceable></filename>!
|
||
Это не определяется aalib автоматически, но vo_aa вместо нее пытается определить
|
||
лучший режим. Смотрите <ulink url="http://aa-project.sf.net/tune"/> для
|
||
дальнейших задач тюнинга.
|
||
</para>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="caca">
|
||
<title>
|
||
<systemitem class="library">libcaca</systemitem> - Цветная ASCII Art библиотека
|
||
</title>
|
||
|
||
<para>
|
||
Библиотека <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink> -
|
||
это графическая библиотека, выводящая чекст вместо пикселов, так что она может
|
||
работать на старых видео картах или текстовых терминалах. Она не такая, как
|
||
знаменитая <systemitem class="library">AAlib</systemitem>.
|
||
<systemitem class="library">libcaca</systemitem> требует терминал для своей работы,
|
||
так что она будет работать на всех unix системах (включая Max OS X), используя
|
||
библиотеку <systemitem class="library">slang</systemitem> или
|
||
<systemitem class="library">ncurses</systemitem>, под DOS используя библиотеку
|
||
<systemitem class="library">conio.h</systemitem>, и под windows, используя либо
|
||
<systemitem class="library">slang</systemitem>, либо
|
||
<systemitem class="library">ncurses</systemitem> (через Cygwin эмуляцию), либо
|
||
<systemitem class="library">conio.h</systemitem>. Если скрипт
|
||
<filename>./configure</filename>
|
||
определяет <systemitem class="library">libcaca</systemitem>, то caca libvo драйвер
|
||
будет собран.
|
||
</para>
|
||
|
||
<itemizedlist>
|
||
<title>Отличия от <systemitem class="library">AAlib</systemitem> следующие:</title>
|
||
<listitem><para>
|
||
16 доступных цветов для вывода символов (256 цветовых пар)
|
||
</para></listitem>
|
||
<listitem><para>
|
||
зашумление[dithering] цветного изображения
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<itemizedlist>
|
||
<title>Но <systemitem class="library">libcaca</systemitem> также имеет следующие
|
||
ограничения:</title>
|
||
<listitem><para>
|
||
нет поддержки яркости, контрастности, гаммы
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<para>
|
||
ВЫ можете использовать следующие клавиши в окне caca для изменения опций
|
||
рендеринга:
|
||
</para>
|
||
|
||
<informaltable>
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row><entry>Клавиша</entry><entry>Действие</entry></row>
|
||
</thead>
|
||
<tbody>
|
||
<row><entry><keycap>d</keycap></entry><entry>
|
||
Перключение методов зашумления[dithering] <systemitem class="library">libcaca</systemitem>.
|
||
</entry></row>
|
||
<row><entry><keycap>a</keycap></entry><entry>
|
||
Перекллючение сглаживания[antialiasing] <systemitem class="library">libcaca</systemitem>.
|
||
</entry></row>
|
||
<row><entry><keycap>b</keycap></entry><entry>
|
||
Переключение фона <systemitem class="library">libcaca</systemitem>.
|
||
</entry></row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<variablelist>
|
||
<title><systemitem class="library">libcaca</systemitem> также анализирует следующие
|
||
переменные окружения:</title>
|
||
<varlistentry>
|
||
<term><option>CACA_DRIVER</option></term>
|
||
<listitem><para>
|
||
Установить рекомендуемый caca драйвер, например ncurses, slang, x11.
|
||
</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>CACA_GEOMETRY (только X11)</option></term>
|
||
<listitem><para>
|
||
Указывает количество строк и столбцов, например, 128x50.
|
||
</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>CACA_FONT (только X11)</option></term>
|
||
<listitem><para>
|
||
Указывает используемый шрифт, например, fixed, nexus.
|
||
</para></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>
|
||
Используйте опцию <option>-framedrop</option>, если ваш компьютер недостаточно быстр для
|
||
рендеринга всех кадров.
|
||
</para>
|
||
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="vesa">
|
||
<title>VESA - вывод в VESA BIOS</title>
|
||
|
||
<para>
|
||
Этот драйвер был разработатн и представлен как <emphasis role="bold">универсальный
|
||
драйвер</emphasis> для любых карт с VESA VBE 2.0 совместимым BIOS.
|
||
Другое преимущество этого драйвера заключается в том ,что он пытается принудительно
|
||
включить TV вывод.
|
||
<citetitle>VESA BIOS EXTENSION (VBE) Версия 3.0 Дата: 16 сентября, 1998</citetitle>
|
||
(Страница 70) гласит:
|
||
</para>
|
||
|
||
<blockquote>
|
||
<formalpara><title>Dual-Controller Designs</title>
|
||
<para>
|
||
VBE 3.0 поддерживает дизайн с двумя контроллерами, предполагая, что поскольку
|
||
оба контроллера обычно имеют одного производителя, и управляются единственной
|
||
BIOS ROM на той же карте, то возможно скрыть от приложения факт наличия на самом
|
||
деле двух контроллеров. Это ограничивает их независимое одновременное использование,
|
||
но позволяет приложениям, выпущенным до VBE 3.0
|
||
нормально работать. VBE функция 00h (Вернуть информацию о контроллере) возвращает
|
||
комбинированную информацию двух контроллеров, включая объединенный список
|
||
доступных режимов. Когда приложение выбирает режим, активируется соответствующий
|
||
контроллер. Каждая из остальных VBE функций затем работает с активным
|
||
контроллером.
|
||
</para>
|
||
</formalpara>
|
||
</blockquote>
|
||
|
||
<para>
|
||
Так что у вас ест шанс получить работающий TV выход, используя этот драйвер.
|
||
(Предполагается, что TV-выход - отдельный контроллер[standalone head] или
|
||
отдельный выход как минимум.)
|
||
</para>
|
||
|
||
<itemizedlist spacing="compact">
|
||
<title>ПРЕИМУЩЕСТВА</title>
|
||
<listitem><para>
|
||
У вас есть шанс смотреть фильмы, <emphasis role="bold">даже если Linux
|
||
не знает</emphasis> ваше видео оборудование.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Вам не требуется устанавливать в Linux ничего, относящегося к графике
|
||
(вроде X11 (он же XFree86), fbdev и т.п.). Этот драйвер может запускаться
|
||
из <emphasis role="bold">текстового режима</emphasis>.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
У вас есть шанс получить <emphasis role="bold">работающий TV-выход</emphasis>.
|
||
(Это известно как минимум для ATI карт).
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Этот драйвер вызывает обработчик <function>int 10h</function>, так что это
|
||
не эмуляция - он вызывает <emphasis role="bold">реальные</emphasis>
|
||
вещи <emphasis>реального</emphasis> BIOS в <emphasis>реальном режиме</emphasis>
|
||
(на самом деле vm86 режим).
|
||
</para></listitem>
|
||
<listitem><para>
|
||
С ним вы можете использовать VIDIX, получая ускоренное отображение видео,
|
||
<emphasis role="bold">и</emphasis> TV вывод одновременно!
|
||
(Рекомендуется для ATI карт.)
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Если у вас есть VESA VBE 3.0+, и вы где-то указали
|
||
<option>monitor-hfreq, monitor-vfreq, monitor-dotclock</option>
|
||
(в файле конфигурации или в командной строке), то получите наибольшую возможную
|
||
частоту обновления. (Используя General Timing Formula). Чтобы задействовать
|
||
эту возможность, вы должны указать <emphasis role="bold">все</emphasis> опции
|
||
вашего монитора.
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<itemizedlist spacing="compact">
|
||
<title>НЕДОСТАТКИ</title>
|
||
<listitem><para>
|
||
Это работает только на <emphasis role="bold">x86 системах</emphasis>.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Может использоваться только пользователем <systemitem class="username">root</systemitem>.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
В данный момент доступно только для <emphasis role="bold">Linux</emphasis>.
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<important><para>
|
||
Не используйте этот драйвер с <emphasis role="bold">GCC 2.96</emphasis>!
|
||
Он не будет работать!
|
||
</para></important>
|
||
|
||
<variablelist>
|
||
<title>ОПЦИИ КОМАНДНОЙ СТРОКИ, ДОСТУПНЫЕ ДЛЯ VESA</title>
|
||
<varlistentry>
|
||
<term><option>-vo vesa:<replaceable>опции</replaceable></option></term>
|
||
<listitem><para>
|
||
данный момент распознаются: <literal>dga</literal> для включения режима dga
|
||
и <literal>nodga</literal> для его отключения. В dga режиме вы можете включить
|
||
двойную буферизацию опцией <option>-double</option>. Замечание: вы можете
|
||
опустить эти параметры для <emphasis role="bold">автоопределения</emphasis>
|
||
режима dga.
|
||
</para></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<itemizedlist spacing="compact">
|
||
<title>ИЗВЕСТНЫЕ ПРОБЛЕМЫ И СПОСОБЫ ИХ РЕШЕНИЯ</title>
|
||
<listitem><para>
|
||
Если вы установили <emphasis role="bold">NLS</emphasis> шрифт на вашем
|
||
Linux и запускаете VESA драйвер из текстового режима, то после завершения
|
||
<application>MPlayer</application> у вас окажется загруженным
|
||
<emphasis role="bold">ROM шрифт</emphasis> вместо национального.
|
||
Вы можете загрузить национальный шрифт снова, воспользовавшись утилитой
|
||
<command>setsysfont</command> из дистрибутива Mandrake/Mandriva, например.
|
||
(<emphasis role="bold">Подсказка</emphasis>: Та же утилита используется для
|
||
локализации fbdev).
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Некоторые <emphasis role="bold">графические драйверы Linux</emphasis> не обновляют
|
||
активный <emphasis role="bold">BIOS режим</emphasis> в DOS памяти.
|
||
Таким образом, если у вас подобная проблема - всегда используете VESA драйвер
|
||
только из <emphasis role="bold">текстового режима</emphasis>. Иначе в любом случае будет
|
||
активирован текстовый режим (#03) и вам придется перезагружать компьютер..
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Часто после завершения работы VESA драйвера вы получаете
|
||
<emphasis role="bold">черный</emphasis> экран. Чтобы вернуться в обычный режим
|
||
просто переключитесь на другую консоль (нажав
|
||
<keycombo><keycap>Alt</keycap><keycap>F<x></keycap></keycombo>)
|
||
затем переключитесь обратно тем же способом.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Для получения <emphasis role="bold">работающего TV выхода</emphasis> необходимо,
|
||
чтобы TV разъем был подключен до включения вашего PC, т.к. видео BIOS
|
||
инициализирует себя только один раз во время POST процедуры.
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="x11">
|
||
<title>X11</title>
|
||
|
||
<para>
|
||
Избегайте, если возможно. Вывод в X11 (используя расширение разделяемой памяти) -
|
||
без какого-либо ускорения.Поддерживается (MMX/3DNow/SSE ускоренное, но все равно
|
||
медленное) программное масштабирование, используйте опции <option>-fs -zoom</option>.
|
||
Большинство карт имеют поддержку масштабирования, для этого используйте вывод
|
||
<option>-vo xv</option>, или <option>-vo xmga</option> для карт Matrox.
|
||
</para>
|
||
|
||
<para>
|
||
Проблема в том, что большинство драйверов карт не поддерживают аппаратное
|
||
ускорение на втором мониторе/TV. В этом случае вы увидите окно зеленого/синего
|
||
цвета вместо изображения, и этот драйвер будет полезным,
|
||
но требуется мощный CPU для программного масштабирования. Не используйте
|
||
программный вывод+масштабирование SDL драйвера, он имеет худшее качество
|
||
картинки!
|
||
</para>
|
||
|
||
<para>
|
||
Программное масштабирование очень медленное, лучше попробуйте вместо этого
|
||
изменить видео режим. Это очень просто. Смотрите <link linkend="dga-modelines">раздел DGA
|
||
режимы</link> и вставьте соответствующие строки в ваш <filename>XF86Config</filename>.
|
||
|
||
<itemizedlist spacing="compact">
|
||
<listitem><para>
|
||
Если у вас XFree86 4.x.x: используйте <option>-vm</option> опцию. Она
|
||
переключится в режим с подходящим разрешением. Если нет:
|
||
</para></listitem>
|
||
<listitem><para>
|
||
C XFree86 3.x.x: циклически переключайтесь между разными разрешениями с помощью
|
||
клавиш
|
||
<keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Доп. клавиша
|
||
плюс</keycap></keycombo>
|
||
и
|
||
<keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Доп. клавиша
|
||
минус</keycap></keycombo>.
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
|
||
<para>
|
||
Если не находите вставленные видео режимамы, просмотрите вывод Xfree86.
|
||
Некоторые драйверы не могут использовать низкие частоты пикселизации (количество
|
||
отрисовываемых пикселей в секунду), необходимые для видео режимов с низким разрешением.
|
||
</para>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="vidix">
|
||
<title>VIDIX</title>
|
||
|
||
<formalpara><title>ПРЕАМБУЛА</title><para>
|
||
<acronym>VIDIX</acronym> - это аббревиатура для
|
||
<emphasis role="bold">VID</emphasis>eo
|
||
<emphasis role="bold">I</emphasis>nterface
|
||
for *ni<emphasis role="bold">X</emphasis>
|
||
(Видео интерфейс для Unix).
|
||
VIDIX разработан и введен как интерфейс для быстрых драйверов пространства
|
||
пользователя[user-space], обеспечивающих такую же производительность, как mga_vid
|
||
для карт Matrox. Они к тому же хорошо переносимы.
|
||
</para>
|
||
</formalpara>
|
||
<para>
|
||
Этот интерфейс был разработан, чтобы уместить существующие интерфейсы ускорения видео
|
||
(известные как mga_vid, rage128_vid, radeon_vid, pm3_vid) в единую схему.
|
||
Он предоставляет высокоуровневый интерфейс к чипам, известным как
|
||
BES (BackEnd scalers) или OV (Video Overlays). Он не предоставляет низкоуровневого интерфейса
|
||
к вещам, известным как графические серверы (Я не хочу соревноваться с командой X11
|
||
в переключении режимов.) Т.е. основная цель интерфейса - ускорить до максимума
|
||
скорость воспроизведения видео.
|
||
</para>
|
||
|
||
<itemizedlist spacing="compact">
|
||
<title>ИСПОЛЬЗОВАНИЕ</title>
|
||
<listitem><para>
|
||
Вы можете использовать отдельный видеодрайвер: <option>-vo xvidix</option>.
|
||
Этот драйвер был разработан как X11 фронтенд к VIDIX технологии. Он
|
||
требует X сервер и может работать только под ним. Имейте ввиду, что
|
||
поскольку этот драйвер напрямую обращается к оборудованию в обход драйвера X,
|
||
то могут быть повреждены растровые изображения, кешированные в памяти
|
||
видеокарты.
|
||
Вы можете предотвратить это, ограничив размер видеопамяти, используемой X,
|
||
XF86Config опцией "VideoRam" в разделе устройств. Вам следует установить этот
|
||
параметр в количество установленной видеопамяти минус 4Мб. Если у вас меньше
|
||
8Мб видеопамяти, вместо этого можно использовать опцию "XaaNoPixmapCache" в
|
||
разделе экранов.
|
||
</para></listitem>
|
||
<listitem>
|
||
<para>
|
||
Существует консольный VIDIX драйвер: <option>-vo cvidix</option>.
|
||
Для большинства карт требуется работающий и инициализированный фреймбуфер
|
||
(в противном случае просто испортите изображение на экране),
|
||
и вы будете иметь тот же эффект, что и с <option>-vo mga</option> или
|
||
<option>-vo fbdev</option>. Карты nVidia, тем не менее, способны выводить
|
||
полностью графическое видео в настоящей текстовой консоли. Смотрите раздел
|
||
<link linkend="vidix-nvidia">nvidia_vid</link> для более подробной информации.
|
||
Чтобы избавиться от такста на полях и мерцающего курсора попробуйте нечто подобное
|
||
</para>
|
||
|
||
<screen>setterm -cursor off > /dev/tty9</screen>
|
||
|
||
<para>
|
||
(предполагая, что <systemitem>tty9</systemitem> ранее не использовался) и затем переключитесь
|
||
на <systemitem>tty9</systemitem>.
|
||
С другой стороны, <option>-colorkey 0</option> должна дать вам видео, работающее "на фоне",
|
||
однако правильность работы этого зависит от функцинальности colorkey.
|
||
</para>
|
||
</listitem>
|
||
<listitem><para>
|
||
Вы можете использовать подустройство VIDIX, примененное к различным
|
||
драйверам видео вывода, например: <option>-vo vesa:vidix</option>
|
||
(<emphasis role="bold">только Linux</emphasis>) и
|
||
<option>-vo fbdev:vidix</option>.
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<para>
|
||
Это действительно неважно, какой драйвер вывода видео используется с
|
||
<emphasis role="bold">VIDIX</emphasis>.
|
||
</para>
|
||
|
||
<itemizedlist spacing="compact">
|
||
<title>ТРЕБОВАНИЯ</title>
|
||
<listitem><para>
|
||
Видеокарта должна находиться в графическом режиме (кроме карт nVidia с
|
||
драйвером <option>-vo cvidix</option>).
|
||
</para></listitem>
|
||
<listitem><para>
|
||
Драйвер вывода видео <application>MPlayer</application> должен знать
|
||
текущий видеорежим и быть способным сообщить VIDIX некоторые видео характеристики сервера.
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<formalpara><title>СПОСОБЫ ИСПОЛЬЗОВАНИЯ</title><para>
|
||
Когда VIDIX используется в качестве <emphasis role="bold">подустройства</emphasis> (<option>-vo
|
||
vesa:vidix</option>), настройка видеорежима производится драйвером вывода видео
|
||
(короче говоря <emphasis role="bold">vo_server</emphasis>). Следовательно, вы можете
|
||
передать в командную строку <application>MPlayer</application> те же ключи, что и для
|
||
vo_server. Дополнительно он понимает ключ <option>-double</option>
|
||
как глобально видимый параметр. (Я рекомендую использовать этот ключ с VIDIX как минимум
|
||
для карт ATI). <option>-vo xvidix</option> дополнительно понимает следующие опции:
|
||
<option>-fs -zoom -x -y -double</option>.
|
||
</para>
|
||
</formalpara>
|
||
|
||
<para>
|
||
Вы можете напрямую указать VIDIX драйвер третьим параметром к командной строке:
|
||
<screen>
|
||
mplayer -vo xvidix:mga_vid.so -fs -zoom -double <replaceable>file.avi</replaceable>
|
||
</screen>
|
||
или
|
||
<screen>
|
||
mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <replaceable>file.avi</replaceable>
|
||
</screen>
|
||
Но это опасно, и вам не следует этого делать. В этом случае принудительно
|
||
запускается указанный драйвер и результат может быть непредсказуемым
|
||
(он может <emphasis role="bold">подвесить</emphasis> ваш компьютер).
|
||
Вам следует это делать ТОЛЬКО если вы абсолютно уверены, что он работает и
|
||
<application>MPlayer</application> не использует его автоматически.
|
||
Пожалуйста, сообщите об этом разработчикам. Правильный путь - использование
|
||
VIDIX без аргументов для задействования автоопределения драйвера.
|
||
</para>
|
||
|
||
<para>
|
||
Поскольку VIDIX требует прямой доступ к оборудованию, вы можете либо
|
||
запускать его от имени root, либо установить SUID бит на исполняемый файл
|
||
<application>MPlayer</application> ((<emphasis role="bold">Внимание:
|
||
Это большой риск безопасности</emphasis>).
|
||
Как вариант, вы можете использовать специальный модуль ядра, как этот:
|
||
</para>
|
||
|
||
<procedure>
|
||
<step><para>
|
||
<!-- FIXME correct translation of 'development version' -->
|
||
Скачайте <ulink url="http://www.arava.co.il/matan/svgalib/">разрабатываемую версию</ulink>
|
||
svgalib (например 1.9.17), <emphasis role="bold">ИЛИ</emphasis>
|
||
версию, созданную Alex специально для использования с <application>MPlayer</application>
|
||
(она не требует наличия исходников svgalib для компиляции)
|
||
<ulink url="http://www.mplayerhq.hu/MPlayer/contrib/svgalib/svgalib_helper-1.9.17-mplayer.tar.bz2">отсюда</ulink>.
|
||
</para></step>
|
||
<step><para>
|
||
Скомпилируйте модуль в каталоге <filename class="directory">svgalib_helper</filename>
|
||
(он может быть найден внутри каталога
|
||
<filename class="directory">svgalib-1.9.17/kernel/</filename>, если вы скачали исходники
|
||
с сайта svgalib) и выполните insmod для него.
|
||
</para></step>
|
||
<step><para>
|
||
Для создания необходимых устройств в каталоге <filename class="directory">/dev</filename>,
|
||
выполните от имени root команду <screen>make device</screen> в
|
||
<filename class="directory">svgalib_helper</filename>.
|
||
</para></step>
|
||
<step><para>
|
||
Переместите каталог <filename class="directory">svgalib_helper</filename> в
|
||
подкаталог <filename class="directory">vidix</filename> дерева исходных текстов
|
||
<application>MPlayer</application>.
|
||
</para></step>
|
||
<step><para>
|
||
Удалите комментарий перед строкой CFLAGS, содержащий строку "svgalib_helper"
|
||
в файле <filename class="directory">vidix/Makefile</filename>.
|
||
</para></step>
|
||
<step><para>
|
||
Перекомпилируйте.
|
||
</para></step>
|
||
</procedure>
|
||
|
||
|
||
<sect2 id="vidix-ati">
|
||
<title>ATI карты</title>
|
||
|
||
<para>
|
||
В даный момент для большинства карт ATI, начиная от Mach64 и заканчивая последними
|
||
Radeon, имеется встроенная поддержка.
|
||
</para>
|
||
|
||
<para>
|
||
Существует два скомпилрованных бинарных файла: <filename>radeon_vid</filename> для
|
||
Radeon и <filename>rage128_vid</filename> для карт Rage 128. Вы можете принудительно
|
||
использовать один из них или позволить VIDIX автоматически опробовать все доступные
|
||
драйверы.
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="vidix-mga">
|
||
<title>Matrox карты</title>
|
||
|
||
<para>
|
||
Сообщалось, что работают Matrox G200, G400, G450 и G550.
|
||
</para>
|
||
|
||
<para>
|
||
<!-- FIXME what is 'video equalizers ' ? -->
|
||
Драйвер поддерживает видео эквалайзеры и должем быть столь же быстр, как и
|
||
<link linkend="mga_vid">Matrox фреймбуфер</link>
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="vidix-trident">
|
||
<title>Trident карты</title>
|
||
|
||
<para>
|
||
Существует драйвер для чипсета Trident Cyberblade/i1, который можно найти
|
||
на материнских платах VIA Epia.
|
||
</para>
|
||
|
||
<para>
|
||
Драйвер написан и поддерживается
|
||
<ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastair M. Robinson</ulink>.
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="vidix-3dlabs">
|
||
<title>3DLabs карты</title>
|
||
|
||
<para>
|
||
Хотя драйвер для чипов 3DLabs GLINT R3 и Permedia3 существует, никто его не
|
||
тестировал, так что отчеты приветствуются.
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="vidix-nvidia">
|
||
<title>nVidia карты</title>
|
||
|
||
<para>
|
||
Уникальная особенность драйвера nvidia_vid заключается в способности отображать
|
||
видео в <emphasis role="bold">простой, чисто текстовой консоли</emphasis> - без
|
||
какого бы то ни было фреймбуфера или магии с X. Для этой цели мы будем использовать
|
||
драйвер вывода видео <option>cvidix</option>, как показывет следующий пример:
|
||
<screen>mplayer -vo cvidix <replaceable>example.avi</replaceable></screen>
|
||
</para>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="vidix-sis">
|
||
<title>SiS карты</title>
|
||
|
||
<para>
|
||
Это, как и nvidia_vid, весьма экспериментальный код.
|
||
</para>
|
||
|
||
<para>
|
||
Он тестировался на SiS 650/651/740 (наиболее распространный чипсет, используемый в
|
||
SiS версиях байрбонов[barebones] "Shuttle XPC")
|
||
</para>
|
||
|
||
<para>
|
||
Отчеты ожидаются!
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="directfb">
|
||
<title>DirectFB</title>
|
||
|
||
<blockquote><para>
|
||
"DirectFB - это графическая библиотека, которая была разработана с учетом
|
||
особенностей встроенных систем. Она предоставляет максимум производительности
|
||
при минимуме используемых ресурсов и накладных расходов." -
|
||
процитировано с <ulink url="http://www.directfb.org"/>
|
||
</para></blockquote>
|
||
|
||
<para>Я исключу описание возможностей DirectFB из этого раздела.</para>
|
||
|
||
<para>
|
||
Несмотря на то, что <application>MPlayer</application> не поддерживается в DirectFB
|
||
как "video провайдер", этот драйвер вывода видео задействует воспроизведение
|
||
видео через DirectFB. Он будет - конечно - работать с ускорением, на моей Matrox G400
|
||
скорость DirectFB такая же как у XVideo.
|
||
</para>
|
||
|
||
<para>
|
||
Всегда старайтесь использовать последнюю версию DirectFB. Вы можете использовать опции
|
||
DirectFB в командной строке, при помощи <option>-dfbopts</option>. Выбор слоя
|
||
производится методом подустройства, например.: <option>-vo directfb:2</option>
|
||
(по-умолчанию -1: автоопределение)
|
||
</para>
|
||
</sect1>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect1 id="dfbmga">
|
||
<title>DirectFB/Matrox (dfbmga)</title>
|
||
<para>
|
||
Прочтите <link linkend="directfb">основной DirectFB</link> раздел для общей информации.
|
||
</para>
|
||
|
||
<para>
|
||
Этот драйвер вывода видео задействует CRTC2 (на втором мониторе[second head]) на картах
|
||
Matrox G400/G450/G550, отображающий видео
|
||
<emphasis role="bold">независимо</emphasis> от первого монитора[first head].
|
||
</para>
|
||
|
||
<para>
|
||
Ville Syrjala имеет
|
||
<ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">README</ulink>
|
||
и
|
||
<ulink url="http://www.sci.fi/~syrjala/directfb/matrox-tv-out-howto">HOWTO</ulink>
|
||
на своей странице, описывающие как задействовать вывод DirectFB TV на картах Matrox.
|
||
</para>
|
||
|
||
<note><para>
|
||
Первая версия DirectFB, на которой удалось это сделать, была
|
||
0.9.17 (имеющая ошибки, требует <systemitem>surfacemanager</systemitem>
|
||
патч с указанного выше URL). Портирование кода CRTC2 в
|
||
<link linkend="mga_vid">mga_vid</link> планируется уже несколько лет,
|
||
<ulink url="../../tech/patches.txt">патчи</ulink> приветствуются.
|
||
</para></note>
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="mpeg_decoders">
|
||
<title>MPEG декодеры</title>
|
||
|
||
<sect2 id="dvb">
|
||
<title>DVB ввод и вывод</title>
|
||
|
||
<para>
|
||
<application>MPlayer</application> поддерживает карты с чипсетом Siemens DVB и
|
||
таких производителей, как Siemens, Technotrend, Galaxis или Hauppauge.
|
||
Последние DVB драйверы доступны с <ulink url="http://www.linuxtv.org">сайта Linux TV</ulink>.
|
||
Если вы собираетесь делать программное транскодирование, у вас должен быть как минимум 1ГГц CPU.
|
||
</para>
|
||
|
||
<para>
|
||
Скрипт configure должен определить вашу DVB карту. Если нет, принудительно укажите
|
||
определение с помошью
|
||
<screen>./configure --enable-dvb</screen>
|
||
Если заголовочные файлы ost находятся не в стандартных каталогах, укажите путь с
|
||
<screen>
|
||
./configure --with-extraincdir=<replaceable>каталог исходников DVB</replaceable>/ost/include
|
||
</screen>
|
||
Затем компилируйте и устанавливайте как обычно.
|
||
</para>
|
||
|
||
<formalpara>
|
||
<title>ИСПОЛЬЗОВАНИЕ</title>
|
||
<para>
|
||
Аппаратное декодирование потоков, содержащих MPEG-1/2 видео и/или MPEG аудио, может быть
|
||
выполнено следующей командой:
|
||
<screen>mplayer -ao mpegpes -vo mpegpes <replaceable>file.mpg|vob</replaceable></screen>
|
||
</para>
|
||
</formalpara>
|
||
|
||
<para>
|
||
Декодирование любых других видео потоков требует транскодирования в MPEG-1,
|
||
поэтому оно медленно и, возможно, не стоит неприятностей, особенно если ваш
|
||
компьютер медленный.
|
||
Его можно добиться, используя команду:
|
||
<screen>
|
||
mplayer -ao mpegpes -vo mpegpes <replaceable>yourfile.ext</replaceable>
|
||
mplayer -ao mpegpes -vo mpegpes -vf expand <replaceable>yourfile.ext</replaceable>
|
||
</screen></para>
|
||
|
||
<para>
|
||
Имейте в виду, что DVB карты поддерживают высоту изображения только 288 и 576 для PAL и
|
||
240 и 480 для NTSC. Для других значений высоты вы <emphasis role="bold">должны</emphasis>
|
||
отмасштабировать изображение, добавив <option>scale=ширина:высота</option> к опции
|
||
<option>-vf</option> с желаемыми значениями ширины и высоты.
|
||
DVB карты допускают различные значения ширины: 720, 704, 640, 512, 480, 352 и т.д. и
|
||
производят аппаратное масштабирование по горизонтали, так что в большинстве случаев
|
||
масштабировать по горизонтали не нужно. Для 512x384 (пропорции 4:3) MPEG-4 (DivX)
|
||
попробуйте:
|
||
</para>
|
||
|
||
<para>Если у вас есть широкоформатный фильм и вы не хотите растягивать его на
|
||
полную высоту, используйте плагин <option>expand=w:h</option> для добавления черных
|
||
полос. Чтобы посмотреть 640x384 MPEG-4 (DivX), попробуйте:
|
||
<screen>
|
||
mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <replaceable>file.avi</replaceable>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Если ваш CPU слишком слаб для полноразмерного 720x576 MPEG-4 (DivX), попробуйте уменьшить
|
||
размер:
|
||
<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <replaceable>file.avi</replaceable>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>Если скорость не увеличилась, попробуйте уменьшить размер по вертикали тоже:
|
||
<screen>
|
||
mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <replaceable>file.avi</replaceable>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Для OSD и субтитров используйте возможности OSD плагина expand. Так, вместо
|
||
<option>expand=w:h</option> или <option>expand=w:h:x:y</option>, используйте
|
||
<option>expand=w:h:x:y:1</option> (5-й параметр <option>:1</option> в конце для
|
||
включения OSD рендеринга). Вы можете слегка подвинуть изображение вверх, чтобы получить
|
||
большую черную область для субтитров. Вы также можете переместить субтитры вверх, если
|
||
они выходят за пределы TV экрана, используйте для этого <option>-subpos <0-100></option>
|
||
(<option>-subpos 80</option> - хороший выбор).
|
||
</para>
|
||
|
||
<para>
|
||
Чтобы воспроизвести не-25fps фильмы на PAL TV или на машине со слабым CPU, добавьте опцию
|
||
|
||
<option>-framedrop</option>.
|
||
</para>
|
||
|
||
<para>
|
||
Для сохранения пропорций MPEG-4 (DivX) файлов и получения оптимальных параметров
|
||
масштабирования (аппаратное горизонтальное и программное вертикальное масштабирование с
|
||
сохранением пропорций), используйте плагин dvbscale:
|
||
<screen>
|
||
for a 4:3 TV: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
|
||
for a 16:9 TV: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
|
||
</screen>
|
||
</para>
|
||
|
||
<formalpara><title>Цифровое TV (DVB драйвер ввода )</title>
|
||
<para>Вы можете использовать DVB карту для просмотра Цифрового TV.</para>
|
||
</formalpara>
|
||
|
||
<para>
|
||
Вы должны иметь установленные программы <command>scan</command> и
|
||
<command>szap/tzap/czap/azap</command>; все они входят в пакет драйверов.
|
||
</para>
|
||
|
||
<para>
|
||
Проверьте, что ваши драйверы правильно работают с такими программами, как
|
||
<ulink url="http://sf.net/projects/dvbtools/"><command>dvbstream</command></ulink>
|
||
(это основа DVB драйвера ввода).
|
||
</para>
|
||
|
||
<para>
|
||
Теперь вам следует создать файл <filename>~/.mplayer/channels.conf</filename>,
|
||
с понятным <command>szap/tzap/czap/azap</command> синтаксисом, или
|
||
позволить <command>scan</command> сделать это для вас.
|
||
</para>
|
||
|
||
<para>
|
||
Если у вас несколько разнотипных карт (например, для спутникового TV, наземного ,
|
||
кабельного и ATSC), можете сохранить файлы как
|
||
<filename>~/.mplayer/channels.conf.sat</filename>,
|
||
<filename>~/.mplayer/channels.conf.ter</filename>,
|
||
<filename>~/.mplayer/channels.conf.cbl</filename>,
|
||
и <filename>~/.mplayer/channels.conf.atsc</filename>,
|
||
соответственно, с тем, чтобы можно было явно указать <application>MPlayer</application>
|
||
какой файл использовать вместо стандартного <filename>~/.mplayer/channels.conf</filename>,
|
||
и какую карту с ним использовать.
|
||
</para>
|
||
|
||
<para>
|
||
Убедитесь, что в <filename>channels.conf</filename> находятся каналы
|
||
!-- FIXME Free to Air -->
|
||
<emphasis>только</emphasis> для обычного телевидения[Free to Air], иначе
|
||
<application>MPlayer</application> будет ожидать передачи незашифрованных данных.
|
||
</para>
|
||
|
||
<para>
|
||
В полях аудио и видео вы можете использовать расширенный синтаксис:
|
||
<option>...:pid[+pid]:...</option> (в каждом максимум 6 pid'ов);
|
||
в этом случае <application>MPlayer</application> включит в поток все указанные
|
||
pid плюс pid 0 (содержащий PAT). Поощряется указание (если вы его знаете)
|
||
PMD pid в каждой строке для соответствующего канала.
|
||
Также можно указать 8192, при этом будут выбраны все pid на этой частоте, и Вы сможете
|
||
потом переключаться между программами при помощи TAB.
|
||
Это может потребовать большей пропускной способности, однако дешевые карты
|
||
всегда пересылают все каналы как минимум до ядра, так что в этом случае разница
|
||
будет небольшой.
|
||
Другие возможные применения: телетекст pid, второая аудио дорожка, и т.д.
|
||
</para>
|
||
|
||
<para>
|
||
Если <application>MPlayer</application> часто жалуется на
|
||
<screen>Too many video/audio packets in the buffer</screen> или
|
||
если вы заметили растущую рассинхронизацию между звуком и видео
|
||
попробуйте воспользоваться libavformat MPEG-TS декодером, добавив
|
||
<option>-demuxer lavf -lavfdopts probesize=128</option> в
|
||
командную строку.
|
||
</para>
|
||
|
||
<para>
|
||
Для показа первого из доступных каналов, запустите
|
||
<screen>mplayer dvb://</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Если вы хотите посмотреть определенный канал, например R1, запустите
|
||
<screen>mplayer dvb://R1</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Если у вас больше одной карты, также надо указать номер той, с которой доступен канал:
|
||
<screen>mplayer dvb://2@R1</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Для смены канала, нажимайте клавиши <keycap>h</keycap> (следующий) и
|
||
<keycap>k</keycap> (предыдущий), или используйте
|
||
<link linkend="osdmenu">OSD меню</link>.
|
||
</para>
|
||
|
||
<para>
|
||
Для временного отключения аудио или видео потока скопируйте
|
||
следующие строки в <filename>~/.mplayer/input.conf</filename>:
|
||
<screen>
|
||
% set_property switch_video -2
|
||
& step_property switch_video
|
||
? set_property switch_audio -2
|
||
^ step_property switch_audio
|
||
</screen>
|
||
(Заменяя горячие клавиши по своему усмотрению.) При нажатии на клавишу,
|
||
соответствующую switch_x -2, поток будет закрыт;
|
||
при нажатии на клавишу, соответствующую step_x, поток будет открыт снова.
|
||
Имейте в виду, что этот механизм переключения не будет работать как следует,
|
||
когда в мультиплексоре присутствует несколько аудио или видео потоков.
|
||
</para>
|
||
|
||
<para>
|
||
Во время воспроизведения (не во время записи) для предотвращения заикания
|
||
и таких ошибок, как 'Your system is too slow', имеет смысл добавить
|
||
<screen>
|
||
-mc 10 -speed 0.97 -af scaletempo
|
||
</screen>
|
||
к опциям командной строки, исправив параметры scaletempo по своему усмотрению.
|
||
</para>
|
||
|
||
<para>
|
||
Если ваш <filename>~/.mplayer/menu.conf</filename> содержит запись
|
||
<literal><dvbsel></literal>, как в файле с примерами
|
||
<filename>etc/dvb-menu.conf</filename> (можете использовать его чтобы
|
||
перезаписать <filename>~/.mplayer/menu.conf</filename>), главное меню
|
||
будет отображать подменю, позволяющее вам выбрать один из присутствующих
|
||
в <filename>channels.conf</filename> каналов, возможно, с предшествующим
|
||
ему подменю с DVB выбором карт, доступных <application>MPlayer</application>.
|
||
</para>
|
||
|
||
<para>
|
||
Если хотите записать какую-то программу на диск, используйте
|
||
<screen>mplayer -dumpfile r1.ts -dumpstream dvb://R1</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Если хотите вместо этого записать ее в другом формате (перекодировать), следует
|
||
использовать такую команду:
|
||
<screen>
|
||
mencoder -o <replaceable>r1.avi</replaceable> -ovc xvid -xvidencopts bitrate=800 \
|
||
-oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Полный список опций для DVB драйвера ввода можно найти на странице руководства man.
|
||
</para>
|
||
|
||
<formalpara><title>БУДУЩЕЕ</title>
|
||
<para>
|
||
Если у вас есть вопросы, или вы хотите получать сообщения о новых возможностях и
|
||
принять участие в дискуссиях на эту тему, подпишитесь на список рассылки
|
||
<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink>.
|
||
Помните, что язык рассылки - Английский.
|
||
</para>
|
||
</formalpara>
|
||
|
||
<para>
|
||
В будущем вы можете рассчитывать на возможность отображения OSD и субтитров,
|
||
используя встроенные OSD возможности DVB карт, также как и более плавное
|
||
воспроизведение не-25fps фильмов и транскодирование в реальном времени между
|
||
MPEG-2 и MPEG-4 (частичная декомпрессия).
|
||
</para>
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="dxr2">
|
||
<title>DXR2</title>
|
||
|
||
<para>
|
||
<application>MPlayer</application> поддерживает аппаратное ускорение воспроизведения
|
||
с картами Creative DXR2.
|
||
</para>
|
||
|
||
<para>
|
||
Прежде всего вам потребуется правильно установленные DXR2 драйверы. Их и руководство по
|
||
установке можно найти на сайте <ulink url="http://dxr2.sf.net/">Ресурсного Центра DXR2</ulink>.
|
||
</para>
|
||
|
||
<variablelist>
|
||
<title>ИСПОЛЬЗОВАНИЕ</title>
|
||
<varlistentry>
|
||
<term><option>-vo dxr2</option></term>
|
||
<listitem><para>Включить TV выход.</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>-vo dxr2:x11</option> or <option>-vo dxr2:xv</option></term>
|
||
<listitem><para>Включить вывод через оверлей в X11.</para></listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><option>-dxr2 <option1:option2:...></option></term>
|
||
<listitem><para>Эта опция используется для управления драйвером DXR2.</para></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>
|
||
Чипсет оверлея, использовавшийся на DXR2 довольно плохого качества, но
|
||
с настройками по-умолчанию будет работать у всех. OSD может работать
|
||
с оверлеем (не на TV), отрисовывая себя в ключевом цвете[colorkey].
|
||
С настройками ключевого цвета[colorkey] по-умолчанию, вы можете получить
|
||
разные результаты, скорее всего увидите ключевой цвет[colorkey] вокруг
|
||
символов или другие забавные эффекты. Но при правильных настройках,
|
||
можно получить вполне приемлемый результат.
|
||
</para>
|
||
|
||
<para>Смотрите страницу man руководства для списка доступных опций.</para>
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="dxr3">
|
||
<title>DXR3/Hollywood+</title>
|
||
<para>
|
||
<application>MPlayer</application> поддерживает аппаратно ускоренное воспроизведение
|
||
картами Creative DXR3 и Sigma Designs Hollywood Plus. Обе эти карты используют
|
||
MPEG декодер на чипе em8300 от Sigma Designs
|
||
</para>
|
||
|
||
<para>
|
||
Прежде всего вам потребуются правильно установленные драйвера DXR3/H+, версии
|
||
0.12.0 или выше. Драйверы и инструкции по установке могут быть найдены на
|
||
сайте <ulink url="http://dxr3.sf.net/">DXR3 & Hollywood Plus для Linux</ulink>
|
||
<filename>configure</filename> должен автоматически определить вашу карту,
|
||
компиляция должна пройти без проблем.
|
||
</para>
|
||
|
||
<!-- FIXME: find a more clear presentation -->
|
||
<variablelist>
|
||
<title>ИСПОЛЬЗОВАНИЕ</title>
|
||
<varlistentry>
|
||
<term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>device</replaceable></option></term>
|
||
<listitem><para>
|
||
Опция <option>overlay</option> активирует оверлей вместо TVOut. Для корректной работы
|
||
она требует его правильной настройки. Самый простой способ правильно его
|
||
настроить - сначала запустить autocal, затем запустить mplayer с драйвером
|
||
dxr3 и выключенным оверлеем, потом запустить dxr3view. В dxr3view вы можете
|
||
менять настройки оверлея и видеть результат в реальном времени, может быть,
|
||
в будущем эта возможность будет поддерживаться в <application>MPlayer</application>
|
||
GUI. После того как оверлей правильно настроен, надобность в dxr3view отпадает.
|
||
Опция <option>prebuf</option> включает пребуферинг. Пребуферинг - это возможность
|
||
чипа em8300, позволяющая ему хранить более одного кадра видео в каждый момент времени.
|
||
Это значит, что при включенном пребуферинге <application>MPlayer</application>
|
||
будет пытаться всегда держать буфер заполненным данными. Если у вас медленная машина,
|
||
то <application>MPlayer</application> будет забирать практически 100% CPU.
|
||
Это особенно часто случается, если вы воспроизводите чистые MPEG потоки
|
||
(DVD, SVCD и т.д.), т.к., поскольку <application>MPlayer</application> не должен
|
||
перекодировать их в MPEG, то он заполняет буфер очень быстро.
|
||
С пребуферингом воспроизведение видео <emphasis role="bold">значительно</emphasis>
|
||
меньше зависит от остальных программ, прибирающих к рукам CPU, он не будет
|
||
терять кадры, кроме случая, когда приложения захватит CPU на довольно длительное
|
||
время. При запуске без пребуферинга, em8300 намного более чувствителен к
|
||
загрузке CPU, так что настоятельно рекомендуется включить <option>-framedrop</option>
|
||
опцию <application>MPlayer</application> для избежания потери синхронизации.
|
||
<option>sync</option> включит алгоритм синхронизации. Пока что это еще
|
||
экспериментальная возможность. С включенной sync возможностью будут постоянно
|
||
проверяться встроенные часы em8300, и если начинается отклонение от
|
||
часов <application>MPlayer</application> чип будет сброшен, что приведет к
|
||
пропуску всех запаздывающих кадров.
|
||
</para><para>
|
||
<option>norm=x</option> установит TV стандарт DXR3 карты без необходимости
|
||
использования внешних утилит вроде em8300setup. Допустимые стандарты: 5 = NTSC, 4 = PAL-60,
|
||
3 = PAL. Специальные стандарты 2 (автонастройка, используя PAL/PAL-60) и 1 (автонастройка
|
||
используя PAL/NTSC) решают какой стандарт использовать на основе частоты кадров.
|
||
because they decide which norm to use by looking at the frame
|
||
rate of the movie. norm = 0 (по-умолчанию) не изменяет текущий стандарт.
|
||
</para><para>
|
||
<option><replaceable>device</replaceable></option> = номер устройства, если их у вас несколько
|
||
em8300 карт.
|
||
Любые из этих опций могут быть опущены.
|
||
</para><para>
|
||
<option>:prebuf:sync</option>, похоже, отлично работает при воспроизведении фильмов MPEG-4 (DivX).
|
||
Пользователи сообщали о проблемах при использования prebuf опции при воспроизведении
|
||
файлов MPEG-1/2. Вы можете попробовать запустить программу сначала вообще без указания опций,
|
||
если же имеете проблемы с синхронизацией или с DVD субтитрами, попытайтесь с <option>:sync</option>.
|
||
</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term>
|
||
<listitem><para>
|
||
Для вывода звука, где <replaceable>X</replaceable> - номер устройства (0, если карта одна).
|
||
</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><option>-af resample=<replaceable>xxxxx</replaceable></option></term>
|
||
<listitem><para>
|
||
em8300 не может воспроизводить частоты дискретизации ниже 44100Hz. Если частота
|
||
ниже 44100Hz, выберите либо 44100Hz, либо 48000Hz в зависимости от
|
||
того, какая частота ближайшая. Т.е. если фильм использует 22050Hz укажите 44100Hz, т.к.
|
||
44100 / 2 = 22050, если 24000Hz, используйте 48000Hz, т.к. 48000 / 2 = 24000 и т.д.
|
||
Это не работает с цифровым выводом звука (<option>-ac hwac3</option>).
|
||
</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><option>-vf lavc</option></term>
|
||
<listitem><para>
|
||
Для просмотра не-MPEG контента на em8300 (напрмер MPEG-4 (DivX) или RealVideo)
|
||
вы должны указать MPEG-1 видеоплагин, такой как
|
||
<systemitem class="library">libavcodec</systemitem> (lavc).
|
||
Дополнительную информацию о <option>-vf lavc</option> смотрите на странице
|
||
руководства man. На данный момент неизвестно способа установить
|
||
значение fps для em8300, что означает фиксированную величину, равную 30000/1001 fps,
|
||
поэтому крайне рекомендуется использовать
|
||
<option>-vf lavc=<replaceable>quality</replaceable>:25</option>, особенно, если
|
||
используете пребуферинг. Почему 25, а не 30000/1001? Ну, причина в том, что при
|
||
использовании 30000/1001 изображение начинает слегка дрожать. Причина нам неизвестна.
|
||
Если вы ставите это значение где-то между 25 и 27 картинка стабилизируется.
|
||
Пока что мы можем только принять это как факт
|
||
</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><option>-vf expand=-1:-1:-1:-1:1</option></term>
|
||
<listitem><para>
|
||
Хотя драйвер DXR3 может помещать некоторый OSD в MPEG-1/2/4 видео, он
|
||
имеет намного более плохое качество, чем традиционный OSD
|
||
<application>MPlayer</application>, и имеет несколько проблем при обновлении к
|
||
тому же. Команда, указанная выше, сначала отконвертирует входное видео в
|
||
MPEG-4 (это обязательно, извините), затем применит плагин expand, который не будет
|
||
ничего расширять (-1: по-умоляанию), но наложит нормальное OSD на картинку
|
||
(это все, что делает "1" в конце строки).
|
||
</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><option>-ac hwac3</option></term>
|
||
<listitem><para>
|
||
em8300 поддерживает воспроизведение звука AC-3 (окружающий звук) через
|
||
цифровой аудио выход карты.Смотрите опцию <option>-ao oss</option> выше,
|
||
она должна использоваться для указания вывода через DXR3 вместо звуковой карты.
|
||
</para></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</sect2>
|
||
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="other">
|
||
<title>Другое оборудование вывода видео</title>
|
||
|
||
<sect2 id="zr">
|
||
<title>Zr</title>
|
||
|
||
<para>
|
||
Это видеодрайвер (<option>-vo zr</option>) для некоторого количества MJPEG карт
|
||
захвата/воспроизведения (тестировался на DC10+ и Buz, но также должен работать для
|
||
LML33, DC10). Драйвер работает, кодируя кадр в JPEG, и отправляя его карте.
|
||
Для кодирования JPEG используется и требуется библиотека
|
||
<systemitem class="library">libavcodec</systemitem>.
|
||
Со специальным режимом <emphasis>cinerama</emphasis>,
|
||
вы можете смотреть фильмы на действительно широком экране, который можно получить,
|
||
иемя два проектора и две MJPEG карты. В зависимости от разрешения
|
||
и настроек качества, этот драйвер может потребовать существенной мощности CPU,
|
||
не забывайте указывать <option>-framedrop</option>, если маша машина
|
||
слишком медленная. Замечание: Мой AMD K6-2 350МГц является (с
|
||
<option>-framedrop</option>) вполне подходящим для просмотра материала размера VCD,
|
||
и фильмов с уменьшенным разрешением.
|
||
</para>
|
||
|
||
<para>
|
||
Этот драйвер общается с драйвером ядра, доступном на
|
||
<ulink url="http://mjpeg.sf.net"/>, так что сначала должен корректно заработать второй.
|
||
Наличие MJPEG карты автоматически определяется скриптом
|
||
<filename>configure</filename>, если этого не происходит, включите принудительное определение
|
||
при помощи
|
||
<screen>./configure --enable-zr</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Вывод может управляться несколькими опциями, подробные описания можно найти
|
||
на странице руководства man, короткий список опций получите, выполнив
|
||
<screen>mplayer -zrhelp</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Такие вещи как масштабирование и OSD не осуществляются этим
|
||
драйвером, но могут быть сделаны, используя видеоплагины. Например, предположим, что
|
||
вы имеете фильм с разрешением 512x272 и хотите просмотреть эго в полноэкранном
|
||
режиме на DC10+. Есть три главные возможности: вы можете отмасштабировать фильм
|
||
до ширины 768, 384 или 192. По причинам производительности и качества я бы
|
||
выбрал масштабирование до 384x204, используя быстрый билинейный программный
|
||
модуль. Командная строка:
|
||
<screen>
|
||
mplayer -vo zr -sws 0 -vf scale=384:204 <replaceable>movie.avi</replaceable>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Обрезка может быть выполнена плагином <option>crop</option> и самим драйвером.
|
||
Предполагая, что фильм слишком широк для отображения на Buz, и вы хотите
|
||
использовать <option>-zrcrop</option> для уменьшения ширины, то необходимо применить
|
||
следующую команду:
|
||
<screen>
|
||
mplayer -vo zr -zrcrop 720x320+80+0 <replaceable>benhur.avi</replaceable>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Если вы хотите использовать плагин <option>crop</option>, выполните
|
||
<screen>
|
||
mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Дополнительное указание <option>-zrcrop</option> активизирует
|
||
режим <emphasis>cinerama</emphasis>, т.е. вы можете распределить фильм на несколько
|
||
TV или проекторов для создания большего экрана. Предположим у вас два проектора.
|
||
Левый подключен к Buz на <filename>/dev/video1</filename>,а правый подключен
|
||
к DC10+ на <filename>/dev/video0</filename>. Фильм имеет разрешение 704x288.
|
||
Также предположим, что вы хотите выводить на правый проектор в черно-белом цвете, а
|
||
левый должен иметь JPEG кадры качества 10. в этом случае вы должны указать:
|
||
<screen>
|
||
mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
|
||
-zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \
|
||
<replaceable>movie.avi</replaceable>
|
||
</screen>
|
||
</para>
|
||
|
||
<para>
|
||
Можно видеть, что опции, встречающиеся до второго <option>-zrcrop</option>, применяются
|
||
только к DC10+, а опции после второго применяются только к Buz.
|
||
Максимальное количество карт для режима <emphasis>cinerama</emphasis> равно
|
||
четырем, так что вы можете построить 2x2 видеостену.
|
||
</para>
|
||
|
||
<para>
|
||
Наконец важное замечание: Не запускайте и не останавливайте XawTV на устройстве
|
||
воспроизведения, это может подвесить ваш компьютер. Тем не менее, можно прекрасно
|
||
<emphasis role="bold">СНАЧАЛА</emphasis> запустить XawTV, <emphasis role="bold">ЗАТЕМ</emphasis>
|
||
запустить <application>MPlayer</application>, подождать, пока <application>MPlayer</application>
|
||
завершит работу и <emphasis role="bold">ЗАТЕМ</emphasis> остановить XawTV.
|
||
</para>
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="blinkenlights">
|
||
<title>Blinkenlights[Мерцающие огни?]</title>
|
||
<para>
|
||
Этот драйвер способен воспроизводить, используя Blinkenlights UDP протокол. Если не
|
||
знаете, что такое <ulink url="http://www.blinkenlights.de/">Blinkenlights</ulink>
|
||
или его преемник <ulink url="http://www.blinkenlights.de/arcade/">Arcade</ulink>,
|
||
выясните это. Хотя это, возможно, реже всего используемый драйвер, без сомнения,
|
||
это самая клевая вещь, предлагаемая <application>MPlayer</application>. Просто
|
||
посмотрите некоторые из
|
||
<ulink url="http://www.blinkenlights.de/video.en.html">видеороликов документации Blinkenlights</ulink>.
|
||
На видео Arcade вы можете видеть драйвер видеовывода Blinkenlights в действии в 00:07:50.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
|
||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||
|
||
|
||
<sect1 id="tvout">
|
||
<title>Поддержка TV-выхода</title>
|
||
|
||
<sect2 id="tvout-mga-g400">
|
||
<title>Matrox G400 карты</title>
|
||
|
||
<para>
|
||
Под Linux есть два способа получить работающий TV выход на G400:
|
||
</para>
|
||
|
||
<important>
|
||
<para>
|
||
инструкции по TV-выходу для Matrox G450/G550, смотрите в следующем разделе!
|
||
</para>
|
||
</important>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>XFree86</term>
|
||
<listitem>
|
||
<para>
|
||
Используя драйвер и HAL модуль, доступный с
|
||
<ulink url="http://www.matrox.com">сайта Matrox</ulink>. Это даст вам X на TV.
|
||
</para>
|
||
<para>
|
||
<emphasis role="bold">Этот метод на дает ускоренного воспроизведения</emphasis>
|
||
как под Windows! Второй выход имеет только YUV фреймбуфер, <emphasis>BES</emphasis>
|
||
(Back End Scaler, модуль YUV масштабирования на картах G200/G400/G450/G550) на
|
||
нем не работает! Драйвер windows как-то это обходит, возможно используя
|
||
3D движок для масштабирования, а YUV фреймбуфер - для вывода отмасштабированного
|
||
изображения. Если вы действительно хотите использовать X, используйте опции
|
||
<option>-vo x11 -fs -zoom</option>, но это будет <emphasis role="bold">МЕДЛЕННО</emphasis>,
|
||
и будет иметь включенную защиту от копирования <emphasis role="bold">Macrovision</emphasis>
|
||
(можно "обойти" Macrovision используя этот
|
||
<ulink url="http://avifile.sf.net/mgamacro.pl">скрипт на perl</ulink>).
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term>Framebuffer</term>
|
||
<listitem>
|
||
<para>
|
||
Используя <emphasis role="bold">модули matroxfb</emphasis> в 2.4 ядрах.
|
||
2.2 ядра не имеют в этих модулях возможности работы с TVout, так что для нашего
|
||
дела непригодны. Вы должны включить ВСЕ matroxfb-относящиеся возможности во время компиляции
|
||
(кроме MultiHead), и скомпилировать их в <emphasis role="bold">модули</emphasis>!
|
||
Вам также необходима задействованная I2C.
|
||
</para>
|
||
|
||
<procedure>
|
||
<step><para>
|
||
Войдите в <filename class="directory">TVout</filename> и наберите
|
||
<command>./compile.sh</command>. Установите
|
||
<filename>TVout/matroxset/matroxset</filename>
|
||
куда-нидудь в ваши <envar>PATH</envar>.
|
||
</para></step>
|
||
<step><para>
|
||
Если вы еще не имеете установленного <command>fbset</command>, поместите
|
||
<filename>TVout/fbset/fbset</filename>
|
||
куда-нибуть в ваши <envar>PATH</envar>.
|
||
</para></step>
|
||
<step><para>
|
||
Еслы <command>con2fb</command> у вас еще не установлен, поместите
|
||
<filename>TVout/con2fb/con2fb</filename>
|
||
куда-нибуть в ваши <envar>PATH</envar>.
|
||
</para></step>
|
||
<step><para>
|
||
Затем войдите в каталог <filename class="directory">TVout/</filename>
|
||
в исходниках <application>MPlayer</application>, и запустите
|
||
<filename>./modules</filename> от имени root. Ваша консоль из текстового режима
|
||
переключится в режим фреймбуфера (обратно не получится!).
|
||
</para></step>
|
||
<step><para>
|
||
Затем, ОТРЕДАКТИРУЙТЕ и запустите скрипт <filename>./matroxtv</filename>.
|
||
Он покажет вам очень простое меню. Нажмите <keycap>2</keycap> и
|
||
<keycap>Enter</keycap>. Теперь вы должны иметь одинаковую картинку на
|
||
мониторе и TV. Если картинка на TV (PAL по-умолчанию) имеет некоторые
|
||
странные полосы, значит скрипт не смог корректно установить разрешение
|
||
(на 640x512 по-умолчанию). Попробуйте другие разрешения из меню
|
||
и/или поэкспериментируйте с fbset.
|
||
</para></step>
|
||
<step><para>
|
||
Йоу. Следующая задача - убрать курсор с tty1 (или где он есть), и выключить
|
||
гашение экрана. Запустите следующие команды:
|
||
|
||
<screen>
|
||
echo -e '\033[?25l'
|
||
setterm -blank 0<!--
|
||
--></screen>
|
||
or
|
||
<screen>
|
||
setterm -cursor off
|
||
setterm -blank 0<!--
|
||
--></screen>
|
||
Возможно вы захотите поместить вышеуказанное в скрипт, добавив очистку экрана.
|
||
Чтобы вернуть курсор назад
|
||
<screen>echo -e '\033[?25h'</screen> или
|
||
<screen>setterm -cursor on</screen>
|
||
</para></step>
|
||
<step><para>
|
||
Готово. Запускайте воспроизведение
|
||
<screen>
|
||
mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>filename</replaceable><!--
|
||
--></screen>
|
||
|
||
(Если используете X, переключитесь теперь в matroxfb при помощи, например
|
||
<keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>.)
|
||
Замените <literal>640</literal> и <literal>512</literal>, если установили другое
|
||
разрешение...
|
||
</para></step>
|
||
<step><para>
|
||
<emphasis role="bold">Наслаждайтесь супер-быстрым, супер-навороченным выводом Matrox TV
|
||
(лучше чем Xv)!</emphasis>
|
||
</para></step>
|
||
</procedure>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<formalpara><title>Создание кабеля Matrox TV-out</title>
|
||
<para>
|
||
Никто не дает никаких гарантий и не несет никакой ответственности
|
||
за возможное нанесение ущерба, вызванное выполнением инструкций, указанныех в этой
|
||
документации.
|
||
</para>
|
||
</formalpara>
|
||
<!-- FIXME check for correct translation of cable pins assignments -->
|
||
<formalpara>
|
||
<title>Кабель для G400</title>
|
||
<para>
|
||
Четвертый контакт CRTC2 коннектора - это композитный видео сигнал. Земля - шестой,
|
||
седьмой и восьмой контакты. (информация получена от Balázs Rácz)
|
||
</para>
|
||
</formalpara>
|
||
|
||
<formalpara><title>Кабель для G450</title>
|
||
<para>
|
||
Первый контакт CRTC2 коннектора - это композитный видео сигнал. Земля - пятый,
|
||
шестой, седьмой и пятнадцатый (5, 6, 7, 15) контакты.
|
||
(информация получена от Balázs Kerekes)
|
||
</para>
|
||
</formalpara>
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="tv-out_matrox_g450">
|
||
<title>Matrox G450/G550 карты</title>
|
||
<para>
|
||
Поддержка TV выхода для этих карт была добавлена недавно, и пока отсутствует в основном
|
||
ядре. В данный момент <emphasis role="bold">mga_vid</emphasis> не может быть использован
|
||
AFAIK, поскольку дрйвер G450/G550 работает только в одной конфигурации:
|
||
первый чип CRTC (с наибольшим количеством возможностей) на первом экране
|
||
(мониторе), и второй чип CRTC (без <emphasis role="bold">BES</emphasis> - для объяснения,
|
||
что такое BES, смотрите раздел о G400 выше) на TV. Так что в настоящий момент вы
|
||
можете использовать только драйвер вывода <emphasis>fbdev</emphasis> программы
|
||
<application>MPlayer</application>.
|
||
</para>
|
||
|
||
<para>
|
||
Первый CRTC не может быть перенаправлен на второй выход на текущий момент.
|
||
Автор драйвера ядра matroxfb - Petr Vandrovec - возможно добавит поддержку для
|
||
этого, отображая вывод первого CRTC одновременно на два выхода, как в данный момент и
|
||
рекомендуется для G400, смотрите раздел выше.
|
||
</para>
|
||
|
||
<para>
|
||
Необходимый патч для ядра и детальное HOWTO можно скачать с
|
||
<ulink url="http://www.bglug.ca/matrox_tvout/"/>
|
||
</para>
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="tvout-ati">
|
||
<title>ATI карты</title>
|
||
|
||
<formalpara><title>ПРЕАМБУЛА</title>
|
||
<para>
|
||
Сейчас ATI не хочет поддерживать ни один из ее TV-out чипов под Linux, по причине
|
||
технологии лицензированной ими у Macrovision.
|
||
</para>
|
||
</formalpara>
|
||
|
||
<itemizedlist>
|
||
<title>СТАТУС ПОДДЕРЖКИ TV-OUT ДЛЯ КАРТ ATI ПОД LINUX</title>
|
||
<listitem><para>
|
||
<emphasis role="bold">ATI Mach64</emphasis>:
|
||
поддерживается <ulink url="http://gatos.sf.net">GATOS</ulink>.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
<emphasis role="bold">ASIC Radeon VIVO</emphasis>:
|
||
поддерживается <ulink url="http://gatos.sf.net">GATOS</ulink>.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
<emphasis role="bold">Radeon</emphasis> и <emphasis role="bold">Rage128</emphasis>:
|
||
поддерживается <application>MPlayer</application>!
|
||
Смотрите разделы <link linkend="vesa">VESA драйвер</link> и
|
||
<link linkend="vidix">VIDIX</link>.
|
||
</para></listitem>
|
||
<listitem><para>
|
||
<emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>:
|
||
поддерживается <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink>.
|
||
</para></listitem>
|
||
</itemizedlist>
|
||
|
||
<para>
|
||
Для других карт просто используйте <link linkend="vesa">VESA</link> драйвер, без
|
||
VIDIX. Конечно, требуется мощный CPU.
|
||
</para>
|
||
|
||
<para>
|
||
Единственная вещь, которую надо сделать - <emphasis role="bold">Иметь TV коннектор
|
||
подключенным до загрузки вашего PC</emphasis>, поскольку видео BIOS инициализирует
|
||
себя только один раз во время POST процедуры.
|
||
</para>
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="tvout-nvidia">
|
||
<title>nVidia</title>
|
||
<para>
|
||
Во-первых, вы ДОЛЖНЫ скачать закрытые драйверы с <ulink url="http://nvidia.com"/>.
|
||
Я не буду описывать процесс установки и настройки, поскольку это выходит за рамки данной
|
||
документации.
|
||
</para>
|
||
|
||
<para>
|
||
После того, как XFree86, XVideo, и 3D ускорение заработает правильно, отредактируйте раздел
|
||
Device для вашей карты в файле <filename>XF86Config</filename>, в соответствии с
|
||
указанным ниже примером (адаптируйте к вашей карте/TV):
|
||
|
||
<programlisting>
|
||
Section "Device"
|
||
Identifier "GeForce"
|
||
VendorName "ASUS"
|
||
BoardName "nVidia GeForce2/MX 400"
|
||
Driver "nvidia"
|
||
#Option "NvAGP" "1"
|
||
Option "NoLogo"
|
||
Option "CursorShadow" "on"
|
||
|
||
Option "TwinView"
|
||
Option "TwinViewOrientation" "Clone"
|
||
Option "MetaModes" "1024x768,640x480"
|
||
Option "ConnectedMonitor" "CRT, TV"
|
||
Option "TVStandard" "PAL-B"
|
||
Option "TVOutFormat" "Composite"
|
||
EndSection
|
||
</programlisting>
|
||
</para>
|
||
|
||
<para>
|
||
Конечно же важная часть - это TwinView.
|
||
</para>
|
||
</sect2>
|
||
|
||
<!-- ********** -->
|
||
|
||
<sect2 id="tvout-neomagic">
|
||
<title>NeoMagic</title>
|
||
<para>
|
||
Чип NeoMagic найден на различных ноутбуках, некоторые из которых оснащаются
|
||
простым аналоговым TV кодером, некоторые имеют более продвинутый.
|
||
<itemizedlist>
|
||
<listitem><para>
|
||
<emphasis role="bold">Чип аналогового кодера</emphasis>:
|
||
Сообщалось, что надежный TV выход можно получить, используя
|
||
<option>-vo fbdev</option> или <option>-vo fbdev2</option>.
|
||
Вам требуется иметь vesafb скомпилированный в вашем ядре и передать
|
||
следующие параметры в командной строке ядра:
|
||
<option>append="video=vesafb:ywrap,mtrr" vga=791</option>.
|
||
Вам следует запустить <application>X</application>, затем переключитесь в
|
||
консольный режим при помощи, например,
|
||
<keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>.
|
||
Если вы не запустите <application>X</application> до запуска
|
||
<application>MPlayer</application> в консоли, видео станет медленным и
|
||
дрожащим[choppy] (объяснения приветствуются).
|
||
Залогиньтесь в консоли и запустите следующую команду:
|
||
|
||
<screen>clear; mplayer -vo fbdev -zoom -cache 8192 dvd://</screen>
|
||
|
||
Теперь вы должны увидеть фильм, запущенный в консольном режиме, заполняющий
|
||
примерно половину LCD экрана вашего ноутбука.
|
||
Для переключения в TV нажмите
|
||
<keycombo><keycap>Fn</keycap><keycap>F5</keycap></keycombo> три раза.
|
||
Тестировался на Tecra 8000, 2.6.15 ядре с vesafb, ALSA v1.0.10.
|
||
</para></listitem>
|
||
<listitem>
|
||
<para>
|
||
<emphasis role="bold">Chrontel 70xx чип кодирования</emphasis>:
|
||
Найден на IBM Thinkpad 390E и, возможно, других Thinkpad или ноутбуках.
|
||
</para><para>
|
||
Необходимо использовать <option>-vo vesa:neotv_pal</option> для PAL или
|
||
<option>-vo vesa:neotv_ntsc</option> для NTSC.
|
||
Это даст TV выход, работающий в следующих 16 bpp и 8 bpp режимах:
|
||
</para>
|
||
<itemizedlist>
|
||
<listitem><para>NTSC 320x240, 640x480 and maybe 800x600 too.</para></listitem>
|
||
<listitem><para>PAL 320x240, 400x300, 640x480, 800x600.</para></listitem>
|
||
</itemizedlist>
|
||
<para>Режим 512x384 не поддерживается в BIOS. Вы должны масштабировать
|
||
изображение в другое разрешение для задействования TV выхода. Если вы видите
|
||
изображение на экране в разрешении 640x480 или 800x600, но не 320x240 или другом
|
||
меньшем разрешении, вам требуется заменить две таблицы в <filename>vbelib.c</filename>.
|
||
Смотрите функцию vbeSetTV для подробностей. Пожалуйста, свяжитесь автором в этом
|
||
случае.
|
||
</para>
|
||
<para>
|
||
Известные проблемы: только VESA, не реализованы различные настройки, такие как яркость,
|
||
контрастность, уровень черного, фильтр дрожания[flickfilter].
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
</chapter>
|