mirror of
https://github.com/mpv-player/mpv
synced 2024-12-22 06:42:03 +00:00
3395d0b0cd
r24082: Explicitly mention the need to rebuild MPlayer after installing AMR libs. r24087: Reorder installation requirements list, wording/spelling. r24604: Teletext documentation r24646: add -lavfdopts format option r24655: analyzeduration option for lavf demuxer r24656: AVI can do video stream switching, too git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24660 b3059339-0415-0410-9bf9-f77b7e298cf2
307 lines
13 KiB
XML
307 lines
13 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- in sync with r24604 -->
|
|
<!-- missing cosmetic commit 21537 -->
|
|
<chapter id="tv">
|
|
<title>TV</title>
|
|
|
|
<sect1 id="tv-input" xreflabel="TV input">
|
|
<title>TV-Input</title>
|
|
|
|
<para>
|
|
Dieser Abschnitt behandelt das <emphasis role="bold">Anschauen/Grabben von einem V4L-kompatiblen TV-Empfänger</emphasis>.
|
|
Siehe Manpage für eine Beschreibung der TV-Optionen und Tastensteuerungen.
|
|
</para>
|
|
|
|
|
|
<sect2 id="tv-compilation">
|
|
<title>Compilierung</title>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>
|
|
Zuerst musst du neu compilieren. <filename>./configure</filename> wird die Kernelheader
|
|
vom v4l-Kram und die Existenz der <filename>/dev/video*</filename>-Einträge
|
|
automatisch erkennen und TV-Unterstützung wird eingebaut werden
|
|
(siehe Ausgaben von <filename>./configure</filename>).
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Stelle sicher, dass dein Empfänger mit anderer TV-Software wie zum Beispiel
|
|
<application>XawTV</application> unter Linux läuft.
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
</sect2>
|
|
|
|
<sect2 id="tv-tips">
|
|
<title>Tipps zum Gebrauch</title>
|
|
<para>
|
|
Die vollständige Liste der Optionen ist in der Manpage verfügbar.
|
|
Hier sind nur ein paar Tipps:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Benutze die Option <option>channels</option>. Ein Beispiel:
|
|
<screen>-tv channels=26-MTV1,23-TV2</screen>
|
|
Erklärung: Durch Verwendung dieser Option sind nur die Kanäle 26 und 23 in Gebrauch,
|
|
und es wird beim Kanalwechsel einen netten OSD-Text geben, der den Namen des Kanals
|
|
anzeigt. Leerzeichen im Kanalnamen müssen durch das Zeichen "_" ersetzt werden.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Wähle vernünftige Bildabmessungen. Die Abmessungen des resultierenden Bildes sollten durch
|
|
16 teilbar sein.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Wenn du das Video bei einer vertikalen Auflösung höher als halb der vollen
|
|
Auflösung einfängst (z.B. 288 für PAL oder 240 für NTSC), dann werden die
|
|
'Frames', die du erhältst, wirklich jeweils ausgelassene Paare von Feldern sein.
|
|
Je nach dem, was du mit dem Video anfängst, kannst du es in dieser Form belassen,
|
|
(zerstörend) deinterlacen oder die Paare zu einzelnen Feldern machen.
|
|
</para>
|
|
<para>
|
|
Ansonsten wirst du einen Film erhalten, der während schnellbewegten Szenen gestört ist,
|
|
und die Bitratenkontrolle wird vermutlich nicht in der Lage sein, die angegebene Bitrate
|
|
einzuhalten, da die Interlacing-Artefakte hohe Details produzieren und daher eine Menge
|
|
Bandbreite kosten. Du kannst Deinterlacing mit <option>-vf pp=DEINT_TYPE</option>
|
|
aktivieren. Normalerweise leistet <option>pp=lb</option> gute Arbeit, aber das ist
|
|
Geschmackssache. Schaue nach anderen Deinterlacing-Algorithmen im Handbuch und versuche
|
|
es mit denen.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Schneide tote Bereiche ab. Wenn du Video aufnimmst, sind die Bereiche an den Rändern
|
|
normalerweise schwarz oder enthalten Rauschen. Diese wiederum verbrauchen unnötige
|
|
Bandbreite. Genauer gesagt sind es nicht die schwarzen Bereiche selbst, sondern
|
|
die scharfen Übergänge zwischen dem schwarzen und dem helleren Videobild, die das tun.
|
|
Aber das ist für den Moment nicht so wichtig. Bevor du mit der Aufnahme beginnst,
|
|
passe alle Argumente der Option <option>crop</option> so an, dass der ganze Müll
|
|
an den Rändern abgeschnitten wird. Nochmal, vergiss nicht, die resultierenden
|
|
Abmessungen vernünftig zu halten.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Achte auf CPU-Load. Es sollte die 90%-Grenze die meiste Zeit über nicht überschreiten.
|
|
Wenn du einen großen Aufnahmepuffer hast, kann <application>MEncoder</application>
|
|
eine Überlastung für ein paar Sekunden überstehen, aber nicht mehr.
|
|
Es ist besser, 3D-OpenGL-Bildschirmschoner und ähnlichen Kram abzustellen.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Spiele nicht mit der Systemuhr herum. <application>MEncoder</application> benutzt
|
|
sie für A/V-Synchronisation. Wenn du die Systemuhr anpasst (vor allem rückwärtig),
|
|
verwirrt dies <application>MEncoder</application>, und du wirst Frames verlieren.
|
|
Das ist ein wichtiger Sachverhalt, wenn du mit einem Netzwerk verbunden bist und
|
|
Zeitsynchronisationssoftware wie NTP verwendest. Du musst NTP während des Aufnahmeprozesses
|
|
ausschalten, wenn du zuverlässig aufnehmen möchtest.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Ändere das <option>outfmt</option> nicht, es sei denn, du weißt, was du tust, oder
|
|
deine Karte/Treiber den Standard (YV12-Farbraum) wirklich nicht unterstützt.
|
|
In älteren Versionen von <application>MPlayer</application>/<application>MEncoder</application>
|
|
war es notwendig, das Ausgabeformat anzugeben. Diese Sache sollte in aktuellen Releases
|
|
behoben sein, und <option>outfmt</option> wird nicht weiter benötigt. Die Standardeinstellung
|
|
genügt den meisten Zwecken. Zum Beispiel, wenn du mit
|
|
<systemitem class="library">libavcodec</systemitem> nach DivX aufnimmst und
|
|
<option>outfmt=RGB24</option> angibst, um die Qualität der aufgenommenen Bilder zu erhöhen,
|
|
so wird das aufgenommene Bild später tatsächlich zurück zu YV12 konvertiert.
|
|
Die einzige Sache, die du erreichst, ist eine massive Verschwendung von CPU-Power.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Um den Farbraum I420 anzugeben (<option>outfmt=i420</option>), musst du die Option
|
|
<option>-vc rawi420</option> hinzufügen. Das liegt an einem Konflikt mit einem
|
|
Intel Indeo Videocodec.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Es gibt viele Möglichkeiten, Audio aufzunehmen. Du kannst den Ton grabben entweder
|
|
mit deiner Soundkarte über ein externes Kabel zwischen Videokarte und Line-In oder
|
|
durch Benutzung des eingebauten ADC im bt878-Chip. In letzterem Falle musst den den
|
|
Treiber <emphasis role="bold">btaudio</emphasis> laden. Lies die Datei
|
|
<filename>linux/Documentation/sound/btaudio</filename> (im Kernel-Tree, nicht
|
|
in dem von <application>MPlayer</application>) für ein paar Anweisungen,
|
|
wie dieser Treiber verwendet wird.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Wenn <application>MEncoder</application> das Audiogerät nicht öffnen kann,
|
|
stelle sicher, dass es wirklich verfügbar ist. Es kann Ärger geben mit Soundservern
|
|
wie aRts (KDE) oder ESD (GNOME). Wenn du eine Vollduplex-Soundkarte hast
|
|
(fast jede vernünftige Karte unterstützt dies heutzutage) und du KDE laufen hast,
|
|
probiere die Option "Vollduplex" im Eigenschaftenmenü des Soundservers.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="tv-examples">
|
|
<title>Beispiele</title>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Dummy-Ausgabe zu AAlib :)
|
|
<screen>mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Input von Standard-V4L:
|
|
<screen>mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://</screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Ein gehobenes Beispiel. Dies sorgt dafür, dass <application>MEncoder</application>
|
|
das volle PAL-Bild einfängt, die Ränder abschneidet und einen Deinterlacer mit einem linearen
|
|
Blendalgorithmus auf das Bild anwendet. Der Ton wird mit dem LAME-Codec bei konstanter Bitrate
|
|
von 64kbps komprimiert. Diese Einstellungen eigenen sich für das Einfangen von Filmen.
|
|
<screen>
|
|
mencoder -tv driver=v4l:width=768:height=576 \
|
|
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
|
|
-oac mp3lame -lameopts cbr:br=64 \
|
|
-vf crop=720:544:24:16,pp=lb -o <replaceable>output.avi</replaceable> tv://<!--
|
|
--></screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Dies wird zusätzlich die Bildabmessungen auf 384x288 ändern und das Video mit
|
|
einer Bitrate von 250kbps im hochqualitativen Modus encodieren.
|
|
Die Option vqmax lockert den Quantisierungsparameter und erlaubt dem Videokompressor, eine
|
|
sehr niedrige Bitrate zu erlangen, sogar auf Kosten der Qualität. Dies kann verwendet werden
|
|
für das Einfangen von langen TV-Serien, wo die Videoqualität nicht so wichtig ist.
|
|
<screen>
|
|
mencoder -tv driver=v4l:width=768:height=576 \
|
|
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
|
|
-oac mp3lame -lameopts cbr:br=48 \
|
|
-vf crop=720:540:24:18,pp=lb,scale=384:288 -sws 1 -o <replaceable>output.avi</replaceable> tv://<!--
|
|
--></screen>
|
|
Es ist außerdem möglich, in der Option <option>-tv</option> kleinere Bildabmessungen
|
|
anzugeben und die Softwareskalierung auszulassen, aber dieser Ansatz nutzt die maximal
|
|
verfügbaren Informationen und ist ein wenig resistenter gegen Störungen. Die bt8x8-Chips
|
|
können das Mitteln der Pixel auf Grund einer Hardwarebeschränkung nur in horizontaler
|
|
Richtung durchführen.
|
|
</para>
|
|
</informalexample>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
|
|
|
|
|
<sect1 id="tv-teletext">
|
|
<title>Videotext</title>
|
|
|
|
<para>Videotext ist momentan nur in MPlayer verfügbar, für die Treiber v4l und v4l2.</para>
|
|
|
|
<sect2 id="tv-teletext-implementation-notes">
|
|
<title>Anmerkungen zur Implementierung</title>
|
|
|
|
<para>
|
|
<application>MPlayer</application> unterstützt regulären Text, Grafiken und Navigationslinks.
|
|
Leider werden farbige Seiten momentan nicht vollständig unterstützt - alle Seiten erscheinen
|
|
in Graustufen. Untertitelseiten (auch bekannt als "Closed Captions") werden auch unterstützt.
|
|
</para>
|
|
|
|
<para>
|
|
<application>MPlayer</application> beginnt beim Beginn vom TV-Empfang damit, alle Videoseiten
|
|
zwischenzuspeichern, damit du nicht warten musst, bis die gewünschte Seite geladen ist.
|
|
</para>
|
|
|
|
<para>
|
|
Anmerkung: Benutzung von Videotext mit <option>-vo xv</option> verursacht komische Farben.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="tv-teletext-usage">
|
|
<title>Videotext verwenden</title>
|
|
|
|
<para>
|
|
Um Decodierung von Videotext zu aktivieren, musst du das VBI-Gerät angeben,
|
|
von dem die Videotextdaten empfangen werden (üblicherweise
|
|
<filename>/dev/vbi0</filename> unter Linux). Dies kann erreicht werden durch Angabe
|
|
der Option <option>tdevice</option> in deiner Konfigurationsdatei, siehe unten:
|
|
<screen>tv=tdevice=/dev/vbi0</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Du musst möglicherweise den Videotextsprachcode für dein Land angeben.
|
|
Um dir alle Sprachcodes anzeigen zu lassen, verwende
|
|
<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>-1</replaceable></screen>
|
|
Hier ist ein Beispiel für russisch:
|
|
<screen>tv=tdevice=/dev/vbi0:tlang=<replaceable>33</replaceable></screen>
|
|
</para>
|
|
|
|
<para>
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="tv-teletext-hotkeys">
|
|
<title>Videotext-Hotkeys</title>
|
|
|
|
<informaltable frame="all">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Taste</entry>
|
|
<entry>Beschreibung</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>X</entry>
|
|
<entry>Videotextanzeige an-/ausschalten</entry>
|
|
</row>
|
|
<row>
|
|
<entry>C</entry>
|
|
<entry>Durch die verschiedenen Zeichnungsmodi wechseln (deckend, transparent,
|
|
umgekehrt deckend, umgekehrt transparent</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Links/Rechts</entry>
|
|
<entry>Go to previous/next teletext page</entry>
|
|
</row>
|
|
<row>
|
|
<entry>BildHoch/BildRunter</entry>
|
|
<entry>Gehe zur nächsten/vorigen Videotextseite</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ziffern</entry>
|
|
<entry>Gib die Seitenzahl an, zu der gesprungen werden soll</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
</chapter> |