mirror of
https://github.com/mpv-player/mpv
synced 2024-12-24 07:42:17 +00:00
a6f37a41f4
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20540 b3059339-0415-0410-9bf9-f77b7e298cf2
226 lines
9.0 KiB
XML
226 lines
9.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- synced with r17322 -->
|
||
<!-- Opiekun: Cobra -->
|
||
<chapter id="tv">
|
||
<title>TV</title>
|
||
|
||
<sect1 id="tv-input" xreflabel="TV input">
|
||
<title>WejĹcie TV</title>
|
||
|
||
<para>
|
||
Sekcja ta opisuje jak <emphasis role="bold">oglÄ
daÄ/nagrywaÄ obraz
|
||
za pomocÄ
tunera TV kompatybilnego z V4L</emphasis>. Zajrzyj do strony man
|
||
by zobaczyÄ opis opcji TV i klawiszy sterujÄ
cych.
|
||
</para>
|
||
|
||
|
||
<sect2 id="tv-compilation">
|
||
<title>Kompilacja</title>
|
||
|
||
<procedure>
|
||
<step><para>
|
||
Najpierw musisz przekompilowaÄ. <filename>./configure</filename> wykryje
|
||
automatycznie nagĹĂłwki jÄ
dra zwiÄ
zane z V4L i obecnoĹÄ urzÄ
dzeĹ
|
||
<filename>/dev/video*</filename>. JeĹli istniejÄ
, obsĹuga TV zostanie
|
||
wbudowana (zobacz wynik dziaĹania <filename>./configure</filename>).
|
||
</para></step>
|
||
<step><para>
|
||
Upewnij siÄ, Ĺźe TwĂłj tuner dziaĹa z innymi programami do obsĹugi TV pod
|
||
Linuksem, na przykĹad <application>XawTV</application>.
|
||
</para></step>
|
||
</procedure>
|
||
</sect2>
|
||
|
||
<sect2 id="tv-tips">
|
||
<title>WskazĂłwki uĹźytkowania</title>
|
||
<para>
|
||
Kompletna lista opcji dostÄpna jest na stronie man.
|
||
Tu jest tylko kilka wskazĂłwek:
|
||
</para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
UĹźywaj opcji <option>channels</option>. PrzykĹad
|
||
<screen>-tv channels=26-MTV1,23-TV2</screen>
|
||
WyjaĹnienie: uĹźywajÄ
c tej opcji, tylko kanaĹy 23 i 26 bÄdÄ
dostÄpne oraz pojawi
|
||
siÄ fajny napis na OSD przy zmianie kanaĹu, wyĹwietlajÄ
cy jego nazwÄ.
|
||
OdstÄpy w nazwie kanaĹu muszÄ
zostaÄ zastÄ
pione znakiem "_".
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
UĹźywaj rozsÄ
dnych rozmiarĂłw obrazu. Rozmiary obrazu wynikowego powinny
|
||
byÄ podzielne przez 16.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
JeĹli nagrywasz obraz video o pionowej rozdzielczoĹci wiÄkszej niĹź poĹowa
|
||
rozdzielczoĹci peĹnej (np. 288 dla PAL lub 240 dla NTSC), wtedy 'ramki'
|
||
ktĂłre otrzymasz bÄdÄ
tak naprawdÄ parami poprzeplatanych (interleaved) pĂłl.
|
||
W zaleĹźnoĹci od tego, co chcesz zrobiÄ ze strumieniem wideo, moĹźesz go zostawiÄ
|
||
w takiej formie, uĹźyÄ destrukcyjnego usuwania przeplotu (deinterlacing),
|
||
albo rozdzieliÄ pary na pojedyncze pola.
|
||
</para>
|
||
<para>
|
||
W przeciwnym wypadku dostaniesz
|
||
film, ktĂłry jest znieksztaĹcony w trakcie scen o duĹźej dynamice, a wskazana
|
||
szybkoĹÄ transmisji (bitrate) prawdopodobnie nie bÄdzie nawet mogĹa byÄ
|
||
utrzymana przez kontroler szybkoĹci (bitrate controller),
|
||
poniewaĹź artefakty przeplotu tworzÄ
duĹźe iloĹci szczegĂłĹĂłw,
|
||
a co za tym idzie, potrzebujÄ
duĹźej przepustowoĹci. MoĹźesz wĹÄ
czyÄ
|
||
usuwanie przeplotu za pomocÄ
opcji <option>-vf pp=TYP_DEINT</option>. Zwykle
|
||
<option>pp=lb</option> spisuje siÄ dobrze, ale to kwestia gustu. Poczytaj o
|
||
innych algorytmach usuwania przeplotu na stronie man i zacznij eksperymentowaÄ.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
Usuwaj "martwe miejsca". Kiedy nagrywasz video, sÄ
pewnie miejsca przy brzegach,
|
||
ktĂłre sÄ
zazwyczaj czarne lub zawierajÄ
szum. Jak siÄ Ĺatwo domyĹliÄ,
|
||
niepotrzebnie wymagajÄ
wiÄkszej przepustowoĹci (dokĹadniej, to nie same czarne
|
||
miejsca, lecz ostre przejĹcia pomiÄdzy czarnym kolorem i jaĹniejszym obrazem
|
||
video, ale nie jest to akurat takie waĹźne). Zanim zaczniesz nagrywaÄ, ustaw
|
||
argumenty opcji <option>crop</option> by wszystkie "Ĺmieci" na brzegach zostaĹy
|
||
wyciÄte. OczywiĹcie nie zapomnij o utrzymaniu prawidĹowych wymiarĂłw obrazu.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
UwaĹźaj na obciÄ
Ĺźenie CPU. Nie powinno ono przekroczyÄ granicy 90% przez
|
||
wiÄkszoĹÄ czasu. JeĹli masz duĹźy bufor nagrywania,
|
||
<application>MEncoder</application> moĹźe przetrwaÄ przeciÄ
Ĺźenie przez najwyĹźej
|
||
kilka sekund i nic wiÄcej. Lepiej wiÄc wyĹÄ
czyÄ wszystkie trĂłjwymiarowe
|
||
wygaszacze OpenGL i inne tego typu bajery.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
Nie mieszaj z zegarem systemowym. <application>MEncoder</application> korzysta z
|
||
niego do synchronizacji A/V. JeĹli zmodyfikujesz zegar systemowy (zwĹaszcza
|
||
wstecz), <application>MEncoder</application> siÄ pogubi i utraci klatki. Jest to
|
||
bardzo waĹźna sprawa jeĹli jesteĹ podpiÄty do sieci i uĹźywasz do synchronizacji
|
||
czasu róşnych programĂłw typu NTP. Musisz wyĹÄ
czyÄ NTP w trakcie nagrywania,
|
||
jeĹli chcesz, by byĹo ono przeprowadzone niezawodnie.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
Nie zmieniaj opcji <option>outfmt</option>, chyba, Ĺźe wiesz co robisz lub Twoja
|
||
karta/sterownik naprawdÄ nie obsĹuguje ustawienia domyĹlnego (przestrzeĹ
|
||
kolorĂłw YV12). W poprzednich wersjach
|
||
<application>MPlayera</application>/<application>MEncodera</application>
|
||
konieczne byĹo podanie formatu wyjĹcia.
|
||
Ten problem powinien byÄ rozwiÄ
zany w aktualnych wydaniach i opcja
|
||
<option>outfmt</option> nie jest juĹź wymagana, a ustawienie domyĹlne powinno
|
||
pasowaÄ kaĹźdemu. Na przykĹad, jeĹli nagrywasz do formatu DivX uĹźywajÄ
c
|
||
<systemitem class="library">libavcodec</systemitem> i podasz opcjÄ <option>outfmt=RGB24</option>
|
||
aby zwiÄkszyÄ jakoĹÄ nagrywanego obrazu, zostanie on i tak później z
|
||
powrotem przekonwertowany do YV12, wiÄc jedyne, co osiÄ
gniesz, to ogromna
|
||
strata mocy obliczeniowej.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
By uĹźyÄ przestrzeni kolorĂłw I420 (<option>outfmt=i420</option>), musisz dodaÄ
|
||
opcjÄ <option>-vc rawi420</option> z powodu konfliktu fourcc z kodekiem Intel
|
||
Indeo.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
Jest kilka sposobĂłw na nagrywanie audio. MoĹźesz nagrywaÄ dĹşwiÄk za pomocÄ
Twojej
|
||
karty dĹşwiÄkowej korzystajÄ
c z zewnÄtrznego kabla pomiÄdzy kartÄ
video i
|
||
wejĹciem liniowym lub korzystajÄ
c z wbudowanego w ukĹad bt878 przetwornika ADC.
|
||
W tym drugim przypadku musisz zaĹadowaÄ sterownik
|
||
<emphasis role="bold">btaudio</emphasis>. Przeczytaj plik
|
||
<filename>linux/Documentation/sound/btaudio</filename> (w drzewie jÄ
dra, a nie
|
||
<application>MPlayera</application>) by dowiedzieÄ siÄ jak korzystaÄ z tego
|
||
sterownika.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
JeĹli <application>MEncoder</application> nie moĹźe otworzyÄ urzÄ
dzenia
|
||
dĹşwiÄkowego, upewnij siÄ, Ĺźe jest ono rzeczywiĹcie dostÄpne. ZdarzajÄ
siÄ
|
||
problemy z serwerami dĹşwiÄku typu aRts (KDE) lub ESD (GNOME). JeĹli masz
|
||
kartÄ full-duplex (prawie wszystkie przyzwoite karty dostÄpne obecnie obsĹugujÄ
|
||
tÄ funkcjÄ) i korzystasz z KDE, sprĂłbuj zaznaczyÄ opcjÄ "DziaĹanie w peĹni
|
||
dupleksowe" ("full duplex") w konfiguracji serwera dĹşwiÄku.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect2>
|
||
|
||
|
||
<sect2 id="tv-examples">
|
||
<title>PrzykĹady</title>
|
||
|
||
<informalexample>
|
||
<para>
|
||
Puste wyjĹcie, do AAlib :)
|
||
<screen>
|
||
mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://<!--
|
||
--></screen>
|
||
</para>
|
||
</informalexample>
|
||
|
||
<informalexample>
|
||
<para>
|
||
WejĹcie ze standardowego V4L:
|
||
<screen>
|
||
mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://<!--
|
||
--></screen>
|
||
</para>
|
||
</informalexample>
|
||
|
||
<informalexample>
|
||
<para>
|
||
Bardziej skomplikowany przykĹad. KaĹźe on
|
||
<application>MEncoderowi</application> nagraÄ peĹen
|
||
obraz PAL, wykadrowaÄ go i usunÄ
Ä przeplot korzystajÄ
c z algorytmu
|
||
liniowego zlewania (linear blend). Audio jest kompresowane ze staĹÄ
|
||
szybkoĹciÄ
rĂłwnÄ
64kbps, korzystajÄ
c z kodeka LAME. To ustawienie jest
|
||
dobre do nagrywania filmĂłw.
|
||
<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>wyjscie.avi</replaceable> tv://
|
||
</screen>
|
||
</para>
|
||
</informalexample>
|
||
|
||
<informalexample>
|
||
<para>
|
||
Ten przykĹad dodatkowo przeskaluje obraz do 384x288 i skompresuje video
|
||
z szybkoĹciÄ
350kbps w trybie wysokiej jakoĹci. Opcja <option>vqmax</option>
|
||
uwalnia kwantyzator i pozwala kompresorowi video na osiÄ
gniÄcie tak
|
||
niskiej szybkoĹci nawet kosztem jakoĹci obrazu. MoĹźe byÄ to uĹźywane do
|
||
nagrywania dĹugich seriali TV, kiedy jakoĹÄ obrazu nie jest tak waĹźna.
|
||
<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>wyjscie.avi</replaceable> tv://
|
||
</screen>
|
||
Jest rĂłwnieĹź moĹźliwe podanie mniejszych wymiarĂłw obrazu w opcji
|
||
<option>-tv</option> i pominiÄcie programowego skalowania, ale to podejĹcie
|
||
wykorzystuje maksymalnÄ
iloĹÄ dostÄpnych informacji i jest trochÄ bardziej
|
||
odporne na szum. Z powodu ograniczeĹ sprzÄtowych UkĹady bt878 mogÄ
stosowaÄ
|
||
uĹrednianie pikseli jedynie w kierunku poziomym.
|
||
</para>
|
||
</informalexample>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
</chapter> |