<!--
     The FreeBSD Russian Documentation Project

     $FreeBSD$
     $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/multimedia/chapter.sgml,v 1.37 2005/01/06 08:54:12 den Exp $

     Original revision: 1.104
-->

<chapter id="multimedia">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Moses</firstname>
	<surname>Moore</surname>
	<contrib>Предоставил </contrib>
      </author>
    </authorgroup>
    <!-- 20 November 2000 -->
    <authorgroup>
      <author>
	<firstname>Александр</firstname>
	<surname>Коваленко</surname>
	<contrib>Перевод на русский язык: </contrib>
      </author>
      <author>
	<firstname>Денис</firstname>
	<surname>Пеплин</surname>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>Мультимедиа</title>

  <sect1 id="multimedia-synopsis">
    <title>Краткий обзор</title>

    <para>FreeBSD поддерживает большое количество различных звуковых
      карт, что позволяет вам насладится высококачественным звуком.  Это также
      дает возможность записывать и воспроизводить звуковые файлы в формате
      MPEG Audio Layer 3 (MP3), WAV, Ogg Vorbis, а также во множестве других
      форматов. Коллекция Портов FreeBSD также содержит ряд приложений,
      позволяющих редактировать записанные звуковые файлы, добавлять звуковые
      эффекты, управлять подключенными MIDI устройствами.</para>

    <para>FreeBSD может поддерживать воспроизведение видеофайлов и DVD.
      Количество приложений, позволяющих кодировать, преобразовывать и
      воспроизводить различные форматы видео, существенно меньше
      количества приложений для работы со звуком.  Например, на время написания
      этого документа в Коллекции Портов FreeBSD не существовало хорошего
      приложения для преобразования видео, которое могло бы быть использовано
      для преобразований между разными форматами, как, например, <filename
      role="package">audio/sox</filename>. Впрочем, ситуация в этой области
      меняется быстро.</para>

    <para>Эта глава описывает необходимые шаги для настройки вашей звуковой
     карты. Настройка и установка X11 (<xref
     linkend="x11">) уже охватывает вопросы, связанные с аппаратными
     установками вашей видеокарты, хотя могут быть возможности
     дополнительной настройки для улучшения воспроизведения.</para>

    <para>После прочтения этой главы вы будете знать:</para>

    <itemizedlist>
      <listitem>
	<para>Как настроить систему так, чтобы звуковая карта была
	  опознана.</para>
      </listitem>

      <listitem>
	<para>Методы проверки работы звуковой карты при помощи тестовых
	 приложений.</para>
      </listitem>

      <listitem>
	<para>Как исправить проблемы, возникающие при работе со звуковыми
	  картами.</para>
      </listitem>

      <listitem>
	<para>Как прослушать и создать MP3 и другие форматы.</para>
      </listitem>

      <listitem>
	<para>Как X сервер поддерживает видео.</para>
      </listitem>

      <listitem>
	<para>Некоторые проигрыватели и кодировщики видео, которые показывают
	  хорошие результаты.</para>
      </listitem>

      <listitem>
	<para>Как воспроизвести DVD, <filename>.mpg</filename> и
	  <filename>.avi</filename> файлы.</para>
      </listitem>

      <listitem>
	<para>Как скопировать информацию с CD и DVD в файлы.</para>
      </listitem>

      <listitem>
	<para>Как настроить ТВ тюнер.</para>
      </listitem>

      <listitem>
	<para>Как настроить сканер.</para>
      </listitem>
    </itemizedlist>

    <para>Перед чтением этой главы вам потребуется:</para>

    <itemizedlist>
      <listitem><para>Узнать, как конфигурировать и устанавливать новое ядро
	(<xref linkend="kernelconfig">).</para></listitem>
    </itemizedlist>

    <warning>
      <para>Попытка смонтировать аудио CD при помощи команды
	&man.mount.8; как минимум, сообщит об ошибке и, как максимум, может
	привести к <emphasis>панике ядра</emphasis>. Эти носители имеют
	специальные форматы, которые отличны от обычной файловой системы
	ISO.</para>
    </warning>

  </sect1>


  <sect1 id="sound-setup">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Moses</firstname>
	  <surname>Moore</surname>
	  <contrib>Предоставил </contrib>
	  <!-- 20 ноября 2000 -->
	</author>
      </authorgroup>
      <authorgroup>
	<author>
	 <firstname>Marc</firstname>
	 <surname>Fonvieille</surname>
	 <contrib>Расширил для &os;&nbsp;5.X </contrib>
	 <!-- 13 September 2004 -->
	</author>
      </authorgroup>
    </sect1info>

    <title>Настройка звуковой карты</title>

  <sect2 id="sound-device">
    <title>Настройка системы</title>

    <indexterm><primary>PCI</primary></indexterm>
    <indexterm><primary>ISA</primary></indexterm>
    <indexterm><primary>звуковые карты</primary></indexterm>
    <para>Перед тем как начать, определите модель вашей карты,
      процессор, который она использует, и интерфейс карты: PCI или ISA.
      FreeBSD поддерживает множество разных PCI и ISA карт.
      Сверьтесь со списком поддерживаемых аудио устройств в <ulink
      url="&rel.current.hardware;">Информации об оборудовании</ulink>,
      чтобы проверить, поддерживается ли ваша карта.  Этот документ также
      содержит информацию о том, какой драйвер поддерживает вашу
      карту.</para>

   <indexterm>
     <primary>ядро</primary>
     <secondary>конфигурация</secondary>
   </indexterm>

   <para>Для того, чтобы использовать звуковую карту, вы должный загрузить
     соответствующий драйвер устройства. Этого можно достигнуть двумя путями.
     Простейший способ &ndash; это просто загрузить соответствующий вашей карте
     модуль ядра используя &man.kldload.8;, что можно сделать или из командной
     строки:</para>

    <screen>&prompt.root; <userinput>kldload snd_emu10k1</userinput></screen>

    <para>или добавлением соответствующей строки к файлу
      <filename>/boot/loader.conf</filename>:</para>

    <programlisting>snd_emu10k1_load="YES"</programlisting>

    <para>Эти примеры приведены для звуковой карты Creative
      &soundblaster; Live!.  Другие имеющиеся модули драйверов
      звуковых карты приведены в
      <filename>/boot/defaults/loader.conf</filename>
      Если вы не уверены, какой драйвер использовать, попробуйте загрузить
      <filename>snd_driver</filename>:</para>

    <screen>&prompt.root; <userinput>kldload snd_driver</userinput></screen>

    <para>Это мета-драйвер, загружающий сразу все наиболее распространенные
      драйверы сразу.  Это повышает скорость поиска правильного драйвера.
      Возможна также загрузка всех звуковых драйверов через
      <filename>/boot/loader.conf</filename>.</para>

    <note>
      <para>В &os;&nbsp;4.X для загрузки всех звуковых драйверов вам будет
	необходимо загрузить модуль <filename>snd</filename> вместо
	<filename>snd_driver</filename>.</para>
    </note>

    <para>Другой способ заключается в
     добавлении статического драйвера в ядро.  В разделе ниже дана
     более подробная информация о том, что вам нужно сделать для добавления
     поддержки оборудования.  Более подробно о конфигурация ядра описана в
     <xref linkend="kernelconfig">.</para>

    <sect3>
      <title>Настройка собственного ядра с поддержкой звука</title>

      <para>Первое, что необходимо сделать, это добавить в ядро
	общий звуковой драйвер &man.sound.4;.  Добавьте в
	файл конфигурации ядра следующую строку:</para>

      <programlisting>device sound</programlisting>

      <para>В &os;&nbsp;4.X, вам необходимо использовать следующую
	строку:</para>

      <programlisting>device pcm</programlisting>

      <para>Затем необходимо добавить поддержку имеющейся звуковой
	карты.  Следовательно, нужно знать какой драйвер поддерживает
	карту.  Для этого сверьтесь со списком поддерживаемых
	устройств из <ulink
	url="&rel.current.hardware;">Информации об оборудовании</ulink>.
	Например, звуковая карта Creative &soundblaster; Live!
	поддерживается драйвером &man.snd.emu10k1.4;.
	Для добавления поддержки этой карты, используйте:</para>

      <programlisting>device "snd_emu10k1"</programlisting>

      <para>Прочтите страницу справочника драйвера, чтобы узнать,
	какой синтаксис использовать.  Информация, относящаяся
	к синтаксису включения звуковых драйверов в файл конфигурации
	ядра, может быть также найдена в файле
	<filename>/usr/src/sys/conf/NOTES</filename>
	(<filename>/usr/src/sys/i386/conf/LINT</filename> для
	&os;&nbsp;4.X).</para>

      <para>Не-PnP ISA карты могут потребовать включения в ядро
	информации о настройках звуковой карты (IRQ, I/O port,
	и т.д.).  Эта информация добавляется редактированием
	файла <filename>/boot/device.hints</filename>.
	Во время загрузки системы &man.loader.8; прочтет этот
	файл и передаст настройки ядру.  Например, старая ISA не-PnP карта
	Creative &soundblaster; 16 использует драйвер &man.snd.sbc.4;
	со следующей строкой, добавленной к файлу настройки ядра:</para>

      <programlisting>device snd_sbc</programlisting>

      <para>и со следующей информацией в
	<filename>/boot/device.hints</filename>:</para>

      <programlisting>hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"</programlisting>

      <para>В данном случае, карта использует порт ввода-вывода
	<literal>0x220</literal> и IRQ <literal>5</literal>.</para>

      <para>Синтаксис, используемый в файле
	<filename>/boot/device.hints</filename>, описан в справочной
	странице драйвера.  В &os;&nbsp;4.X эти настройки записываются
	непосредственно в файл конфигурации ядра.  В случае ISA
	карты используется такая строка:</para>

      <programlisting>device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15</programlisting>

      <para>Установки, приведенные выше, используются по умолчанию.
	В некоторых случаях вам может потребоваться изменить IRQ
	или другие настройки в соответствии с настройками карты.
	За более подробной информацией обратитесь к странице справочника
	&man.snd.sbc.4;.</para>

      <note>
	<para>В &os;&nbsp;4.X некоторые системы со встроенной в
	  материнскую плату звуковой картой могут потребовать
	  следующей строки в файле настройки ядра:</para>

	<programlisting>options PNPBIOS</programlisting>
      </note>
    </sect3>
  </sect2>

  <sect2 id="sound-testing">
    <title>Тестирование звуковой карты</title>

    <para>После перезагрузки модифицированного ядра, или после загрузки
      необходимого модуля, звуковая карта должна появиться в буфере
      системных сообщений (&man.dmesg.8;) примерно так:</para>

    <screen>pcm0: &lt;Intel ICH3 (82801CA)&gt; port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: &lt;Cirrus Logic CS4205 AC97 Codec&gt;</screen>

    <para>Статус звуковой карты может быт проверен через файл
      <filename>/dev/sndstat</filename>:</para>

    <screen>&prompt.root; <userinput>cat /dev/sndstat</userinput>
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: &lt;Intel ICH3 (82801CA)&gt; at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)</screen>

    <para>Вывод этой команды для вашей системы может отличаться.
      Если устройства <devicename>pcm</devicename> не появились, вернитесь
      назад и проверьте выполненные действия.  Проверьте файл настройки
      ядра еще раз и убедитесь, что выбрано подходящее устройство.
      Часто встречающиеся проблемы приведены в <xref
      linkend="troubleshooting">.</para>

    <para>Если всё пройдет удачно, звуковая карта заработает. Если
      CD-ROM или DVD-ROM привод правильно подключён к звуковой карте, вы можете
      вставить CD в привод и воспроизвести его при помощи
      &man.cdcontrol.1;.</para>

      <screen>&prompt.user; <userinput>cdcontrol -f /dev/acd0 play 1</userinput></screen>

    <para>Различные приложения, например <filename
      role="package">audio/workman</filename> могут предоставить
      более дружественный
      пользователю интерфейс.  Вы можете также установить
      приложения для прослушивания звуковых файлов MP3, как например
      <filename role="package">audio/mpg123</filename>.  Быстрым способом
      тестирования звуковой карты является отправка данных в
      файл <filename>/dev/dsp</filename>, как показано здесь:</para>

    <screen>&prompt.user; <userinput>cat <replaceable>filename</replaceable> &gt; /dev/dsp</userinput></screen>

    <para>где <replaceable>filename</replaceable> может быть любым
      файлом.  Результатом выполнения этой команды станет шум,
      который означает, что звуковая карта на самом деле
      работает.</para>

    <note>
      <para>Пользователям &os;&nbsp;4.X потребуется создать устройства
	звуковой карты перед тем, как ее использовать.  Если в буфере
	системных сообщений карта появилась как
	<devicename>pcm0</devicename>, вам необходимо выполнить от
	<username>root</username> следующее:</para>

      <screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>

      <para>Если карта обнаружена как <devicename>pcm1</devicename>,
	выполните то же самое, заменив
	<devicename>snd0</devicename> на
	<devicename>snd1</devicename>.</para>

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

    <para>Уровни громкости звука могут быть изменены командой &man.mixer.8;.
      Более подробная информация находится на странице справочной системы
      &man.mixer.8;.</para>

    <sect3 id="troubleshooting">
      <title>Часто встречающиеся проблемы</title>

      <indexterm><primary>файлы устройств</primary></indexterm>
      <indexterm><primary>порт ввода-вывода</primary></indexterm>
      <indexterm><primary>IRQ</primary></indexterm>
      <indexterm><primary>DSP</primary></indexterm>

      <informaltable frame="none" pgwide="1">
	<tgroup cols="2">
	  <thead>
	    <row>
	     <entry>Ошибка</entry>
	      <entry>Решение</entry>
	    </row>
	  </thead>

	  <tbody>
	    <row>
	      <entry><errorname>unsupported subdevice XX</errorname></entry>
	      <entry><para>Одно или более устройств не были правильно
		созданы.  Повторите приведенные выше шаги.</para></entry>
	    </row>

	    <row>
	      <entry><errorname>sb_dspwr(XX) timed out</errorname></entry>
	      <entry><para>Порт ввода-вывода указан неправильно.</para></entry>
	    </row>

	    <row>
	      <entry><errorname>bad irq XX</errorname></entry>
	      <entry><para>IRQ установлен неправильно.  Убедитесь, что
		настройки в системе и на карте одинаковы.</para></entry>
	    </row>

	    <row>
	      <entry><errorname>xxx: gus pcm not attached, out of
		memory</errorname></entry>
	      <entry><para>Для использования устройства недостаточно
		памяти.</para></entry>
	    </row>

	    <row>
	      <entry><errorname>xxx: can't open /dev/dsp!</errorname></entry>
	      <entry><para>Проверьте с помощью <command>fstat | grep
		dsp</command>, не занято ли устройство другим приложением.
		Создать проблемы могут <application>esound</application> и
		поддержка звука в <application>KDE</application>.</para></entry>
	    </row>
	  </tbody>
	</tgroup>
      </informaltable>
    </sect3>
  </sect2>

  <sect2>
    <sect2info>
      <authorgroup>
	<author>
	  <firstname>Munish</firstname>
	  <surname>Chopra</surname>
	  <contrib>Предоставил </contrib>
	</author>
      </authorgroup>
    </sect2info>
    <title>Использование нескольких источников звука</title>

    <para>Достаточно часто встречается необходимость иметь несколько источников
      звука, которые должны воспроизводить одновременно, например когда
      <application>esound</application> или <application>artsd</application> не
      поддерживают совместное использование звукового устройства с некоторым
      приложением.</para>

    <para>FreeBSD позволяет делать это при помощи <emphasis>виртуальных
      звуковых каналов</emphasis>, которые могут быть настроены с помощью
      &man.sysctl.8;. Виртуальные каналы позволяют вам мультиплексировать
      каналы воспроизведения звуковой карты, смешивая звук в ядре.</para>

    <para>Для установки количества виртуальных каналов вы можете использовать
      две переменные sysctl, которые, если вы пользователь <username>root</username>,
      могут быть установлены таким образом:</para>

    <screen>&prompt.root; <userinput>sysctl hw.snd.pcm0.vchans=4</userinput>
&prompt.root; <userinput>sysctl hw.snd.maxautovchans=4</userinput></screen>

    <para>В этом примере выделяются четыре виртуальных канала, чего вполне
      достаточно для повседневного использования.
      <literal>hw.snd.pcm0.vchans</literal> это количество виртуальных каналов
      устройства <devicename>pcm0</devicename>, оно может быть установлено сразу
      же, как только устройство было подключено.
      <varname>hw.snd.maxautovchans</varname> это количество виртуальных
      каналов, которые выделяются новому аудио устройству, когда оно
      подключается при помощи &man.kldload.8;. Так как модуль
      <devicename>pcm</devicename> может быть загружен независимо от аппаратных
      драйверов, <literal>hw.snd.maxautovchans</literal> может указывать
      количество виртуальных каналов для любых устройств, которые будут подключены
      позже.</para>

    <para>Если вы не используете &man.devfs.5;, необходимо будет указать
      приложениям
      <filename>/dev/dsp0</filename>.<replaceable>x</replaceable>, где
      <replaceable>x</replaceable> это число от 0 до 3, если
      <varname>hw.snd.pcm0.vchans</varname> установлено в значение 4. Для
      системы, использующей &man.devfs.5;, вышеуказанные настройки будут
      сделаны автоматически прозрачно для пользователя.</para>
   </sect2>

  <sect2>
    <sect2info>
      <authorgroup>
	<author>
	  <firstname>Josef</firstname>
	  <surname>El-Rayes</surname>
	  <contrib>Предоставил </contrib>
	</author>
      </authorgroup>
    </sect2info>

    <title>Установка значений по умолчанию для каналов mixer</title>

    <para>Значения по умолчанию для различных каналов mixer жестко
      прописаны в исходных текстах драйвера &man.pcm.4;.  Существует
      множество различных приложений и даемонов, которые позволяют
      устанавливать значения для mixer, которые они запоминают
      и выставляют каждый раз при запуске, но это не совсем
      правильное решение, нам нужны значения по умолчанию на уровне
      драйвера.  Они могут быть установлены путем указания
      в  <filename>/boot/device.hints</filename>.   Например:</para>

<programlisting>hint.pcm.0.vol="100"</programlisting>

    <para>Установит значение для канала volume в значение по умолчанию
      100, как только будет загружен модуль &man.pcm.4;.</para>

    <note><para>Только &os; 5.3 и более свежие релизы поддерживают
      эту возможность.</para></note>
  </sect2>

  </sect1>

  <sect1 id="sound-mp3">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Chern</firstname>
	  <surname>Lee</surname>
	  <contrib>Предоставил </contrib>
	</author>
      </authorgroup>
      <!-- 11 Sept 2001 -->
    </sect1info>

    <title>Звук MP3</title>

    <para>MP3 (MPEG Layer 3 Audio) достигает качества звука, близкого к CD, и
      нет причин не воспользоваться им на вашей рабочей
      станции.</para>

    <sect2 id="mp3-players">
      <title>Проигрыватели MP3</title>

      <para>На данный момент наиболее популярным MP3-проигрывателем для
	X11 является
	<application>XMMS</application> (X Multimedia System). Скины приложения
	<application>WinAMP</application> могут быть использованы для
	<application>XMMS</application> так как графический интерфейс
	пользователя практически идентичен интерфейсу программы
	<application>WinAMP</application> от Nullsoft.
	<application>XMMS</application> поддерживает также собственные
	расширения.</para>

      <para><application>XMMS</application> может быть установлен из порта или
	пакета <filename role="package">multimedia/xmms</filename>.</para>

      <para>Интерфейс <application>XMMS</application> интуитивно понятен и
	включает в себя список песен, графический эквалайзер и многое другое.
	Те, кто знаком с <application>WinAMP</application>, найдут
	<application>XMMS</application> очень простым в использовании.</para>

      <para>Порт <filename role="package">audio/mpg123</filename> является
	альтернативой, это MP3-проигрыватель для командной строки.</para>

      <para><application>mpg123</application> может быть запущен с указанием
	звукового устройства и файла MP3 в командной строке как показано
	ниже:</para>

      <screen>&prompt.root; <userinput>mpg123 -a <replaceable>/dev/dsp1.0</replaceable> Foobar-GreatestHits.mp3</userinput>
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!


Playing MPEG stream from Foobar-GreatestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
</screen>

      <para><literal>/dev/dsp1.0</literal> должно быть заменено соответствующим
	устройством <devicename>dsp</devicename> для вашей системы.</para>

    </sect2>

    <sect2 id="rip-cd">
      <title>Копирование аудио дорожек с CD</title>

      <para>Перед тем как преобразовывать CD или дорожку CD в MP3, аудио данные
	на CD должны быть скопированы на жёсткий диск. Это можно сделать путём
	копирования данных CDDA (CD Digital Audio) в файл WAV.</para>

      <para>Утилита <command>cdda2wav</command>, которая является частью пакета
	<filename role="package">sysutils/cdrtools</filename>, может быть
	использована для копирования аудио информации с CD, а также различной
	связанной информации.</para>

      <para>Когда музыкальный CD находится в приводе, следующая команда может
	быть выполнена под <username>root</username> для того,
	чтобы скопировать весь CD в отдельные (один на каждую дорожку) WAV
	файлы:</para>

      <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -B</userinput></screen>

      <para><application>cdda2wav</application> поддерживает ATAPI (IDE)
	приводы CDROM. Для копирования с IDE привода, укажите имя устройства
	вместо номеров SCSI. Например, для того, чтобы скопировать 7-ую
	аудио дорожку с IDE-привода:</para>

      <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>/dev/acd0a</replaceable> -t 7</userinput></screen>

      <para>Параметр <option>-D <replaceable>0,1,0</replaceable></option>
	указывает устройство SCSI <devicename>0,1,0</devicename>,
	соответственно результату работы <command>cdrecord
	-scanbus</command>.</para>

      <para>Для того, чтобы копировать отдельные дорожки, используйте параметр
	<option>-t</option> как показано ниже:</para>

      <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 7</userinput></screen>

      <para>Этот пример показывает как скопировать 7-ю дорожку музыкального CD.
	Для того чтобы скопировать набор дорожек, например, с первой по
	седьмую, укажите диапазон:</para>

      <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 1+7</userinput></screen>

      <para>Утилита &man.dd.1; также может быть использована для копирования
	аудио дорожек на приводах ATAPI, для того, чтобы узнать больше об этом,
	прочитайте <xref linkend="duplicating-audiocds">.</para>

    </sect2>

    <sect2 id="mp3-encoding">
      <title>Создание файлов MP3</title>

      <para>На сегодняшний день наилучшим выбором программы для создания mp3
	является <application>lame</application>.
	<application>Lame</application> находится в дереве портов в подкаталоге
	<filename role="package">audio/lame</filename>.</para>

      <para>Используя скопированные файлы WAV, следующая команда преобразует
	<filename>audio01.wav</filename> в
	<filename>audio01.mp3</filename>:</para>

      <screen>&prompt.root; <userinput>lame -h -b <replaceable>128</replaceable> \
--tt "<replaceable>Foo Song Title</replaceable>" \
--ta "<replaceable>FooBar Artist</replaceable>" \
--tl "<replaceable>FooBar Album</replaceable>" \
--ty "<replaceable>2001</replaceable>" \
--tc "<replaceable>Ripped and encoded by Foo</replaceable>" \
--tg "<replaceable>Genre</replaceable>" \
<replaceable>audio01.wav audio01.mp3</replaceable></userinput></screen>

      <para>Частота 128&nbsp;килобит является стандартом "де факто" для MP3. Многие,
	однако, используют более высокие частоты для получения лучшего
	качества, 160 или 192 килобита. Чем выше частота, тем больше дискового
	пространства будет занимать получаемый MP3, но качество будет выше.
	Параметр <option>-h</option> включает режим <quote>лучшее качество, но
	меньше скорость</quote>. Параметры, начинающиеся с <option>--t</option>
	указывают теги ID3, которые обычно содержат информацию о песне,
	включаемую в файл MP3. О дополнительных настройках преобразования можно
	узнать, прочитав страницу руководства lame.</para>
    </sect2>

    <sect2 id="mp3-decoding">
      <title>Декодирование MP3</title>

      <para>Для того, чтобы записать музыкальный CD из файлов MP3, они должны
	быть преобразованы в несжатый формат WAV. Как
	<application>XMMS</application>, так и
	<application>mpg123</application> поддерживают вывод MP3 в
	распакованный формат файлов.</para>

      <para>Запись на диск в <application>XMMS</application>:</para>

      <procedure>
	<step>
	  <para>Запустите <application>XMMS</application>:</para>
	</step>

	<step>
	  <para>Нажмите правой кнопкой мыши в главном окне
	    <application>XMMS</application> для того, чтобы показать меню.</para>
	</step>

	<step>
	  <para>Выберите <literal>Preferences</literal> (либо
	    <literal>Свойства</literal>, если у вас локализованная версия
	    <application>XMMS</application>) в
	    <literal>Options</literal>.</para>
	</step>

	<step>
	  <para>Измените расширение вывода на <quote>Disk Writer Plugin</quote>
	    (или <quote>Расширение записи на диск</quote>, если у вас
	    локализованная версия <application>XMMS</application>).</para>
	</step>

	<step>
	  <para>Нажмите <literal>Configure</literal> (или
	    <quote>Настройка</quote>, если у вас локализованная версия
	    <application>XMMS</application>).</para>
	</step>

	<step>
	  <para>Введите (или выберите при помощи обзора) каталог, в который
	    следует сохранять распакованные файлы.</para>
	</step>

	<step>
	  <para>Загрузите файл MP3 в <application>XMMS</application> как вы это
	    делаете обычно. Установите громкость на 100% и отключите
	    эквалайзер.</para>
	</step>

	<step>
	  <para>Нажмите <literal>Воспроизвести</literal> &mdash;
	    <application>XMMS</application> будет выглядеть так же как и при
	    обычном воспроизведении MP3, но самой музыки слышно не будет. На
	    самом деле MP3 воспроизводится в файл.</para>
	</step>

	<step>
	  <para>Убедитесь, что вы установили расширение вывода таким, как оно
	    было до этого, для того, чтобы снова слушать MP3.</para>
	</step>
      </procedure>

      <para>Запись в stdout в <application>mpg123</application>:</para>

      <procedure>
	<step>
	  <para>Запустите <command>mpg123 -s <replaceable>audio01.mp3</replaceable> &gt; audio01.pcm</command></para>
	</step>
      </procedure>

      <para><application>XMMS</application> записывает файл в формате WAV, в то
	время как <application>mpg123</application> преобразовывает MP3 в
	простые аудио данные PCM. Оба формата могут быть использованы
	<application>cdrecord</application> для создания музыкальных
	CD.
	Для использования &man.burncd.8; вам потребуются простые аудио данные
	PCM. Если же вы будете использовать файлы в формате WAV, то заметите
	небольшой щелчок в начале каждой аудио дорожки, этот щелчок - заголовок
	файла в формате WAV. Вы очень просто можете избавиться от него путём
	удаления заголовка WAV при помощи утилиты
	<application>SoX</application> (она может быть установлена из порта
	<filename role="package">audio/sox</filename> или соответствующего
	пакета:</para>

	<screen>&prompt.user; <userinput>sox -t wav -r 44100 -s -w -c 2 <replaceable>track.wav track.raw</replaceable></userinput></screen>

      <para>Прочтите <xref linkend="creating-cds"> для того, чтобы узнать
	больше о записи CD в FreeBSD.</para>
    </sect2>
  </sect1>

  <sect1 id="video-playback">
   <sect1info>
     <authorgroup>
       <author>
	 <firstname>Ross</firstname>
	 <surname>Lippert</surname>
	 <contrib>Предоставил </contrib>
       </author>
     </authorgroup>
    <!-- 5 June 2002 -->
   </sect1info>

   <title>Воспроизведение видео</title>

     <para>Воспроизведение видео является очень новой и быстро развивающейся
       областью применения. Будьте терпеливы. Не всё будет работать так
       беспроблемно, как это было со звуком.</para>

     <para>Прежде, чем вы начнёте, определите модель видеокарты и
       чипсет, который она использует. Хотя <application>&xorg;</application>
       и <application>&xfree86;</application>
       поддерживают множество различных видеокарт, только их малая часть
       показывает хорошую скорость воспроизведения видео. Для того, чтобы
       получить список расширений, поддерживаемых X-сервером, который
       используется вашей видеокартой, используйте команду &man.xdpyinfo.1; во
       время работы X11.</para>

     <para>Неплохо также иметь небольшой файл MPEG, который бы использовался
       как тестовый файл для проверки различных проигрывателей и настроек. Так
       как некоторые проигрыватели DVD будут искать носитель DVD как
       <devicename>/dev/dvd</devicename> по умолчанию или быть жёстко настроены
       на него, возможно будет полезно сделать символические ссылки на
       правильные устройства:</para>

      <screen>&prompt.root; <userinput>ln -sf /dev/acd0c /dev/dvd</userinput>
&prompt.root; <userinput>ln -sf /dev/racd0c /dev/rdvd</userinput></screen>

      <para>Для FreeBSD&nbsp;5.X, которая использует &man.devfs.5; рекомендуется
	немного другой набор ссылок:</para>

      <screen>&prompt.root; <userinput>ln -sf /dev/acd0 /dev/dvd</userinput>
&prompt.root; <userinput>ln -sf /dev/acd0 /dev/rdvd</userinput></screen>

    <para>Обратите внимание, природа &man.devfs.5; такова, что такие созданные
      вручную ссылки не сохраняются при перезагрузке системы.  Для
      автоматического создания символических ссылок при каждой загрузке
      системы добавьте в <filename>/etc/devfs.conf</filename>
      следующие строки:</para>

    <programlisting>link acd0 dvd
link acd0 rdvd</programlisting>

      <para>Кроме того, декодирование DVD требует доступа к специальным
	функциям DVD-ROM, поэтому должен быть доступ на запись для устройств
	DVD.</para>

    <indexterm>
      <primary>параметры ядра</primary>
      <secondary>options CPU_ENABLE_SSE</secondary>
    </indexterm>
    <indexterm>
      <primary>параметры ядра</primary>
      <secondary>options USER_LDT</secondary>
    </indexterm>

      <para>Некоторые из обсуждаемых портов полагаются на наличие некоторых
	параметров ядра для правильной сборки. Перед тем, как собирать порты,
	добавьте эти параметры в файл конфигурации ядра, пересоберите ядро и
	перезагрузите систему:</para>

      <programlisting>option CPU_ENABLE_SSE
option USER_LDT</programlisting>

    <note>
      <para><literal>option USER_LDT</literal> в &os;&nbsp;5.X
	не существует.</para>
    </note>

      <para>Для того, чтобы улучшить работу разделяемой памяти X11,
	рекомендуется увеличить значения некоторых переменных
	&man.sysctl.8;:</para>

      <programlisting>kern.ipc.shmmax=67108864
kern.ipc.shmall=32768</programlisting>

    <sect2 id="video-interface">
      <title>Определение возможностей видео</title>

      <indexterm><primary>XVideo</primary></indexterm>
      <indexterm><primary>SDL</primary></indexterm>
      <indexterm><primary>DGA</primary></indexterm>

      <para>Существует несколько возможных путей отображения видео под X11. Что
	именно будет действительно работать, во многом зависит от аппаратного
	обеспечения. Каждый из описанных методов будет работать с различным
	качеством
	на разном аппаратном обеспечении. Во-вторых, воспроизведение видео в
	X11, это тема, которой уделяется достаточно много внимания последнее
	время, и с каждой новой версией <application>&xorg;</application>
	или <application>&xfree86;</application> могут
	наблюдаться значительные улучшения.</para>

      <para>Список наиболее часто используемых видеоинтерфейсов:</para>

      <orderedlist>
      <listitem>
	<para>X11: обычный вывод X11 с использованием разделяемой памяти.</para>
      </listitem>

      <listitem>
	<para>XVideo: расширение интерфейса X11, которое поддерживает видео в
	  любом объекте X11.</para>
      </listitem>

      <listitem>
	<para>SDL: the Simple Directmedia Layer.</para>
      </listitem>

      <listitem>
	<para>DGA: the Direct Graphics Access &mdash; прямой доступ для
	  графики.</para>
      </listitem>

      <listitem>
	<para>SVGAlib: низкоуровневый доступ к графике на консоли.</para>
      </listitem>
      </orderedlist>

      <sect3 id="video-interface-xvideo">
      <title>XVideo</title>

	<para><application>&xorg;</application> и
	  <application>&xfree86; 4.X</application> включают в себя
	  расширение, называющееся <emphasis>XVideo</emphasis> (также известное
	  как Xvideo, Xv и xv), которое позволяет отображать видео прямо на
	  объектах при помощи специального ускорения. Это расширение
	  предоставляет очень хорошее качество воспроизведения даже на low-end
	  машинах.</para>

	<para>Для того чтобы проверить, работает ли это расширение, используйте
	  команду <command>xvinfo</command>:</para>

	  <screen>&prompt.user; <userinput>xvinfo</userinput></screen>

	<para>XVideo поддерживается вашей видеокартой, если результат выглядит приблизительно так:</para>
<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
      "XV_COLORKEY" (range 0 to 16777215)
              client settable attribute
              client gettable attribute (current value is 2110)
      "XV_BRIGHTNESS" (range -128 to 127)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_CONTRAST" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
      "XV_SATURATION" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
      "XV_HUE" (range -180 to 180)
              client settable attribute
              client gettable attribute (current value is 0)
    maximum XvImage size: 1024 x 1024
    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)
      id: 0x30323449 (I420)
        guid: 49343230-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x36315652 (RV16)
        guid: 52563135-0000-0000-0000-000000000000
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 0
        red, green, blue masks: 0x1f, 0x3e0, 0x7c00
      id: 0x35315652 (RV15)
        guid: 52563136-0000-0000-0000-000000000000
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 0
        red, green, blue masks: 0x1f, 0x7e0, 0xf800
      id: 0x31313259 (Y211)
        guid: 59323131-0000-0010-8000-00aa00389b71
        bits per pixel: 6
        number of planes: 3
        type: YUV (packed)
      id: 0x0
        guid: 00000000-0000-0000-0000-000000000000
        bits per pixel: 0
        number of planes: 0
        type: RGB (packed)
        depth: 1
        red, green, blue masks: 0x0, 0x0, 0x0</screen>

      <para>Следует заметить, что перечисленные форматы (YUV2, YUV12 и т.п.) не
	присутствуют в каждой реализации XVideo и их отсутствие может быть
	помехой для некоторых проигрывателей.</para>

      <para>Если результат выглядит так:</para>
<screen>X-Video Extension version 2.2
screen #0
no adaptors present</screen>

      <para>то, возможно, XVideo не поддерживается для вашей видеокарты.</para>

      <para>Если XVideo не поддерживается вашей видеокартой, то это всего лишь
	означает, что будет сложнее получить приемлемые для воспроизведения
	видео вычислительные мощности. В зависимости от вашей видеокарты и
	процессора, возможно, вы сможете получить удовлетворительный результат.
	Возможно, вы должны будете прочитать о путях улучшения
	производительности в <xref
	linkend="video-further-reading">.</para>

    </sect3>

    <sect3 id="video-interface-SDL">
    <title>Simple Directmedia Layer</title>

    <para>SDL был задуман как уровень абстракции для разработки
      кросплатформенных приложений под &microsoft.windows;, BeOS и &unix;, позволяя
      им эффективно использовать звук и графику. SDL предоставляет
      низкоуровневые абстракции для аппаратного обеспечения, и
      может быть более эффективным чем интерфейс X11.</para>

    <para>SDL есть в Коллекции портов FreeBSD: <filename
      role="package">devel/sdl12</filename>.</para>

    </sect3>

    <sect3 id="video-interface-DGA">
    <title>Прямой доступ для графики (DGA)</title>

    <para>DGA это расширение X11, которое позволяет программам напрямую
      изменять кадровый буфер (framebuffer) без участия X-сервера. Поскольку
      DGA основывается на низкоуровневом доступе к памяти, программы, которые
      используют его должны исполняться от пользователя
      <username>root</username>.</para>

    <para>Расширение DGA может быть протестировано при помощи &man.dga.1;.
      Когда <command>dga</command> запущена, она изменяет цвета на экране при
      каждом нажатии клавиш. Для того, чтобы выйти из неё, используйте
      <keycap>q</keycap>.</para>

    </sect3>
  </sect2>

  <sect2 id="video-ports">
    <title>Порты и пакеты для работы с видео</title>

    <indexterm><primary>видео порты</primary></indexterm>
    <indexterm><primary>видео пакеты</primary></indexterm>

    <para>Этот раздел обсуждает программное обеспечение для работы с видео
      из Коллекции Портов FreeBSD. Воспроизведение видео является
      очень активной сферой разработок программного обеспечения и возможности
      различных приложений могут несколько отличаться от описанных
      здесь.</para>

    <para>Во-первых, важно помнить, что многие приложения для работы с
      видео, которые работают на FreeBSD, были разработаны как приложения
      Linux.  Многие из этих приложений все еще бета-качества.  Вот
      некоторые проблемы, которые могут встретиться в работе видео
      пакетов на FreeBSD:</para>

      <orderedlist>

      <listitem>
	<para>Приложение не может воспроизвести файл, который создало другое
	  приложение.</para>
      </listitem>

      <listitem>
	<para>Приложение не может воспроизвести файл, который создало
	  само.</para>
      </listitem>

      <listitem>
	<para>Одно и то же приложение на разных машинах, скомпилированное на
	  каждой машине специально для неё, воспроизводит один и тот же файл
	  различно.</para>
      </listitem>

      <listitem>
	<para>Кажущийся тривиальным фильтр, например фильтр изменения размеров
	  изображения, приводит к очень плохим <quote>артефактам</quote> из-за
	  неправильной функции изменения размера.</para>
      </listitem>

      <listitem>
	<para>Приложение часто не работает (оставляет core-файл).</para>
      </listitem>

      <listitem>
	<para>Документация не устанавливается вместе с портом и может быть
	  найдена лишь на сайте или в каталоге порта
	  <filename class="directory">work</filename>.</para>
      </listitem>

      </orderedlist>

    <para>Многие из этих приложений могут также проявлять
      <quote>линуксизмы</quote>.  Так, это могут быть
      некоторые проблемы, связанные со способом реализации некоторых
      стандартных библиотек в дистрибутивах Linux, или некоторыми
      дополнительными возможностями ядра Linux, которые авторы приложений
      посчитали существующими везде.  Эти проблемы не всегда могут быть
      обнаружены людьми,
      поддерживающими порт (порты), вследствие чего могут возникнуть проблемы,
      сходные с нижеперечисленными:</para>

      <orderedlist>

      <listitem>
	<para>Использование <filename>/proc/cpuinfo</filename> для того, чтобы
	  определить характеристики процессора.</para>
      </listitem>

      <listitem>
	<para>Неправильное использование нитей (threads), которое может
	  привести к зависанию программы при завершении вместо нормального
	  выхода.</para>
      </listitem>

      <listitem>
	<para>Программного обеспечения, которое обычно используется совместно
	  с данным приложением, ещё нет в Коллекции Портов FreeBSD.</para>
      </listitem>

      </orderedlist>

      <para>Таким образом, разработчики этих приложений должны сотрудничать с
	людьми, поддерживающими порты, для того, чтобы минимизировать количество
	обходных путей, необходимых для портирования.</para>

    <sect3 id="video-mplayer">
      <title>MPlayer</title>

      <para><application>MPlayer</application> это недавно разработанный и
	быстро развивающийся проигрыватель видео. Задачами команды
	разработчиков <application>MPlayer</application> являются скорость и
	гибкость при работе на Linux и других Unix-системах. Проект был начал,
	когда его основатель стал сыт по горло плохой производительностью и
	качеством проигрывателей того времени.  Некоторые могут сказать, что
	графический интерфейс был принесён в жертву рационализированному
	дизайну.  Однако, как
	только вы привыкнете к опциям командной строки MPlayer и его управлению
	с клавиатуры, всё будет хорошо.</para>

      <sect4 id="video-mplayer-building">
	<title>Компиляция MPlayer</title>
	<indexterm><primary>MPlayer</primary>
	   <secondary>сборка</secondary></indexterm>

	<para><application>MPlayer</application> находится в <filename
	  role="package">multimedia/mplayer</filename>. MPlayer производит
	  различные тесты аппаратного обеспечения во время процесса компиляции,
	  в результате чего полученные исполняемые модули не могут быть
	  перенесены с одной системы на другую. Поэтому важно собирать его из
	  портов, а не использовать бинарный пакет. Также, при сборке вы можете
	  указать различные установки при помощи параметров командной строки
	  <command>make</command>, как описывается в
	  <filename>Makefile</filename> в начале сборки:</para>

	<screen>&prompt.root; <userinput>cd /usr/ports/multimedia/mplayer</userinput>
&prompt.root; <userinput>make</userinput>
N - O - T - E

Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.html
</screen>

	<para>Параметры порта по умолчанию должны подходить большинству
	  пользователей.  Однако, если вам необходим кодек XviD,
	  необходимо указать в командной строке параметр
	  <makevar>WITH_XVID</makevar>.  Устройство
	  DVD по умолчанию также может быть указано в командной
	  строке параметром <makevar>WITH_DVD_DEVICE</makevar>,
	  по умолчанию используется <filename>/dev/acd0</filename>.</para>

	<para>На время написания данного документа порт
	  <application>MPlayer'а</application> собирает и устанавливает свою
	  документацию в формате HTML и два исполняемых файла,
	  <command>mplayer</command> и <command>mencoder</command>,
	  который является утилитой для перекодировки видео.</para>

	<para>Документация к <application>MPlayer</application> очень
	  информативна. Если читатель найдет информацию этой главы о аппаратном
	  обеспечении для поддержки видео и интерфейсах недостаточной, то
	  документация <application>MPlayer</application> будет очень
	  хорошим дополнением.  Обязательно уделите время
	  чтению документации <application>MPlayer</application>, если вам
	  нужна информация о поддержке видео под &unix;.</para>

      </sect4>

      <sect4 id="video-mplayer-using">
	<title>Использование MPlayer</title>
	<indexterm><primary>MPlayer</primary>
	       <secondary>использование</secondary></indexterm>

	<para>Каждый пользователь <application>MPlayer</application> должен
	  создать подкаталог <filename>.mplayer</filename> в своем домашнем
	  каталоге. Для того, чтобы его создать, выполните следующие
	  действия:</para>


<screen>&prompt.user; <userinput>cd /usr/ports/multimedia/mplayer</userinput>
&prompt.user; <userinput>make install-user</userinput></screen>

    <para>Параметры для <command>mplayer</command> перечислены в страничке
      руководства mplayer.  За более подробной информацией вы можете обратиться
      к документации в формате HTML. В этом разделе мы опишем несколько самых
      распространённых случаев использования mplayer.</para>

    <para>Для того, чтобы воспроизвести файл, например
      <filename><replaceable>testfile.avi</replaceable></filename> через один из многих видеоинтерфейсов,
      используйте параметр <option>-vo</option>:</para>

      <screen>&prompt.user; <userinput>mplayer -vo xv testfile.avi</userinput></screen>
      <screen>&prompt.user; <userinput>mplayer -vo sdl testfile.avi</userinput></screen>
      <screen>&prompt.user; <userinput>mplayer -vo x11 testfile.avi</userinput></screen>
      <screen>&prompt.root; <userinput>mplayer -vo dga testfile.avi</userinput></screen>
      <screen>&prompt.root; <userinput>mplayer -vo 'sdl:dga' testfile.avi</userinput></screen>

    <para>Стоит испробовать все варианты интерфейсов, так как их
      производительность зависит от множества факторов и будет заметно меняться
      в зависимости от аппаратного обеспечения.</para>

    <para>Для того, чтобы воспроизвести DVD, замените
      <filename>testfile.avi</filename> на <option>dvd://<replaceable>N</replaceable> -dvd-device
      <replaceable>DEVICE</replaceable></option>, где <replaceable>N</replaceable> является номером
      дорожки, с которой следует начать воспроизведение и
      <filename><replaceable>DEVICE</replaceable></filename> файл устройства
      привода DVD. Например, для того, чтобы воспроизвести дорожку 3 с
      <filename>/dev/dvd</filename>:</para>


    <screen>&prompt.root; <userinput>mplayer -vo xv dvd://3 -dvd-device /dev/dvd</userinput></screen>

    <note>
      <para>Устройство DVD по умолчанию может быть определено во время
	сборки порта <application>MPlayer</application> параметром
	<makevar>WITH_DVD_DEVICE</makevar>.  По умолчанию,
	это устройство <filename>/dev/acd0</filename>.  Дополнительную
	информацию можно найти в <filename>Makefile</filename> порта.</para>
    </note>

    <para>Для того, чтобы остановить, приостановить или продолжить
      воспроизведение, воспользуйтесь привязкой клавиш, информация о которой
      может быть получена посредством запуска <command>mplayer -h</command>, либо
      на страничке документации.</para>

    <para>Дополнительные, достаточно важные параметры воспроизведения:
      <option>-fs -zoom</option>, которые включают полноэкранный режим и
      <option>-framedrop</option>, который улучшает производительность на
      медленных системах.</para>

    <para>Для того, чтобы командная строка запуска mplayer не становилась
      слишком большой, пользователь может создать файл
      <filename>.mplayer/config</filename> и установить параметры по умолчанию
      там:</para>

<programlisting>vo=xv
fs=yes
zoom=yes</programlisting>

    <para>Также <command>mplayer</command> может быть использован для
      копирования дорожек DVD в <filename>.vob</filename> файлы. Для того,
      чтобы скопировать вторую дорожку DVD необходимо выполнить следующую
      команду:</para>

    <screen>&prompt.root; <userinput>mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd</userinput></screen>

    <para>Полученный файл, <filename>out.vob</filename>, будет представлять
      собой MPEG, с которым можно производить различные действия при помощи
      программ, которые будут описаны далее в этом разделе.</para>

      </sect4>
      <sect4 id="video-mencoder">
	<title>mencoder</title>
	<indexterm>
      <primary>mencoder</primary>
    </indexterm>

    <para>Перед использованием
      <command>mencoder</command>, было бы
      неплохо ближе ознакомится с его параметрами, используя документацию в
      формате HTML. Также существует страничка справочника mplayer, но она не
      очень полезна без HTML документации. Существует бесчисленное множество
      способов улучшения качества, снижения битрейта и изменения формата; и
      некоторые из этих приёмов могут влиять на производительность. Ниже
      приведено несколько примеров использования <command>mencoder</command>.
      Во-первых, простое копирование:</para>

     <screen>&prompt.user; <userinput>mencoder input.avi -oac copy -ovc copy -o output.avi</userinput></screen>

    <para>Неправильная комбинация параметров командной строки может привести к
      появлению файлов, которые невозможно будет
      воспроизвести даже <command>mplayer</command>. Поэтому, если вы хотите
      скопировать изображение в файл, лучше использовать только параметр
      <command>mplayer</command> <option>-dumpfile</option>.</para>

    <para>Для того, чтобы преобразовать <filename>input.avi</filename> в MPEG4
      со звуком в формате MPEG Audio Layer 3 (MP3) (требуется <filename
      role="package">audio/lame</filename>):</para>

     <screen>&prompt.user; <userinput>mencoder input.avi -oac mp3lame -lameopts br=192 \
     -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi</userinput></screen>

    <para>Эта команда создаст файл, воспроизводимый <command>mplayer</command>
      и <command>xine</command>.</para>

    <para><filename>input.avi</filename> может быть заменён на
      <option>dvd://1 -dvd-device /dev/dvd</option> и
      <command>mplayer</command>, запущенный от
      пользователя <username>root</username>, будет преобразовывать дорожку DVD
      напрямую. Так как первый раз, скорее всего, вы будете недовольны
      полученными результатами, всё же рекомендуется копировать
      дорожку в файл и работать затем с файлом.</para>
    </sect4>

    </sect3>

    <sect3 id="video-xine">
    <title>Проигрыватель хine</title>

    <para><application>xine</application> - это большой проект, в задачи
      которого входит не только создание решения для видео все-в-одном, но и
      создание базовой библиотеки с возможностью расширения путем
      использования плагинов.  Поставляется он как в виде порта,
      так и в виде пакета, <filename
      role="package">multimedia/xine</filename>.</para>

    <para><application>xine</application> все еще несовершенен, но все-таки это
      хорошее начало. На практике <application>xine</application> требует либо
      быстрого процессора с быстрой видеокартой или поддержки расширения
      XVideo. Графический интерфейс можно использовать, но он все еще немного
      неуклюж.</para>

    <para>На время написания этого документа в поставке
      <application>xine</application> не существовало модуля ввода, который бы
      мог воспроизводить DVD, закодированные по алгоритму CSS. Существуют
      сборки, в которых есть такой модуль, но ни одна из них не входит в
      Коллекцию Портов FreeBSD.</para>

    <para>По сравнению с <application>MPlayer</application>,
      <application>xine</application> является более дружелюбным к
      пользователю, но, в то же время, скрывает более тонкие настройки и
      управление от пользователя.  Также <application>xine</application> лучше
      работает на XVideo интерфейсах.</para>

    <para>По умолчанию, <application>xine</application> запускается с
      графическим интерфейсом.  Для открытия файлов используются меню.</para>

      <screen>&prompt.user; <userinput>xine</userinput></screen>

    <para>В качестве альтернативы можно использовать его для запуска файла
      непосредственно, без GUI, следующей командой:</para>

      <screen>&prompt.user; <userinput>xine -g -p mymovie.avi</userinput></screen>

    </sect3>

    <sect3 id="video-ports-transcode">
    <title>Утилиты transcode</title>

    <para>Приложение <application>transcode</application> не является
      проигрывателем. Это набор инструментов для преобразования
      <filename>.avi</filename> и <filename>.mpg</filename> файлов. При помощи
      <application>transcode</application> можно объединять видеофайлы,
      исправлять поврежденные файлы, использовать инструменты командной строки
      для работы с потоками ввода/вывода
      <filename>stdin/stdout</filename>.</para>

    <para>Так же, как и <application>MPlayer</application>,
      <application>transcode</application> является очень экспериментальным
      программным продуктом, который необходимо собирать из порта <filename
      role="package">multimedia/transcode</filename>. Этот порт имеет огромное
      количество параметров для команды <command>make</command> при сборке.
      Рекомендуется:</para>

      <screen>&prompt.root; <userinput>make WITH_LIBMPEG2=yes</userinput></screen>

    <para>Если вы планируете установить <filename
      role="package">multimedia/avifile</filename>, то добавьте параметр
      <literal>WITH_AVIFILE</literal> в строку запуска <command>make</command>
      как показано ниже:</para>

      <screen>&prompt.root; <userinput>make WITH_AVIFILE=yes WITH_LIBMPEG2=yes</userinput></screen>

    <para>Ниже приводятся два примера использования
      <command>transcode</command> для преобразования видео, в результате
      которого изменяется размер изображения. Первый пример преобразовывает
      данные в openDIVX AVI файл, в то время как второй использует более
      переносимый формат MPEG.</para>

      <screen>&prompt.user; <userinput>transcode -i input.vob -x vob -V -Z 320x240 \
-y opendivx -N 0x55 -o output.avi</userinput></screen>

      <screen>&prompt.user; <userinput>transcode -i input.vob -x vob -V -Z 320x240 \
-y mpeg -N 0x55 -o output.tmp</userinput>
&prompt.user; <userinput>tcmplex -o output.mpg -i output.tmp.m1v -p output.tmp.mpa -m 1</userinput></screen>

    <para>Существует страничка справочника для <command>transcode</command>, но
      для различных утилит <command>tc*</command> (таких как
      <command>tcmplex</command>), которые тоже устанавливаются в систему,
      документации очень немного.  Тем не менее, для получения краткой справки
      по использованию команд, может быть задан параметр
      <option>-h</option>.</para>

    <para>По сравнению с <command>mencoder</command>,
      <command>transcode</command> работает заметно медленнее, но имеет больше
      шансов создать более переносимый файл, который можно будет воспроизвести
      на большем количестве систем. Например MPEG,
      созданные при помощи <command>transcode</command>, воспроизводятся в
      <application>&windows.media; Player</application> и Apple
      <application>&quicktime;</application>.</para>

    </sect3>

  </sect2>

  <sect2 id="video-further-reading">
    <title>Дальнейшее чтение</title>

    <para>Различные пакеты видео программ для FreeBSD интенсивно
      разрабатываются.  Очень возможно, что в ближайшем будущем
      многие обсуждаемые здесь проблемы разрешатся.  Это займет время, и те, кто
      желает получить максимум от аудио/видео возможностей FreeBSD, должны
      будут собирать необходимые знания из нескольких списков часто задаваемых
      вопросов и обучающих статей, а также использовать различные
      приложения.  Этот раздел существует для того, чтобы читатель мог получить
      указания на несколько источников дополнительной информации.</para>

    <para><ulink url="http://www.mplayerhq.hu/DOCS/">Документация
      <application>MPlayer</application></ulink> очень содержательна в
      техническом плане. Возможно, эти документы должны использоваться любым
      человеком, желающим получить высокий уровень знаний о видео на &unix;
      системах. Список рассылки <application>MPlayer</application> враждебен
      для любого, кто не потрудился прочитать документацию, так что, если у вас
      есть желание сообщать о найденных ошибках, прочитайте вначале
      документацию.</para>

    <para><ulink
      url="http://dvd.sourceforge.net/xine-howto/en_GB/html/howto.html"><application>xine</application>
      HOWTO</ulink> содержит главу об улучшении производительности, которая
      применима к любому проигрывателю.</para>

    <para>Наконец, существует несколько многообещающих приложений, которые
      читатель может испробовать:</para>

    <itemizedlist>

       <listitem>
	 <para><ulink url="http://avifile.sourceforge.net/">Avifile</ulink>,
	   для которого также существует порт <filename
	   role='package'>multimedia/avifile</filename>.</para>
       </listitem>

       <listitem>
	 <para><ulink
	   url="http://www.dtek.chalmers.se/groups/dvd/">Ogle</ulink>, для
	   которого также существует порт <filename
	   role='package'>multimedia/ogle</filename>.</para>
       </listitem>

       <listitem>
	 <para><ulink url="http://xtheater.sourceforge.net/">Xtheater</ulink></para>
       </listitem>

	<listitem>
	 <para><filename
	   role="package">multimedia/dvdauthor</filename>, пакет с открытыми
	   текстами для распространения DVD контента.</para>
	</listitem>

    </itemizedlist>

  </sect2>
 </sect1>

  <sect1 id="tvcard">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Josef</firstname>
	  <surname>El-Rayes</surname>
	  <contrib>Первоначально предоставил </contrib>
	</author>
      </authorgroup>
      <authorgroup>
	<author>
	  <firstname>Marc</firstname>
	  <surname>Fonvieille</surname>
	  <contrib>Улучшил и адаптировал </contrib>
	  <!-- 02 January 2004 -->
	</author>
      </authorgroup>
    </sect1info>

    <title>Настройка ТВ тюнеров</title>
    <indexterm>
      <primary>ТВ тюнеры</primary>
    </indexterm>

    <sect2>
      <title>Введение</title>

      <para>ТВ тюнеры предназначены для просмотра
	широковещательного или кабельного телевидения на компьютере.  Большинство
	тюнеров поддерживают композитный видео вход RCA или
	S-video, а некоторые из них поставляются с FM радио тюнером.</para>

      <para>&os; поддерживает PCI ТВ тюнеры, использующие
	Brooktree Bt848/849/878/879 или Conexant CN-878/Fusion 878a
	Video Capture Chip через драйвер &man.bktr.4;.  Вы должны также
	убедиться, что тюнер поддерживается; обратитесь к странице справочника
	&man.bktr.4; за списком поддерживаемых тюнеров.</para>
    </sect2>

    <sect2>
      <title>Добавление драйвера</title>

      <para>Для использования карты потребуется загрузить драйвер
	&man.bktr.4;, что можно сделать, добавив в
	<filename>/boot/loader.conf</filename> следующую строку:</para>

      <programlisting>bktr_load="YES"</programlisting>

      <para>В качестве альтернативы, вы можете статически скомпилировать
	ядро с поддержкой ТВ тюнера; добавьте следующие строки в
	файл конфигурации ядра:</para>

      <programlisting>device	 bktr
device	iicbus
device	iicbb
device	smbus</programlisting>

      <para>Эти дополнительные драйвера устройств необходимы, поскольку
	компоненты карты соединены через шину I2C.  Затем соберите и
	установите новое ядро.</para>

      <para>Как только поддержка тюнера будет добавлена в систему, перегрузите
	компьютер.  Во время загрузки TV карта должна отобразить примерно
	такие строки:</para>

      <programlisting>bktr0: &lt;BrookTree 848A&gt; mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: &lt;I2C bit-banging driver&gt; on bti2c0
iicbus0: &lt;Philips I2C bus&gt; on iicbb0 master-only
iicbus1: &lt;Philips I2C bus&gt; on iicbb0 master-only
smbus0: &lt;System Management Bus&gt; on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>

      <para>Конечно, эти сообщения будут различаться на разном оборудовании.
	Тем не менее, проверьте, что тюнер определяется правильно; возможна
	перезапись параметров, определенных ядром, с помощью &man.sysctl.8;
	MIB и параметров в файле настройки ядра.  Например, если вы хотите
	указать, что это Philips SECAM тюнер, добавьте следующую строку
	к файлу настройки ядра:</para>

      <programlisting>options OVERRIDE_TUNER=6</programlisting>

      <para>или прямо задайте переменную &man.sysctl.8;:</para>

      <screen>&prompt.root; <userinput>sysctl hw.bt848.tuner=6</userinput></screen>

      <para>Обратитесь к странице &man.bktr.4; и файлу
	<filename>/usr/src/sys/conf/NOTES</filename> за более детальной
	информацией о доступных параметрах (если вы работаете в
	&os;&nbsp;4.X, вместо
	<filename>/usr/src/sys/conf/NOTES</filename> используйте
	<filename>/usr/src/sys/i386/conf/LINT</filename>).</para>
    </sect2>

    <sect2>
      <title>Полезные приложения</title>

      <para>Для использования ТВ тюнера вам потребуется установить одно из
	следующих приложений:</para>

      <itemizedlist>
	<listitem>
	  <para><filename role="package">multimedia/fxtv</filename>
	    предоставляет возможности ТВ-в-окне и захвата
	    изображений/аудио/видео.</para>
	</listitem>
	<listitem>
	  <para><filename role="package">multimedia/xawtv</filename>
	    это также приложение для ТВ тюнера, с теми же, что и у
	    <application>fxtv</application> возможностями.</para>
	</listitem>
	<listitem>
	  <para><filename role="package">misc/alevt</filename> раскодирует
	    и отображает видеотекст/телетекст.</para>
	</listitem>
	<listitem>
	  <para><filename role="package">audio/xmradio</filename>,
	    приложение для использования с FM радио тюнером, поставляемым
	    с некоторыми ТВ тюнерами.</para>
	</listitem>
	<listitem>
	  <para><filename role="package">audio/wmtune</filename>, это
	    удобное приложение для радио тюнеров.</para>
	</listitem>
      </itemizedlist>

      <para>В коллекции портов &os; можно найти и другие приложения.</para>
    </sect2>

    <sect2>
      <title>Решение проблем</title>

      <para>Если вы столкнулись с какой-либо проблемой, связанной с ТВ
	тюнером, проверьте в первую очередь поддержку микросхемы захвата
	видео и тюнера драйвером &man.bktr.4;, а также правильность установки
	параметров.  За дальнейшей поддержкой и с вопросами о ТВ тюнере
	вы можете обращаться в &a.multimedia.name; и
	использовать его архивы.</para>
    </sect2>
  </sect1>

  <sect1 id="scanners">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Marc</firstname>
	  <surname>Fonvieille</surname>
	  <contrib>Написана </contrib>
	  <!-- 04 August 2004 -->
	</author>
      </authorgroup>
      <authorgroup>
	<author>
	  <firstname>Дмитрий</firstname>
	  <surname>Морозовский</surname>
	  <contrib>Перевод на русский язык: </contrib>
	</author>
      </authorgroup>
    </sect1info>

    <title>Сканеры</title>
    <indexterm>
      <primary>сканеры</primary>
    </indexterm>

    <sect2>
      <title>Введение</title>

      <para>&os;, как и прочие современные операционные системы, поддерживает
	сканеры.  Стандартный доступ к сканерам обеспечивается программой
	<application>SANE</application> (Scanner Access Now
	Easy), обеспечивающей универсальный интерфейс
	(<acronym role="Application Programming Interface">API</acronym>)
	и доступной в коллекции портов &os;.  Для общения со сканерами
	<application>SANE</application> использует некоторые драйвера
	устройств &os;.</para>

      <para>&os; поддерживает сканеры с интерфейсом как SCSI, так и USB.
	Убедитесь, что ваш сканер поддерживается
	<application>SANE</application> перед тем, как приступить к
	конфигурации.  Список устройств, поддерживаемых
	<application>SANE</application>, можно найти <ulink
	url="http://sane-project.org/sane-supported-devices.html">здесь</ulink>.
	Кроме того, страница справочника &man.uscanner.4; также перечисляет
	поддерживаемые устройства.</para>
    </sect2>

    <sect2>
      <title>Конфигурация ядра</title>

      <para>Как уже отмечалось, поддерживаются как SCSI, так и USB сканеры.
	В зависимости от интерфейса вашего сканера требуется поддержка разных
	драйверов устройств.</para>

      <sect3 id="scanners-kernel-usb">
	<title>USB</title>

	<para>Стандартное ядро <filename>GENERIC</filename> включает в себя
	  драйвера, необходимые для поддержки USB сканеров.  Если вы
	  компилируете собственное ядро, убедитесь, что в его конфигурации
	  присутствуют строки</para>

	<programlisting>device usb
device uhci
device ohci
device uscanner</programlisting>

	<para>В зависимости от чипсета USB, встроенного в вашу материнскую
	  плату, потребуется лишь один из драйверов <literal>device
	  uhci</literal> или <literal>device ohci</literal>, однако, наличие
	  обеих строк в конфигурации ядра никому не повредит.</para>

	<para>Если вы не хотите перестраивать ядро, и при этом ваше ядро не
	  является стандартным (<filename>GENERIC</filename>), вы можете
	  загрузить модуль драйвера поддержки сканеров &man.uscanner.4;
	  при помощи команды &man.kldload.8;:</para>

	<screen>&prompt.root; <userinput>kldload uscanner</userinput></screen>

	<para>Для автоматической загрузки модуля при старте системы добавьте
	  в файл <filename>/boot/loader.conf</filename> строку</para>

	<programlisting>uscanner_load="YES"</programlisting>

	<para>После перезагрузки с новым ядром или загрузки модуля подключите
	  ваш USB сканер.  В буфере системных сообщений (&man.dmesg.8;) должно
	  появиться сообщение о найденном устройстве, например:</para>

	<screen>uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2</screen>

	<para>В данном случае сканер будет использовать устройство
	  <filename>/dev/uscanner0</filename>.</para>

	<note>
	  <para>В &os;&nbsp;4.X для корректного распознавания некоторых USB
	    устройств должен быть запущен даемон USB (&man.usbd.8;).
	    Для этого добавьте строку <literal>usbd_enable="YES"</literal>
	    в файл конфигурации системы <filename>/etc/rc.conf</filename>.
	  </para>
	</note>
      </sect3>

      <sect3>
	<title>SCSI</title>

	<para>Если ваш сканер имеет интерфейс SCSI, важно знать, к какому
	  контроллеру он подключен.  В зависимости от контроллера потребуются
	  различные драйвера в файле конфигурации ядра.  Стандартное ядро
	  <filename>GENERIC</filename> поддерживает большинство
	  распространенных SCSI-контроллеров.  Внимательно прочитайте файл
	  <filename>NOTES</filename> (в &os;&nbsp;4.X файл
	  <filename>LINT</filename>) и добавьте необходимые строки в файл
	  конфигурации вашего ядра.  Помимо строки для драйвера адаптера,
	  вам потребуются следующие строки:</para>

	<programlisting>device scbus
device pass</programlisting>

	<para>После сборки и загрузки нового ядра, в буфере системных
	  сообщений должны появиться строки о вашем сканере, например:</para>

	<screen>pass2 at aic0 bus 0 target 2 lun 0
pass2: &lt;AGFA SNAPSCAN 600 1.10&gt; Fixed Scanner SCSI-2 device
pass2: 3.300MB/s transfers</screen>

	<para>Если сканер не был включен в момент загрузки, его можно
	  принудительно опознать, выполнив сканирование SCSI шины при
	  помощи команды &man.camcontrol.8;:</para>

	<screen>&prompt.root; <userinput>camcontrol rescan all</userinput>
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successful</screen>

	<para>После этого сканер должен появиться в списке устройств:</para>

	<screen>&prompt.root; <userinput>camcontrol devlist</userinput>
&lt;IBM DDRS-34560 S97B&gt;              at scbus0 target 5 lun 0 (pass0,da0)
&lt;IBM DDRS-34560 S97B&gt;              at scbus0 target 6 lun 0 (pass1,da1)
&lt;AGFA SNAPSCAN 600 1.10&gt;           at scbus1 target 2 lun 0 (pass3)
&lt;PHILIPS CDD3610 CD-R/RW 1.00&gt;     at scbus2 target 0 lun 0 (pass2,cd0)</screen>

	<para>Более подробная информация о устройствах SCSI доступна на
	  страницах справочника &man.scsi.4; и &man.camcontrol.8;.</para>
      </sect3>
    </sect2>

    <sect2>
      <title>Конфигурация SANE</title>

      <para>Система <application>SANE</application> состоит из двух частей:
	аппаратной поддержки (backend, <filename
	role="package">graphics/sane-backends</filename>) и программной
	поддержки (frontend, <filename
	role="package">graphics/sane-frontends</filename>).  Первая часть
	обеспечивает собственно доступ к сканеру.  <ulink
	url="http://sane-project.org/sane-supported-devices.html">Список
	поддерживаемых устройств</ulink> <application>SANE</application>
	содержит информацию о необходимом вам аппаратном модуле.
	Вторая часть обеспечивает графический интерфейс для сканирования
	(<application>xscanimage</application>).</para>

      <para>В первую очередь следует установить порт или пакет <filename
	role="package">graphics/sane-backends</filename>, после чего при
	помощи команды <command>sane-find-scanner</command> проверить
	поддержку сканера системой <application>SANE</application>:</para>

      <screen>&prompt.root; <userinput>sane-find-scanner -q</userinput>
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3</screen>

      <para>В выводе должны присутствовать интерфейс сканера и имя
	используемого устройства.  Производитель и модель сканера могут
	отсутствовать: это нормально.</para>

      <note>
	<para>Некоторым USB сканерам может потребоваться загрузка прошивки.
	  Подробности смотрите в страницах справочника драйвера сканера,
	  &man.sane-find-scanner.1; и &man.sane.7;.</para>
      </note>

      <para>Теперь необходимо убедиться, что сканер опознан программой
	графического интерфейса.  В состав системы
	<application>SANE</application> входит утилита &man.scanimage.1;,
	позволяющая работать со сканером из командной строки.  Опция
	<option>-L</option> используется для показа информации
	о сканере:</para>

      <screen>&prompt.root; <userinput>scanimage -L</userinput>
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner</screen>

      <para>Отсутствие сообщений или сообщение об отсутствии устройств
	означает, что утилита &man.scanimage.1; не смогла идентифицировать
	сканер.  В этом случае вам потребуется отредактировать файл
	конфигурации аппаратного модуля и указать устройство, используемое
	сканером.  Все файлы настройки находятся в каталоге
	<filename class="directory">/usr/local/etc/sane.d/</filename>.
	Такие проблемы присущи некоторым моделям USB сканеров.
      </para>

      <para>Например, в случае USB сканера, описанного в <xref
	linkend="scanners-kernel-usb">, утилита
	<command>sane-find-scanner</command> выдаст следующую информацию:
      </para>

      <screen>&prompt.root; <userinput>sane-find-scanner -q</userinput>
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0</screen>

      <para>Сканер обнаружен корректно, он использует интерфейс USB
	и доступен через устройство <filename>/dev/uscanner0</filename>.
	Теперь попробуем идентифицировать его:</para>

      <screen>&prompt.root; <userinput>scanimage -L</userinput>

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).</screen>

      <para>Поскольку сканер не идентифицирован, нам потребуется изменить
	файл конфигурации
	<filename>/usr/local/etc/sane.d/epson.conf</filename>.
	В нашем примере использован сканер &epson.perfection; 1650, так что
	мы знаем, что будет использоваться драйвер <literal>epson</literal>.
	Не забудьте прочитать комментарии в файле конфигурации.  Требуемые
	изменения весьма просты: закомментируйте все строки, описывающие
	интерфейсы, не соответствующие интерфейсу вашего сканера (в нашем
	случае, все строки, начинающиеся со <literal>scsi</literal>: наш
	сканер использует интерфейс USB), и добавьте в конец файла строку,
	содержащую интерфейс и имя использованного устройства.
	Мы добавим строку</para>

      <programlisting>usb /dev/uscanner0</programlisting>

      <para>Пожалуйста, прочтите комментарии в файле конфигурации, а также
	страницы справочника для более полной информации.  Теперь мы можем
	проверить, что наш сканер опознан:</para>

      <screen>&prompt.root; <userinput>scanimage -L</userinput>
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner</screen>

      <para>Наш USB сканер опознан.  Не столь важно, что имя и номер модели
	не совпадают, главное, что используются правильные имя устройства
	и драйвер: <literal>`epson:/dev/uscanner0'</literal>.</para>

      <para>После того как команда <command>scanimage -L</command> опознала
	сканер, конфигурация завершена.  Все готово к сканированию.</para>

      <para>Хотя утилита &man.scanimage.1; позволяет производить сканирование
	из командной строки, как правило, для сканирования предпочтительнее
	использовать графический интерфейс.  Для этого в состав
	<application>SANE</application> входит простая, но эффективная
	утилита <application>xscanimage</application> (<filename
	role="package">graphics/sane-frontends</filename>).</para>

      <para>Другой популярной программой графического интерфейса к сканеру
	является <application>Xsane</application> (<filename
	role="package">graphics/xsane</filename>).  Эта программа
	поддерживает такие расширенные возможности, как разные режимы
	сканирования (фотокопия, факс и т.п.), цветокоррекцию, потоковое
	сканирование и другие.  Оба приложения пригодны для использования
	в качестве плагинов сканирования для <application>GIMP</application>.
      </para>
    </sect2>

    <sect2>
      <title>Доступ к сканеру для других пользователей</title>

      <para>Все описанные операции выполнялись нами с привилегиями
	суперпользователя (<username>root</username>).  Вам может
	потребоваться дать доступ к сканеру другим пользователям.
	Для этого необходимо разрешить доступ на чтение и запись
	к файлу устройства, обслуживающему сканер.  В нашем примере
	USB сканер использует устройство <filename>/dev/uscanner0</filename>,
	принадлежащее группе <groupname>operator</groupname>.
	Добавление пользователя <username>joe</username> в группу
	<groupname>operator</groupname> разрешит ему использовать сканер:
      </para>

      <screen>&prompt.root; <userinput>pw groupmod operator -m <replaceable>joe</replaceable></userinput></screen>

      <para>За подробностями обращайтесь к странице справочника &man.pw.8;.
	Вам также потребуется установить нужные права доступа (0660 или 0664)
	к устройству <filename>/dev/uscanner0</filename>, поскольку по
	умолчанию группа <groupname>operator</groupname> может лишь
	читать из него.  Это достигается добавлением следующей строки
	в файл <filename>/etc/devfs.rules</filename>:</para>

      <programlisting>[system=5]
add path uscanner0 mode 660</programlisting>

      <para>Затем добавьте в файл конфигурации системы
	<filename>/etc/rc.conf</filename> такую строку (после чего
	перезагрузите систему):</para>

      <programlisting>devfs_system_ruleset="system"</programlisting>

      <para>Подробную информацию о правах на файлы устройств вы найдете
	на странице справочника &man.devfs.8;.  В &os;&nbsp;4.X группа
	<groupname>operator</groupname> по умолчанию имеет права как
	на чтение, так и на запись, к устройству
	<filename>/dev/uscanner0</filename>.</para>

      <note>
	<para>Разумеется, по соображениям безопасности, вы должны как следует
	  подумать, прежде чем добавлять пользователя в другие группы,
	  в особенности в группу <groupname>operator</groupname>.</para>
      </note>
    </sect2>
  </sect1>
</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->
