<!--
     The FreeBSD Documentation Project
     The FreeBSD German Documentation Project

     $FreeBSD$
     $FreeBSDde: de-docproj/books/handbook/multimedia/chapter.sgml,v 1.71 2005/01/18 01:31:42 mheinen Exp $
     basiert auf: 1.105
-->

<chapter id="multimedia">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Ross</firstname>
	<surname>Lippert</surname>
	<contrib>&Uuml;berarbeitet von </contrib>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>Multimedia</title>

  <sect1 id="multimedia-synopsis">
    <title>&Uuml;bersicht</title>

    <para>FreeBSD unterst&uuml;tzt viele unterschiedliche Soundkarten,
      die Ihnen den Genuss von Highfidelity-Kl&auml;ngen auf Ihrem
      Computer erm&ouml;glichen.  Dazu geh&ouml;rt unter anderem die
      M&ouml;glichkeit, Tonquellen in den Formaten MPEG Audio Layer 3
      (MP3), WAV, Ogg Vorbis und vielen weiteren Formaten aufzunehmen
      und wiederzugeben.  Dar&uuml;ber hinaus enth&auml;lt die FreeBSD
      Ports-Sammlung Anwendungen, die Ihnen das Bearbeiten Ihrer
      aufgenommenen Tonspuren, das Hinzuf&uuml;gen von Klangeffekten
      und die Kontrolle der angeschlossenen MIDI-Ger&auml;te
      erlauben.</para>

    <para>Wenn Sie etwas Zeit investieren, k&ouml;nnen Sie
      mit &os; auch Videos und DVDs abspielen.  Im Vergleich
      zu Audio-Anwendungen gibt es weniger Anwendungen zum
      Kodieren, Konvertieren und Abspielen von Video-Formaten.
      Es gab, als dieses Kapitel geschrieben wurde, keine
      Anwendung, die einzelne Video-Formate &auml;hnlich wie
      <filename role="package">audio/sox</filename> konvertieren
      konnte.  Allerdings &auml;ndert sich die Software in
      diesem Umfeld sehr schnell.</para>

    <para>In diesem Kapitel wird das Einrichten von Soundkarten
      besprochen.  <xref linkend="x11"> beschreibt die Installation
      und Konfiguration von X11 und das Einrichten von Videokarten.
      Hinweise zur Verbesserung der Wiedergabe finden sich
      in diesem Kapitel.</para>

    <para>Dieses Kapitel behandelt die folgenden Punkte:</para>

    <itemizedlist>
      <listitem>
	<para>Die Konfiguration des Systems damit Ihre
	  Soundkarte erkannt wird.</para>
      </listitem>

      <listitem>
	<para>Wie Sie mit Beispielanwendungen die
	  Funktion einer Soundkarte pr&uuml;fen.</para>
      </listitem>

      <listitem>
	<para>Wie Sie Fehler in den Einstellungen von
	  Soundkarten finden.</para>
      </listitem>

      <listitem>
	<para>Wie Sie MP3s und andere Audio-Formate wiedergeben
	  und erzeugen.</para>
      </listitem>

      <listitem>
	<para>Die Video-Unterst&uuml;tzung des X-Servers.</para>
      </listitem>

      <listitem>
	<para>Gute Anwendungen, die Videos abspielen und
	  kodieren.</para>
      </listitem>

      <listitem>
	<para>Die Wiedergabe von DVDs, <filename>.mpg</filename>-
	  und <filename>.avi</filename>-Dateien.</para>
      </listitem>

      <listitem>
	<para>Wie Sie CDs und DVDs in Dateien rippen.</para>
      </listitem>

      <listitem>
	<para>Die Konfiguration von TV-Karten.</para>
      </listitem>

      <listitem>
	<para>Das Einrichten von Scannern.</para>
      </listitem>
    </itemizedlist>

    <para>Bevor Sie dieses Kapitel lesen, sollten Sie:</para>

    <itemizedlist>
      <listitem>
	<para>Wissen, wie Sie einen neuen Kernel konfigurieren
	  und installieren (<xref linkend="kernelconfig">).</para>
      </listitem>
    </itemizedlist>

    <warning>
      <para>Der Versuch eine Audio-CD mit &man.mount.8;
	einzuh&auml;ngen erzeugt mindestens einen Fehler;
	schlimmstenfalls kann es zu einer Kernel-Panic
	kommen.  Die Medien besitzen eine andere Kodierung
	als normale ISO-Dateisysteme.</para>
    </warning>
  </sect1>

  <sect1 id="sound-setup">
    <sect1info>
      <authorgroup>
        <author>
	  <firstname>Moses</firstname>
	  <surname>Moore</surname>
	  <contrib>Von </contrib>
          <!-- 20 November 2000 -->
        </author>
      </authorgroup>
      <authorgroup>
	<author>
	  <firstname>Marc</firstname>
	  <surname>Fonvieille</surname>
	  <contrib>Aktualisiert f&uuml;r &os;&nbsp;5.X von </contrib>
	  <!-- 13 September 2004 -->
	</author>
      </authorgroup>
      <authorgroup>
        <author>
	  <firstname>Benedikt</firstname>
	  <surname>K&ouml;hler</surname>
	  <contrib>&Uuml;bersetzt von </contrib>
        </author>
        <author>
	  <firstname>Uwe</firstname>
	  <surname>Pierau</surname>
        </author>
      </authorgroup>
    </sect1info>

    <title>Soundkarten einrichten</title>

    <sect2 id="sound-device">
      <title>Den Soundtreiber einrichten</title>

      <indexterm><primary>PCI</primary></indexterm>
      <indexterm><primary>ISA</primary></indexterm>
      <indexterm><primary>Soundkarten</primary></indexterm>

      <para>Zun&auml;chst sollten Sie in Erfahrung bringen,
	welches Soundkartenmodell Sie besitzen, welchen Chip
	die Karte benutzt und ob es sich um eine PCI- oder
	ISA-Karte handelt.  &os; unterst&uuml;tzt eine Reihe
	von PCI- als auch von ISA-Karten.  Die
	<ulink url="&rel.current.hardware;">Hardware-Notes</ulink>
	z&auml;hlen alle unterst&uuml;tzten Karten und deren
	Treiber auf.</para>

      <indexterm>
        <primary>Kernel</primary>
        <secondary>Konfiguration</secondary>
      </indexterm>

      <para>Um Ihre Soundkarte benutzen zu k&ouml;nnen, m&uuml;ssen Sie
        den richtigen Ger&auml;tetreiber laden.  Sie haben zwei
	M&ouml;glichkeiten, den Treiber zu laden:  Am einfachsten
	ist es, das Modul mit &man.kldload.8; zu laden.  Sie
	k&ouml;nnen dazu die Kommandozeile verwenden:</para>

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

      <para>Alternativ k&ouml;nnen Sie auch einen Eintrag
	in der Datei <filename>/boot/loader.conf</filename>
	erstellen:</para>

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

      <para>Beide Beispiele gelten f&uuml;r eine Creative &soundblaster;
        Live! Soundkarte.  Weitere ladbare Soundmodule sind in
	der Datei <filename>/boot/defaults/loader.conf</filename>
	aufgef&uuml;hrt.  Wenn Sie nicht sicher sind, welchen
	Ger&auml;tetreiber Sie laden m&uuml;ssen, laden Sie den
	Treiber  <filename>snd_driver</filename>:</para>

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

      <para>Der Treiber <filename>snd_driver</filename> ist ein
	Meta-Treiber, der alle gebr&auml;uchlichen Treiber l&auml;dt
	und die Suche nach dem richtigen Treiber vereinfacht.
	Weiterhin k&ouml;nnen alle Treiber &uuml;ber
	<filename>/boot/loader.conf</filename> geladen werden.</para>

      <note>
	<para>Um unter &os;&nbsp;4.X alle Treiber zu laden,
	  m&uuml;ssen Sie das Modul <filename>snd</filename>
	  anstelle von <filename>snd_driver</filename>
	  verwenden.</para>
      </note>

      <para>Alternativ k&ouml;nnen Sie die Unterst&uuml;tzung
	f&uuml;r die Soundkarte direkt in den Kernel einkompilieren.
	Diese Methode im n&auml;chsten Abschnitt beschrieben.
	Weiteres &uuml;ber den Bau eines Kernels
	erfahren Sie im Kapitel
	<link linkend="kernelconfig">Kernelkonfiguration</link>.</para>

      <sect3>
	<title>Soundkarten in der Kernelkonfiguration
	  einrichten</title>

	<para>Zuerst m&uuml;ssen Sie den allgemeinen Audio-Treiber
	  &man.sound.4; in die Kernelkonfiguration aufnehmen.
	  F&uuml;gen Sie dazu die folgende Zeile in die
          Kernelkonfigurationsdatei ein:</para>

        <programlisting>device sound</programlisting>

	<para>Unter &os;&nbsp;4.X benutzen Sie bitte stattdessen
	  die nachstehende Zeile:</para>

        <programlisting>device pcm</programlisting>

	<para>Als n&auml;chstes m&uuml;ssen Sie den richtigen
	  Treiber in die Kernelkonfiguration einf&uuml;gen.
	  Den Treiber entnehmen Sie bitte der Liste der
	  unterst&uuml;tzen Soundkarten aus den
	  <ulink url="&rel.current.hardware;">Hardware-Notes</ulink>.
	  Zum Beispiel wird die Creative &soundblaster; Live!
	  Soundkarte vom Treiber &man.snd.emu10k1.4;
	  unterst&uuml;tzt.  F&uuml;r diese Karte verwenden
	  Sie die nachstehende Zeile:</para>

        <programlisting>device "snd_emu10k1"</programlisting>

	<para>Die richtige Syntax f&uuml;r die Zeile lesen
	  Sie bitte in der Hilfeseite des entsprechenden
	  Treibers nach.  Die Syntax finden Sie ebenfalls
	  in der Datei <filename>/usr/src/sys/conf/NOTES</filename>
	  (<filename>/usr/src/sys/i386/conf/LINT</filename>
	  unter &os;&nbsp;4.X).</para>

	<para>Nicht PnP-f&auml;hige ISA-Karten ben&ouml;tigen
	  weiterhin Angaben zu den Karteneinstellungen
	  (IRQ, I/O-Port).  Die Karteneinstellungen tragen
	  Sie in die Datei <filename>/boot/device.hints</filename>
	  ein.  W&auml;hrend des Systemstarts liest der
	  &man.loader.8; diese Datei und reicht die Einstellungen
	  an den Kernel weiter.  F&uuml;r eine alte
	  Creative &soundblaster; 16 ISA-Karte, die den
	  &man.snd.sbc.4; Treiber benutzt, f&uuml;gen Sie
	  die folgende Zeile in die Kernelkonfiguration ein:</para>

        <programlisting>device snd_sbc</programlisting>

	<para>In die Datei <filename>/boot/device.hints</filename>
	  tragen Sie beispielsweise die folgenden Einstellungen
	  ein:</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>In diesem Beispiel benutzt die Karte den
	  I/O-Port <literal>0x220</literal> und den
	  IRQ <literal>5</literal>.</para>

	<para>Die Hilfeseite des jeweiligen Treibers beschreibt
	  die Syntax der Eintr&auml;ge in der Datei
	  <filename>/boot/device.hints</filename>.  Unter
	  &os;&nbsp;4.X werden diese Einstellungen direkt in
	  der Kernelkonfigurationsdatei vorgenommen.  F&uuml;r
	  die oben gezeigte ISA-Karte wird die nachstehende
	  Zeile in die Kernelkonfiguration eingef&uuml;gt:</para>

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

	<para>Das Beispiel verwendet die vorgegebenen Werte.
	  Falls Ihre Karteneinstellungen andere Werte vorgeben,
	  m&uuml;ssen Sie die Werte in der Kernelkonfiguration
	  anpassen.  Weiteres entnehmen Sie bitte der Hilfeseite
	  &man.snd.sbc.4;.</para>

	<note>
	  <para>Unter &os;&nbsp;4.X ben&ouml;tigen manche Systeme
	    mit einer auf der Hauptplatine integrierten Soundkarte
	    noch die nachstehende Zeile in der
	    Kernelkonfiguration:</para>

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

    <sect2 id="sound-testing">
      <title>Die Soundkarte testen</title>

      <para>Nachdem Sie den neuen Kernel gestartet oder das
	erforderliche Modul geladen haben, sollte Ihre
	Soundkarte in den Systemmeldungen (&man.dmesg.8;)
	auftauchen.  Zum Beispiel:</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>Den Status der Karte k&ouml;nnen Sie &uuml;ber
	die Datei <filename>/dev/sndstat</filename>
	pr&uuml;fen:</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>Die Ausgaben k&ouml;nnen auf Ihrem System anders
	aussehen.  Wenn das Ger&auml;t <devicename>pcm</devicename>
	nicht erscheint, pr&uuml;fen Sie bitte Ihre Konfiguration.
	Stellen sie sicher, dass Sie den richtigen Treiber
	gew&auml;hlt haben.  <xref linkend="troubleshooting">
	beschreibt h&auml;ufig auftretende Probleme.</para>

      <para>Wenn alles glatt lief, haben Sie nun eine
	funktionierende Soundkarte.  Wenn ein CD-ROM
	oder DVD-ROM-Laufwerk an Ihrer Soundkarte angeschlossen
	ist, k&ouml;nnen Sie jetzt mit &man.cdcontrol.1; eine
	CD abspielen:</para>

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

      <para>Es gibt viele Anwendungen, wie
	<filename role="package">audio/workman</filename>, die
	eine bessere Benutzerschnittstelle besitzen.  Um sich
	MP3-Audiodateien anzuh&ouml;ren, k&ouml;nnen Sie
	eine Anwendung wie
        <filename role="package">audio/mpg123</filename> installieren.
	Eine schnelle M&ouml;glichkeit die Karte zu pr&uuml;fen,
	ist es, Daten an das Ger&auml;t <filename>/dev/dsp</filename>
	zu senden:</para>

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

      <para>F&uuml;r <replaceable>Datei</replaceable> k&ouml;nnen
	Sie eine beliebige Datei verwenden.  Wenn Sie einige
	Ger&auml;usche h&ouml;ren, funktioniert die Soundkarte.</para>

      <note>
	<para>Unter &os;&nbsp;4.X m&uuml;ssen Sie noch
	  Ger&auml;tedateien f&uuml;r die Soundkarte erstellen.
	  Wenn die Karte als <devicename>pcm0</devicename>
	  erkannt wurde, f&uuml;hren Sie als <username>root</username>
	  die nachstehenden Befehle aus:</para>

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

        <para>Wenn auf den vorigen Befehl <devicename>pcm1</devicename>
	  als Ausgabe erschienen ist, dann m&uuml;ssen Sie dieselben
	  Befehle ausf&uuml;hren, nur dass Sie
	  <devicename>snd0</devicename> durch
	  <devicename>snd1</devicename> ersetzen.</para>

	<para>Der Befehl <command>MAKEDEV</command> erzeugt
	  mehrere Ger&auml;tedateien, die von Anwendungen
	  benutzt werden.</para>
      </note>

      <para>Die Einstellungen des Mixers k&ouml;nnen Sie
	mit dem Kommando &man.mixer.8; ver&auml;ndern.
	Weiteres lesen Sie bitte in der Hilfeseite
	&man.mixer.8; nach.</para>

      <sect3 id="troubleshooting">
        <title>H&auml;ufige Probleme</title>

        <indexterm><primary>Device Node</primary></indexterm>
        <indexterm><primary>Ger&auml;tedatei</primary></indexterm>
        <indexterm><primary>I/O port</primary></indexterm>
        <indexterm><primary>IRQ</primary></indexterm>
	<indexterm><primary>DSP</primary></indexterm>

        <informaltable frame="none" pgwide="1">
          <tgroup cols="2">
	    <thead>
	      <row>
	        <entry>Fehler</entry>
	        <entry>L&ouml;sung</entry>
	      </row>
            </thead>

	    <tbody>
	      <row>
	        <entry><errorname>unsupported subdevice XX</errorname></entry>
	        <entry><para>Ein oder mehrere Device Nodes wurden nicht
	          korrekt angelegt.  Wiederholen Sie die oben angegebenen
		  Schritte.</para></entry>
              </row>

              <row>
                <entry><errorname>sb_dspwr(XX) timed out</errorname></entry>
                <entry><para>Der I/O Port ist nicht korrekt angegeben.</para></entry>
              </row>

              <row>
                <entry><errorname>bad irq XX</errorname></entry>
	        <entry><para>Der IRQ ist falsch angegeben.  Stellen Sie
	          sicher, dass der angegebene IRQ mit dem Sound IRQ
		  &uuml;bereinstimmt.</para></entry>
              </row>

              <row>
                <entry><errorname>xxx: gus pcm not attached, out of memory</errorname></entry>
                <entry><para>Es ist nicht genug Speicher verf&uuml;gbar,
	          um das Ger&auml;t zu betreiben.</para></entry>
              </row>

              <row>
                <entry><errorname>xxx: can't open /dev/dsp!</errorname></entry>
	        <entry><para>&Uuml;berpr&uuml;fen Sie mit <command>fstat |
	            grep dsp</command> ob eine andere Anwendung das
		  Ger&auml;t ge&ouml;ffnet hat.  H&auml;ufige
		  St&ouml;renfriede sind <application>esound</application>
		  oder die Sound-Unterst&uuml;tzung von
		  <application>KDE</application>.</para></entry>
              </row>
            </tbody>
          </tgroup>
        </informaltable>
      </sect3>
    </sect2>

    <sect2>
      <sect2info>
       <authorgroup>
        <author>
         <firstname>Munish</firstname>
         <surname>Chopra</surname>
         <contrib>Beigetragen von </contrib>
        </author>
       </authorgroup>
      </sect2info>
      <title>Mehrere Tonquellen abspielen</title>

      <para>Oft sollen mehrere Tonquellen gleichzeitig
	abgespielt werden, auch wenn
	beispielsweise <application>esound</application> oder
	<application>artsd</application> das Audioger&auml;t
	nicht mit einer anderen Anwendung teilen k&ouml;nnen.</para>

      <para>Unter FreeBSD k&ouml;nnen mit &man.sysctl.8;
	<firstterm>virtuelle Tonkan&auml;le</firstterm>
	eingerichtet werden.  Virtuelle Kan&auml;le mischen
	die Tonquellen im Kernel (so k&ouml;nnen mehr
	Kan&auml;le als von der Hardware unterst&uuml;tzt
	benutzt werden).</para>

      <para>Die Anzahl der virtuellen Kan&auml;le k&ouml;nnen
	Sie als Benutzer <username>root</username> wie folgt
	einstellen:</para>

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

      <para>Im Beispiel werden vier virtuelle Kan&auml;le
	eingerichtet, eine im Normalfall ausreichende Anzahl.
	<varname>hw.snd.pcm0.vchans</varname> ist die Anzahl
	der virtuellen Kan&auml;le des Ger&auml;ts
	<devicename>pcm0</devicename>.  Die Anzahl kann konfiguriert
	werden, sobald das Ger&auml;t existiert.
	<literal>hw.snd.maxautovchans</literal> ist die Anzahl der
	virtuellen Kan&auml;le, die einem Ger&auml;t zugewiesen
	werden, wenn es durch &man.kldload.8; eingerichtet
	wird.  Da das Modul <devicename>pcm</devicename>
	unabh&auml;ngig von den Hardware-Treibern geladen werden kann,
	gibt <varname>hw.snd.maxautovchans</varname> die Anzahl
	der virtuellen Kan&auml;le an, die sp&auml;ter eingerichtete
	Ger&auml;te erhalten.</para>

      <para>Wenn Sie ein System ohne &man.devfs.5; einsetzen,
	m&uuml;ssen Anwendungen die Ger&auml;te
	<filename>/dev/dsp0</filename>.<replaceable>x</replaceable>
	verwenden.  Wenn <varname>hw.snd.pcm.0.vchans</varname> wie
	oben auf <literal>4</literal> gesetzt wurde, l&auml;uft
	<replaceable>x</replaceable> von <literal>0</literal>
	bis <literal>4</literal>.  Auf Systemen mit
	&man.devfs.5; werden die Ger&auml;te automatisch
	zugeteilt.</para>
     </sect2>

     <sect2>
       <sect2info>
	 <authorgroup>
	   <author>
	     <firstname>Josef</firstname>
	     <surname>El-Rayes</surname>
	     <contrib>Beigetragen von </contrib>
	   </author>
	 </authorgroup>
       </sect2info>

       <title>Den Mixer einstellen</title>

       <para>Die Voreinstellungen des Mixers sind im Treiber
	 &man.pcm.4; fest kodiert.  Es gibt zwar viele Anwendungen
	 und Dienste, die den Mixer einstellen k&ouml;nnen
	 und die eingestellten Werte bei jedem Start wieder
	 setzen, am einfachsten ist es allerdings, die Werte
	 direkt im Treiber einzustellen.  Der Mixer kann in
	 der Datei <filename>/boot/device.hints</filename>
	 eingestellt werden:</para>

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

       <para>Die Zeile setzt die Lautst&auml;rke des Mixers
	 auf den Wert <literal>100</literal>, sobald das Modul
	 &man.pcm.4; geladen wird.</para>

       <note>
	 <para>Diese Einstellungen funktionieren ab &os;&nbsp;5.3.</para>
       </note>
     </sect2>
  </sect1>

  <sect1 id="sound-mp3">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Chern</firstname>
	  <surname>Lee</surname>
	  <contrib>Ein Beitrag von </contrib>
	</author>
      </authorgroup>
      <!-- 11 Sept 2001 -->
      <authorgroup>
	<author>
	  <firstname>Benedikt</firstname>
	  <surname>K&ouml;hler</surname>
	  <contrib>&Uuml;bersetzt von </contrib>
	</author>
      </authorgroup>
    </sect1info>

    <title>MP3-Audio</title>

    <para>MP3 (MPEG Layer 3 Audio) erm&ouml;glicht eine
      Klangwiedergabe in CD-&auml;hnlicher Qualit&auml;t, was Sie sich
      auf Ihrem FreeBSD-Rechner nicht entgehen lassen sollten.</para>

    <sect2 id="mp3-players">
      <title>MP3-Player</title>

      <para><application>XMMS</application> (X Multimedia System) ist
	bei weitem der beliebteste MP3-Player f&uuml;r X11.
	<application>WinAmp</application>-Skins k&ouml;nnen auch mit
	<application>XMMS</application> genutzt werden, da die
	Benutzerschnittstelle fast identisch mit der von Nullsofts
	<application>WinAmp</application> ist.  Daneben
	unterst&uuml;tzt <application>XMMS</application> auch eigene
	Plugins.</para>

      <para><application>XMMS</application> kann als
	<filename role="package">multimedia/xmms</filename> Port oder Package installiert
	werden.</para>

      <para>Die Benutzerschnittstelle von
	<application>XMMS</application> ist leicht zu erlernen und
	enth&auml;lt eine Playlist, einen graphischen Equalizer und
	vieles mehr.  Diejenigen, die mit WinAmp vertraut sind, werden
	<application>XMMS</application> sehr leicht zu benutzen
	finden.</para>

      <para>Der Port <filename role="package">audio/mpg123</filename> ist
	ein alternativer, kommandozeilenorientierter MP3-Player.</para>

      <para><application>mpg123</application> kann ausgef&uuml;hrt
	werden, indem man das zu benutzende Sound Device und die
	abzuspielende MP3-Datei auf der Kommandozeile wie unten
	angibt:</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> sollten Sie dabei mit dem
	<devicename>dsp</devicename>-Device Ihres Systems ersetzen.</para>
    </sect2>

    <sect2 id="rip-cd">
      <title>CD-Audio Tracks rippen</title>

      <para>Bevor man eine ganze CD oder einen CD-Track in das
	MP3-Format umwandeln kann, m&uuml;ssen die Audiodaten von der
	CD auf die Festplatte gerippt werden.  Dabei werden die CDDA
	(CD Digital Audio) Rohdaten in WAV-Dateien kopiert.</para>

      <para>Die Anwendung <command>cdda2wav</command> die im
	<filename role="package">sysutils/cdrtools</filename> Paket enthalten
	ist, kann zum Rippen der Audiodaten und anderen Informationen von CDs
	genutzt werden.</para>

      <para>Wenn die Audio CD in dem Laufwerk liegt, k&ouml;nnen Sie
	mit folgendem Befehl (als <username>root</username>) eine
	ganze CD in einzelne WAV-Dateien (eine Datei f&uuml;r jeden
	Track) rippen:</para>

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

      <para><application>cdda2wav</application> unterst&uuml;tzt
	auch ATAPI (IDE) CD-ROM-Laufwerke.  Um von einem IDE-Laufwerk
	zu rippen, &uuml;bergeben Sie auf der Kommandozeile
	statt der SCSI-IDs den Ger&auml;tenamen.  Das folgende
	Kommando rippt den 7.&nbsp;Track:</para>

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

      <para>Der Schalter <option>-D
	  <replaceable>0,1,0</replaceable></option> bezieht sich auf
	das SCSI Device <devicename>0,1,0</devicename>, das sich aus
	dem Ergebnis des Befehls <command>cdrecord -scanbus</command>
	ergibt.</para>

      <para>Um einzelne Tracks zu rippen, benutzen Sie den
	<option>-t</option> Schalter wie folgt:</para>

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

      <para>Dieses Beispiel rippt den siebten Track der Audio
	CD-ROM.  Um mehrere Tracks zu rippen, zum Beispiel die Tracks
	eins bis sieben, k&ouml;nnen Sie wie folgt einen Bereich
	angeben:</para>

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

      <para>Mit  &man.dd.1; k&ouml;nnen Sie ebenfalls Audio-St&uuml;cke
	von ATAPI-Laufwerken kopieren.  Dies wird in
	<xref linkend="duplicating-audiocds"> erl&auml;utert.</para>
    </sect2>

    <sect2 id="mp3-encoding">
      <title>MP3-Dateien kodieren</title>

      <para>Gegenw&auml;rtig ist <application>Lame</application> der
	meistbenutzte MP3-Encoder.  <application>Lame</application>
	finden Sie unter <filename role="package">audio/lame</filename> im
	Ports-Verzeichnis.</para>

      <para>Benutzen Sie die WAV-Dateien, die sie von CD gerippt
	haben, und wandeln sie mit dem folgenden Befehl die Datei
	<filename>audio01.wav</filename> in
	<filename>audio01.mp3</filename> um:</para>

      <screen>&prompt.root; <userinput>lame -h -b <replaceable>128</replaceable> \
--tt "<replaceable>Foo Liedtitel</replaceable>" \
--ta "<replaceable>FooBar K&uuml;nstler</replaceable>" \
--tl "<replaceable>FooBar Album</replaceable>" \
--ty "<replaceable>2001</replaceable>" \
--tc "<replaceable>Geripped und kodiert von Foo</replaceable>" \
--tg "<replaceable>Musikrichtung</replaceable>" \
<replaceable>audio01.wav audio01.mp3</replaceable></userinput></screen>

      <para>128&nbsp;kbits ist die gew&ouml;hnliche MP3-Bitrate.  Viele
	bevorzugen mit 160 oder 192&nbsp;kbits eine h&ouml;here Qualit&auml;t.
	Je h&ouml;her die Bitrate ist, desto mehr Speicherplatz
	ben&ouml;tigt die resultierende MP3-Datei, allerdings wird die
	Qualit&auml;t dadurch auch besser.  Der Schalter
	<option>-h</option> verwendet den <quote>higher quality but a
	  little slower</quote> (h&ouml;here Qualit&auml;t, aber etwas
	  langsamer) Modus.  Die Schalter, die mit
	<option>--t</option> beginnen, sind ID3-Tags, die in der Regel
	Informationen &uuml;ber das Lied enthalten und in die
	MP3-Datei eingebettet sind.  Weitere Optionen k&ouml;nnen in
	der Manualpage von <application>Lame</application> nachgelesen
	werden.</para>
    </sect2>

    <sect2 id="mp3-decoding">
      <title>MP3-Dateien dekodieren</title>

      <para>Um aus MP3-Dateien eine Audio CD zu erstellen, m&uuml;ssen
      diese in ein nicht komprimiertes WAV-Format umgewandelt
      werden.  Sowohl <application>XMMS</application> als auch
      <application>mpg123</application> unterst&uuml;tzen die Ausgabe
      der MP3-Dateien in unkomprimierte Dateiformate.</para>

      <para>Dekodieren mit <application>XMMS</application>:</para>

      <procedure>
	<step>
	  <para>Starten Sie <application>XMMS</application>.</para>
	</step>

	<step>
	  <para>Klicken Sie mit der rechten Maustaste, um das
	    <application>XMMS</application>-Menu zu &ouml;ffnen.</para>
	</step>

	<step>
	  <para>W&auml;hlen Sie <literal>Preference</literal> im
	    Untermen&uuml; <literal>Options</literal>.</para>
	</step>

	<step>
	  <para>&Auml;ndern Sie das Output-Plugin in <quote>Disk
	    Writer Plugin</quote>.</para>
	</step>

	<step>
	  <para>Dr&uuml;cken Sie <literal>Configure</literal>.</para>
	</step>

	<step>
	  <para>Geben Sie ein Verzeichnis ein (oder w&auml;hlen Sie
	    browse), in das Sie die unkomprimierte Datei schreiben
	    wollen.</para>
	</step>

	<step>
	  <para>Laden Sie die MP3-Datei wie gewohnt in
	    <application>XMMS</application> mit einer Lautst&auml;rke
	    von 100% und einem abgeschalteten EQ.</para>
	</step>

	<step>
	  <para>Dr&uuml;cken Sie <literal>Play</literal> und es wird
	    so aussehen, als spiele <application>XMMS</application>
	    die MP3-Datei ab, aber keine Musik ist zu h&ouml;ren.  Der
	    Player &uuml;berspielt die MP3-Datei in eine Datei.</para>
	</step>

	<step>
	  <para>Vergessen Sie nicht, das Output-Plugin wieder in den
	    Ausgangszustand zur&uuml;ckzusetzen um wieder MP3-Dateien
	    anh&ouml;ren zu k&ouml;nnen.</para>
	</step>
      </procedure>

      <para>Mit <application>mpg123</application> nach stdout schreiben:</para>

      <procedure>
	<step>
	  <para>Geben Sie <command>mpg123 -s
	      <replaceable>audio01.mp3</replaceable> &gt; audio01.pcm</command>
	    ein.</para>
	</step>
      </procedure>

      <para><application>XMMS</application> schreibt die Datei im
	WAV-Format aus w&auml;hrend <application>mpg123</application> die
	MP3-Datei in rohe PCM-Audiodaten umwandelt.
	<application>cdrecord</application> kann mit beiden Formaten
	Audio-CDs erstellen, &man.burncd.8; kann nur rohe
	PCM-Audiodaten verarbeiten.  Der Dateikopf von WAV-Dateien
	erzeugt am Anfang des St&uuml;cks ein Knacken.  Sie k&ouml;nnen
	den Dateikopf mit dem Werkzeug <application>SoX</application>,
	das sich als Paket oder aus dem Port
	<filename role="package">audio/sox</filename> installieren
	l&auml;sst, entfernen:</para>

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

      <para>Lesen Sie <xref linkend="creating-cds"> in diesem Handbuch,
	um mehr Informationen zur Benutzung von CD-Brennern mit FreeBSD zu
	erhalten.</para>
    </sect2>
  </sect1>

  <sect1 id="video-playback">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Ross</firstname>
	  <surname>Lippert</surname>
	  <contrib>Beigetragen von </contrib>
        </author>
      </authorgroup>
      <!-- 5 June 2002 -->
    </sect1info>

    <title>Videos wiedergeben</title>

    <para>Die Wiedergabe von Videos ist ein neues, sich schnell
      entwickelndes, Anwendungsgebiet.  Seien Sie geduldig, es
      wird nicht alles so glatt laufen, wie bei den
      Audio-Anwendungen.</para>

    <para>Bevor Sie beginnen, sollten Sie das Modell Ihrer
      Videokarte und den benutzten Chip kennen.  Obwohl
      <application>&xorg;</application> und
      <application>&xfree86;</application> viele Vidiokarten
      unterst&uuml;tzt, k&ouml;nnen nur einige Karten Videos
      schnell genug wiedergeben.  Eine Liste der Erweiterungen,
      die der X-Server f&uuml;r eine Videokarte unterst&uuml;tzt,
      erhalten Sie unter laufendem X11 mit dem Befehl
      &man.xdpyinfo.1;.</para>

    <para>Halten Sie eine kurze MPEG-Datei bereit, mit der
      Sie Wiedergabeprogramme und deren Optionen testen
      k&ouml;nnen.  Da einige DVD-Spieler in der Voreinstellung
      das DVD-Ger&auml;t mit <filename>/dev/dvd</filename> ansprechen
      oder diesen Namen fest einkodiert haben, wollen Sie
      vielleicht symbolische Links auf die richtigen
      Ger&auml;te anlegen:</para>

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

    <para>Auf FreeBSD&nbsp;5.X mit &man.devfs.5; werden
      andere symbolische Links ben&ouml;tigt:</para>

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

    <para>Wegen &man.devfs.5; gehen gesondert angelegte Links
      wie diese bei einem Neustart des Systems verloren.
      Damit die symbolischen Links automatisch beim Neustart
      des Systems angelegt werden, f&uuml;gen Sie die
      folgenden Zeilen in <filename>/etc/devfs.conf</filename>
      ein:</para>

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

    <para>Zum Entschl&uuml;sseln von DVDs m&uuml;ssen bestimmte
      DVD-ROM-Funktionen aufgerufen werden und schreibender
      Zugriff auf das DVD-Ger&auml;t erlaubt sein.</para>

    <indexterm>
      <primary>Kerneloptionen</primary>
      <secondary>CPU_ENABLE_SSE</secondary>
    </indexterm>

    <indexterm>
      <primary>Kerneloptionen</primary>
      <secondary>USER_LDT</secondary>
    </indexterm>

    <para>Einige Ports sind auf die nachstehenden Kerneloptionen
      angewiesen.  Bevor Sie einen dieser Ports bauen, f&uuml;gen
      Sie die Kerneloptionen zu Ihrer Kernelkonfiguration hinzu.
      Bauen und installieren Sie dann einen neuen Kernel und
      starten Sie das System neu.</para>

    <programlisting>option CPU_ENABLE_SSE
option USER_LDT</programlisting>

    <note>
      <para>Unter &os;&nbsp;5.X existiert
	<literal>option USER_LDT</literal> nicht.</para>
    </note>

    <para>X11 benutzt Shared-Memory und Sie sollten die
      nachstehenden  &man.sysctl.8;-Variablen auf die
      gezeigten Werte erh&ouml;hen:</para>

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

    <sect2 id="video-interface">
      <title>Video-Schnittstellen</title>

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

      <para>Es gibt einige M&ouml;glichkeiten, Videos unter
        X11 abzuspielen.  Welche M&ouml;glichkeit funktioniert,
        h&auml;ngt stark von der verwendeten Hardware ab.
	Ebenso h&auml;ngt die erzielte Qualit&auml;t von der
	Hardware ab.  Die Videowiedergabe unter X11 ist ein
	aktuelles Thema, sodass jede neue Version von
	<application>&xorg;</application> oder von
	<application>&xfree86;</application> wahrscheinlich
	erhebliche Verbesserung enth&auml;lt.</para>

      <para>Gebr&auml;uchliche Video-Schnittstellen sind:</para>

      <orderedlist>
	<listitem>
	  <para>X11: normale X11-Ausgabe &uuml;ber Shared-Memory.</para>
	</listitem>
	<listitem>
	  <para>XVideo:  Eine Erweiterung der X11-Schnittstelle,
	    die Videos in jedem X11-Drawable anzeigen kann.</para>
	</listitem>
	<listitem>
	  <para>SDL: Simple Directmedia Layer.</para>
	</listitem>
	<listitem>
	  <para>DGA: Direct Graphics Access.</para>
	</listitem>
	<listitem>
	  <para>SVGAlib: Eine Schnittstelle zur Grafikausgabe auf
	    der Konsole.</para>
	</listitem>
      </orderedlist>

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

	<para>Die Erweiterung <firstterm>XVideo</firstterm> (auch Xvideo,
	  Xv oder xv) von <application>&xorg;</application> und
	  <application>&xfree86; 4.X</application>,
	  erlaubt die beschleunigte Wiedergabe von Videos in
	  jedem Drawable.  Diese Erweiterung liefert auch auf
	  weniger leistungsf&auml;higen Systemen
	  (beispielsweise einem PIII&nbsp;400&nbsp;MHz Laptop)
	  eine gute Wiedergabe.</para>

	<para>Ob die Erweiterung l&auml;uft, entnehmen Sie der
	  Ausgabe von <command>xvinfo</command>:</para>

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

	<para>XVideo wird unterts&uuml;tzt, wenn die Ausgabe wie
	  folgt aussieht:</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>Einige der aufgef&uuml;hrten Formate (wie YUV2 oder YUV12)
	  existieren in machen XVideo-Implementierungen nicht.
	  Dies kann zu Problemen mit einigen Spielern f&uuml;hren.</para>

	<para>XVideo wird wahrscheinlich von Ihrer Karte
	  nicht unterst&uuml;tzt, wenn die die Ausgabe wie
	  folgt aussieht:</para>

	<screen>X-Video Extension version 2.2
screen #0
no adaptors present</screen>

	<para>Wenn die XVideo-Erweiterung auf Ihrer Karte nicht
	  l&auml;uft, wird es nur etwas schwieriger, die
	  Anforderungen f&uuml;r die Wiedergabe von Videos zu
	  erf&uuml;llen.  Abh&auml;ngig von Ihrer Videokarte
	  und Ihrem Prozessor k&ouml;nnen Sie dennoch zufriedenstellende
	  Ergebnisse erzielen.  Sie sollten vielleicht die
	  weiterf&uuml;hrenden Quellen in <xref
	    linkend="video-further-reading"> zu Rate ziehen,
	  um die Geschwindigkeit Ihres Systems zu steigern.</para>
      </sect3>

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

	<para>Die Simple Directmedia Layer, <acronym>SDL</acronym>,
	  ist eine zwischen &microsoft.windows;, BeOS und &unix;
	  portable Schnittstelle.  Mit dieser Schnittstelle
	  k&ouml;nnen Anwendungen plattformunabh&auml;ngig und
	  effizient Ton und Grafik benutzen.  <acronym>SDL</acronym>
	  bietet eine hardwarenahe Schnittstelle, die manchmal
	  schneller als die X11-Schnittstelle sein kann.</para>

	<para><acronym>SDL</acronym> finden Sie in den Ports
	  im Verzeichnis <filename role="package">devel/sdl12</filename>.</para>
      </sect3>

      <sect3 id="video-interface-DGA">
	<title>Direct Graphics Access</title>

	<para>Die X11-Erweiterung
	  Direct Graphics Access (<acronym>DGA</acronym>) erlaubt es
	  Anwendungen, am X-Server vorbei direkt in den Framebuffer
	  zu schreiben.  Da die Anwendung und der X-Server auf gemeinsame
	  Speicherbereiche zugreifen, m&uuml;ssen die Anwendungen
	  unter dem Benutzer <username>root</username> laufen.</para>

	<para>Die DGA-Erweiterung kann mit &man.dga.1; getestet
	  werden.  Das Kommando <command>dga</command> wechselt,
	  jedes Mal wenn eine Taste gedr&uuml;ckt wird, die Farben
	  der Anzeige.  Sie k&ouml;nnen das Programm mit der
	  Taste <keycap>q</keycap> verlassen.</para>
      </sect3>
    </sect2>

    <sect2 id="video-ports">
      <title>Video-Anwendungen</title>

      <indexterm>
	<primary>Video-Anwendungen</primary>
      </indexterm>

      <para>Dieser Abschnitt behandelt Anwendungen aus der
	&os;-Ports-Collection, die Videos abspielen.  An der
	Videowiedergabe wird derzeit aktiv gearbeitet, sodass
	der Funktionsumfang der Anwendungen von dem hier beschriebenen
	abweichen kann.</para>

      <para>Viele unter &os; laufende Videoanwendungen wurden
	unter Linux entwickelt und befinden
	sich noch im Beta-Status.  Der Betrieb dieser Anwendungen
	unter &os; st&ouml;&szlig;t vielleicht auf einige der
	nachstehenden Probleme:</para>

      <orderedlist>
	<listitem>
	  <para>Eine Anwendung kann eine Datei einer anderen
	    Anwendung nicht abspielen.</para>
	</listitem>

	<listitem>
	  <para>Eine Anwendung kann eine selbst produzierte
	    Datei nicht abspielen.</para>
	</listitem>

	<listitem>
	  <para>Wenn dieselbe Anwendung auf unterschiedlichen
	    Maschinen gebaut wird, wird ein Video unterschiedlich
	    wiedergegeben.</para>
	</listitem>

	<listitem>
	  <para>Ein vergleichsweise einfacher Filter, wie die
	    Skalierung eines Bildes, f&uuml;hrt zu deutlichen
	    Artefakten in der Darstellung.</para>
	</listitem>

	<listitem>
	  <para>Eine Anwendung st&uuml;rzt h&auml;ufig ab.</para>
	</listitem>

	<listitem>
	  <para>Die Dokumentation wird bei der Installation des Ports
	    nicht installiert.  Sie befindet sich entweder auf
	    dem Internet oder im Verzeichnis
	    <filename class="directory">work</filename> des Ports.</para>
	</listitem>
      </orderedlist>

      <para>Viele Anwendungen sind zudem sehr <quote>Linux-lastig</quote>.
	Probleme entstehen durch die Implementierung von
	Standard-Bibliotheken in Linux-Distributionen oder
	dadurch, dass die Anwendung bestimmte Linux-Kernelfunktionen
	voraussetzt.  Diese Probleme werden nicht immer
	vom Betreuer eines Ports bemerkt und umgangen.
	In der Praxis entstehen dadurch folgende Probleme:</para>

      <orderedlist>
	<listitem>
	  <para>Eigenschaften des Prozessors werden &uuml;ber
	    <filename>/proc/cpuinfo</filename> ermittelt.</para>
	</listitem>

	<listitem>
	  <para>Die falsche Anwendung von Threads f&uuml;hrt dazu,
	    dass sich ein Programm aufh&auml;ngt statt sich
	    zu beenden.</para>
	</listitem>

	<listitem>
	  <para>Die Anwendung h&auml;ngt von anderen Anwendungen
	    ab, die sich noch nicht in der &os;-Ports-Collection
	    befinden.</para>
	</listitem>
      </orderedlist>

      <para>Allerdings arbeiten die Anwendungsentwickler bislang mit
	den Betreuern der Ports zusammen, sodass zus&auml;tzlicher
	Portierungsaufwand minimiert wird.</para>

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

	<para><application>MPlayer</application> ist ein k&uuml;rzlich
	  entstandener und sich stark weiterentwickelnder Video-Spieler.
	  Das Hauptaugenmerk des <application>MPlayer</application>-Teams
	  liegt auf Geschwindigkeit und Flexibilit&auml;t auf
	  Linux und anderen &unix; Systemen.  Das Projekt entstand
	  weil der Gr&uuml;nder des Teams unzufrieden mit der
	  Geschwindigkeit bestehender Video-Spieler war.  Kritiker
	  behaupten, dass die Benutzeroberfl&auml;che der einfachen
	  Gestaltung zum Opfer fiel.  Wenn Sie sich allerdings erstmal
	  an die Kommandozeilenoptionen und die Tastensteuerung
	  gew&ouml;hnt haben, funktioniert die Anwendung sehr gut.</para>

	<sect4 id="video-mplayer-building">
	  <title>MPlayer bauen</title>
	  <indexterm>
	    <primary>MPlayer</primary>
	    <secondary>bauen</secondary>
	  </indexterm>

	  <para><application>MPlayer</application> finden Sie in der
	    Ports-Collection unter
	    <filename role="package">multimedia/mplayer</filename>.
	    Der Bau von <application>MPlayer</application>
	    ber&uuml;cksichtigt die vorhandene Harware und erzeugt
	    ein Programm, das nicht auf ein anderes System &uuml;bertragbar
	    ist.  Es ist daher wichtig, dass Sie das Programm aus
	    den Ports bauen und nicht das fertige Paket installieren.
	    Zus&auml;tzlich k&ouml;nnen Sie auf der Kommandozeile
	    von <command>make</command> noch einige Optionen angeben,
	    die im <filename>Makefile</filename> beschrieben sind
	    und am die Anfang des Baus ausgegeben werden:</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>F&uuml;r die meisten Benutzer sind die
	    voreingestellten Option in Ordnung.  Wenn Sie
	    den XviD-Codec ben&ouml;tigen, m&uuml;ssen
	    Sie auf der Kommandozeile die Option
	    <makevar>WITH_XVID</makevar> angeben.  Das
	    DVD-Ger&auml;t k&ouml;nnen Sie mit der
	    Option <makevar>WITH_DVD_DEVICE</makevar>
	    angeben.  Wenn Sie die Option nicht angeben,
	    wird <filename>/dev/acd0</filename> benutzt.</para>

	  <para>Als dieser Abschnitt verfasst wurde, baute der
	    <application>MPlayer</application>-Port die
	    HTML-Dokumentation sowie die beiden Programme
	    <command>mplayer</command> und
	    <command>mencoder</command>.  Mit
	    <command>mencoder</command> k&ouml;nnen Sie
	    Videodateien umwandeln.</para>

	  <para>Die HTML-Dokumentation von
	    <application>MPlayer</application> ist sehr lehrreich.
	    Wenn Sie in diesem Kapitel Informationen &uuml;ber
	    Video-Hardware oder Schnittstellen vermissen, ist
	    die <application>MPlayer</application>-Dokumentation
	    eine ausgezeichnete Quelle.  Wenn Sie Informationen
	    &uuml;ber die Video-Unterst&uuml;tzung unter &unix;
	    ben&ouml;tigen, sollten Sie die
	    <application>MPlayer</application>-Dokumentation
	    auf jeden Fall lesen.</para>
	</sect4>

	<sect4 id="video-mplayer-using">
	  <title>MPlayer benutzen</title>
	  <indexterm>
	    <primary>MPlayer</primary>
	    <secondary>benutzen</secondary>
	  </indexterm>

	  <para>Jeder Benutzer von <application>MPlayer</application>
	    muss in seinem Heimatverzeichnis das Verzeichnis
	    <filename class="directory">.mplayer</filename>
	    anlegen.  Dieses Verzeichnis k&ouml;nnen Sie
	    wie folgt anlegen:</para>

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

	  <para>Die Kommandozeilenoptionen von <command>mplayer</command>
	    sind in der Hilfeseite aufgef&uuml;hrt.  Eine genaue
	    Beschreibung befindet sich in der HTML-Dokumentation.
	    In diesem Abschnitt wird nur der normale Gebrauch
	    von <command>mplayer</command> beschrieben.</para>

	  <para>Um eine Datei, wie
	    <filename><replaceable>testfile.avi</replaceable></filename>,
	    unter verschiedenen Video-Schnittstellen abzuspielen,
	    benutzen Sie die Option <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>Es lohnt sich, alle Option zu testen.  Die
	    erzielte Geschwindigkeit h&auml;ngt von vielen
	    Faktoren ab und variiert betr&auml;chtlich je nach
	    eingesetzter Hardware.</para>

	  <para>Wenn Sie eine DVD abspielen wollen, ersetzen Sie
	    <filename>testfile.avi</filename> durch
	    <option>-dvd://<replaceable>N</replaceable>
	      <replaceable>Ger&auml;t</replaceable></option>.
	    <replaceable>N</replaceable> ist die Nummer des
	    St&uuml;cks, das Sie abspielen wollen und
	    <replaceable>Ger&auml;t</replaceable> gibt den
	    Ger&auml;tenamen des DVD-ROMs an.  Das nachstehende
	    Kommando spielt das dritte St&uuml;ck von
	    <filename>/dev/dvd</filename>:</para>

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

	  <note>
	    <para>Das standardm&auml;&szlig;ig verwendete
	      DVD-Laufwerk kann beim Bau des
	      <application>MPlayer</application>-Ports
	      mit der Option <makevar>WITH_DVD_DEVICE</makevar>
	      festgelegt werden.  Die Voreinstellung verwendet
	      das Ger&auml;t <filename>/dev/acd0</filename>.
	      Genaueres finden Sie im <filename>Makefile</filename>
	      des Ports.</para>
	  </note>

	  <para>Die Tastenkombinationen zum Abbrechen, Anhalten
	    und Weiterf&uuml;hren der Wiedergabe entnehmen Sie
	    bitte der Ausgabe von <command>mplayer -h</command>
	    oder der Hilfeseite.</para>

	  <para>Weitere n&uuml;tzliche Optionen f&uuml;r die
	    Wiedergabe sind <option>-fs -zoom</option> zur Wiedergabe
	    im Vollbild-Modus und <option>-framedrop</option>
	    zur Steigerung der Geschwindigkeit.</para>

	  <para>Damit die Kommandozeile von <command>mplayer</command>
	    kurz bleibt, kann ein Benutzer Vorgaben in der Datei
	    <filename>.mplayer/config</filename> hinterlegen:</para>

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

	  <para>Schlie&szlig;lich kann <command>mplayer</command>
	    noch DVD-St&uuml;cke in <filename>.vob</filename>-Dateien
	    rippen.  Das zweite St&uuml;ck einer DVD wandeln Sie
	    wie folgt in eine Datei um:</para>

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

	  <para>Die Ausgabedatei <filename>out.vob</filename>
	    wird im MPEG-Format abgespeichert und kann mit
	    anderen Werkzeugen aus diesem Abschnitt bearbeitet
	    werden.</para>
	</sect4>

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

	  <para>Sie sollten die HTML-Dokumentation lesen, bevor
	    Sie <command>mencoder</command> benutzen.  Es gibt
	    zwar eine Hilfeseite, die aber ohne die HTML-Dokumentation
	    nur eingeschr&auml;kt n&uuml;tzlich ist.  Es gibt
	    viele M&ouml;glichkeiten die Qualit&auml;t zu verbessern,
	    die Bitrate zu verringern und Formate zu konvertieren.
	    Einige davon haben erhebliche Auswirkungen auf die
	    Geschwindigkeit der Wiedergabe.  Zum Start finden
	    Sie im Folgenden einige Kommandozeilen.  Die erste
	    kopiert einfach eine Datei:</para>

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

	  <para>Falsche Kombinationen von Kommandozeilenparametern
	    ergeben eventuell Dateien, die selbst
	    <command>mplayer</command> nicht mehr abspielen kann.
	    Wenn Sie in eine Datei rippen, sollten Sie daher auf
	    jeden Fall die Option <option>-dumpfile</option> von
	    <command>mplayer</command> verwenden.</para>

	  <para>Die nachstehende Kommandozeile wandelt die Datei
	    <filename>input.avi</filename> nach MPEG4 mit MPEG3
	    f&uuml;r den Ton um (hierf&uuml;r wird der Ports
	    <filename role="package">audio/lame</filename>
	    ben&ouml;tigt):</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>Die Ausgabedatei l&auml;sst sowohl mit
	    <command>mplayer</command> als auch
	    <command>xine</command> abspielen.</para>

	  <para>Wenn Sie <filename>input.avi</filename> durch
	    <option>-dvd://1 /dev/dvd</option> ersetzen und das
	    Kommando unter <username>root</username> laufen lassen,
	    k&ouml;nnen Sie ein DVD-St&uuml;ck direkt konvertieren.
	    Da Sie wahrscheinlich beim ersten Mal unzufrieden mit
	    den Ergebnissen sind, sollten Sie das St&uuml;ck zuerst
	    in eine Datei schreiben und anschlie&szlig;end
	    die Datei weiterverarbeiten.</para>
	</sect4>
      </sect3>

      <sect3 id="video-xine">
	<title>Der Video-Spieler xine</title>

	<para>Der Video-Spieler <application>xine</application>
	  ist ein Projekt mit gro&szlig;em Umfang.  Das Projekt
	  will nicht nur ein Programm f&uuml;r alle Video-Anwendungen
	  bieten, sondern auch eine wiederverwendbare Bibliothek
	  und ein Programm, das durch Plugins erweiterbar ist.
	  Das Programm steht als fertiges Paket oder als Port
	  unter <filename role="package">multimedia/xine</filename>
	  zur Verf&uuml;gung.</para>

	<para>Der <filename role="package">multimedia/xine</filename>-Spieler
	  hat noch ein paar Ecken und Kanten, macht aber insgesamt
	  einen guten Eindruck.  F&uuml;r einen reibungslosen
	  Betrieb ben&ouml;tigt <application>xine</application>
	  entweder eine schnelle <acronym>CPU</acronym> oder
	  die XVideo-Erweiterung.  Das <acronym>GUI</acronym>
	  ist etwas schwerf&auml;llig.</para>

	<para>Zurzeit gibt es kein <application>xine</application>-Modul,
	  das CSS-kodierte DVDs abspielen kann und sich in
	  der &os; Ports-Collection befindet.</para>

	<para><application>xine</application> ist benutzerfreundlicher
	  als <application>MPlayer</application>, bietet allerdings
	  nicht soviele M&ouml;glichkeiten.  Am schnellsten l&auml;uft
	  <application>xine</application> mit der
	  XVideo-Erweiterung.</para>

	<para>In der Voreinstellung startet <application>xine</application>
	  eine grafische Benutzeroberfl&auml;che.  &Uuml;ber
	  Men&uuml;s k&ouml;nnen Sie Dateien &ouml;ffnen:</para>

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

	<para>Alternativ k&ouml;nnen Sie das Programm auch ohne
	  GUI aufrufen und Dateien direkt abspielen:</para>

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

      <sect3 id="video-ports-transcode">
	<title>Die transcode-Werkzeuge</title>

	<para><application>transcode</application> ist kein Spieler
	  sondern eine Sammlung von Werkzeugen, die
	  <filename>.avi</filename>- und
	  <filename>.mpg</filename>-Dateien umwandeln.
	  <application>transcode</application> mischt Video-Dateien
	  und kann kaputte Video-Dateien reparieren.  Die
	  Werkzeuge werden als Filter verwendet, das hei&szlig;t
	  die Ein- und Ausgaben verwenden
	  <filename>stdin/stdout</filename>.</para>

	<para>Wie <application>MPlayer</application> befindet sich
	  <application>transcode</application> in einem experimentellen
	  Stadium und sollte aus dem Port
	  <filename role="package">multimedia/transcode</filename>
	  gebaut werden.  Der Bau besitzt viele Optionen, wir
	  empfehlen die nachstehende Kommandozeile:</para>

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

	<para>Wenn Sie den Port
	  <filename role="package">multimedia/avifile</filename>
	  installieren wollen, sollten Sie die Kommandozeile
	  um die Option <option>WITH_AVIFILE</option> erweitern:</para>

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

	<para>Die beiden folgenden Kommandozeilen wandeln
	  Videoformate um und skalieren dabei das Video.
	  Das erste Kommando wandelt das Video in eine
	  openDIVX-AVI-Datei um, das zweite wandelt das
	  Video in das portablere MPEG-Format um.</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>Es gibt eine Hilfeseite f&uuml;r
	  <command>transcode</command>, allerdings existiert
	  kaum Dokumentation zu den verschiedenen
	  <command>tc*</command>-Werkzeugen (wie
	  <command>tcmplex</command>), die ebenfalls
	  installiert werden.  Zu jedem Kommando gibt
	  aber die Option <option>-h</option> eine knappe
	  Beschreibung aus.</para>

	<para><command>transcode</command> l&auml;uft erheblich
	  langsamer als <command>mencoder</command>, produziert
	  aber Dateien, die sich mit mehr Programmen abspielen
	  lassen.  Beispielsweise lassen sich mit
	  <command>transcode</command> erzeugte MPEGs mit
	  <application>&windows.media; Player</application> und
	  Apples <application>&quicktime;</application> abspielen.</para>
      </sect3>
    </sect2>

    <sect2 id="video-further-reading">
      <title>Weiterf&uuml;hrende Quellen</title>

      <para>Die Video-Software f&uuml;r &os; entwickelt sich
	sehr schnell.  Es ist wahrscheinlich, dass die hier
	angesprochenen Probleme bald gel&ouml;st sind.  Bis dahin
	m&uuml;ssen Anwender, die das meiste aus den Audio- und
	Video-F&auml;higkeiten von &os; machen wollen, Informationen
	aus mehreren FAQs und Tutorien zusammensuchen und
	verschiedene Anwendungen nebeneinander betreiben.  Dieser
	Abschnitt weist auf weitere Informationsquellen hin.</para>

      <para>Die
        <ulink url="http://www.mplayerhq.hu/DOCS/">MPlayer-Dokumentation</ulink>
	ist sehr aufschlussreich.  Die Dokumente sollten wahrscheinlich
	von jedem gelesen werden, der hohe Fachkenntnisse &uuml;ber
	Video auf &unix; Systemen erlangen will.  Die
	<application>MPlayer</application>-Mailinglisten reagiert
	feindselig auf Personen, die es nicht f&uuml;r n&ouml;tig
	halten, die Dokumentation zu lesen.  Wenn Sie Fehlerberichte
	an die Liste schicken wollen, lesen Sie bitte vorher die
	ausgezeichnete Dokumentation (RTFM).</para>

      <para>Das
        <ulink url="http://dvd.sourceforge.net/xine-howto/en_GB/html/howto.html">xine HOWTO</ulink>
	enth&auml;lt allgemein g&uuml;ltige Hinweise zur
	Verbesserung der Wiedergabegeschwindigkeit.</para>

      <para>Schlie&szlig;lich gibt es noch weitere vielversprechende
	Anwendungen, die Sie vielleicht ausprobieren wollen:</para>

      <itemizedlist>
	<listitem>
	  <para><ulink
	      url="http://avifile.sourceforge.net/">Avifile</ulink>
	    gibt es schon als Port
	    <filename role='package'>multimedia/avifile</filename>.</para>
	</listitem>

	<listitem>
	  <para><ulink
	      url="http://www.dtek.chalmers.se/groups/dvd/">Ogle</ulink>
	    wurde ebenfalls schon portiert:
	    <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>,
	    ist ein Open-Source-Paket, mit dem Sie DVDs erstellen
	    k&ouml;nnen.</para>
	</listitem>
      </itemizedlist>
    </sect2>
  </sect1>

  <sect1 id="tvcard">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Josef</firstname>
	  <surname>El-Rayes</surname>
	  <contrib>Beigetragen von </contrib>
	</author>
      </authorgroup>
      <authorgroup>
	<author>
	  <firstname>Marc</firstname>
	  <surname>Fonvieille</surname>
	  <contrib>&Uuml;berarbeitet von </contrib>
	  <!-- 02 January 2004 -->
	</author>
      </authorgroup>
    </sect1info>

    <title>TV-Karten einrichten</title>
    <indexterm>
      <primary>TV-Karten</primary>
    </indexterm>

    <sect2>
      <title>Einf&uuml;hrung</title>

      <para>Mit TV-Karten k&ouml;nnen Sie mit Ihrem Rechner
	&uuml;ber Kabel oder Antenne fernsehen.  Die meisten
	Karten besitzen einen RCA- oder S-Video-Eingang.
	Einige Karten haben auch einen FM-Radio-Empf&auml;nger.</para>

      <para>Der &man.bktr.4;-Treiber von &os; unterst&uuml;tzt
	PCI-TV-Karten mit einem Brooktree Bt848/849/878/879 oder
	einem Conexant CN-878/Fusion 878a Chip.  Die Karte sollte
	einen der unterst&uuml;tzten Empf&auml;nger besitzen, die in
	der Hilfeseite &man.bktr.4; aufgef&uuml;hrt sind.</para>
    </sect2>

    <sect2>
      <title>Den Treiber einrichten</title>

      <para>Um Ihre Karte zu benutzen, m&uuml;ssen Sie den
	&man.bktr.4;-Treiber laden.  F&uuml;gen Sie die
	nachstehende Zeile in die Datei
	<filename>/boot/loader.conf</filename> ein:</para>

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

      <para>Sie k&ouml;nnen den Treiber f&uuml;r die TV-Karte
	auch fest in den Kernel compilieren.  Erweitern Sie
	dazu Ihre Kernelkonfiguration um die folgenden Zeilen:</para>

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

      <para>Die zus&auml;tzlichen Treiber werden ben&ouml;tigt,
	da die Komponenten der Karte &uuml;ber einen I2C-Bus
	verbunden sind.  Bauen und installieren Sie dann den
	neuen Kernel.</para>

      <para>Anschlie&szlig;end m&uuml;ssen Sie Ihr System
	neu starten.  W&auml;hrend des Neustarts sollte
	Ihre TV-Karte erkannt werden:</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>Abh&auml;ngig von Ihrer Hardware k&ouml;nnen die
	Meldungen nat&uuml;rlich anders aussehen.  Sie sollten
	aber pr&uuml;fen, dass der Empf&auml;nger richtig erkannt wird.
	Die entdeckten Ger&auml;te lassen sich mit &man.sysctl.8;
	oder in der Kernelkonfigurationsdatei &uuml;berschreiben.
	Wenn Sie beispielsweise einen Philips-SECAM-Empf&auml;nger
	erzwingen wollen, f&uuml;gen Sie die folgende Zeile
	zur Kernelkonfigurationsdatei hinzu:</para>

      <programlisting>options OVERRIDE_TUNER=6</programlisting>

      <para>Alternativ k&ouml;nnen Sie direkt &man.sysctl.8; benutzen:</para>

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

      <para>Weiteres zu den Optionen entnehmen Sie bitte der
	Hilfeseite &man.bktr.4; und der Datei
	<filename>/usr/src/sys/conf/NOTES</filename>.
	Unter &os;&nbsp;4.X schauen Sie bitte in der Datei
	<filename>/usr/src/sys/i386/conf/LINT</filename> nach.</para>
    </sect2>

    <sect2>
      <title>N&uuml;tzliche Anwendungen</title>

      <para>Um die TV-Karte zu benutzen, m&uuml;ssen Sie eine
	der nachstehenden Anwendungen installieren:</para>

      <itemizedlist>
	<listitem>
	  <para><filename role="package">multimedia/fxtv</filename>
	    l&auml;sst das Fernsehprogramm in einem Fenster laufen
	    und kann Bilder, Audio und Video aufzeichnen.</para>
	</listitem>
	<listitem>
	  <para><filename role="package">multimedia/xawtv</filename>
	    eine weitere TV-Anwendung, mit den gleichen Funktionen
	    wie <application>fxtv</application>.</para>
	</listitem>
	<listitem>
	  <para><filename role="package">misc/alevt</filename> dekodiert
	    und zeigt Videotext/Teletext an.</para>
	</listitem>
	<listitem>
	  <para>Mit <filename role="package">audio/xmradio</filename>
	    l&auml;sst sich der FM-Radio-Empf&auml;nger, der sich
	    auf einigen TV-Karten befindet, benutzen.</para>
	</listitem>
	<listitem>
	  <para><filename role="package">audio/wmtune</filename>
	    ein leicht zu bedienender Radio-Empf&auml;nger.</para>
	</listitem>
      </itemizedlist>

      <para>Weitere Anwendungen finden Sie in der &os;
	Ports-Collection.</para>
    </sect2>

    <sect2>
      <title>Fehlersuche</title>

      <para>Wenn Sie Probleme mit Ihrer TV-Karte haben, pr&uuml;fen
	Sie zuerst, ob der Video-Capture-Chip und der Empf&auml;nger
	auch wirklich vom &man.bktr.4;-Treiber unterst&uuml;tzt
	werden.  Pr&uuml;fen Sie dann, ob Sie die richtigen
	Optionen verwenden.  Weitere Hilfe erhalten Sie auf
	der Mailingliste &a.multimedia.name; und in deren
	Archiven.</para>
    </sect2>
  </sect1>

  <sect1 id="scanners">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Marc</firstname>
	  <surname>Fonvieille</surname>
	  <contrib>Beigetragen von </contrib>
	  <!-- 04 August 2004 -->
	</author>
      </authorgroup>
    </sect1info>

    <title>Scanner</title>
    <indexterm>
      <primary>Scanner</primary>
    </indexterm>

    <sect2>
      <title>Einf&uuml;hrung</title>

      <para>Unter &os; k&ouml;nnen Sie, wie unter jedem anderen
	modernen Betriebssystem, Scanner benutzen.  Die Anwendung
	<application>SANE</application> (Scanner Access Now Easy)
	aus der Ports-Collection stellt eine einheitliche Schnittstelle
	(<acronym role="Application Programming Interface">API</acronym>)
	f&uuml;r den Zugriff auf Scanner bereit.
	<application>SANE</application> greift auf Scanner
	mithilfe einiger &os;-Treiber zu.</para>

      <para>&os; unterst&uuml;tzt sowohl SCSI- als auch USB-Scanner.
	Pr&uuml;fen Sie vor der Konfiguration mithilfe der
	<ulink url="http://sane-project.org/sane-supported-devices.html">Liste
	  der unterst&uuml;tzten Ger&auml;te</ulink> ob Ihr Scanner
	von <application>SANE</application> unterst&uuml;tzt wird.
	Die Hilfeseite &man.uscanner.4; z&auml;hlt ebenfalls die
	unterst&uuml;tzten USB-Scanner auf.</para>
    </sect2>

    <sect2>
      <title>Den Kernel f&uuml;r Scanner einrichten</title>

      <para>Da sowohl SCSI- als auch USB-Scanner unterst&uuml;tzt
	werden, werden abh&auml;ngig von der Schnittstelle
	unterschiedliche Treiber ben&ouml;tigt.</para>

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

	<para>Im <filename>GENERIC</filename>-Kernel sind
	  schon alle, f&uuml;r einen USB-Scanner notwendigen,
	  Treiber enthalten.  Wenn Sie einen angepassten Kernel
	  benutzen, pr&uuml;fen Sie, dass die Kernelkonfiguration
	  die nachstehenden Zeilen enth&auml;lt:</para>

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

	<para>Abh&auml;ngig vom Chipsatz Ihrer Systemplatine
	  ben&ouml;tigen Sie in der Kernelkonfiguration entweder
	  die Option <literal>device uhci</literal> oder die
	  Option <literal>device ohci</literal>.  Die
	  Kernelkonfiguration kann allerdings auch beide Optionen
	  enthalten.</para>

	<para>Wenn Sie den Kernel nicht neu bauen wollen
	  und einen angepassten Kernel verwenden, k&ouml;nnen
	  Sie den Treiber &man.uscanner.4; direkt mit dem
	  Kommando &man.kldload.8; laden:</para>

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

	<para>Wenn Sie das Modul bei jedem Systemstart laden
	  wollen, f&uuml;gen Sie in der Datei
	  <filename>/boot/loader.conf</filename> die nachstehende
	  Zeile hinzu:</para>

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

	<para>Nachdem Sie das System mit dem richtigen Kernel
	  neu gestartet oder das Modul geladen haben, stecken
	  Sie den USB-Scanner ein.  In den Systemmeldungen
	  (&man.dmesg.8;) sollte ein Eintrag wie der folgende
	  erscheinen:</para>

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

	<para>Die Meldung besagt, dass der Scanner die
	  Ger&auml;tedatei <filename>/dev/uscanner0</filename>
	  benutzt.</para>

	<note>
	  <para>Unter &os;&nbsp;4.X muss der USB-Daemon (&man.usbd.8;)
	    laufen, damit manche USB-Ger&auml;te erkannt werden.
	    Um den USB-Daemon zu aktivieren, f&uuml;gen Sie in
	    der Datei <filename>/etc/rc.conf</filename> die Anweisung
	    <literal>usbd_enable="YES"</literal> ein und starten
	    die Maschine neu.</para>
	</note>
      </sect3>

      <sect3>
	<title>SCSI-Scanner</title>

	<para>Wenn Ihr Scanner eine SCSI-Schnittstelle besitzt,
	  ist die Kernelkonfiguration abh&auml;ngig vom
	  verwendeten SCSI-Controller.  Der
	  <filename>GENERIC</filename>-Kernel unterst&uuml;tzt
	  die gebr&auml;uchlichen SCSI-Controller.  Den richtigen
	  Treiber finden Sie in der Datei <filename>NOTES</filename>
	  (<filename>LINT</filename> unter &os;&nbsp;4.X).
	  Neben dem Treiber muss Ihre Kernelkonfiguration
	  noch die nachstehenden Zeilen enthalten:</para>

	<programlisting>device scbus
device pass</programlisting>

	<para>Nachdem Sie einen Kernel gebaut haben, sollte
	  der Scanner beim Neustart in den Systemmeldungen
	  erscheinen:</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>Wenn der Scanner w&auml;hrend des Systemstarts
	  ausgeschaltet war, k&ouml;nnen Sie die Ger&auml;teerkennung
	  erzwingen, indem Sie den SCSI-Bus erneut absuchen.
	  Verwenden Sie dazu das Kommando &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>Der Scanner wird anschlie&szlig;end in der
	  SCSI-Ger&auml;teliste angezeigt:</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>Weiteres &uuml;ber SCSI-Ger&auml;te lesen Sie
	  bitte in den Hilfeseiten &man.scsi.4; und &man.camcontrol.8;
	  nach.</para>
      </sect3>
    </sect2>

    <sect2>
      <title>SANE konfigurieren</title>

      <para><application>SANE</application> besteht aus zwei
	Teilen:  den Backends
	(<filename role="package">graphics/sane-backends</filename>)
	und den Frontends
	(<filename role="package">graphics/sane-frontends</filename>).
	Das Backend greift auf den Scanner zu.  Welches Backend
	welchen Scanner unterst&uuml;tzt, entnehmen Sie der
	<ulink url="http://sane-project.org/sane-supported-devices.html">Liste
	  der unterst&uuml;tzten Ger&auml;te.</ulink>.
	Der Betrieb eines Scanners ist nur dem richtigen
	Backend m&ouml;glich.  Die Frontends sind die Anwendungen,
	mit denen gescannt wird (<application>xscanimage</application>).</para>

      <para>Installieren Sie zuerst den Port oder das Paket
	<filename role="package">graphics/sane-backends</filename>.
	Anschlie&szlig;end k&ouml;nnen Sie mit dem Befehl
	<command>sane-find-scanner</command> pr&uuml;fen, ob
	<application>SANE</application> Ihren Scanner erkennt:</para>

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

      <para>Die Ausgabe zeigt die Schnittstelle und die verwendete
	Ger&auml;tedatei des Scanners.  Der Hersteller und das
	Modell k&ouml;nnen in der Ausgabe fehlen.</para>

      <note>
	<para>Bei einigen USB-Scannern m&uuml;ssen Sie die
	  Firmware aktualisieren, dies wird in der Hilfeseite
	  des Backends erkl&auml;rt.  Lesen Sie bitte auch
	  die Hilfeseiten &man.sane-find-scanner.1; und
	  &man.sane.7;.</para>
      </note>

      <para>Als n&auml;chstes m&uuml;ssen Sie pr&uuml;fen, ob
	der Scanner vom Frontend erkannt wird.  Die
	<application>SANE</application>-Backends werden
	mit dem Kommandozeilenwerkzeug &man.scanimage.1;
	geliefert.  Mit diesem Werkzeug k&ouml;nnen Sie
	sich Scanner anzeigen lassen und den Scan-Prozess
	von der Kommandozeile starten.  Die Option
	<option>-L</option> zeigt die Scanner an:</para>

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

      <para>Erscheint die Meldung, dass kein Scanner gefunden
	wurde oder wird gar keine Ausgabe erzeugt, konnte
	&man.scanimage.1; keinen Scanner erkennen.  In diesem
	Fall m&uuml;ssen Sie in der Konfigurationsdatei des Backends
	das zu benutzende Ger&auml;t eintragen.  Die
	Konfigurationsdateien der Backends befinden sich
	im Verzeichnis
	<filename class="directory">/usr/local/etc/sane.d/</filename>.
	Erkennungsprobleme treten bei bestimmten USB-Scannern
	auf.</para>

      <para>Mit dem USB-Scanner aus <xref linkend="scanners-kernel-usb">
	zeigt <command>sane-find-scanner</command> die
	folgende Ausgabe:</para>

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

      <para>Der Scanner wurde richtig erkennt, er benutzt eine
	USB-Schnittstelle und verwendet die Ger&auml;tedatei
	<filename>/dev/uscanner0</filename>.  Ob der Scanner
	vom Frontend erkannt wird, zeigt das nachstehende
	Kommando:</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>Da der Scanner nicht erkannt wurde, muss die Datei
	<filename>/usr/local/etc/sane.d/epson.conf</filename> editiert
	werden.  Der verwendete Scanner war ein
	&epson.perfection;&nbsp;1650, daher wird das
	<literal>epson</literal>-Backend benutzt.  Lesen Sie
	bitte alle Kommentare in der Konfigurationsdatei des
	Backends.  Die durchzuf&uuml;hrenden &Auml;nderungen
	sind einfach.  Kommentieren Sie zun&auml;chst alle
	Zeilen mit der falschen Schnittstelle aus.  Da der
	Scanner eine USB-Schnittstelle besitzt, wurden im
	Beispiel alle Zeilen, die mit <literal>scsi</literal>
	anfingen, auskommentiert.  F&uuml;gen Sie dann die
	Schnittstelle und den Ger&auml;tenamen am Ende der
	Datei ein.  In diesem Beispiel wurde die nachstehende
	Zeile eingef&uuml;gt:</para>

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

      <para>Weitere Hinweise entnehmen Sie bitte der Hilfeseite
	des Backends.  Jetzt k&ouml;nnen Sie pr&uuml;fen,
	ob der Scanner richtig erkannt wird:</para>

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

      <para>Der Scanner wurde nun erkannt.  Es ist nicht wichtig,
	ob der Hersteller oder das Modell richtig angezeigt werden.
	Wichtig ist die Ausgabe <literal>`epson:/dev/uscanner0'</literal>,
	die das richtige Backend und den richtigen Ger&auml;tenamen
	anzeigt.</para>

      <para>Wenn <command>scanimage -L</command> den Scanner erkannt
	hat, ist der Scanner eingerichtet und bereit, zu
	scannen.</para>

      <para>Obwohl wir mit &man.scanimage.1; von der Kommandozeile
	scannen k&ouml;nnen, ist eine graphische Anwendung
	zum Scannen besser geeignet.  <application>SANE</application>
	bietet ein einfaches und effizientes Werkzeug:
	<application>xscanimage</application> (<filename
	  role="package">graphics/sane-frontends</filename>).</para>

      <para><application>Xsane</application>
	(<filename role="package">graphics/xsane</filename>)
	ist eine weitere beliebte graphische Anwendung.
	Dieses Frontend besitzt erweiterte Funktionen
	wie den Scan-Modus (beispielsweise Photo, Fax),
	eine Farbkorrektur und Batch-Scans.  Beide Anwendungen
	lassen sich als
	<application>GIMP</application>-Plugin verwenden.</para>
    </sect2>

    <sect2>
      <title>Den Scanner f&uuml;r Benutzerkonten freigeben</title>

      <para>Vorher wurden alle T&auml;tigkeiten mit
        <username>root</username>-Rechten ausgef&uuml;hrt.
	Wenn andere Benutzer den Scanner benutzen sollen,
	m&uuml;ssen sie Lese- und Schreibrechte auf die
	Ger&auml;tedatei des Scanners besitzen.  Im
	Beispiel wird die Datei <filename>/dev/uscanner0</filename>
	verwendet, die der Gruppe <groupname>operator</groupname>
	geh&ouml;rt.  Damit der Benutzer <username>joe</username>
	auf den Scanner zugreifen kann, muss das Konto in
	die Gruppe <groupname>operator</groupname> aufgenommen
	werden:</para>

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

      <para>Weiteres entnehmen Sie bitte der Hilfeseite
        &man.pw.8;.  Da Mitglieder der Gruppe
	<groupname>operator</groupname> in der Voreinstellung nur
	Leserechte f&uuml;r die Ger&auml;tedatei
	<filename>/dev/uscanner0</filename> besitzen, m&uuml;ssen
	Sie ebenfalls die Schreibbrechtigung (<literal>0660</literal>
	oder <literal>0664</literal>) vergeben.  Dazu f&uuml;gen Sie
	in die Datei <filename>/etc/devfs.rules</filename>
	die nachstehenden Zeilen ein:</para>

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

      <para>In die Datei <filename>/etc/rc.conf</filename>
	f&uuml;gen Sie noch die folgende Zeile ein:</para>

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

      <para>Starten Sie anschlie&szlig;end Ihr System neu.</para>

      <para>Weiteres entnehmen Sie bitte der Hilfeseite &man.devfs.8;.
	Unter &os;&nbsp;4.X k&ouml;nnen Mitglieder der Gruppe
	<groupname>operator</groupname> per Voreinstellung die Datei
	<filename>/dev/uscanner0</filename> lesen und schreiben.</para>

      <note>
	<para>Aus Sicherheitsgr&uuml;nden sollten Sie genau darauf
	  achten, wen Sie in eine Gruppe aufnehmen, besonders
	  wenn es sich um die Gruppe <groupname>operator</groupname>
	  handelt.</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:
-->
