diff options
Diffstat (limited to 'DOCS/xml/de/video.xml')
-rw-r--r-- | DOCS/xml/de/video.xml | 2744 |
1 files changed, 0 insertions, 2744 deletions
diff --git a/DOCS/xml/de/video.xml b/DOCS/xml/de/video.xml deleted file mode 100644 index e6902b2922..0000000000 --- a/DOCS/xml/de/video.xml +++ /dev/null @@ -1,2744 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- in sync with r23594 --> -<!-- missing cosmetic commit 21537 --> -<chapter id="video"> -<title>Videoausgabegeräte</title> - -<sect1 id="mtrr"> -<title>MTRR einrichten</title> - -<para> - Du solltest UNBEDINGT sicherstellen, dass die MTRR-Register richtig belegt - sind, denn sie können einen großen Geschwindigkeitsschub - bringen. -</para> - -<para> - Gib den Befehl <command>cat /proc/mtrr</command> ein: -<screen> -<prompt>--($:~)--</prompt> cat /proc/mtrr -reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9 -reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!-- ---></screen> -</para> - -<para> - Diese Anzeige ist richtig. Sie zeigt meine Matrox G400 mit 16MB Speicher. - Ich habe die Einstellung von XFree 4.x.x, der die MTRR-Register automatisch - einstellt. -</para> - -<para> - Wenn nichts funktioniert, musst du sie manuell setzen. Als erstes musst du - die Basisadresse finden. Dazu gibt es drei Möglichkeiten: - -<orderedlist> -<listitem><para> - durch die X11 Start-Meldungen, zum Beispiel: - <screen> -(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000 -(--) SVGA: Linear framebuffer at 0xD8000000<!-- ---></screen> - </para></listitem> -<listitem><para> - von <filename>/proc/pci</filename> (verwende den Befehl -<command>lspci -v</command>): - <screen> -01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525 -Memory at d8000000 (32-bit, prefetchable)<!-- ---></screen> - </para></listitem> -<listitem><para> - von den mga_vid Kerneltreiber-Meldungen (verwende <command>dmesg</command>): - <screen>mga_mem_base = d8000000</screen> - </para></listitem> -</orderedlist> -</para> - -<para> - So, nun gilt es, die Speichergröße zu finden. Dies ist sehr - einfach, konvertiere einfach die Video-RAM-Größe nach hexadezimal, - oder verwende diese Tabelle: -<informaltable frame="none"> -<tgroup cols="2"> -<tbody> -<row><entry>1 MB</entry><entry>0x100000</entry></row> -<row><entry>2 MB</entry><entry>0x200000</entry></row> -<row><entry>4 MB</entry><entry>0x400000</entry></row> -<row><entry>8 MB</entry><entry>0x800000</entry></row> -<row><entry>16 MB</entry><entry>0x1000000</entry></row> -<row><entry>32 MB</entry><entry>0x2000000</entry></row> -</tbody> -</tgroup> -</informaltable> -</para> - -<para> - Du kennst die Basisadresse und die Speichergröße? Lass uns - die MTRR Register einstellen! Für die Matrox-Karte von oben - (<literal>base=0xd8000000</literal>) mit 32MB RAM (<literal>size=0x2000000</literal>) - führst du einfach folgendes aus: -<screen> -echo "base=0xd8000000 size=0x2000000 type=write-combining" > /proc/mtrr -</screen> -</para> - -<para> - Nicht alle CPUs unterstützen MTRRs. Zum Beispiel ältere K6-2s - [bei ca. 266MHz, stepping 0] unterstützen kein MTRR, aber Stepping-12-CPUs - tun es (<command>cat /proc/cpuinfo</command> gibt Aufschluss). -</para> -</sect1> - -<sect1 id="xv"> -<title>Xv</title> - -<para> - Mit XFree86 4.0.2 oder neueren Versionen kannst du die Hardware-YUV-Routinen - deiner Grafikkarte mit Hilfe der XVideo-Erweiterungen benutzen. Das ist die - Technik, die <option>-vo xv</option> benutzt. Dieser Treiber unterstützt - darüber hinaus die Anpassung von Helligkeit/Kontrast/Sättigung etc. - (es sei denn, du benutzt den alten und langsamen DirectShow DivX-Codec, - welcher diese Anpassungen unabhängig vom Videoausgabetreiber unterstützt). - Schau in der Manpage nach. -</para> - -<para> - Um Xv zum Laufen zu bringen, musst du auf die folgenden Punkte achten: - -<orderedlist> -<listitem><para> - Du musst XFree86 4.0.2 oder eine neuere Version verwenden, da die - älteren Versionen XVideo noch nicht kannten. - </para></listitem> -<listitem><para> - Deine Grafikkarte muss Hardware-Unterstützung für YUV bieten, was alle - modernen Karten tun. - </para></listitem> -<listitem><para> - X muss die XVideo-Erweiterung auch tatsächlich laden, was zu - Meldungen ähnlich der folgenden führt: - - <programlisting>(II) Loading extension XVideo</programlisting> - - in <filename>/var/log/XFree86.0.log</filename> - - <note><para> - Diese Meldung besagt nur, dass die XFree86-Erweiterung - geladen wird. Bei einer guten Installation sollte das immer der Fall - sein. Das heißt allerdings noch nicht, dass die - <emphasis role="bold">XVideo-Unterstützung der Grafikkarte</emphasis> - auch geladen wurde! - </para></note> - </para></listitem> -<listitem><para> - Deine Karte muss unter Linux Xv-Unterstützung haben. Du kannst dich - dessen mit <command>xvinfo</command> vergewissern, das Teil der - XFree86-Distribution ist. Es sollte einen längeren Text ausgeben, - der ungefähr so aussieht: - -<screen> -X-Video Extension version 2.2 -screen #0 - Adaptor #0: "Savage Streams Engine" - number of ports: 1 - port base: 43 - operations supported: PutImage - supported visuals: - depth 16, visualID 0x22 - depth 16, visualID 0x23 - number of attributes: 5 -(...) - Number of image formats: 7 - id: 0x32595559 (YUY2) - guid: 59555932-0000-0010-8000-00aa00389b71 - bits per pixel: 16 - number of planes: 1 - type: YUV (packed) - id: 0x32315659 (YV12) - guid: 59563132-0000-0010-8000-00aa00389b71 - bits per pixel: 12 - number of planes: 3 - type: YUV (planar) -(...etc...)<!-- ---></screen> - Damit <application>MPlayer</application> Xv benutzen kann, müssen die - Pixelformate YUY2 packed und YV12 planar unterstützt werden. - </para></listitem> - <listitem><para> - Stelle als letztes sicher, dass <application>MPlayer</application> mit - Unterstützung für Xv compiliert wurde. <command>configure</command> gibt eine - entsprechende Meldung aus. - Führe den Befehl <command>mplayer -vo help | grep xv </command> aus. - Wurde Unterstützung für Xv eingebaut, sollte eine ähnliche Meldung - wie diese erscheinen: - <screen>xv X11/Xv</screen> - </para></listitem> -</orderedlist> -</para> - -<sect2 id="tdfx"> -<title>3dfx-Karten</title> - -<para> - Ältere 3dfx-Treiber hatten bekanntermaßen Probleme mit der - XVideo-Beschleuningung, die weder YUY2 noch YV12 unterstützte. - Stelle sicher, dass du XFree86 Version 4.2.0 oder neuer verwendest, da diese - Versionen mit YV12 und YUY2 keine Probleme haben, während frühere Versionen, auch - 4.1.0, <emphasis role="bold">bei YV12 abgestürzen</emphasis>. - Wenn du merkwürdige Effekte bei der Verwendung von <option>-vo xv</option> - bemerkst, dann probier aus, ob mit SDL, das ebenfalls XVideo nutzen kann, - diese Effekte verschwinden. In der <link linkend="sdl">SDL</link> stehen - Details darüber. -</para> - -<para> - <emphasis role="bold">Alternativ</emphasis> kannst du auch den NEUEN - tdfxfb-Treiber mit <option>-vo tdfxfb</option> verwenden! - Lies dazu die <link linkend="tdfxfb">tdfxfb</link>-Sektion. -</para> -</sect2> - - -<sect2 id="s3"> -<title>S3-Karten</title> - -<para> - S3 Savage3D-Karten sollten problemlos funktionieren, aber bei Savage4- - Chips solltest du XFree86 4.0.3 oder neuer verwenden. Probier bei Problemen - den 16bpp-Farbmodus aus. Und der S3 Virge... Es gibt für ihn zwar Xv- - Unterstützung, aber die Karte selbst ist so langsam, dass du sie besser - verkaufst. -</para> -<para> - Es gibt inzwischen einen nativen Framebuffer-Treiber für S3 Virge-Karten, ähnlich - tdfxfb. Mache die Einstellungen (hänge z.B. - "<option>vga=792 video=vesa:mtrr</option>" an die Kernelkommandozeile an) und benutze - <option>-vo s3fb</option> (<option>-vf yuy2</option> und <option>-dr</option> - helfen auch). -</para> - -<note> -<para> - Momentan ist nicht ganz klar, welche Savage-Modelle keine Unterstützung - für YV12 in Hardware haben, sodass bei ihnen der Treiber diese Konvertierung - sehr langsam vornimmt. Hast du deine Karte in Verdacht, dann - besorg dir einen neueren Treiber, oder frag auf der MPlayer-Users-Mailingliste - freundlich nach einem Treiber, der MMX/3DNow unterstützt. -</para> -</note> -</sect2> - - -<sect2 id="nvidia"> -<title>nVidia-Karten</title> - -<para> - nVidia ist für Linux keine optimale Wahll. - XFree86's Open-Source-Treiber unterstützt die meisten dieser Karten, jedoch - musst du in einigen Fällen die binären Closed-Source-Treiber von nVidia - verwenden, verfügbar auf der - <ulink url="http://www.nvidia.com/object/linux.html">nVidia-Webseite</ulink>. - Du brauchst diese Treiber immer, wenn du zusätzlich 3D-Beschleunigung - haben willst. -</para> - -<para> - Riva128-Karten bieten nicht einmal mit den binären nVidia-Treibern - XVideo-Unterstützung (beklag dich bei nVidia). -</para> - -<para> - Wie auch immer, <application>MPlayer</application> enthält einen - <link linkend="vidix">VIDIX</link> -Treiber für die meisten nVidia-Karten. - Er ist aktuell in der Beta-Phase und besitzt einige Nachteile. Mehr - Informationen findest du in der - <link linkend="vidix-nvidia">nVidia-VIDIX</link>-Sektion. -</para> -</sect2> - - -<sect2 id="ati"> -<title>ATI-Karten</title> - -<para> - Die <ulink url="http://gatos.sf.net">GATOS-Treiber</ulink>, die du - einsetzen solltest, sofern du keine Rage128- oder Radeon-Karte hast, - haben per Voreinstellung VSYNC angeschaltet. Dies bedeutet, dass - die Decodiergeschwindigkeit (!) zur Bildwiederholrate des Monitors - synchronisiert wird. Wenn dir die Wiedergabe langsam vorkommt, dann - versuche, irgendwie VSYNC abzuschalten, oder setze die Bildwiederholrate - des Monitors auf n * (fps des Films) Hz. -</para> - -<para> - Radeon VE - wenn du X benötigst, verwende XFree86 4.2.0 oder höher für - diese Karte. Außerdem gibt es keine Unterstützung für den TV-Ausgang. - Natürlich bekommst du mit <application>MPlayer</application> - <emphasis role="bold">Hardware-beschleunigte</emphasis> Wiedergabe, das - ganze wahlweise <emphasis role="bold">mit oder ohne TV-Ausgang</emphasis>, - und es werden dabei nicht einmal weitere Bibliotheken oder X selber benötigt. - Lies dazu die <link linkend="vidix">VIDIX-Sektion</link>. -</para> -</sect2> - - -<sect2 id="neomagic"> -<title>NeoMagic-Karten</title> - -<para> - Diese Chips befinden sich in vielen Laptops. Du musst XFree86 4.3.0 oder - höher oder andernfalls die - <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/">Xv-fähigen - Treiber</ulink> von Stefan Seyfried verwenden. - Wähle einfach einen, der zu deiner XFree86-Version passt. -</para> - -<para> - XFree86 4.3.0 beinhaltet die Unterstützung für Xv, Bohdan Horst schickte jetzt - einen kleinen - <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">Patch</ulink> - auf die XFree86-Quellen, der Framebuffer-Operationen (daher XVideo) - bis auf das Vierfache beschleunigt. Der Patch wurde in das XFree86-CVS - eingebunden und sollte im nächsten Release nach 4.3.0 vorhanden sein. -</para> - -<para> - Um die Wiedergabe von Video in DVD-Auflösung zu ermöglichen, - ändere deine XF86Config wie folgt: -<programlisting> -Section "Device" - [...] - Driver "neomagic" - <emphasis>Option "OverlayMem" "829440"</emphasis> - [...] -EndSection<!-- ---></programlisting> -</para> -</sect2> - - -<sect2 id="trident"> -<title>Trident-Karten</title> -<para> - Wenn du Xv mit einer Trident-Grafikkarte benutzen willst, dann installiere - XFree86 4.2.0, sofern Xv nicht schon mit 4.1.0 funktioniert. Version 4.2.0 - enthält Unterstützung für Xv im Vollbild für Cyberblade XP-Karten. -</para> - -<para> - Alternativ enthält <application>MPlayer</application> einen - <link linkend="vidix">VIDIX</link>-Treiber für the Cyberblade/i1-Karten. -</para> - -</sect2> - - -<sect2 id="kyro"> -<title>Kyro/PowerVR-Karten</title> -<para> - Wenn du Xv mit einer Kyro-basierten Karte (wie z.B. der Hercules Prophet 4000XT) - verwenden möchstest, dann solltest du die Treiber von der - <ulink url="http://www.powervr.com/">PowerVR-Seite</ulink> herunterladen. -</para> -</sect2> -</sect1> - -<!-- ********** --> - -<sect1 id="dga"> -<title>DGA</title> - -<formalpara> -<title>PRÄAMBEL</title> -<para> - Dieser Abschnitt versucht, in wenigen Worten zu beschreiben, was DGA - generell ist und was der DGA-Videotreiber in <application>MPlayer</application> - erreichen kann, und was nicht. -</para> -</formalpara> - -<formalpara> -<title>WAS IST DGA?</title> -<para> - <acronym>DGA</acronym> ist die Abkürzung für - <emphasis>Direct Graphics Access</emphasis> (direkter Zugriff auf die - Grafikhardware) und gibt Programmen die Möglichkeit, unter Umgehung - des X-Servers direkt den Framebuffer der Grafikkarte zu verändern. - Technisch gesehen wird das dadurch realisiert, dass der - Framebuffer-Speicher in den virtuellen Adressraum des jeweiligen Prozesses - abgebildet wird. Das wird vom Kernel aber nur dann zugelassen, wenn der - Prozess Superuserprivilegien besitzt. Dazu musst du dich entweder als - <systemitem class="username">root</systemitem> anmelden oder das SUID-bit - des <application>MPlayer</application>-Binaries setzen (was - <emphasis role="bold">nicht empfohlen wird</emphasis>). -</para> -</formalpara> -<para> - Von DGA gibt es zwei Versionen: DGA1 kommt mit XFree 3.x.x, und DGA2 - wurde mit XFree 4.0.1 eingeführt. -</para> - -<para> - DGA1 bietet nur den oben beschriebenen Zugriff auf den Framebuffer. Die - Umschaltung des Videomodus klappt nur mit der XVidMode-Erweiterung. -</para> - -<para> - DGA2 beinhaltet die Features der XVidMode-Erweiterung und erlaubt - außerdem, die Farbtiefe zu ändern. Damit kannst du also auf 32bit - Farbtiefe umschalten, auch wenn der X-Server gerade mit 15bit Farbtiefe - läuft und umgekehrt. -</para> - -<para> - DGA hat aber auch ein paar Nachteile. Die Funktionsweise scheint ein wenig - von der Grafikkarte und der Implementierung des Grafikkartentreibers - im X-Server abhängig zu sein, der diesen Chip kontrolliert. - Es fuktioniert also nicht auf jedem System... -</para> - -<formalpara> -<title>DGA-UNTERSTÜTZUNG FÜR MPLAYER INSTALLIEREN</title> - -<para> - Stelle als erstes sicher, dass X die DGA-Erweiterung lädt. Schau - in <filename>/var/log/XFree86.0.log</filename> nach: - -<programlisting>(II) Loading extension XFree86-DGA</programlisting> - - Wie du siehst, ist XFree86 4.0.x oder neuer - <emphasis role="bold">sehr zu empfehlen</emphasis>! - <application>MPlayer</application>s DGA-Treiber wird von - <filename>./configure</filename> automatisch erkannt. Alternativ - kannst du seine Compilierung mit <option>--enable-dga</option> erzwingen. -</para> -</formalpara> - -<para> - Falls der Treiber nicht zu einer kleineren Auflösung wechseln - konnte, dann experimentiere mit den Optionen <option>-vm</option> (nur bei - X 3.3.x), <option>-fs</option>, <option>-bpp</option>, - <option>-zoom</option> herum, um einen Videomodus zu finden, - in den der Film reinpasst. Momentan gibt es keinen Konverter :( -</para> - -<para> - Werde <systemitem class="username">root</systemitem>. - DGA braucht <systemitem class="username">root</systemitem>-Privilegien, - um direkt in den Grafikspeicher zu schreiben. Wenn du MPlayer als - normaler Nutzer starten möchtest, dann installiere - <application>MPlayer</application> mit dem SUID-Bit: - -<screen> -chown root <replaceable>/usr/local/bin/mplayer</replaceable> -chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable> -chmod +s <replaceable>/usr/local/bin/mplayer</replaceable> -</screen> - - Jetzt funktioniert es auch als normaler Benutzer. -</para> - -<caution> -<title>Warnung: Sicherheitsrisiko!</title> -<para> - Dieses ist ein <emphasis role="bold">großes</emphasis> Sicherheitsloch. - Tu das <emphasis role="bold">niemals</emphasis> auf einem Server oder - auf einem Computer, auf den auch andere Leute Zugriff haben, da sie durch einen - SUID-<systemitem class="username">root</systemitem>-<application>MPlayer</application> - <systemitem class="username">root</systemitem>-Privilegien erlangen können. -</para> -</caution> - -<para> - Benutze jetzt die Option <option>-vo dga</option>, und ab geht's (hoffe ich - zumindest :))! Du solltest auch ausprobieren, ob bei dir die Option - <option>-vo sdl:dga</option> funktioniert. Sie ist viel schneller. -</para> - - -<formalpara id="dga-modelines"> -<title>ÄNDERN DER AUFLÖSUNG</title> - -<para> - Der DGA-Treiber ermöglicht es, die Auflösung des Output-Signals zu ändern. - Damit entfällt die Notwendigkeit der (langsamen) Softwareskalierung und - bietet gleichzeitig ein Vollbild. Idealerweise würde DGA in die gleiche - Auflösung schalten, die das Video (natürlich unter Beachtung des - Höhen-/Breitenverhältnisses) hat, aber der X-Server lässt nur - Auflösungen zu, die vorher in der <filename>/etc/X11/XF86Config</filename> bzw. - <filename>/etc/X11/XF86Config-4</filename> definiert wurden, bezüglich XFree 4.X.X. - Diese werden durch sogenannte Modelines festgelegt und hängen von den Fähigkeiten - deiner Grafikhardware ab. Der X-Server liest diese Konfigurationsdatei beim - Start ein und deaktiviert alle Modelines, die sich nicht mit deiner Hardware - vertragen. Du kannst die überlebenden Modelines anhand der X11-Logdatei - herausfinden (normalerweise <filename>/var/log/XFree86.0.log</filename>). -</para> -</formalpara> - -<para> - Diese Einträge funktionieren mit einem Riva128-Chip und dem - nv.o-X-Server-Treibermodul. -</para> - - -<para><programlisting> -Section "Modes" - Identifier "Modes[0]" - Modeline "800x600" 40 800 840 968 1056 600 601 605 628 - Modeline "712x600" 35.0 712 740 850 900 400 410 412 425 - Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 - Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan - Modeline "352x288" 25.10 352 368 416 432 288 296 290 310 - Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan - Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan -EndSection -</programlisting></para> - - -<formalpara> -<title>DGA & MPLAYER</title> -<para> - DGA wird bei <application>MPlayer</application> an zwei Stellen benutzt: - beim SDL-Treiber mit (<option>-vo sdl:driver=dga</option>) oder beim - DGA-Treiber selbst (<option>-vo dga</option>). - Das oben gesagte gilt für beide Treiber. In den folgenden Abschnitten - erkläre ich, wie der DGA-Treiber von <application>MPlayer</application> - selber arbeitet. -</para> -</formalpara> - - -<formalpara> -<title>FEATURES DES DGA-TREIBERS</title> - -<para> - Der DGA-Treiber wird durch die Option <option>-vo dga</option> aktiviert. - Sein Standardverhalten sieht vor, dass er in die Auflösung schaltet, die - der Videoauflösung am nächsten kommt. Der Treiber ignoriert absichtlich - die Optionen <option>-vm</option> (Videomodusumschaltung aktivieren) und - <option>-fs</option> (Vollbildmodus erzwingen) - er versucht immer, so viel - Bildfläche wie möglich durch eine Änderung der Auflösung zu bedecken. - Dadurch wird nicht ein einziger weiterer CPU-Takt für die Skalierung des - Bildes verwendet. Wenn du mit dem Modus nicht zufrieden bist, den der Treiber - gewählt hat, dann kannst du ihn zwingen, denjenigen Modus zu - wählen, der am besten zu dem mit den Optionen <option>-x</option> und - <option>-y</option> angegebenen Werten passt. Die Option <option>-v</option> - veranlasst den DGA-Treiber, neben einigen anderen Dingen auch alle von deiner - <filename>XF86Config</filename>-Datei unterstützen Videomodi aufzulisten. - Wenn DGA2 verwendet wird, dann kannst du mit der Option <option>-bpp</option> die - Verwendung einer bestimmten Farbtiefe erzwingen. Gültige Werte sind 15, - 16, 24 und 32. Es hängt dann von deiner Hardware ab, ob der Modus nativ - unterstützt wird oder ob eine (möglicherweise langsame) - Konvertierung stattfindet. -</para> -</formalpara> -<para> - Wenn du Glück hast und dir genug unbenutzter Grafikspeicher zur - Verfügung steht, um ein komplettes Bild aufzunehmen, dann wird der - DGA-Treiber Doppelpufferung verwenden, was zu einer regelmäßigeren - Wiedergabe führt. Der DGA-Treiber wird dir mitteilen, ob Doppelpufferung - angeschaltet ist oder nicht. -</para> - -<para> - Doppelpufferung bedeutet, dass das nächste Bild deines Videos bereits - an einer anderen Stelle im Grafikspeicher aufgebaut wird, während das - aktuelle Bild angezeigt wird. Ist das nächste Bild fertig, so wird - dem Grafikchip nur noch mitgeteilt, wo er das neue Bild im Speicher finden - kann. Somit holt sich der Chip seine Daten einfach von dort. In der - Zwischenzeit wird der andere, jetzt unbenutze Puffer wieder mit neuen - Videodaten gefüllt. -</para> - -<para> - Doppelpufferung kann mit der Option <option>-double</option> aktiviert und mit - <option>-nodouble</option> deaktiviert werden. Momentan ist die Doppelpufferung - per Voreinstellung deaktiviert. Wird der DGA-Treiber verwendet, - dann funktioniert das Onscreen-Display (ODS) nur dann, wenn auch die - Doppelpufferung aktiviert ist. Andererseits kann die Doppelpufferung auch - einen großen Geschwindigkeitseinbruch hervorrufen, was stark von - der DGA-Implementierung der Treiber für deine Hardware abhängt (auf - meinem K6-II+ 525 benötigt Doppelpufferung weitere 20% CPU-Zeit!). -</para> - - -<formalpara> -<title>PUNKTE BEZÜGLICH DER GESCHWINDIGKEIT</title> - -<para> - Generell gesehen sollte der Zugriff auf den DGA-Framebuffer genauso - schnell sein wie der X11-Treiber, wobei man zusätzlich noch ein Vollbild - erhält. Die prozentualen Geschwindigkeitswerte, die <application>MPlayer</application> - ausgibt, müssen mit Vorsicht genossen werden, da sie z.B. beim X11-Treiber - nicht die Zeit beinhalten, die der X-Server tatsächlich zum - Anzeigen des Bildes benötigt. Klemm ein Terminal an deinen seriellen - Port und starte <command>top</command>, wenn du wissen willst, wie's wirklich mit - der Geschwindigkeit aussieht. -</para> -</formalpara> - -<para> - Allgemein betrachtet hängt die Geschwindigkeitsverbesserung von DGA - gegenüber dem 'normalen' X11-Treiber sehr von deiner Grafikkarte und - davon ab, wie gut das X-Servermodul optimiert ist. -</para> - -<para> - Wenn du ein langsames System hast, dann benutz besser eine Farbtiefe von - 15 oder 16bit, da sie nur die halbe Bandbreite des 32bit-Farbmodus - benötigen. -</para> - -<para> - Einge gute Idee ist auch die Verwendung von 24bit Farbtiefe, selbst dann, - wenn deine Grafikkarte nativ nur 32bit unterstützt, da bei 24bit 25% - weniger Daten im Vergleich zum 32/32-Modus über den Bus transferiert - werden müssen. -</para> - -<para> - Ich habe schon gesehen, wie einige AVI-Dateien auf einem Pentium MMX 266 - wiedergegeben werden konnten. AMD K6-2-CPUs werden ab ca. 400 MHz oder - höher funktionieren. -</para> - - -<formalpara> -<title>BEKANNTE FEHLER</title> - -<para> - Die Entwickler von XFree sagen selbst, dass DGA ein ganz schönes - Monstrum ist. Sie raten eher davon ab, es zu benutzen, da seine - Implementierung in einige Chipset-Treiber für XFree nicht immer - ganz fehlerfrei war. -</para> -</formalpara> - -<itemizedlist> -<listitem><para> - Bei der Kombination aus XFree 4.0.3 und dem - <filename>nv.o</filename>-Treiber gibt es einen Fehler, der zu - merkwürdigen Farben führt. -</para></listitem> -<listitem><para> - Die ATI-Treiber müssen den Videomodus mehrmals zurückstellen, - nachdem der DGA-Modus verlassen wurde. - </para></listitem> -<listitem><para> - Einige Treiber schaffen es manchmal einfach nicht, in die vorherige - Auflösung zurückzuschalten. Benutze in solch einem Fall - <keycombo><keycap>Strg</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo> und - <keycombo><keycap>Strg</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo>, - um manuell die Auflösung zu ändern. -</para></listitem> -<listitem><para> - Einige Treiber zeigen einfach nur merkwürdige Farben an. -</para></listitem> -<listitem><para> - Manche Treiber lügen, was die von ihnen in den Prozessorspeicher - eingeblendete Menge Grafikspeicher anbelangt, weswegen vo_dga - nicht die Doppelpufferung verwendet (SIS?). -</para></listitem> -<listitem><para> - Einige Treiber schaffen es nicht einmal, auch nur einen einzigen - gültigen Grafikmodus bereitzustellen. In solchen Fällen - gibt der DGA-Treiber schwachsinnige Modi wie z.B. 100000x100000 oder - so ähnlich aus. -</para></listitem> -<listitem><para> - Das OSD funktioniert nur, wenn auch die Doppelpufferung aktiviert - ist (sonst flimmert es). -</para></listitem> -</itemizedlist> - -</sect1> -<!--</sect1>--> - -<!-- ********** --> - -<sect1 id="sdl"> -<title>SDL</title> - -<para> - <acronym>SDL</acronym> (Simple Directmedia Layer, einfacher Layer für - den direkten Zugriff auf Mediengeräte) bietet grundsätzlich eine einheitliche - Schnittstelle zu Audio- und Videogeräten. Programme, die SDL - benutzen, kennen nur SDL und brauchen nichts darüber zu wissen, welche - Video- oder Audiotreiber SDL tatsächlich benutzt. So kann z.B. eine - Doom-Portierung mit SDL die Svgalib, aalib, X11, fbdev und andere Treiber - nutzen. Dazu musst du z.B. nur den Videotreiber angeben, indem du die - Umgebungsvariable <envar>SDL_VIDEODRIVER</envar> setzt. - So lautet zumindest die Theorie. -</para> - -<para> - Bei <application>MPlayer</application> benutzten wir damals die - Softwareskalierungsroutinen der X11-Treiber von SDL bei Grafikkarten/-treibern, - die keine Unterstützung für XVideo hatten, bis wir unsere eigenen schrieben, - die schneller und hübscher waren. Wir benutzten damals außerdem SDLs - aalib-Ausgabe. Jetzt haben wir unsere eigenen, was wesentlich komfortabler - ist. Auch davon haben wir selber eine komfortablere Version geschrieben. - SDLs DGA-Code war besser als unserer - zumindest bis vor kurzem. - Verstehst du, worauf ich hinauswill? :) -</para> - -<para> - SDL ist auch bei einigen fehlerbehafteten Treibern/Karten nützlich, - wenn das Video ruckelig abgespielt wird (und es nicht an einem langsamen - System liegt), oder wenn der Ton hinterherhinkt. -</para> - -<para> - Die SDL-Videoausgabe unterstützt die Anzeige von Untertiteln unterhalb - des Films auf den schwarzen Balken (sofern diese vorhanden sind). -</para> - -</sect1> - - -<sect1 id="svgalib"> -<title>SVGAlib</title> - -<formalpara> -<title>INSTALLATION</title> -<para> - Du musst zuerst die svgalib und die dazugehörigen Entwicklerpakete - installieren, bevor du <application>MPlayer</application> compilierst, - da er sonst die Svgalib nicht automatisch findet und den Treiber dazu - nicht compiliert (das kann aber trotzdem erzwungen werden). Vergiss auch - nicht, in <filename>/etc/vga/libvga.config</filename> richtige Werte - für deine Grafikkarte und deinen Monitor anzugeben. -</para> -</formalpara> - -<note> -<para> - Verwende nicht die Option <option>-fs</option>, da sie die Benutzung des - Softwareskalierers erzwingt und das ganze dann langsam wird. Wenn du diese - Option wirklich brauchst, dann verwende auch <option>-sws 4</option>, - welche zwar schlechte Qualität produziert, dafür aber auch ein wenig - schneller ist. -</para> -</note> - -<formalpara><title>EGA(4bpp)-UNTERSTÜTZUNG</title> -<para> - SVGAlib beinhaltet die EGAlib, und MPlayer kann damit jeden Film in - 16 Farben bei folgenden Modi anzeigen: -</para> -</formalpara> - -<itemizedlist> -<listitem><para> - EGA-Karte mit EGA-Monitor: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp -</para></listitem> -<listitem><para> - EGA-Karte mit CGA-Monitor: 320x200x4bpp, 640x200x4bpp -</para></listitem> -</itemizedlist> - -<para> - Der bpp-Wert (Bits pro Pixel) muss von Hand auf vier gesetzt werden: - <option>-bpp 4</option> -</para> - -<para> - Die Auflösung des Films muss wahrscheinlich verkleinert werden, damit - er in den EGA-Modus reinpasst: - <screen>-vf scale=640:350</screen> - oder - <screen>-vf scale=320:200</screen> -</para> - -<para> - Dafür brauchen wir eine schnelle, aber schlechte Qualität - produzierende Skalierroutine: - <screen>-sws 4</screen> -</para> - -<para> - Eventuell muss die automatische Anpassung des - Höhen-/Breitenverhältnisses ausgeschaltet werden: - <screen>-noaspect</screen> -</para> - -<note><para> - Die besten Ergebnisse bei EGA-Bildschirmen erhält man meiner Erfahrung nach, - wenn man die Helligkeit ein wenig verringert: - <option>-vf eq=-20:0</option>. Ich musste auch die Audiosamplerate reduzieren, - weil bei 44KHz der Sound nicht richtig funktionierte: - <option>-srate 22050</option>. -</para></note> - -<para> - Du kannst das OSD und Untertitel mit dem <option>expand</option>-Filter - aktivieren. Die Manpage enthält die exakten Parameter. -</para> -</sect1> - - -<sect1 id="fbdev"> -<title>Framebuffer-Ausgabe (FBdev)</title> - -<para> - <filename>./configure</filename> erkennt automatisch, ob es den Framebuffertreiber - (fbdev) compilieren soll oder nicht. Lies die Framebufferdokumentation in den - Kernelquellen (<filename>Documentation/fb/*</filename>); dort stehen mehr - Informationen. -</para> - -<para> - Falls deine Karte den VBE 2.0-Standard nicht unterstützt (wie z.B. - ältere ISA-/PCI-Karten wie die S3 Trio64) oder nur VBE 1.2 und - älter unterstützt: Tja, dann kannst du immer noch VESAfb benutzen, - benötigst aber den SciTech Display Doctor (ehemals UniVBE), der vor dem - Booten von Linux geladen werden muss. Nimm dazu eine DOS-Bootdiskette oder - was auch immer. Vergiss nicht, deine Kopie von UniVBE zu registrieren ;). -</para> - -<para> - Die Fbdev-Ausgabe kennt neben den üblichen Parametern noch einige andere: -</para> - -<variablelist> -<varlistentry> - <term><option>-fb</option></term> - <listitem><para> - Gibt das zu verwendende Framebuffergerät an (Standard: <filename>/dev/fb0</filename>) - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-fbmode</option></term> - <listitem><para> - Gibt zu benutzenden Modusnamen an (wie sie in <filename>/etc/fb.modes</filename> stehen) - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-fbmodeconfig</option></term> - <listitem><para> - Konfigurationsdatei für die Modi (Standard: <filename>/etc/fb.modes</filename>) - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-monitor-hfreq</option></term> - <term><option>-monitor-vfreq</option></term> - <term><option>-monitor-dotclock</option></term> - <listitem><para> - <emphasis role="bold">Wichtige</emphasis> Werte, schau dir die - <filename>example.conf</filename> an. - </para></listitem> -</varlistentry> -</variablelist> - -<para> - Wenn du in einen speziellen Modus wechseln willst, dann benutze -<screen> -mplayer -vm -fbmode <replaceable>Modusname</replaceable> <replaceable>Dateiname</replaceable> -</screen> -</para> - -<itemizedlist> -<listitem><para> - <option>-vm</option> ohne weitere Optionen wird den am besten passenden Modus - aus <filename>/etc/fb.modes</filename> auswählen. Kann auch zusammen mit - <option>-x</option> und <option>-y</option> benutzt werden. Die Option - <option>-flip</option> wird nur dann unterstützt, wenn das Pixelformat des - Films mit dem Pixelformat des Videomodus übereinstimmt. Pass auf den - bpp-Wert auf. fbdev wird den aktuell eingestellten benutzen, wenn du - nicht mit <option>-bpp</option> einen bestimmten angibst. -</para></listitem> -<listitem><para> - Die Option <option>-zoom</option> wird nicht unterstützt (Softwareskalierung - ist langsam, verwende <option>-vf scale</option>). Du kannst keine Modi mit - 8bpp oder weniger benutzen. -</para></listitem> -<listitem><para> - Wahrscheinlich wirst du den Cursor (<screen>echo -e '\033[?25l'</screen> - oder <screen>setterm -cursor off</screen>) und den Bildschirmschoner - (<option>setterm -blank 0</option>) deaktivieren wollen. Um den Cursor wieder - zu aktivieren: <screen>echo -e '\033[?25h'</screen> oder - <screen>setterm -cursor on</screen>. - </para></listitem> -</itemizedlist> - -<note> -<para> - fbdev kann den Videomodus in Verbindung mit dem VESA-Framebuffer - <emphasis>nicht</emphasis> ändern. Frag auch nicht danach - das ist - keine Einschränkung seitens <application>MPlayer</application>. -</para> -</note> -</sect1> - - -<sect1 id="mga_vid"> -<title>Matrox-Framebuffer (mga_vid)</title> - -<para> - <systemitem>mga_vid</systemitem> ist eine Kombination aus einem Videoausgabetreiber - und Linux-Kernelmodul, das die Matrox G200/G400/G450/G550 Scaler-/Overlay-Einheit - verwendet, um YUV->RGB-Farbraumkonvertierungen und beliebige Videoskalierungen durchzuführen. - <systemitem>mga_vid</systemitem> bietet Unterstützung für Hardware-VSYNC und Dreifachpufferung. - Dieser Treiber funktioniert sowohl unter der Framebufferconsole als auch unter X, - jedoch nur mit Linux 2.4.x. -</para> - -<para> - Für eine Version für Linux 2.6.x gehe auf <ulink url="http://attila.kinali.ch/mga/"/>. -</para> - -<procedure> -<title>Installation:</title> -<step><para> - Um den Treiber benutzen zu können, musst du erstmal <filename>mga_vid.o</filename> - compilieren: - <screen> -cd drivers -make<!-- ---></screen> - </para></step> -<step><para> - Führe dann (als <systemitem class="username">root</systemitem>) folgenden Befehl aus: - <screen>make install</screen> - Dies sollte das Modul installieren und das Device-Node für dich erstellen. - Lade den Treiber mit - <screen>insmod mga_vid.o</screen> - </para></step> -<step><para> - Du solltest sicherstellen, dass das Modul die Größe des - Grafikkartenspeichers korrekt ermittelt hat. Benutze dazu - <command>dmesg</command>. Wenn die Angabe nicht stimmt, dann gib nach - <command>rmmod mga_vid</command> mit Hilfe der Option - <option>mga_ram_size</option> die Größe explizit an: - <screen>insmod mga_vid.o mga_ram_size=16</screen> -</para></step> -<step><para> - Wenn das Modul automatisch geladen und entladen werden soll, sobald - es benötigt wird, so füge die folgende Zeile in der Datei - <filename>/etc/modules.conf</filename> ein: - - <programlisting>alias char-major-178 mga_vid</programlisting> - </para></step> -<step><para> - Schließlich musst du noch <application>MPlayer</application> (erneut) compilieren. - <command>configure</command> wird automatisch <filename>/dev/mga_vid</filename> - finden und den 'mga'-Treiber erstellen. Die entsprechende Option für - <application>MPlayer</application> lautet <option>-vo mga</option>, wenn du mit - dem matroxfb auf der Console arbeitest, oder <option>-vo xmga</option>, wenn du - unter XFree 3.x.x oder XFree 4.x.x arbeitest. - </para></step> -</procedure> - -<para> - Der mga_vid-Treiber kooperiert mit Xv. -</para> - -<para> - Das Gerät <filename>/dev/mga_vid</filename> kann z.B. mit - <screen>cat /dev/mga_vid</screen> - ausgelesen werden, um ein paar Informationen über - den aktuellen Zustand zu erhalten. Die Helligkeit kann zusätzlich mit z.B. - <screen>echo "brightness=120" > /dev/mga_vid</screen> - angepasst werden. -</para> - -<para> - Es gibt ein Testprogramm namens <command>mga_vid_test</command> im selben Verzeichnis. - Es sollte 256x256 große Bilder auf den Schirm zeichnen, wenn alles gut funktioniert. -</para> - -</sect1> - - -<sect1 id="tdfxfb" xreflabel="3Dfx YUV support (tdfxfb)"> -<title>3dfx-YUV-Unterstützung (tdfxfb)</title> -<para> - Dieser Treiber verwendet den tdfx-Framebuffertreiber des Kernels, um Filme - mit YUV-Beschleunigung abzuspielen. Deswegen benötigst du einen Kernel - mit tdfxfb-Unterstütztung. Danach musst du MPlayer compilieren mit - <screen>./configure --enable-tdfxfb</screen> -</para> -</sect1> - -<sect1 id="tdfx_vid"> -<title>tdfx_vid</title> - -<para> - Dies ist eine Kombination aus Linux-Kernelmodul und einem Videoausgabetreiber, - ähnlich <link linkend="mga_vid">mga_vid</link>. - Du wirst einen 2.4.x-Kernel mit dem <systemitem>agpgart</systemitem>-Treiber - brauchen, denn <systemitem>tdfx_vid</systemitem> verwendet AGP. - Übergib <option>--enable-tdfxfb</option> an <command>configure</command>, um - den Videoausgabetreiber zu erstellen, und erzeuge das Kernelmodul nach folgenden - Anweisungen. -</para> - -<procedure> -<title>Das tdfx_vid.o-Kernelmodul installieren:</title> -<step> - <para> - Compiliere <filename>tdfx_vid.o</filename>: -<screen> -cd drivers -make</screen> - </para> -</step> -<step> - <para> - Führe dann (als <systemitem class="username">root</systemitem>) folgenden Befehl aus: - <screen>make install</screen> - Dies sollte das Modul installieren und das Device-Node für dich erstellen. - Lade den Treiber mit <screen>insmod tdfx_vid.o</screen> - </para> -</step> -<step> - <para> - Um es automatisch nach Bedarf zu laden bzw. zu entfernen, füge folgende Zeile - am Ende von <filename>/etc/modules.conf</filename> hinzu: - - <programlisting>alias char-major-178 tdfx_vid</programlisting> - </para> -</step> -</procedure> - -<para> - Es gibt ein Testprogramm namens <command>tdfx_vid_test</command> im selben Verzeichnis. - Es sollte nützliche Informationen ausgeben, wenn alles gut funktioniert. -</para> -</sect1> - -<!-- ********** --> - - -<sect1 id="opengl"> -<title>OpenGL-Ausgabe</title> - -<para> - <application>MPlayer</application> unterstützt die Ausgabe von Filmen via - OpenGL. Wenn aber deine Plattform/dein Treiber Xv unterstützt (was bei PCs - mit Linux praktisch immer der Fall ist), dann benutze besser Xv, da die - OpenGL-Geschwindigkeit deutlich geringer als die von Xv ist. Wenn du dagegen - eine X11-Implementierung hast, die Xv nicht unterstützt, so mag OpenGL eine - brauchbare Alternative sein. -</para> - -<para> - Leider unterstützen nicht alle Treiber die erforderlichen Features. - Die Utah-GLX-Treiber (für XFree86 3.3.6) unterstützen sie für - alle Karten. Auf <ulink url="http://utah-glx.sf.net"/> - findest du Details zur Installation. -</para> - -<para> - XFree86(DRI) 4.0.3 oder neuer unterstützt OpenGL mit Matrox- und - Radeon-Karten, 4.2.0 und neuer unterstützen zusätzlich Rage128. - Auf <ulink url="http://dri.sf.net"/> findest du Details zur Installation. -</para> - -<para> - Ein Hinweis von einem unserer User: der GL-Video-Output kann dazu verwendet - werden, einen vertikal synchronisierten TV-Output zu bekommen. - Du musst dann eine Umgebungsvariable setzen (zumindest bei nVidia): -</para> - -<para> -<command>export __GL_SYNC_TO_VBLANK=1</command> -</para> - -</sect1> - - -<sect1 id="aalib"> -<title>AAlib - Ausgabe im Textmodus</title> - -<para> - AAlib ist eine Bilbiothek, mit der Grafiken im Textmodus angezeigt - werden, wobei ein mächtiger Textmodusrenderer angewandt wird. Es gibt SEHR - viele Programme, die das bereits unterstützen, wie z.B. Doom, Quake etc. - <application>MPlayer</application> enthält einen sehr gut brauchbaren - Treiber für AAlib. Wenn <filename>./configure</filename> feststellt, - dass die AAlib installiert ist, dann wird anschließend der AAlib-Treiber - gebaut. -</para> - -<para> - Du kannst diese Tasten im AA-Fenster benutzen, um die Render-Optionen - zu beeinflussen: -</para> - -<informaltable> -<tgroup cols="2"> -<thead> - <row><entry>Taste</entry><entry>Aktion</entry></row> -</thead> -<tbody> -<row><entry><keycap>1</keycap></entry><entry> - Kontrast verringern - </entry></row> -<row><entry><keycap>2</keycap></entry><entry> - Kontrast erhöhen - </entry></row> -<row><entry><keycap>3</keycap></entry><entry> - Helligkeit verringern - </entry></row> -<row><entry><keycap>4</keycap></entry><entry> - Helligkeit erhöhen - </entry></row> -<row><entry><keycap>5</keycap></entry><entry> - Schnelles Rendern an-/ausschalten - </entry></row> -<row><entry><keycap>6</keycap></entry><entry> - Wahl des Farbverteilungsmodus (keiner, Fehlerverteilung, Floyd Steinberg) - </entry></row> -<row><entry><keycap>7</keycap></entry><entry> - Bild invertieren - </entry></row> -<row><entry><keycap>8</keycap></entry><entry> - schaltet zwischen den <application>MPlayer</application>- und den AA-Tastenbelegungen um - </entry></row> -</tbody> -</tgroup> -</informaltable> - -<variablelist> -<title>Die folgenden Kommandozeilenparamter stehen zur Verfügungung:</title> -<varlistentry> - <term><option>-aaosdcolor=<replaceable>V</replaceable></option></term> - <listitem><para> - OSD-Farbe ändern - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-aasubcolor=<replaceable>V</replaceable></option></term> - <listitem><para> - Farbe der Untertitel ändern, - </para><para> - <replaceable>V</replaceable> kann folgende Werte annehmen: - <literal>0</literal> (normal), - <literal>1</literal> (dunkel), - <literal>2</literal> (fett), - <literal>3</literal> (fette Schrift), - <literal>4</literal> (negative Farben), - <literal>5</literal> (spezial). - </para></listitem> -</varlistentry> -</variablelist> - -<variablelist> - <title>Die AAlib selbst bietet ebenfalls eine große Anzahl von Optionen. - Hier sind die wichtigsten:</title> -<varlistentry> - <term><option>-aadriver</option></term> - <listitem><para> - Wählt den empfohlenen aa-Treiber (X11, curses, Linux). - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-aaextended</option></term> - <listitem><para> - Benutze alle 256 Zeichen. - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-aaeight</option></term> - <listitem><para> - Benutze 8 Bit ASCII-Zeichen. - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>-aahelp</option></term> - <listitem><para> - Gib alle aalib-Optionen aus. - </para></listitem> -</varlistentry> -</variablelist> - -<note> -<para> - Das Rendern ist sehr CPU-intensiv, vor allem, wenn AA unter X - benutzt wird. AAlib braucht auf einer Nicht-Framebuffer-Console am - wenigstens CPU-Zeit. Benutze SVGATextMode, um einen möglichst - großen Textmodus zu wählen, und genieß den Film! (Hercules-Karten - als zweites Ausgabegerät rocken :)) (Aber IMHO kannst du die Option - <option>-vf 1bpp</option> anwenden, um Grafiken auf hgafb zu bekommen :) -</para> -</note> - -<para> - Wenn dein Computer nicht schnell genug ist, um alle Frames anzuzeigen, - dann benutze die Option <option>-framedrop</option>. -</para> - -<para> - Wenn du auf einem Terminal abspielst, dann erzielst du mit dem Linux- - Treiber (<option>-aadriver linux</option>) bessere Ergebnisse als mit dem curses- - Treiber. Allerdings benötigst du dafür auch Schreibrechte auf - <filename>/dev/vcsa<replaceable><Terminal></replaceable></filename>. - Das wird von aalib nicht automatisch festgestellt, aber vo_aa versucht, den - besten Modus herauszufinden. Lies - <ulink url="http://aa-project.sf.net/tune"/> für weitere Tuningtipps. -</para> -</sect1> - - -<sect1 id="caca"> -<title><systemitem class="library">libcaca</systemitem> - Color ASCII Art-Bibliothek</title> - -<para> - Die Bibliothek - <ulink url="http://sam.zoy.org/projects/libcaca/"><systemitem class="library">libcaca</systemitem></ulink> - ist eine Grafik-Bibliothek, die Text anstatt Pixel ausgibt, sodass sie auf älteren - Grafikkarten oder Text-Terminals läuft. Sie ist der bekannten Bibliothek - <systemitem class="library">AAlib</systemitem> nicht unähnlich. - <systemitem class="library">libcaca</systemitem> benötigt ein Terminal, um zu - funktionieren, deshalb sollte sie auf allen Unix-Systemen (inklusive Mac OS X) funktionieren, - wenn man entweder die <systemitem class="library">slang</systemitem>-Bibliothek oder die - <systemitem class="library">ncurses</systemitem>-Bibliothek, unter DOS die - <systemitem class="library">conio.h</systemitem>-Bibliothek und auf Windows-Systemen - entweder <systemitem class="library">slang</systemitem> oder - <systemitem class="library">ncurses</systemitem> (durch Cygwin-Emulation) oder - <systemitem class="library">conio.h</systemitem> verwendet. Wenn - <filename>./configure</filename> <systemitem class="library">libcaca</systemitem> - entdeckt, wird der caca-Treiber gebaut. -</para> - -<itemizedlist> -<title>Die Unterschiede zu <systemitem class="library">AAlib</systemitem> sind - folgende:</title> -<listitem><para> - 16 verfügbare Farben für die Zeichenausgabe (256 Farbpaare) - </para></listitem> -<listitem><para> - Farbbild-Dithering - </para></listitem> -</itemizedlist> - -<itemizedlist> -<title>Aber <systemitem class="library">libcaca</systemitem> hat auch folgende - Einschränkungen:</title> -<listitem><para> - keine Unterstützung für Helligkeit, Kontrast, Gamma - </para></listitem> -</itemizedlist> - -<para> - Du kannst diese Tasten im caca-Fenster benutzen, um die Render-Optionen - zu beeinflussen: -</para> - -<informaltable> -<tgroup cols="2"> -<thead> - <row><entry>Taste</entry><entry>Aktion</entry></row> -</thead> -<tbody> -<row><entry><keycap>d</keycap></entry><entry> - zwischen den Dithering-Methoden von - <systemitem class="library">libcaca</systemitem> umschalten. - </entry></row> -<row><entry><keycap>a</keycap></entry><entry> - zwischen dem Antialiasing von <systemitem class="library">libcaca</systemitem> - umschalten. - </entry></row> -<row><entry><keycap>b</keycap></entry><entry> - zwischen dem Hintergrund <systemitem class="library">libcaca</systemitem> - umschalten. - </entry></row> -</tbody> -</tgroup> -</informaltable> - -<variablelist> -<title><systemitem class="library">libcaca</systemitem> sucht auch nach - bestimmten Umgebungsvariablen:</title> -<varlistentry> - <term><option>CACA_DRIVER</option></term> - <listitem><para> - Setze den empfohlenen caca-Treiber. z.B. ncurses, slang, x11. - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>CACA_GEOMETRY (nur bei X11)</option></term> - <listitem><para> - Spezifiziere die Anzahl der Spalten und Zeilen, z.B. 128x50. - </para></listitem> -</varlistentry> -<varlistentry> - <term><option>CACA_FONT (nur bei X11)</option></term> - <listitem><para> - Legt die zu verwendende Schrift fest, z.B. fixed, nexus. - </para></listitem> -</varlistentry> -</variablelist> - -<para> - Nimm die Option <option>-framedrop</option>, wenn dein Rechner nicht schnell - genug für die Darstellung aller Frames ist. -</para> - -</sect1> - - -<sect1 id="vesa"> -<title>VESA-Ausgabe über das VESA-BIOS</title> - -<para> - Dieser Treiber ist vom Design her ein <emphasis role="bold">generischer Treiber</emphasis> - für alle Grafikkarten, deren Bios VESA VBE 2.0 unterstützt. Ein weiterer - Vorteil dieses Treibers liegt darin, dass er versucht, den TV-Ausgang anzuschalten. - <citetitle>VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16, 1998</citetitle> - (Seite 70) hat folgendes zu sagen: -</para> - -<blockquote> -<formalpara><title>Designs für zwei Controller</title> -<para> - VBE 3.0 unterstützt zwei Controller dadurch, dass angenommen wird, - dass beide Controller vom gleichen OEM (Hardwarehersteller) stammen und - unter Kontrolle desselben BIOS auf derselben Grafikkarte sitzen. Somit ist - es möglich, die Tatsache, dass zwei Controller vorhanden sind, vor der - Anwendung zu verbergen. Dies verhindert zwar, dass beide Controller - unabhängig voneinander gesteuert werden, erlaubt andererseits aber, - dass Anwendungen weiterhin problemlos funktionieren, die vor Erscheinen der - VBE-3.0-Spezifikation geschrieben wurden. Die VBE-Funktion 00h (Auskunft - über die Controller, Return Controller Information) gibt - dementsprechend die kombinierten Informationen über beide Controller - zurück, was auch eine kombinierte Liste der vorhandenen Grafikmodi - einschließt. Sobald eine Anwendung einen Grafikmodus wählt, wird - der entsprechende Controller aktiviert. Alle weiteren VBE-Funtkionen werden - dann auf diesem Controller ausgeführt. -</para> -</formalpara> -</blockquote> - -<para> - Somit hast du also eine Chance, den TV-Ausgang mit diesem Treiber zum - Laufen zu bringen. - (Ich vermute, dass der TV-Ausgang normalerweise auf einer separaten - Grafikkarte oder zumindest ein separater Ausgang ist.) -</para> - -<itemizedlist spacing="compact"> -<title>VORTEILE</title> -<listitem><para> - Du hast die Möglichkeit, selbst dann Filme anzusehen, wenn - <emphasis role="bold">Linux nichts von deiner Grafikhardware weiß</emphasis>. -</para></listitem> -<listitem><para> - Du musst keine einzige Grafikanwendung installiert haben (wie - X11/XFree86, fbdev usw.). Dieser Treiber wird im - <emphasis role="bold">Textmodus</emphasis> - benutzt. -</para></listitem> -<listitem><para> - Die Chancen stehen gut, dass der <emphasis role="bold">TV-Ausgang funktioniert</emphasis>. - (Es läuft nachweislich zumindest auf ATI-Karten.) -</para></listitem> -<listitem><para> - Dieser Treiber ruft die <function>int 10h</function>-Routine wirklich auf und ist - dementsprechend kein Emulator - er ruft <emphasis role="bold">echte</emphasis> - Funktionen des <emphasis>echten</emphasis> BIOS im <emphasis>Real</emphasis>-Modus - auf (bzw. im vm68-Modus). -</para></listitem> -<listitem><para> - Du kannst den Treiber zusammen mit VIDIX verwenden und erhältst - dadurch gleichzeitig eine hardwarebeschleunigte Grafikanzeige - <emphasis role="bold">und</emphasis> den TV-Ausgang! (für ATI-Karten empfohlen) -</para></listitem> -<listitem><para> - Wenn du ein VESA-VBE-3.0+-BIOS hast und irgendwo die Optionen - <option>monitor-hfreq</option>, <option>monitor-vfreq</option>, - <option>monitor-dotclock</option> angegeben werden (Kommandozeile, - Konfigurationsdatei), dann bekommst du die höchstmögliche - Bildwiederholrate (mit den generischen Timingformeln). Um dieses Feature - zu aktivieren, müssen <emphasis role="bold">alle</emphasis> - Monitoroptionen angegeben werden. -</para></listitem> -</itemizedlist> - -<itemizedlist spacing="compact"> -<title>NACHTEILE</title> -<listitem><para> - Der Treiber funtkioniert nur auf <emphasis role="bold">x86-Systemen</emphasis>. -</para></listitem> -<listitem><para> - Er kann nur von <systemitem class="username">root</systemitem> benutzt werden. -</para></listitem> -<listitem><para> - Momentan ist er nur für <emphasis role="bold">Linux</emphasis> verfügbar. -</para></listitem> -</itemizedlist> - -<important> -<para> - Benutze diesen Treiber nicht mit <emphasis role="bold">GCC 2.96</emphasis>! - Das wird nicht funktionieren! -</para> -</important> - -<variablelist> -<title>BEI VESA VERFÜGBARE KOMMANDOZEILENOPTIONEN</title> -<varlistentry> - <term><option>-vo vesa:<replaceable>opts</replaceable></option></term> - <listitem><para> - Momentan erkannt: <literal>dga</literal>, um den DGA-Modus zu erzwingen - und <literal>nodga</literal>, um ihn zu deaktivieren. Im DGA-Modus kannst du den - Doppelpuffermodus mit <option>-double</option> aktivieren. Anmerkung: Du - kannst diese Parameter auch weglassen, um die <emphasis role="bold">automatische - Erkennung</emphasis> des DGA-Modus zu ermöglichen. - </para></listitem> -</varlistentry> -</variablelist> - -<itemizedlist spacing="compact"> -<title>BEKANNTE PROBLEME UND WIE MAN SIE UMGEHT</title> -<listitem><para> - Wenn du unter Linux eine <emphasis role="bold">NLS</emphasis>-Schrift - verwendest und du den VESA-Treiber aus dem Textmodus heraus aufrufst, - dann wird nach dem Beenden von <application>MPlayer</application> die - <emphasis role="bold">ROM-Schrift</emphasis> anstelle der nationalen - geladen sein. Du kannst die nationale Schriftart erneut mit - <command>setsysfont</command> laden, das z.B. bei Mandrake zur - Distribution gehört. (<emphasis role="bold">Tip:</emphasis> Das - gleiche Tool wird für die Lokalisation von fbdev verwendet.) -</para></listitem> -<listitem><para> - Manche <emphasis role="bold">Linux-Grafiktreiber</emphasis> aktualisieren - nicht den aktiven <emphasis role="bold">BIOS-Modus</emphasis> im DOS-Speicher. - Wenn du also so ein Problem hast, dann verwende den VESA-Treiber nur aus dem - <emphasis role="bold">Textmodus</emphasis> heraus. Andernfalls - wird immer der Textmodus (#03) aktiviert werden, und du wirst den - Computer neustarten müssen. -</para></listitem> -<listitem><para> - Oftmals siehst du nur einen <emphasis role="bold">schwarzen Bildschirm</emphasis>, - wenn der VESA-Treiber beendet wird. Um die Anzeige wieder in den richtigen Zustand - zu versetzen, wechsele einfach zu einer anderen Console (mit - <keycombo><keycap>Alt</keycap><keycap>F<x></keycap></keycombo>) und wieder zurück. -</para></listitem> -<listitem><para> - Um eine <emphasis role="bold">funktionierende TV-Ausgabe</emphasis> zu erhalten, - musst du das TV-Kabel eingesteckt haben, bevor du deinen PC bootest, da das BIOS - nur einmal während der POST-Phase initialisiert wird. -</para></listitem> -</itemizedlist> -</sect1> - - -<sect1 id="x11"> -<title>X11</title> - -<para> - Vermeide diesen Treiber, wenn's geht. Er benutzt X11 (mit den Shared- - Memory-Erweiterungen) ohne jegliche Hardwarebeschleunigung. Unterstützt - MMX-/3DNow/SSE-beschleunigte Softwareskalierung mit den Optionen - <option>-fs -zoom</option>, aber die ist trotzdem langsam. Die meisten - Karten bieten Unterstützung für Hardwareskalierung. Benutze also - <option>-vo xv</option> in den meisten Fällen bzw. <option>-vo xmga</option> - bei Matrox-Karten. -</para> - -<para> - Ein Problem liegt darin, dass die meisten Grafikkartentreiber - Hardwarebeschleunigung nicht beim zweiten Ausgang/beim TV-Ausgang - unterstützen. In diesen Fällen siehst du nur ein grünes/blaues - Fenster anstelle des Films. Hier ist der X11-Treiber ganz praktisch, aber du - brauchst trotzdem eine schnelle CPU für die Softwareskalierung. Benutze - nicht den SDL-Ausgabetreiber und SDLs Skalierer, da dieser eine schlechtere - Qualität bietet! -</para> - -<para> - Softwareskalierung ist sehr langsam. Versuch also besser, vorher in einen - anderen Videomodus zu schalten. Das ist sehr einfach. Such die - <link linkend="dga-modelines">Modelines in der DGA-Sektion</link> und füge sie - in deine <filename>XF86Config</filename> ein. - -<itemizedlist spacing="compact"> -<listitem><para> - Wenn du XFree86 4.x.x hast, dann benutze die Option <option>-vm</option>. - MPlayer wird dann die Auflösung in diejenige ändern, - in die dein Film am besten hineinpasst. Wenn das nicht funktioniert: -</para></listitem> -<listitem><para> - Unter XFree86 3.x.x musst du mit - <keycombo><keycap>Strg</keycap><keycap>Alt</keycap><keycap>Keypad +</keycap></keycombo> - und - <keycombo><keycap>Strg</keycap><keycap>Alt</keycap><keycap>Keypad -</keycap></keycombo> - die Auflösung ändern. -</para></listitem> -</itemizedlist> -</para> - -<para> - Wenn du die soeben eingefügten Modi nicht wiederfindest, dann schau - dir die Ausgabe von XFree86 an. Einige Treiber können nicht die - niedrigen Pixelclock-Werte benutzen, die für niedrige Auflösungen - vonnöten sind. -</para> -</sect1> - - -<sect1 id="vidix"> -<title>VIDIX</title> - -<formalpara> -<title>EINLEITUNG</title> -<para> - <acronym>VIDIX</acronym> ist die Abkürzung für <emphasis role="bold">VID</emphasis>eo - <emphasis role="bold">I</emphasis>nterface für - *ni<emphasis role="bold">X</emphasis> (Video-Schnittstelle für *n*x). - VIDIX wurde entworfen, um eine Schnittstelle für schnelle Userspacetreiber für - Grafikkarten zur Verfügung zu stellen, so wie es mga_vid für - Matrox-Karten tut. VIDIX ist ebenfalls sehr portabel. -</para> -</formalpara> -<para> - Diese Schnittstelle wurde als Versuch entworfen, den vorhandenen - Schnittstellen für Videobeschleunigung (mga_vid, rage128_vid, - radeon_vid, pm3_vid) ein einheitliches Dach zu geben. Sie stellt einen - einheitlichen Highlevel-Zugang zu BES- und OV-Chips zur Verfügung - (BackEnd Scaler und Video Overlays). Sie stellt keine Lowlevel-Funktionen - für z.B. Grafikserver zur Verfügung. (Ich möchte nicht mit den - X11-Leuten in Sachen Grafikmodusumschaltung konkurrieren.) Das Ziel dieser - Schnittstelle liegt also einfach darin, die höchstmögliche - Geschwindigkeit bei der Videowiedergabe zu erreichen. -</para> - -<itemizedlist spacing="compact"> -<title>VERWENDUNG</title> -<listitem><para> - Du kannst den eigenständigen Videotreiber benutzen: - <option>-vo vidix</option> - Dieser Treiber wurde als das X11-Frontend für die VIDIX-Technologie - entwickelt. Er benötigt dementsprechend einen X-Server und - funktioniert auch nur unter X. Beachte, dass der Pixmap-Cache korrumpiert - werden kann, weil der Treiber unter Umgehung des X-Treibers direkt auf - die Hardware zugreift. Du kannst das dadurch verhindern, dass du die von - X verwendete Menge des Grafikspeichers verringerst. Benutze dafür - die Option "VideoRam" in der "device"-Sektion der - <filename>XF86Config</filename>. Du solltest da die installierte Menge - Grafikspeicher minus 4MB eintragen. Wenn du über weniger als 8MB - Grafikspeicher verfügst, dann solltest du stattdessen die Option - "XaaNoPixmapCache" in der "screen"-Sektion verwenden. - </para></listitem> -<listitem><para> - Es gibt einen VIDIX-Treiber für die Konsole: <option>-vo cvidix</option>. - Dieser benötigt für die meisten Karten einen funktionierenden und - initialisierten Framebuffer (oder du wirst stattdessen den Bildschirm - in Unordnung bringen) und wirst einen Effekt ähnlich wie mit - <option>-vo mga</option> oder <option>-vo fbdev</option> bekommen. - nVidia-Karten sind dagegen in der Lage, wirklich grafisches Video - auf einer echten Text-Konsole auszugeben. Im Abschnitt - <link linkend="vidix-nvidia">nvidia_vid</link> wirst du mehr Informationen - dazu finden. - Um Text an den Rändern und den blinkenden Cursor loszuwerden, - probiere etwas wie den folgenden Befehl: -</para> -<screen>setterm -cursor off > /dev/tty9</screen> -<para> - (welcher davon ausgeht, dass <systemitem>tty9</systemitem> bis dahin ungenutzt ist). - Wechsle dann zu <systemitem>tty9</systemitem>. - Andererseits sollte dir <option>-colorkey 0</option> ein Video liefern, das - im "Hintergrund" läuft; das hängt jedoch davon ab, dass die colorkey-Funktionalität - korrekt funktioniert. - </para></listitem> -<listitem><para> - Du kannst auch das VIDIX-Untergerät verwenden, das bei vielen - Treibern zur Verfügung steht: - <option>-vo vesa:vidix</option> (<emphasis role="bold">nur unter Linux</emphasis>) - und <option>-vo fbdev:vidix</option> - </para></listitem> -</itemizedlist> - -<para> - Es ist in der Tat nicht wichtig, welcher Videoausgabetreiber mit - <emphasis role="bold">VIDIX</emphasis> verwendet wird. -</para> - -<itemizedlist spacing="compact"> -<title>ANFORDERUNGEN</title> -<listitem><para> - Die Grafikkarte sollte sich gerade im Grafikmodus befinden (ausser - nVidia-Karten mit den <option>-vo cvidix</option> Ausgabe-Treibern). -</para></listitem> -<listitem><para> - <application>MPlayer</application>s Videoausgabetreiber sollte den - aktiven Videomodus kennen und in der Lage sein, dem VIDIX-Untergerät - ein paar Charakteristika des X-Servers mitzuteilen. -</para></listitem> -</itemizedlist> - -<formalpara> -<title>BEDIENUNGSMETHODEN</title> -<para> - Wenn VIDIX als <emphasis role="bold">Subgerät</emphasis> - (<option>-vo vesa:vidix</option>) benutzt wird, dann wird die Konfiguration - des Videomodus vom Videoausgabegerät erledigt (kurz - <emphasis role="bold">vo_server</emphasis>). Deswegen kannst du für - <application>MPlayer</application> die gleichen Kommandozeilenparameter wie - für vo_server verwenden. - Zusätzlich ist die Option <option>-double</option> als global sichtbarer - Parameter verfügbar. (Ich empfehle diese Option zumindest bei VIDIX und - ATI-Karten.) <option>-vo xvidix</option> erkennt momentan die folgenden - Optionen: <option>-fs -zoom -x -y -double</option>. -</para> -</formalpara> -<para> - Du kannst den VIDIX-Treiber auch direkt als drittes Teilargument auf der - Kommandozeile angeben: - - <screen>mplayer -vo xvidix:mga_vid.so -fs -zoom -double <replaceable>Datei.avi</replaceable></screen> - oder - <screen>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <replaceable>Datei.avi</replaceable></screen> - - Das ist allerdings gefährlich, und du solltest das lieber nicht tun. - Hierbei wird die Verwendung des angegebenen Treibers erzwungen, und das - Resultat ist unklar (dein Computer könnte sogar - <emphasis role="bold">abstürzen</emphasis>). - Du solltest das wirklich NUR DANN tun, wenn du absolut sicher bist, dass es - funktioniert und <application>MPlayer</application> es nicht eh schon - automatisch auswählt. - Berichte den Entwicklern von deinen Erfahrungen. Die korrekte Art, VIDIX zu - benutzen, ist ohne das dritte Teilargument, sodass <application>MPlayer</application> - automatisch den richtigen Treiber aussucht. -</para> - -<para> - Da VIDIX direkten Zugriff auf die Hardware benötigt, musst du - <application>MPlayer</application> entweder als - <systemitem class="username">root</systemitem> starten oder der - Programmdatei das SUID-Bit setzen (<emphasis role="bold">WARNUNG: - Das ist ein Sicherheitsrisiko!</emphasis>). - Alternativ kannst du auch spezielle Kernelmodule benutzen: -</para> - -<procedure> -<step><para> - Lade dir die - <ulink url="http://www.arava.co.il/matan/svgalib/">Entwicklerversion</ulink> - der svgalib herunter (z.B. 1.9.17), - <emphasis role="bold">ODER</emphasis> lade dir eine von Alex speziell für - die Benutzung mit <application>MPlayer</application> modifizierte Version - (die nicht die svgalib-Sourcen zum Compilieren benötigt) - <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/svgalib/svgalib_helper-1.9.17-mplayer.tar.bz2">hier</ulink> - herunter. -</para></step> -<step><para> - Compiliere das Modul im <filename class="directory">svgalib_helper</filename>-Verzeichnis - (das im Verzeichnis <filename class="directory">svgalib-1.9.17/kernel/</filename> - gefunden werden kann, wenn du die Sourcen von der svgalib-Seite heruntergeladen hast), - und lade es mit insmod. -</para></step> -<step><para> - Um die entsprechenden Geräte im <filename class="directory">/dev</filename>-Verzeichnis - zu erstellen, führe ein <screen>make device</screen> im Verzeichnis - <filename class="directory">svgalib_helper</filename> als - <systemitem class="username">root</systemitem> aus. -</para></step> -<step><para> - Verschiebe das Verzeichnis <filename class="directory">svgalib_helper</filename> - in das <filename class="directory">vidix</filename>-Unterverzeichnis des - <application>MPlayer</application>-Quellbaums. -</para></step> -<step><para> - Entferne den Kommentar vor der CFLAGS-Zeile, die "svgalib_helper" enthält - aus <filename class="directory">vidix/Makefile</filename>. -</para></step> -<step><para> - Compiliere erneut. -</para></step> -</procedure> - -<sect2 id="vidix-ati"> -<title>ATI-Karten</title> -<para> - Momentan werden die meisten ATI-Karten unterstützt, von der Mach64 - bis hin zur neuesten Radeon. -</para> - -<para> - Es gibt zwei compilierte Binaries: <filename>radeon_vid</filename> für Radeons - und <filename>rage128_vid</filename> für Rage128-Karten. Du kannst entweder eine - der beiden erzwingen oder das VIDIX-System automatisch alle verfügbaren - Treiber ausprobieren lassen. -</para> -</sect2> - -<sect2 id="vidix-mga"> -<title>Matrox-Karten</title> -<para> - Matrox G200, G400, G450 und G550 sollen funktionieren. -</para> - -<para> - Der Treiber unterstützt Videoequalizer und sollte fast genauso schnell - wie der <link linkend="mga_vid">Matrox-Framebuffer</link> sein. -</para> -</sect2> - -<sect2 id="vidix-trident"> -<title>Trident-Karten</title> -<para> - Es gibt einen Treiber für den Trident Cyberblade/i1-Chipsatz, der auf - VIA Epia-Mainboards eingesetzt wird. -</para> - -<para> - Der Treiber wurde geschrieben und wird weiterentwickelt von - <ulink url="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">Alastair M. Robinson</ulink>. -</para> -</sect2> - -<sect2 id="vidix-3dlabs"> -<title>3DLabs-Karten</title> -<para> - Auch wenn es einen Treiber für 3DLabs GLINT R3-Chips und Permedia3-Chips - gibt, so hat noch niemand diese getestet. Feedback wird deswegen gern gesehen. -</para> -</sect2> - -<sect2 id="vidix-nvidia"> -<title>nVidia-Karten</title> - -<para> - Ein einmaliges Feature des nvidia_vid-Treibers ist seine Fähigkeit, Video auf - <emphasis role="bold">einfacher, purer Textkonsole</emphasis> darzustellen - ohne - Framebuffer oder X magic oder was auch immer. Zu diesem Zweck müssen wir - die <option>cvidix</option>-Videoausgabe verwenden, wie folgendes Beispiel zeigt: - <screen>mplayer -vo cvidix <replaceable>example.avi</replaceable></screen> -</para> - -</sect2> - -<sect2 id="vidix-sis"> -<title>SiS-Karten</title> -<para> - Dies ist ein sehr experimenteller Code, ähnlich nvidia_vid. -</para> - -<para> - Er wurde auf SiS 650/651/740 getestet (die verbreitetsten Chipsets in den - SiS-Versionen der Boxen von "Shuttle XPC"-Barebones) -</para> - -<para> - Berichte erwartet! -</para> -</sect2> -</sect1> - -<sect1 id="directfb"> -<title>DirectFB</title> -<blockquote><para> - "DirectFB ist eine Grafikbibliothek, deren Zielplattform eingebettete - Systeme sind. Sie bietet maximale Hardwarebeschleunigung bei minimalem - Ressourcenverbrauch und minimalem Overhead." - Zitat von - <ulink url="http://www.directfb.org"/>. -</para></blockquote> - -<para> - Ich lasse die DirectFB-Features in dieser Sektion weg. -</para> - -<para> - Obwohl <application>MPlayer</application> nicht als "Videoprovider" - bei DirectFB unterstützt wird, bietet dieser Treiber Videowiedergabe mittels - DirectFB. Die Wiedergabe ist - natürlich - hardwarebeschleunigt. Bei - meiner Matrox G400 war der DirectFB genauso schnell wie XVideo. -</para> - -<para> - Versuche immer die neueste Version von DirectFB zu verwenden. Du kannst - DirectFB-Optionen mit der <option>-dfbopts</option>-Option auf der Kommandozeile - angeben. Layer-Auswahl erfolgt durch Angabe als Teilargument, z.B. mit - <option>-vo directfb:2</option> (Layer -1 ist der Standardwert: automatische - Layerauswahl). -</para> -</sect1> - -<sect1 id="dfbmga"> -<title>DirectFB/Matrox (dfbmga)</title> -<para> - Bitte lies die - <link linkend="directfb">DirectFB-Sektion</link> zu generellen - Informationen über DiretcFB. -</para> - -<para> - Dieser Videoausgabetreiber wird auf einer Matrox G400/G450/G550-Karten - den CRTC2 (des zweiten Ausgangs) aktivieren und damit das Video - <emphasis role="bold">unabhängig</emphasis> vom primären Ausgang anzeigen. -</para> - -<para> - Anweisungen, um dies zum Laufen zu bringen, stehen direkt in der - <ulink url="http://www.sci.fi/~syrjala/directfb/matrox-tv-out-howto">HOWTO</ulink> - oder der - <ulink url="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">README</ulink> - auf der Homepage von Ville Syrjala. -</para> - -<note><para> - Die erste DirectFB-Version, mit der wir das zum Laufen gebracht haben, war - 0.9.17 (sie ist fehlerhaft, benötigt den <systemitem>surfacemanager</systemitem> von - oben erwähnter URL). Wie auch immer, eine Portierung des CRTC2-Codes für - <link linkend="mga_vid">mga_vid</link> ist bereits in Arbeit. - <ulink url="../../tech/patches.txt">Patches</ulink> sind willkommen. -</para></note> -</sect1> - -<sect1 id="mpeg_decoders"> -<title>MPEG-Dekoderkarten</title> - -<sect2 id="dvb"> -<title>DVB-Output und -Input</title> -<para> - <application>MPlayer</application> unterstützt Karten mit dem Siemens-DVB-Chipsatz von - Herstellern wie Siemens, Technotrend, Galaxis oder Hauppauge. Die neuesten - DVB-Treiber gibt's auf der - <ulink url="http://www.linuxtv.org">Linux TV-Seite</ulink>. Wenn du - Transcodierung in Software machen willst, dann brauchst du eine CPU mit mindestens 1GHz. -</para> - -<para> - <filename>configure</filename> sollte automatisch deine DVB-Karte erkennen. Wenn - es das nicht tut, dann erzwinge DVB-Unterstützung mit -</para> - -<para><screen>./configure --enable-dvb</screen></para> - -<para> - Wenn die ost-Headerdateien nicht an ihrem normalen Platz liegen, dann gib - explizit den Pfad zu ihnen an mit: -</para> - -<para> -<screen>./configure --extra-cflags=<replaceable>DVB-Source-Verzeichnis</replaceable>/ost/include -</screen> -</para> - -<para> - Dann compiliere und installiere wie sonst auch. -</para> - -<formalpara> -<title>GEBRAUCH</title> -<para> - Hardwaredecodierung von Streams, die MPEG-1/2 Video und/oder MPEG-Audio enthalten, - geschieht mit diesem Kommando: -</para> -</formalpara> - -<para> -<screen>mplayer -ao mpegpes -vo mpegpes <replaceable>Datei.mpg|vob</replaceable> -</screen> -</para> - -<para> - Decodierung jeder Art Videostream verlangt Transcodierung zu MPEG-1, daher ist - es langsam und den Ärger möglicherweise nicht wert, vor allem, wenn dein - Computer langsam ist. - Es kann folgenderweise gemacht werden: -</para> -<para> -<screen> -mplayer -ao mpegpes -vo mpegpes <replaceable>DateieDatei.ext</replaceable> -mplayer -ao mpegpes -vo mpegpes -vf expand <replaceable>DateieDatei.ext</replaceable> -</screen> -</para> - -<para> - Beachte, dass DVB-Karten nur bestimmte Bildhöhen unterstützen: - 288 und 576 für PAL und 240 und 480 für NTSC. Du - <emphasis role="bold">musst</emphasis> das Bild vorher skalieren, wenn - die Höhe nicht einer der oben erwähnten entspricht: - <option>-vf scale=width:height</option>. DVB-Karten - unterstützen eine Vielzahl horizontaler Auflösungen wie z.B. - 720, 704, 640, 512, 480, 352 etc. Sie machen Hardwareskalierung in horizontaler - Richtung, sodass du meist nicht in horizontaler Richtung skalieren musst. - Bei einem 512x384-MPEG4 (DivX) (Verhältnis 4:3) kannst du folgendes probieren: -</para> - -<para> -<screen>mplayer -ao mpegpes -vo mpegpes -vf scale=512:576 -</screen> -</para> - -<para> - Wenn du einen Breitwandfilm hast und du ihn nicht auf die volle - Höhe skalieren möchtest, dann kannst du den <option>expand=w:h</option>-Filter - benutzen, um schwarze Balken hinzuzufügen. - Um ein 640x384-MPEG4 (DivX) anzuschauen: -</para> - -<para> -<screen>mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <replaceable>Datei.avi</replaceable> -</screen> -</para> - -<para> - Wenn deine CPU für 720x576-MPEG4 (DivX) zu langsam ist, dann skaliere - herunter: -</para> - -<para> - <screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <replaceable>Datei.avi</replaceable> -</screen> -</para> - -<para> - Wenn sich die Geschwindigkeit nicht verbessert, dann skaliere auch in - vertikaler Richtung: -</para> - -<para> - <screen>mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <replaceable>Datei.avi</replaceable> -</screen> -</para> - -<para> - Für ein OSD und Untertitel kannst du das OSD-Feature des expand- - Filters benutzen. Anstelle von <option>expand=w:h</option> oder - <option>expand=w:h:x:y</option> benutzt du dafür - <option>expand=w:h:x:y:1</option> (der fünfte Parameter <option>:1</option> - schaltet die OSD-Anzeige an). Eventuell willst du das Bild ein wenig nach - oben schieben, um unten mehr Platz für die Untertitel zu haben. - Vielleicht willst du auch die Untertitel hochschieben, wenn sie ansonsten - außerhalb des sichtbaren Bereiches des Fernsehers liegen. Das kannst du mit - <option>-subpos <0-100></option> erreichen, wobei - <option>-subpos 80</option> meistens eine gute Wahl darstellt. -</para> - -<para> - Um Filme mit weniger/mehr als 25 Frames pro Sekunde auf einem - PAL-Fernseher abzuspielen, oder wenn du eine langsame CPU hast, - verwende die Option <option>-framedrop</option>. -</para> - -<para> - Um das Höhen-/Breitenverhältnis des MPEG-4 (DivX) beizubehalten und - trotzdem die optimalen Skalierungsparameter zu verweden (Hardwareskalierung - in horizontaler Richtung und Softwareskalierung in vertikaler Richtung unter - Beibehaltung des richtigen Höhen-/Breitenverhältnisses), benutze - den neuen dvbscale-Filter: -</para> - -<para><screen> -for a 4:3 TV: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1 -for a 16:9 TV: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1 -</screen></para> - -<formalpara> -<title>Digitales TV (DVB-Input-Modul)</title> -<para> - Du kannst deine DVB-Karte zum Ansehen digitalen TVs verwenden. -</para> -</formalpara> - -<para> - Du solltest die Programme <command>scan</command> und - <command>szap/tzap/czap/azap</command> installiert haben; sie sind alle - im Treiberpaket enthalten. -</para> - -<para> - Überprüfe, ob die Treiber sauber mit dem Programm wie etwa - <ulink url="http://sf.net/projects/dvbtools/"><command>dvbstream</command></ulink> - arbeiten (das ist die Basis des DVB-Input-Moduls). -</para> - -<para> - Jetzt solltest du eine Datei <filename>~/.mplayer/channels.conf</filename> - mit der von <command>szap/tzap/czap/azap</command> Syntax compilieren oder - es von <command>scan</command> für dich compilieren lassen. -</para> - -<para> - Hast du mehr als einen Kartentyp (z.B. Satellit, Antenne, Kabel und ATSC), - kannst du deine Kanaldateien als - <filename>~/.mplayer/channels.conf.sat</filename>, - <filename>~/.mplayer/channels.conf.ter</filename>, - <filename>~/.mplayer/channels.conf.cbl</filename>, - und <filename>~/.mplayer/channels.conf.atsc</filename> respektive - speichern, um <application>MPlayer</application> unbedingt darauf - hinzuweisen, eher diese Dateien zu verwenden als - <filename>~/.mplayer/channels.conf</filename>, - und du musst angeben, welche Karte du verwendest. -</para> - -<para> - Stelle sicher, dass du <emphasis>nur</emphasis> frei ausgestrahlte - Kanäle in deiner Datei <filename>channels.conf</filename> hast, oder - <application>MPlayer</application> wird auf eine unverschlüsselte - Übertragung warten. -</para> - -<para> - In deinen Audio- und Videofeldern kannst du eine erweiterte Syntax - anwenden: - <option>...:pid[+pid]:...</option> (für ein Maximum von 6 pids bei - jedem); in diesem Fall wird <application>MPlayer</application> - alle gezeigten pids enbinden, plus pid 0 (welche das PAT enthält). - Binde ruhig in jede Spalte die PMT pid für den - korrespondierenden Kanal ein (falls du ihn kennst). - Du kannst auch 8192 angeben; dies wird alle pids auf dieser Frequenz wählen, - und du kannst dann zwischen ihnen mit TAB wechseln. - Das mag mehr Bandbreite benötigen, billige Karten übertragen jedoch - alle Kanäle zumindest bis zum Kernel, daher macht es für diese keinen - großen Unterschied. - Andere mögliche Anwendungen sind: televideo pid, zweiter Audio-Track, etc. -</para> - -<para> - Wenn sich <application>MPlayer</application> regelmäßig über - <screen>Zu viele Audiopakete im Puffer</screen> beschwert oder - wenn du eine zunehmende Desynchronisation zwischen Ton und Video feststellst, - versuche den MPEG-TS-Demuxer von libavformat zu verwenden, indem du - <option>-demuxer lavf -lavfdopts probesize=128</option> - der Kommandozeile hinzufügst. -</para> - -<para> - Um den ersten der in deiner Liste vorhandenen Kanäle anzuzeigen, - führe folgendes aus -</para> - -<screen> - mplayer dvb:// -</screen> - -<para> - Willst du einen bestimmten Kanal wie z.B. R1 ansehen, - führe dies aus -</para> - -<screen> - mplayer dvb://R1 -</screen> - -<para> - Hast du mehr als eine Karte, musst du die Nummer der Karte, in der - der Kanal zu sehen ist (z.B. 2), mit dieser Syntax angeben: -</para> - -<screen> - mplayer dvb://2@R1 -</screen> - -<para> - Um Kanäle zu wechseln, drücke die Tasten <keycap>h</keycap> (nächster) - und <keycap>k</keycap> (vorheriger) oder verwende das - <link linkend="osdmenu">OSD-Menü</link>. -</para> - -<para> - Wenn deine <filename>~/.mplayer/menu.conf</filename> einen Eintrag - <literal><dvbsel></literal> enthält, wie der in der Beispieldatei - <filename>etc/dvb-menu.conf</filename> (die du zum Überschreiben der - <filename>~/.mplayer/menu.conf</filename> nutzen kannst), wird das Hauptmenü - einen Untermenüeintrag anzeigen, der dir die Wahl des Kanal-Presets in deiner - <filename>channels.conf</filename> erlaubt, womöglich gefolgt von einem - Menü mit der Liste der verfügbaren Karten, falls mehr als eine - von <application>MPlayer</application> genutzt werden kann. -</para> - -<para> - Willst du ein Programm auf die Festplatte speichern, nimm -</para> - -<screen> - mplayer -dumpfile r1.ts -dumpstream dvb://R1 -</screen> - -<para> - Willst du ihn statt dessen in einem anderen Format aufnehmen (ihn neu encodieren), - kannst du einen Befehl wie diesen ausführen -</para> - -<screen> - mencoder -o r1.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1 -</screen> - -<para> - Lies dir in der Manpage eine Liste von Optionen durch, die du an das DVB-Input-Modul - übergeben kannst. -</para> - -<formalpara> -<title>AUSBLICK</title> -<para> - Wenn du Fragen hast oder an der Diskussion über zukünftige - Features teilnehmen willst, dann melde dich bei unserer - <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</ulink> - Mailingliste an. Denk bitte daran, dass dort Englisch gesprochen wird. -</para> -</formalpara> - -<para> - Für die Zukunft kannst du mit der Möglichkeit, das OSD und die - Untertitel mit den eingebauten Funktionen der DVB-Karten anzuzeigen, mit - flüssigerer Wiedergabe von Filmen mit weniger/mehr als 25 Bildern pro - Sekunde und mit Echtzeit-Transcodierung zwischen MPEG-2 und MPEG-4 (partielle - Dekompression) rechnen. -</para> -</sect2> - -<sect2 id="dxr2"> -<title>DXR2</title> -<para> - <application>MPlayer</application> unterstützt hardwarebeschleunigte - Wiedergabe mit der Creative DXR2-Karte.</para> -<para> - Zuerst brauchst du einen richtig installierten DXR2-Treiber. Du kannst - die Treiber und Installationshinweise im - <ulink url="http://dxr2.sf.net/">DXR2 Resource Center</ulink> finden. -</para> - -<variablelist> -<title>GEBRAUCH</title> -<varlistentry> -<term><option>-vo dxr2</option></term> -<listitem><para>Aktiviere TV-Ausgabe.</para></listitem> -</varlistentry> - -<varlistentry> -<term><option>-vo dxr2:x11</option> oder <option>-vo dxr2:xv</option></term> -<listitem><para>Aktiviere Overlay-Ausgabe unter X11.</para></listitem> -</varlistentry> - -<varlistentry> -<term><option>-dxr2 <option1:option2:...></option></term> -<listitem><para>Diese Option wird zur Kontrolle des DXR2-Treiber verwendet.</para></listitem> -</varlistentry> -</variablelist> - -<para> - Der auf DXR2 genutzte Overlay-Chipset ist von sehr schlechter Qualität, - die Standardeinstellungen sollten aber bei jedem funktionieren. - Das OSD kann eventuell mit Overlay genutzt werden (nicht bei TV), - indem es im colorkey eingetragen wird. Mit den Standardeinstellungen des - colorkey bekommst du evtl. unterschiedliche Ergebnisse, gewöhnlich wirst du den - colorkey rund um die Zeichen sehen oder einige anderen lustigen Effekte. - Aber wenn du die colorkey-Einstellungen korrekt anpasst, solltest du in der - Lage sein, akzeptable Resultate zu erzielen. -</para> - -<para>Lies bitte in der Manpage über die vorhandenen Optionen.</para> -</sect2> - -<sect2 id="dxr3"> -<title>DXR3/Hollywood+</title> -<para> - <application>MPlayer</application> unterstützt die hardwarebeschleunigte - Wiedergabe mit den Karten Creative DXR3 und Sigma Designs Hollywood Plus. - Beide Karten basieren auf dem em8300-MPEG-Decoderchip von Sigma Designs. -</para> - -<para> - Als erstes brauchst du korrekt installierte DXR3/H+-Treiber, Version - 0.12.0 oder neuer. Diese Treiber und weitere Installationsanweisungen findest - du auf der Seite - <ulink url="http://dxr3.sf.net/">DXR3 & Hollywood Plus for Linux</ulink>. - <filename>configure</filename> sollte die Karte automatisch - finden. Die Compilierung sollte auch problemlos funktionieren. -</para> - -<!-- FIXME: find a more clear presentation --> -<variablelist> -<title>GEBRAUCH</title> -<varlistentry> -<term><option>-vo dxr3:prebuf:sync:norm=x:<replaceable>device</replaceable></option></term> -<listitem> -<para> - <option>overlay</option> aktiviert das Overlay anstelle des TV-Ausgangs. - Dafür brauchst du ein korrekt konfiguriertes Overlaysetup. Am einfachsten - konfigurierst du das Overlay mit dem Tool <filename>autocal</filename>. - Starte danach <application>MPlayer</application> mit dxr3-Ausgabe und - ohne Overlay anzuschalten. Starte <filename>dxr3view</filename>. Mit dxr3view - kannst du die Overlay-Einstellungen verändern und siehst die - Auswirkungen sofort. Eventuell wird dieses Feature irgendwann vom - <application>MPlayer</application>-GUI unterstützt. Wenn du das Overlay richtig - eingestellt hast, brauchst du dxr3view nicht mehr laufen zu lassen. -</para> -<para> - <option>prebuf</option> schaltet Prebuffering ein. Das ist ein Feature des - em8300-Chips, das es ihm ermöglicht, mehr als nur ein Bild - gleichzeitig zu speichern. Das bedeutet, dass <application>MPlayer</application> - in diesem Modus versucht, den Puffer ständig mit Daten gefüllt zu halten. - Wenn du einen langsamen Rechner hast, dann wird <application>MPlayer</application> - wahrscheinlich die meiste Zeit über knapp oder genau 100% der CPU-Zeit belegen. - Das ist vor allem dann der Fall, wenn du echte MPEG-Streams (z.B. DVDs, SVCDs etc.) - abspielst, da <application>MPlayer</application> nicht nach MPEG encodieren muss - und den Puffer sehr schnell wird füllen können. -</para> -<para> - Mit Prebuffering ist die Videowiedergabe <emphasis role="bold">viel</emphasis> - weniger anfällig gegenüber anderen CPU-intensiven Programmen. Frames - werden nur dann verworfen, wenn eine andere Anwendung für eine - sehr lange Zeit die CPU belegt. -</para> -<para> - Wenn kein Prebuffering verwendet wird, dann ist der em8300 viel - anfälliger gegenüber CPU-Last. Somit wird dringend empfohlen, - MPlayers <option>-framedrop</option>-Option zu verwenden, um die A/V-Sync - zu erhalten. -</para> -<para> - <option>sync</option> aktiviert die neue sync-Methode. Dieses Feature ist - momentan noch experimentell. Bei dieser Methode beobachtet MPlayer - ständig die interne Uhr des em8300-Chips. Weicht diese von - MPlayers Uhr ab, so wird die des em8300-Chips zurückgesetzt, - sodass dieser alle Frames verwirft, die hinterherhängen. -</para> -<para> - <option>norm=x</option> setzt den TV-Standard der DXR3-Karte, ohne dafür - externe Programme wie em8300setup zu benötigen. - Gültige Werte sind 5 = NTSC, 4 = PAL-60, 3 = PAL. Spezielle Standards - sind 2 (automatische Erkennung mit PAL/PAL-60) und 1 (automatische - Erkennung für PAL/NTSC), da sie den Standard in Abhängigkeit - der FPS des Films setzen. norm = 0 (Standard) ändert - den momentan eingestellten TV-Standard nicht. -</para> -<para> - <option><replaceable>device</replaceable></option> = Gerätenummer wählt die zu - verwendene em8300-Karte, falls du mehrere davon hast. -</para> -<para> - Jede dieser Optionen kann auch weggelassen werden. -</para> -<para> - <option>:prebuf:sync</option> scheint sehr gut zu funktionieren, wenn du DivX - abspielst. Es gab Berichte von Leuten, die Probleme mit <option>prebuf</option> - bei der Wiedergabe von MPEG1/2-Dateien hatten. Du - solltest es also zuerst ohne Optionen probieren. Wenn du Sync-Probleme - hast, dann probier <option>:sync</option> aus. -</para></listitem> -</varlistentry> - -<varlistentry> -<term><option>-ao oss:/dev/em8300_ma-<replaceable>X</replaceable></option></term> -<listitem><para> - Audioausgabe, wobei <replaceable>X</replaceable> die Gerätenummer ist - (0 bei nur einer Karte). -</para></listitem> -</varlistentry> - -<varlistentry> -<term><option>-af resample=<replaceable>xxxxx</replaceable></option></term> -<listitem><para> - Der em8300 kann keine Sampleraten niedriger als 44100Hz abspielen. - Wenn die Samplerate weniger als 44100Hz beträgt, dann wähle - 44100Hz oder 48000Hz, je nachdem, welche davon besser passt. Beispiel: - Wenn der Film 22050Hz benutzt, dann wähle 44100Hz, da 44100 / 2 = - 22050 ist. Bei 24000Hz nimmst du 48000Hz etc. Das funktioniert nicht mit - der digitalen Audioausgabe (<option>-ac hwac3</option>). -</para></listitem> -</varlistentry> - -<varlistentry> -<term><option>-vf lavc</option></term> -<listitem><para> - Wenn du Nicht-MPEG-Filme mit dem em8300 ansehen möchtest (z.B. - DivX oder RealVideo), dann musst du einen MPEG1-Videofilter wie - <systemitem class="library">libavcodec</systemitem> (lavc) verwenden. - Momentan gibt es keine - Möglichkeit, die Anzahl der Bilder pro Sekunde des em8300 zu setzen, - was bedeutet, dass sie fest bei 29.97 liegt. Aus diesem Grund solltest du - <option>-vf lavc=<replaceable>quality</replaceable>:25</option> verwenden, - besonders dann, wenn du auch Prebuffering verwendest. Warum aber 25 - und nicht 29.97? Tja, die Sache ist, dass das Bild bei 29.97 unruhig - wird. Wir wissen leider nicht, warum das so ist. Wenn du Werte zwischen - 25 und 27 benutzt, dann wird das Bild stabil. Momentan können wir das - nur als gegeben hinnehmen. -</para></listitem> -</varlistentry> - -<varlistentry> -<term><option>-vf expand=-1:-1:-1:-1:1</option></term> -<listitem><para> - Obwohl der DXR3-Treiber ein OSD über das MPEG1-/2-/4-Video - projezieren kann, ist es qualitativ deutlich schlechter als - <application>MPlayer</application>s traditionelles OSD, und es hat - diverse Probleme mit der Erneuerung der Anzeige. Der oben angegebene - Befehl konvertiert das Video erst nach MPEG4 (das ist leider - erforderlich) und wendet dann den expand-Filter an, der zwar das - Bild nicht vergrößert (-1: = Standardwerte) aber dafür das normale - OSD auf das Bild stanzt (die "1" am Ende). -</para></listitem> -</varlistentry> - -<varlistentry> -<term><option>-ac hwac3</option></term> -<listitem><para> - Der em8300 unterstützt die Audiowiedergabe von AC3-Streams - (Surroundsound) über den digitalen Ausgang der Karte. Schau oben bei - der Option <option>-ao oss</option> nach. Sie muss angegeben werden, um den - DXR3-Ausgang anstelle der Soundkarte anzugeben. -</para></listitem> -</varlistentry> -</variablelist> -</sect2> - -</sect1> - -<sect1 id="other"> -<title>Andere Visualisierungshardware</title> - -<sect2 id="zr"> -<title>Zr</title> - -<para> - Dieser Treiber ist ein Anzeigetreiber (<option>-vo zr</option>), der - verschiedeene MJPEG-Aufnahme-/-Wiedergabekarten unterstützt. Getestet - wurde er mit DC10+ und Buz, und er sollte auch mit der LML33 und der - Original-DC10 funktionieren. Dieser Treiber encodiert jedes Bild nach JPEG - und schickt es dann an die Karte. Für die Encodierung wird - <systemitem class="library">libavcodec</systemitem> benutzt und - dementsprechend auch benötigt. Mit dem speziellen - <emphasis>cinemara</emphasis>-Modus kannst du Filme auch tatsächlich im - Breitbildformat anschauen, wenn du zwei Beamer und zwei MJPEG-Karten hast. - Abhängig von der Qualität und Auflösung braucht dieser Treiber - eine Menge CPU-Power. Benutze also besser die Option <option>-framedrop</option>, - wenn deine Maschine zu langsam ist. Anmerkung: Mein AMD K6-2 350MHz ist - durchaus in der Lage, Filme in VCD-Größe mit <option>-framedrop</option> - wiederzugeben. -</para> - -<para> - Dieser Treiber benutzt den Kerneltreiber, den du auf - <ulink url="http://mjpeg.sf.net"/> - herunterladen kannst. Dieser muss also vorher schon funktionieren. - <filename>configure</filename> erkennt automatisch vorhandene MJPEG-Karten. Wenn - nicht, dann erzwinge zr mit - <screen>./configure --enable-zr</screen> -</para> -<para> - Die Ausgabe kann mit diversen Optionen gesteuert werden. Eine - vollständige Liste findest du in der Manpage. Eine kurze Auflistung gibt - dir auch - <screen>mplayer -zrhelp</screen> -</para> - -<para> - Sachen wie das OSD und Skalierung werden nicht von diesem Treiber - erledigt, aber sie können natürlich durch Filter realisiert werden. - Beispiel: Angenommen, du hast einen Film mit einer Auflösung von - 512x272, und du möchtest ihn im Vollbild auf deiner DC10+ - anschauen. Du hast dann drei Möglichkeiten: den Film auf eine Breite von - 768, 384 oder 192 zu skalieren. Aus - Geschwindigkeits- und Qualitätsgründen würde ich empfehlen, - den Film auf 384x204 mit dem bilinearen Algorithmus zu - skalieren. Die Kommandozeile sieht dazu wie folgt aus: -<screen> -mplayer -vo zr -sws 0 -vf scale=384:204 <replaceable>movie.avi</replaceable> -</screen> -</para> - -<para> - Das Beschneiden des Bildes kann mit dem <option>crop</option>-Filter geschehen - oder vom Treiber selbst vorgenommen werden. Angenommen, der Film ist zu breit - für die Anzeige deiner Buz, und du möchtest <option>-zrcrop</option> - benutzen, um den Film schmaler zu machen. Dann verwendest du folgendes - Kommando: -<screen> -mplayer -vo zr -zrcrop 720x320+80+0 <replaceable>benhur.avi</replaceable> -</screen> -</para> - -<para> - Mit dem <option>crop</option>-Filter sieht es so aus: -<screen> -mplayer -vo zr -vf crop=720:320:80:0 <replaceable>benhur.avi</replaceable> -</screen> -</para> - -<para> - Mehrfache Anwendung von <option>-zrcrop</option> aktiviert den - <emphasis>cinerama</emphasis>-Modus. Das heißt, du kannst das Bild über - mehrere Fernseher oder Beamer verteilen, um eine größere - Anzeigefläche zu erreichen. Angenommen, du hast zwei Beamer. Der linke - hängt an deiner Buz an <filename>/dev/video1</filename>, und der rechte - hängt an deiner DC10+ an <filename>/dev/video0</filename>. Der Film hat eine - Auflösung von 704x288. Nehmen wir weiter an, dass du den - rechten Beamer schwarz/weiß betreiben möchtest, und dass du auf - dem linken Beamer Bilder mit der Qualitätsstufe 10 haben - möchtest. Dann benutzt du dafür das folgende Kommando: -<screen> -mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \ - -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \ - <replaceable>movie.avi</replaceable> -</screen> -</para> - -<para> - Wie du siehst, gelten die Optionen vor dem zweiten <option>-zrcrop</option> nur - für die DC10+ und die Optionen nach dem zweiten <option>-zrcrop</option> nur - für die Buz. Die maximale Anzahl an MJPEG-Karten, die am - <emphasis>cinerama</emphasis>-Modus teilnehmen, liegt bei vier, sodass du dir - eine 2x2-Videowand basteln kannst. -</para> - -<para> - Zuletzt ein wirklich wichtiger Hinweis: Starte oder beende auf keinen Fall - XawTV während der Wiedergabe, da das deinen Computer zum Absturz bringen - wird. Du kannst aber problemlos <emphasis role="bold">ZUERST</emphasis> XawTV, - <emphasis role="bold">DANN</emphasis> <application>MPlayer</application> - starten, warten, bis <application>MPlayer</application> fertig ist - und <emphasis role="bold">ZULETZT</emphasis> XawTV beenden. -</para> -</sect2> - -<sect2 id="blinkenlights"> -<title>Blinkenlights</title> -<para> - Dieser Treiber kann Video mit dem Blinkenlights UDP-Protokoll wiedergeben. - Wenn du nicht weißt, was - <ulink url="http://www.blinkenlights.de/">Blinkenlights</ulink> - oder dessen Nachfolger <ulink url="http://www.blinkenlights.de/arcade/">Arcade</ulink> - ist, finde es heraus. - Obwohl dies höchstwahrscheinlich der am wenigsten genutzte Videoausgabetreiber ist, - den <application>MPlayer</application> zu bieten hat, so ist er ohne Zweifel der coolste. - Schau dir einfach ein paar von den - <ulink url="http://www.blinkenlights.de/video.en.html">Blinkenlights-Dokumentationsvideos</ulink> - an. - Auf dem Arcade-Video siehst du Blinkenlights-Ausgabetreiber um 00:07:50 in Aktion. -</para> -</sect2> -</sect1> - -<sect1 id="tvout"> -<title>Unterstützung für die TV-Ausgabe</title> - -<sect2 id="tvout-mga-g400"> -<title>Matrox G400-Karten</title> - -<para> - Unter Linux hast du zwei Möglichkeiten, den TV-Ausgang deiner - G400 anzuschalten: -</para> - -<important> -<para> - Anweisungen für die Matrox G450/G550 und deren TV-Ausgänge findest - du im nächsten Abschnitt! -</para> -</important> - -<variablelist> -<varlistentry> - <term>XFree86</term> - <listitem><para> - Mit dem alten Treiber und dem HAL-Modul, welches es - auf der <ulink url="http://www.matrox.com">Matrox-Seite</ulink> gibt. Damit - bekommst du X auf dem Fernseher, aber <emphasis role="bold">keine - Hardwarebeschleunigung</emphasis> wie unter Windows! -</para> -<para> - Der zweite Ausgang besitzt nur einen YUV-Framebuffer. - Der <emphasis>BES</emphasis> (Back End Scaler, die YUV-Skalierungseinheit des - G200/G400/G450/G550) funktioniert mit ihm nicht! Der Windows-Treiber - umgeht das irgendwie, wahrscheinlich dadurch, dass er die 3D-Engine - für die Skalierung und den YUV-Framebuffer zur Anzeige des - skalierten Bildes verwendet. Wenn du unbedingt X benutzen willst, dann - probier <option>-vo x11 -fs -zoom</option>, aber das wird - <emphasis role="bold">LANGSAM</emphasis> sein - und den <emphasis role="bold">Macrovision</emphasis>-Kopierschutz - aktiviert haben. (Du kannst Macrovision mit diesem - <ulink url="http://avifile.sf.net/mgamacro.pl">Perlscript</ulink> - umgehen.) -</para></listitem> -</varlistentry> -<varlistentry> - <term>Framebuffer</term> - <listitem><para> - Mit den <emphasis role="bold">matroxfb-Modulen</emphasis> in den 2.4er - Kerneln. 2.2er Kernel kennen den TV-Ausgang noch nicht und sind somit - hierfür nicht geeignet. Du musst ALLE matroxfb-spezifischen Features - bei der Compilierung anschalten (bis auf MultiHead). Compiliere sie als - <emphasis role="bold">Module</emphasis>! Du musst ebenfalls I2C anschalten. -</para> - -<procedure> -<step><para> - Gehe nach <filename class="directory">TVout</filename> und gib - <command>./compile.sh</command> ein. Installiere - <filename>TVout/matroxset/matroxset</filename> in ein Verzeichnis, das - in deinem <envar>PATH</envar> liegt. -</para></step> -<step><para> - Wenn du <command>fbset</command> nicht installiert hast, installiere - <filename>TVout/fbset/fbset</filename> in ein Verzeichnis, das in - deinem <envar>PATH</envar> liegt. -</para></step> -<step><para> - Wenn du <command>con2fb</command> nicht installiert hast, installiere - <filename>TVout/con2fb/con2fb</filename> in ein Verzeichnis, das in - deinem <envar>PATH</envar> liegt. -</para></step> -<step><para> - Geh jetzt in das Verzeichnis <filename class="directory">TVout/</filename> - in den <application>MPlayer</application>-Quellen und führe dort - <filename>./modules</filename> als <systemitem class="username">root</systemitem> - aus. Deine Textmodusconsole wird danach in den Framebuffermodus umschalten, - aus dem es keinen Weg zurück gibt! -</para></step> -<step><para> - Editiere als nächstes das Script <filename>./matroxtv</filename>. - Es wird dir ein simples Menü präsentieren. Drücke - <keycap>2</keycap> gefolgt von <keycap>ENTER</keycap>. Jetzt solltest - du auf dem Fernseher das gleiche Bild wie auf dem Monitor sehen. - Wenn das TV-Bild (PAL ist die Standardeinstellung) merkwürdige Streifen - enthält, dann war das Script nicht in der Lage, die Auflösung richtig zu - setzen (per Voreinstellung 640x512). Probiere andere im Menü - angebotene Auflösungen aus und/oder experimentiere mit fbset. -</para></step> -<step><para> - So. Die nächste Aufgabe ist es, den Cursor auf tty1 (oder - woauchimmer) verschwinden zu lassen, und den Bildschirmschoner - auszuschalten. Führ folgende Kommandos aus: - -<screen> -echo -e '\033[?25l' -setterm -blank 0<!-- - --></screen> - oder -<screen> -setterm -cursor off -setterm -blank 0<!-- - --></screen> - - Wahrscheinlich möchtest du das in ein Script packen und dabei - gleich den Bildschirm löschen. Um den Cursor wieder - anzuschalten: - <screen>echo -e '\033[?25h'</screen> oder - <screen>setterm -cursor on</screen> -</para></step> -<step><para> - Yeah kewl. Starte die Wiedergabe mit -<screen> -mplayer -vo mga -fs -screenw 640 -screenh 512 <replaceable>Dateiname</replaceable><!-- - --></screen> - - (Wenn du X benutzt, dann wechsle jetzt auf den matroxfb mit z.B. - <keycombo><keycap>STRG</keycap><keycap>ALT</keycap><keycap>F1</keycap></keycombo>!) - Ändere die <literal>640</literal> und <literal>512</literal>, wenn - du eine andere Auflösung verwendest. -</para></step> -<step><para> - <emphasis role="bold">Genieße die ultra-schnelle und featurereiche Wiedergabe - mit dem Matrox-TV-Ausgang (sogar noch besser als Xv)!</emphasis> - </para></step> - </procedure> - </listitem> -</varlistentry> -</variablelist> - -<formalpara> -<title>Matrox-TV-Ausgangskabel im Eigenbau</title> -<para> - Niemand übernimmt Verantwortung für irgendetwas oder jegliche - Schäden, die durch diese Dokumentation entstehen. -</para> -</formalpara> - -<formalpara> -<title>Kabel für die G400</title> -<para> - Der vierte Pin des CRTC2-Steckers liefert das Composite Video-Signal. - Erde liegt am sechsten, siebten und achten Pin. - (Informationen von Balázs Rácz) -</para> -</formalpara> - -<formalpara> -<title>Kabel für die G450</title> -<para> - Der erste Pin des CRTC2-Steckers liefert - das Composite Video-Signal. Erde liegt am fünften, sechsten, siebten und - fünfzehnten (5, 6, 7, 15) Pin. (Information von Balázs Kerekes) -</para> -</formalpara> -</sect2> - -<sect2 id="tv-out_matrox_g450"> -<title>Matrox G450/G550-Karten</title> -<para> - Unterstützung für den TV-Ausgang dieser Karten wurde erst - kürzlich implementiert und ist noch nicht in den Standardkerneln - enthalten. Momentan kann das <emphasis role="bold">mga_vid</emphasis>-Modul - nicht benutzt werden, wenn ich recht informiert bin, da der G450/G550-Treiber - nur in einer Konfiguration arbeitet: Der erste CRTC-Chip (mit den vielen - Features) am ersten Display (meistens der Monitor), und der zweite CRTC - (kein <emphasis role="bold">BES</emphasis> - Erläuterungen zum BES gibts - in der G400-Sektion oben) am Fernseher. - Somit kannst du momentan nur den <emphasis>fbdev</emphasis>-Ausgabetreiber von - <application>MPlayer</application> benutzen. -</para> - -<para> - Der erste CRTC kann momentan nicht an den zweiten Ausgang umgeleitet - werden. Der Author des matroxfb-Kernelmoduls, Petr Vandrovec, wird auch das - irgendwann unterstützen, indem die Ausgabe des ersten CRTC auf beiden - Ausgängen angezeigt wird, wie es momentan auch für die G400 - empfohlen wird (siehe oben). -</para> - -<para> - Der dafür benötigte Kernelpatch und eine detaillierte Anleitung - kann auf <ulink url="http://www.bglug.ca/matrox_tvout/"/> gefunden werden. -</para> -</sect2> - - -<sect2 id="tvout-ati"> -<title>ATI-Karten</title> - -<formalpara> -<title>EINLEITUNG</title> -<para> - Momentan möchte ATI keinen einzigen ihrer TV-Ausgabe-Chips unter - Linux unterstützen, da sie die Macrovision-Technologie lizensiert - haben. -</para> -</formalpara> - -<itemizedlist> -<title>STATUS DER ATI-TV-AUSGABEUNTERSTÜTZUNG UNTER LINUX</title> -<listitem><para> - <emphasis role="bold">ATI Mach64</emphasis>: - Von <ulink url="http://gatos.sf.net">GATOS</ulink> unterstützt. -</para></listitem> -<listitem><para> - <emphasis role="bold">ASIC Radeon VIVO</emphasis>: - Von <ulink url="http://gatos.sf.net">GATOS</ulink> unterstützt. -</para></listitem> -<listitem><para> - <emphasis role="bold">Radeon</emphasis> und <emphasis role="bold">Rage128</emphasis>: - Von <application>MPlayer</application> unterstützt! - Lies die <link linkend="vesa">VESA-Treiber-</link> und - <link linkend="vidix">VIDIX</link>-Sektionen. -</para></listitem> -<listitem><para> - <emphasis role="bold">Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</emphasis>: - Von <ulink url="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">atitvout</ulink> - unterstützt. -</para></listitem> -</itemizedlist> - -<para> - Verwende bei anderen Karten einfach den - <link linkend="vesa">VESA-Treiber</link> - ohne VIDIX. Dafür brauchst du aber eine schnelle CPU. -</para> - -<para> - Nur eines musst du tun - <emphasis role="bold">das TV-Kabel vor dem Booten - eingesteckt haben</emphasis>, da das BIOS sich nur einmal während der - POST-Prozedur initialisiert. -</para> -</sect2> - - -<sect2 id="tvout-nvidia"> -<title>nVidia</title> -<para> - Zuerst musst du die Closed-Source-Treiber von <ulink url="http://nvidia.com"/> - herunterladen. Ich werde Installation und Konfiguration nicht im Detail - beschreiben, da dies außerhalb der Aufgabe dieses Dokuments liegt. -</para> - -<para> - Nachdem du sichergestellt hast, dass XFree86, XVideo und die - 3D-Beschleunigung funktionieren, ändere die <filename>XF86Config</filename>, - und passe das folgende Beispiel deiner Karte an: - -<programlisting> -Section "Device" - Identifier "GeForce" - VendorName "ASUS" - BoardName "nVidia GeForce2/MX 400" - Driver "nvidia" - #Option "NvAGP" "1" - Option "NoLogo" - Option "CursorShadow" "on" - - Option "TwinView" - Option "TwinViewOrientation" "Clone" - Option "MetaModes" "1024x768,640x480" - Option "ConnectedMonitor" "CRT, TV" - Option "TVStandard" "PAL-B" - Option "TVOutFormat" "Composite" -EndSection -</programlisting> -</para> - -<para> - Natürlich besteht der wichtige Teil aus den TwinView-Optionen. -</para> -</sect2> - -<sect2 id="tvout-neomagic"> -<title>NeoMagic</title> -<para> - Der NeoMagic-Chip befindet sich auf zahlreichen Laptops, einige von ihnen - sind mit einen einfachen analogen TV-Encoder ausgestattet, einige besitzen - einen fortschrittlicheren. -<itemizedlist> -<listitem><para> - <emphasis role="bold">Analoger Encoder-Chip</emphasis>: - Es wurde berichtet, dass ein zuverlässiger TV-Ausgang mittels - <option>-vo fbdev</option> oder <option>-vo fbdev2</option> - erreicht werden kann. - Du musst vesafb in deinen Kernel compiliert haben und der - Kernel-Befehlszeile folgende Parameter übergeben: - <option>append="video=vesafb:ywrap,mtrr" vga=791</option>. - Du solltest <application>X</application> starten, dann in den - Consolen-Modus z.B. mit - <keycombo><keycap>STRG</keycap><keycap>ALT</keycap><keycap>F1</keycap></keycombo> wechseln. - Misslingt der Start von <application>X</application> vor dem von - <application>MPlayer</application> in der Console, wird das Video - langsam und abgehackt (Erklärungen sind willkommen). - Logge dich auf deiner Konsole ein und initialisiere dann folgenden Befehl: - - <screen>clear; mplayer -vo fbdev -zoom -cache 8192 dvd://</screen> - - Jetzt solltest du den Film im Konsolen-Modus laufen sehen. - Er wird etwa die Hälfte des LCD-Bildschirms deines Laptops ausfüllen. - Um auf TV zu wechseln, drücke dreimal - <keycombo><keycap>Fn</keycap><keycap>F5</keycap></keycombo>. - Getestet auf einem Tecra 8000, 2.6.15 Kernel mit vesafb, ALSA v1.0.10. -</para></listitem> -<listitem><para> - <emphasis role="bold">Chrontel 70xx Encoder-Chip</emphasis>: - Zu finden im IBM Thinkpad 390E und möglicherweise anderen Thinkpads oder - Notebooks. - </para><para> - Du musst <option>-vo vesa:neotv_pal</option> für PAL oder - <option>-vo vesa:neotv_ntsc</option> für NTSC verwenden. - Es wird eine TV-Output-Funktion in folgenden 16bpp und 8bpp-Modi - zur Verfügung stellen: - </para> - <itemizedlist> - <listitem><para>NTSC 320x240, 640x480 und evtl. auch 800x600.</para></listitem> - <listitem><para>PAL 320x240, 400x300, 640x480, 800x600.</para></listitem> - </itemizedlist> - <para>Der Modus 512x384 wird im BIOS nicht unterstützt. Du musst das Bild - auf eine andere Auflösung skalieren, um die TV-Ausgabe zu aktivieren. - Wenn du auf dem Schirm ein Bild in 640x480 oder in 800x600 siehst, jedoch nicht - in 320x240 oder einer kleineren Auflösung, musst du zwei Tabellen in - <filename>vbelib.c</filename> ersetzen. - Siehe Funktion vbeSetTV für Details. Bitte kontaktiere in diesem Fall den Autor. - </para> - <para> - Bekanntes Problem: Nur VESA, keine weiteren Schalter wie Helligkeit, Kontrast, - Blacklevel, Flimmerfilter sind implementiert. - </para> -</listitem> -</itemizedlist> -</para> -</sect2> -</sect1> - -</chapter> |