Files
mpv/DOCS/xml/hu/mencoder.xml
T
gabrov c9f8f44dbe synced with 1.70
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15617 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-06-02 20:28:43 +00:00

2980 lines
116 KiB
XML

<?xml version="1.0" encoding="iso-8859-2"?>
<!-- synced to 1.70 -->
<chapter id="mencoder">
<title>Kódolás a <application>MEncoder</application>rel</title>
<para>
A <application>MEncoder</application> összes használható kapcsolójához és
a példákhoz kérlek nézd meg a man oldalt. Mindennapi példákért és a számos
kódolási paraméter bõvebb leírásáért olvasd el a
<ulink url="../../tech/encoding-tips.txt">kódolási tippeket</ulink>, amiket
számos levelezési lista szálból gyûjtöttünk össze az MPlayer-users-rõl.
Kereshetsz az
<ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">archívumban</ulink>
a rengeteg beszélgetés között, melyek a <application>MEncoder</application>rel
történõ kódolást több szempontból vizsgálják és kiemelik a problémákat vele
kapcsolatban.
</para>
<sect1 id="menc-feat-mpeg4">
<title>Két menetes MPEG-4 (&quot;DivX&quot;) kódolás</title>
<para>
A név abból a ténybõl ered, hogy ez a módszer a fájlt <emphasis>kétszer</emphasis>
kódolja át. Az elsõ kódolás (szinkronizációs lépés) létrehoz pár ideiglenes,
néhány megabájtos fájlt (<filename>*.log</filename>), ezeket ne töröld le
még (az AVI-t letörölheted). A második lépésben, a két menetes kimenet
fájl lesz létrehozva, az ideiglenes fájlok bitrátájának felhasználásával. Az
eredmény fájlnak sokkal jobb lesz a képminõsége. Ha most hallasz errõl elõször,
nézz meg pár a neten elérhetõ leírást.
</para>
<example>
<title>audió sáv másolása</title>
<para>
Egy DVD két menetes kódolása MPEG-4 (&quot;DivX&quot;) AVI-ba az audió sáv
másolásával.
<screen>
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o <replaceable>movie.avi</replaceable>
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o <replaceable>movie.avi</replaceable>
</screen>
</para>
</example>
<example>
<title>audió sáv kódolása</title>
<para>
Egy DVD két menetes kódolása MPEG-4 (&quot;DivX&quot;) AVI-ba az audió sáv
MP3-ba alakításával.
<screen>
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac mp3lame -lameopts vbr=3 -o <replaceable>movie.avi</replaceable>
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac mp3lame -lameopts vbr=3 -o <replaceable>movie.avi</replaceable>
</screen>
</para>
</example>
</sect1>
<sect1 id="menc-feat-mpeg">
<title>Kódolás MPEG formátumba</title>
<para>
A <application>MEncoder</application> létre készíteni MPEG (MPEG-PS) formátumú
kimeneti fájlokat. Valószínûleg csak a
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
<emphasis>mpeg1video</emphasis> codec-jével hasznos ez, mert a lejátszók - az
<application>MPlayer</application> kivételével - MPEG-1 videó és MPEG-1 layer 2 (MP2)
audió folyamokra számítanak az MPEG fájlokban.
</para>
<para>
Ez a tulajdonság jelenleg nem túl hasznos, emellett valószínûleg tele van hibával,
de fontos, mert a <application>MEncoder</application> jelenleg nem tud
MPEG-1 layer 2 (MP2) audióba kódolni, amit minden más lejátszó vár az MPEG fájlokban.
</para>
<para>
A <application>MEncoder</application> kimeneti fájl formátumának megváltoztatásához
használd a <option>-of mpeg</option> kapcsolót.
</para>
<para>
Példa:
<screen>
mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy <replaceable>egyéb_kapcsolók</replaceable> <replaceable>media.avi</replaceable> -o <replaceable>output.mpg</replaceable>
</screen>
</para>
</sect1>
<sect1 id="menc-feat-rescale">
<title>Filmek átméretezése</title>
<para>
Gyakran szükséged lehet a videó képméretének átméretezésére. Ennek több oka
lehet: fájl méretének csökkentése, hálózati sávszélesség, stb. A legtöbb ember
akkor is végez átméretezést, amikor DVD-ket vagy SVCD-ket konvertál DivX AVI-ba.
Ha át szeretnél méretezni, olvasd el a <link linkend="aspect">képméret arányok megtartásáról</link>
szóló részt.
</para>
<para>
A méretezési eljárást a <literal>scale</literal> videó szûrõ végzi:
<option>-vf scale=<replaceable>szélesség</replaceable>:<replaceable>magasság</replaceable></option>.
A minõsége beállítható a <option>-sws</option> kapcsolóval.
Ha ez nincs megadva, akkor a <application>MEncoder</application> a 2: bicubic-et használja.
</para>
<para>
Használat:
<screen>
mencoder <replaceable>input.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4 -vf scale=640:480 -o <replaceable>output.avi</replaceable>
</screen>
</para>
</sect1>
<sect1 id="menc-feat-streamcopy">
<title>Stream másolás</title>
<para>
<application>MEncoder</application> kétféleképpen tudja kezelni a folyamokat:
<emphasis role="bold">kódolni</emphasis> vagy <emphasis role="bold">másolni</emphasis>
tudja õket. Ez a rész a <emphasis role="bold">másolásról</emphasis> szól.
</para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">Videó stream</emphasis> (<option>-ovc copy</option> kapcsoló):
szép dolgokat lehet vele csinálni :) Például FLI vagy VIVO vagy
MPEG-1 videót tenni (nem konvertálni!) AVI fájlba! Természetesen csak az
<application>MPlayer</application> tudja lejátszani az ilyen fájlokat :) Ennek
valószínûleg gyakorlati haszna nincs. Ésszerûbben: a videó stream másolása
hasznos lehet például ha csak az audió stream-et kell kódolni (például
tömörítetlen PCM-et MP3-ba).
</para></listitem>
<listitem><para>
<emphasis role="bold">Audió stream</emphasis> (<option>-oac copy</option> kapcsoló):
õszintén szólva... Bele lehet mixelni egy külsõ audió fájlt (MP3, WAV) a
kimeneti stream-be. Használd a
<option>-audiofile <replaceable>fájlnév</replaceable></option> kapcsolót
ehhez.
</para></listitem>
</itemizedlist>
</sect1>
<sect1 id="menc-feat-enc-libavcodec">
<title>Kódolás a <systemitem class="library">libavcodec</systemitem> codec családdal</title>
<para>
A <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
számos érdekes videó és audió formátumba történõ egyszerû kódolást biztosít.
A következõ codec-ekbe kódolhatsz (többé-kevésbé friss lista):
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>Codec neve</entry><entry>Leírás</entry></row>
</thead>
<tbody>
<row><entry>mjpeg</entry><entry>
Motion JPEG
</entry></row>
<row><entry>ljpeg</entry><entry>
Veszteségmentes JPEG
</entry></row>
<row><entry>h263</entry><entry>
H.263
</entry></row>
<row><entry>h263p</entry><entry>
H.263+
</entry></row>
<row><entry>mpeg4</entry><entry>
ISO szabvány MPEG-4 (DivX 5, XVID kompatibilis)
</entry></row>
<row><entry>msmpeg4</entry><entry>
Szabvány elõtti MPEG-4 variáns az MS-tõl, v3 (AKA DivX3)
</entry></row>
<row><entry>msmpeg4v2</entry><entry>
Szabvány elõtti MPEG-4 az MS-tõl, v2 (régi asf fájlokban használják)
</entry></row>
<row><entry>wmv1</entry><entry>
Windows Media Video, 1-es verzió (AKA WMV7)
</entry></row>
<row><entry>wmv2</entry><entry>
Windows Media Video, 2-es verzió (AKA WMV8)
</entry></row>
<row><entry>rv10</entry><entry>
egy régi RealVideo codec
</entry></row>
<row><entry>mpeg1video</entry><entry>
MPEG-1 videó
</entry></row>
<row><entry>mpeg2video</entry><entry>
MPEG-2 videó
</entry></row>
<row><entry>huffyuv</entry><entry>
veszteségmentes tömörítés
</entry></row>
<row><entry>asv1</entry><entry>
ASUS Video v1
</entry></row>
<row><entry>asv2</entry><entry>
ASUS Video v2
</entry></row>
<row><entry>ffv1</entry><entry>
az FFmpeg veszteségmentes videó codec-je
</entry></row>
</tbody>
</tgroup>
</informaltable>
Az elsõ oszlop a codec neveket tartalmazza, amit a <literal>vcodec</literal> opció után
kell megadni, például: <option>-lavcopts vcodec=msmpeg4</option>
</para>
<informalexample>
<para>
Egy példa MJPEG tömörítéssel:
<screen>mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen>
</para>
</informalexample>
</sect1>
<sect1 id="menc-feat-enc-images">
<title>Kódolás több bemeneti képfájlból (JPEG, PNG, TGA, SGI)</title>
<para>
A <application>MEncoder</application> képes egy vagy több JPEG, PNG vagy TGA fájlból
film létrehozására. Egy egyszerû framecopy-val MJPEG (Motion JPEG),
MPNG (Motion PNG) vagy MTGA (Motion TGA) fájlokat tud létrehozni.
</para>
<orderedlist>
<title>A folyamat leírása:</title>
<listitem><para>
A <application>MEncoder</application> <emphasis>dekódolja</emphasis> a bemeneti
képe(ke)t a <systemitem class="library">libjpeg</systemitem>-gel (ha PNG-ket
dekódol, akkor a <systemitem class="library">libpng</systemitem>-vel).
</para></listitem>
<listitem><para>
Ezután a <application>MEncoder</application> a dekódolt képeket a kiválasztott
videó tömörítõnek adja át (DivX4, XviD, FFmpeg msmpeg4, stb.).
</para></listitem>
</orderedlist>
<formalpara>
<title>Példák</title>
<para>
A <option>-mf</option> kapcsoló magyarázata a man oldalon található.
<informalexample>
<para>
Egy MPEG-4-es fájl létrehozása az aktuális könyvtárból található összes JPEG fájlból:
<screen>
mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o <replaceable>output.avi</replaceable>
</screen>
</para>
</informalexample>
<informalexample>
<para>
Egy MPEG-4 fájl létrehozása néhány JPEG fájlból az aktuális könyvtárban:
<screen>
mencoder mf://<replaceable>frame001.jpg,frame002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o <replaceable>output.avi</replaceable>
</screen>
</para>
</informalexample>
<informalexample>
<para>
Egy Motion JPEG (MJPEG) fájl készítése az aktuális könyvtár összes JPEG fájlából:
<screen>
mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o <replaceable>output.avi</replaceable>
</screen>
</para>
</informalexample>
<informalexample>
<para>
Egy tömörítetlen fájl létrehozása az aktuális könyvtár összes PNG fájlából:
<screen>
mencoder mf:// -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>output.avi</replaceable>
</screen>
</para>
</informalexample>
<note><para>
A szélességnek 4 egész többszörösének kell lennie, ez a RAW RGB AVI formátum megszorítása.
</para></note>
<informalexample>
<para>
Egy Motion PNG (MPNG) fájl létrehozása az aktuális könyvtár PNG fájlaiból:
<screen>
mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>output.avi</replaceable> <!--
--></screen>
</para>
</informalexample>
<informalexample>
<para>
Egy Motion TGA (MTGA) fájl létrehozása az aktuális könyvtár összes TGA fájlából:
<screen>
mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>output.avi</replaceable><!--
--></screen>
</para>
</informalexample>
</para>
</formalpara>
</sect1>
<sect1 id="menc-feat-extractsub">
<title>DVD felirat elmentése VOBsub fájlba</title>
<para>
A <application>MEncoder</application> képes a feliratok kiszedésére
a DVD-kbõl és elmentésére VOBsub formátumú fájlokba. Ezek két fájlból
állnak, <filename>.idx</filename> és <filename>.sub</filename> kiterjesztéssel,
és általában egy <filename>.rar</filename> archívba vannak becsomagolva.
Az <application>MPlayer</application> le tudja ezeket játszani a
<option>-vobsub</option> és a <option>-vobsubid</option> kapcsolókkal.
</para>
<para>
Meg kell adnod a kimeneti fájlok fájlnevét (az <filename>.idx</filename> vagy
<filename>.sub</filename> kiterjesztés nélkül) a
<option>-vobsubout</option> kapcsolóval és az ezen felirathoz tartozó
indexet a kimeneti fájlokban a <option>-vobsuboutindex</option>-szel.
</para>
<para>
Ha a bemenet nem DVD, akkor a <option>-ifo</option> kapcsolót kell
használnod ahhoz, hogy megadd, hogy <filename>.ifo</filename> fájl
szükséges a kimeneti <filename>.idx</filename> elkészítéséhez.
</para>
<para>
Ha a bemenet nem DVD és nincs <filename>.ifo</filename> fájlod,
a <option>-vobsubid</option> kapcsolót kell használnod, hogy megadd,
milyen nyelv id-t kell beletenni az <filename>.idx</filename> fájlba.
</para>
<para>
Mindkét esetben az éppen futó felirat hozzáíródik a <filename>.idx</filename>
és <filename>.sub</filename> fájlokhoz, amennyiben azok már léteznek. Így
ezeket le kell törölnöd, mielõtt nekiállnál.
</para>
<example>
<title>Két felirat másolása egy DVD-rõl két menetes kódolás közben</title>
<screen>
rm subtitles.idx subtitles.sub
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -vobsubout subtitles -vobsuboutindex 0 -sid 2
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -vobsubout subtitles -vobsuboutindex 1 -sid 5<!--
--></screen>
</example>
<example>
<title>Francia felirat másolása egy MPEG fájlból</title>
<screen>
rm subtitles.idx subtitles.sub
mencoder <replaceable>movie.mpg</replaceable> -ifo <replaceable>movie.ifo</replaceable> -vobsubout subtitles -vobsuboutindex 0 -vobsuboutid fr -sid 1 -nosound -ovc copy
</screen>
</example>
</sect1>
<sect1 id="aspect">
<title>Képarány megtartása</title>
<para>
A DVD-s és az SVCD-s (pl. MPEG-1/2) fájlokban van egy képméret arány érték, ami
leírja, hogy a lejátszónak hogyan kell méreteznie a videó stream-et, így az
embereknek nem lesz tojás fejük (pl.: 480x480 + 4:3 = 640x480). Ennek ellenére AVI-ba
(DivX) történõ kódoláskor figyelembe kell venned, hogy az AVI fejléc nem tárolja ezt
az értéket. A film átméretezése undorító és idõigényes, kell, hogy legyen egy jobb
megoldás!
</para>
<para>Van is.</para>
<para>
Az MPEG-4-nek van egy egyedülálló sajátossága: a videó stream tartalmazhatja a szükséges
képarányt. Igen, úgy mint az MPEG-1/2 (DVD, SVCD) és a H.263 fájlok. Sajnos azonban
<emphasis role="bold">nincs</emphasis> olyan videó lejátszó, mely az MPEG-4 ezen attribútumát
támogatná, kivéve az <application>MPlayer</application>t.
</para>
<para>
Ez a tulajdonság csak a
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
<systemitem>mpeg4</systemitem> codec-jével használható. Tartsd észben: habár az
<application>MPlayer</application> hibátlanul lejátsza a létrehozott fájlt,
a többi lejátszó rossz képarányt fog használni.
</para>
<para>
Ajánlott levágni a fekete sávokat a film képe felett és alatt.
Lásd a man oldalt a <systemitem>cropdetect</systemitem> és a
<systemitem>crop</systemitem> szûrõk használatához.
</para>
<para>
Használat
<screen>mencoder <replaceable>sample-svcd.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:autoaspect -vf crop=714:548:0:14 -oac copy -o <replaceable>output.avi</replaceable></screen>
</para>
</sect1>
<sect1 id="custommatrices"><title>Egyedi inter/intra matricák</title>
<para>
A <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
ezen képességével egyedi inter (I-frame/kulcs frame) és intra
(P-frame/jósolt frame) matricákat állíthatsz be. Több codec támogatja ezt: az
<systemitem>mpeg1video</systemitem> és <systemitem>mpeg2video</systemitem>
a jelentések szerint mûködik.
</para>
<para>
Ennek egy tipikus felhasználása a <ulink url="http://www.kvcd.net/">KVCD</ulink>
által javasolt matricák beállítása.
</para>
<para>
Egy <emphasis role="bold">KVCD &quot;Notch&quot; Kvantálási Mátrix:</emphasis>
</para>
<para>
Intra:
<screen>
8 9 12 22 26 27 29 34
9 10 14 26 27 29 34 37
12 14 18 27 29 34 37 38
22 26 27 31 36 37 38 40
26 27 29 36 39 38 40 48
27 29 34 37 38 40 48 58
29 34 37 38 40 48 58 69
34 37 38 40 48 58 69 79
</screen>
Inter:
<screen>
16 18 20 22 24 26 28 30
18 20 22 24 26 28 30 32
20 22 24 26 28 30 32 34
22 24 26 30 32 32 34 36
24 26 28 32 34 34 36 38
26 28 30 32 34 36 38 40
28 30 32 34 36 38 42 42
30 32 34 36 38 40 42 44
</screen>
</para>
<para>
Használat:
<screen>
$ mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
</screen>
</para>
<para>
<screen>
$ mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts
vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,
12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,
29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79
:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,
28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,
36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
</screen>
</para>
</sect1>
<sect1 id="menc-feat-dvd-mpeg4">
<title>Nagyon jó minõségû MPEG-4 (&quot;DivX&quot;) rip készítése DVD filmbõl</title>
<para>
Egy gyakran feltett kérdés: "Hogyan készíthetem el a legjobb minõségû
DVD rip-et egy adott méretben? A másik kérdés: "Hogyan készíthetem el a
lehetõ legjobb minõségû DVD rip-et? Nem érdekel a fájl méret, csak a
legjobb minõséget akarom."
</para>
<para>
Az utóbbi kérdés talán kicsit rosszul van megfogalmazva. Hiszen ha nem
érdekel a fájl méret, akkor miért nem másolod át az egész MPEG-2 videó
stream-et a DVD-rõl egy az egyben? Az AVI fájlod 5GB körül fogja végezni,
fogd és vidd, de ha a legjobb minõséget akarod és nem érdekel a méret,
akkor biztos, hogy ez lesz a legjobb lehetõséged.
</para>
<para>
Valójában egy DVD MPEG-4-be történõ átkódolásának az oka pont az, hogy
<emphasis role="bold">érdekel</emphasis> a fájl mérete.
</para>
<para>
Nehéz egy általános receptet adni a jó minõségû DVD rip-ek készítéséhez.
Számos szempontot figyelembe kell venni és meg kell értened ezeket a
részleteket, különben elégedetlen leszel a végeredménnyel. Kicsit körbejárjuk
ezen dolgok közül néhányat és utána példát is adunk. Feltételezzük, hogy a
<systemitem class="library">libavcodec</systemitem>-et használod a videó
kódolásához, habár az elmélet bármilyen codec-kel használható.
</para>
<para>
Ha ez túl sok neked, akkor talán jobb, ha a sok nagyszerû frontend
valamelyikét használod, amik fel vannak sorolva a
kapcsolódó projektek oldalán a
<ulink url="http://mplayerhq.hu/homepage/design7/projects.html#mencoder_frontends">MEncoder részben</ulink>.
Így nagyon jó minõségû rip-eket készíthetsz túl sok gondolkodás nélkül,
mert ezen eszközök legtöbbje úgy lett megtervezve, hogy jó döntéseket
hozzon.
</para>
<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
<title>Felkészülés a kódolásra: A forrás anyag és frameráta azonosítása</title>
<para>
Mielõtt eszedbe jutna bármiféle film átkódolása, meg kell tenned
pár elõkészületi lépést.
</para>
<para>
Az elsõ és legfontosabb lépés a kódolás elõtt annak megállapítása,
hogy miféle anyaggal van egyáltalán dolgod.
Ha a forrás anyagod DVD-rõl származik vagy sugárzott/kábeles/mûholdas
TV, a következõ két formátum valamelyikében tárolódik: NTSC Észak
Amerikában és Japánban, PAL Európában.
Fontos tudatosítani, hogy ez csak a televízión történõ megjelenítés
formátuma és gyakran <emphasis role="bold">nincs</emphasis>
összhangban a film eredeti formátumával.
Ahhoz, hogy megfelelõ legyen a kódolás, ismerned kell az eredeti
formátumot.
Ennek elmulasztása esetén csúnya törési (átlapolás) mellékhatások
lesznek a kódolásodban.
Mindamellett, hogy csúnya, a mellékhatások rontják a kódolási
hatékonyságot is: rosszabb minõség per bitráta arányt kapsz.
</para>
<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
<title>A forrás framerátájának azonosítása</title>
<para>
Itt van egy lista a forrás anyagok által általában használt típusokról,
ebben valószínûleg megtalálod a tiédet és annak jellemzõit:
</para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">Szabványos film</emphasis>: Moziban történõ
vetítéshez rögzítették 24 fps-sel.
</para></listitem>
<listitem><para>
<emphasis role="bold">PAL videó</emphasis>: PAL videókamerával
rögzítették 50 mezõ per másodperc sebességgel.
Egy mezõ csak a képkocka páros vagy páratlan sorszámú sorait
tartalmazza.
A televíziót úgy tervezték meg, hogy ilyen arányban frissítsen,
az analóg tömörítés egy olcsó formájaként.
Az emberi szemnek ezt kompenzálnia kellene, de ha egyszer megérted
az átlapolást, meg fogod látni a TV-n és soha többé nem fogod
élvezni a TV adást.
Két mezõ még <emphasis role="bold">nem</emphasis> alkot egy
teljes képkockát, mert 1/50 másodpercnyire vannak egymástól idõben
és így csak mozgásnál igazodnak össze.
</para></listitem>
<listitem><para>
<emphasis role="bold">NTSC Videó</emphasis>: NTSC kamerával felvett,
60000/1001 mezõ per másodperc vagy a színek elõtti idõben 60 mezõ per
másodperc sebességû film. Egyébként hasonló a PAL-hoz.
</para></listitem>
<listitem><para>
<emphasis role="bold">Animáció</emphasis>: Általában 24fps-sel
rajzolják, de található kevert-framerátás változat is.
</para></listitem>
<listitem><para>
<emphasis role="bold">Számítógépes grafika (CG)</emphasis>: Bármilyen
framerátával mehet, de van pár, ami gyakoribb a többinél; 24 és
30 képkocka per másodpercesek a tipikusak NTSC-nél és 25fps PAL-nál.
</para></listitem>
<listitem><para>
<emphasis role="bold">Régi film</emphasis>: Különbözõ alacsony
frameráták.
</para></listitem>
</itemizedlist>
</sect3>
<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
<title>A forrásanyag beazonosítása</title>
<para>
A képkockákból álló filmekre progresszívként szoktak hivatkozni,
míg az egymástól független mezõkbõl állóakra vagy átlapoltként
vagy videóként - bár ez utóbbi félreérthetõ.
</para>
<para>
További bonyolításként néhány film a fenti kettõ keveréke.
</para>
<para>
A legfontosabb különbség, amit észre kell venni a két formátum
között, hogy van, amelyik képkocka-alapú míg mások mezõ alapúak.
<emphasis role="bold">Bármikor</emphasis>, ha egy filmet televíziós
megjelenítésre készítenek elõ (beleértve a DVD-t is), átkonvertálják
mezõ-alapú formába.
A különbözõ módszereket, amikkel ez végrehajtható, gyûjtõnéven
"pulldown"-nak hívjuk, ennek egyik változata a hírhedt NTSC-s
"3:2 telecine".
Hacsak nem volt az eredeti anyag is mezõ-alapú (és megegyezõ
mezõ rátájú), más formátumbú lesz a filmed, mint az eredeti.
</para>
<itemizedlist>
<title>Számos általános típusa van a pulldown-nak:</title>
<listitem><para>
<emphasis role="bold">PAL 2:2 pulldown</emphasis>: Az összes közül a
legjobb.
Minden képkocka két mezõ idejéig látszódik, úgy, hogy a páros és páratlan
sorokat kinyeri belõlük és váltakozva mutatja õket.
Ha az eredeti anyag 24fps-es, ez az eljárás felgyorsítja a filmet
4%-kal.
</para></listitem>
<listitem><para>
<emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown</emphasis>:
Minden 12. kockát három mezõ hosszan mutat kettõ helyett.
Ezzel elkerüli a 4%-os gyorsulást, de sokkal nehezebben megfordíthatóvá
teszi a folyamatot.
Általában musical készítésénél használják, ahol a 4%-os sebességmódosulás
komolyan rontaná a zenei jelet.
</para></listitem>
<listitem><para>
<emphasis role="bold">NTSC 3:2 telecine</emphasis>: A kockák
felváltva 3 vagy 2 mezõnyi ideig látszódnak. Ezáltal a mezõ ráta
2.5-szöröse lesz az eredeti framerátának.
Az eredmény nagyon kis mértékben lelassul, 60 mezõ per másodpercrõl
59.94 mezõ per másodpercre, az NTSC mezõ ráta megtartása miatt.
</para></listitem>
<listitem><para>
<emphasis role="bold">NTSC 2:2 pulldown</emphasis>: A 30fps-es
anyagok NTSC-n történõ megjelenítéséhez használják.
Szép, csakúgy, mint a 2:2 PAL pulldown.
</para></listitem>
</itemizedlist>
<para>
Vannak még egyéb módszerek az NTSC és a PAL videó közötti konvertáláshoz,
de ez a téma meghaladja ezen leírás célkitûzéseit.
Ha ilyen filmbe futsz bele és el szeretnéd kódolni, a legjobb, ha
keresel egy másolatot az eredeti formátumban.
A két formátum közötti konvertálás nagyon romboló hatású és nem
lehet teljesen visszafordítani, így a kódolt adatod nagyon
megszenvedi, ha már konvertált forrásból készül.
</para>
<para>
Ha a videó DVD-n van, az egymást követõ mezõk képkockává
csoportosíthatóak, még akkor is, ha nem egyidejû megjelenítésre
tervezték õket.
A DVD-n és digitális TV-n használt MPEG-2 szabvány lehetõséget nyújt
mind az eredeti progresszív kockák elkódolására, mind pedig arra, hogy
azon mezõk számát, amelyhez egy képkockát meg kell jeleníteni, az
adott képkocka fejlécében tárolhassuk.
Ha ezt a módszert használják, a filmet gyakran "soft-telecined"-ként
jellemzik, mert ez az eljárás csak utasítja a DVD lejátszót a pulldown
alkalmazására a film tényleges megváltoztatása helyett.
Ez a lehetõség nagyon preferált, mert könnyen visszafordítható
(tulajdonképpen kihagyható) a kódoló által és megtartja a maximális
minõséget.
Bár sok DVD és mûsorszóró stúdió nem használ megfelelõ kódolási
technikát, hanem inkább "hard telecine"-es filmeket alkalmaznak,
ahol a mezõk tulajdonképpen duplázva vannak az elkódolt MPEG-2-ben.
</para>
<para>
Az eljárás, ahogy ezeket az eseteket kezelni kell, késõbb kerül leírásra
ebben az útmutatóban.
Most következzék pár tanács, amik segítségével eldöntheted, hogy milyen
anyaggal van dolgod:
</para>
<itemizedlist>
<title>NTSC régiók:</title>
<listitem><para>
Ha az <application>MPlayer</application> azt írja ki, hogy a frameráta
megváltozott 24000/1001-re a film nézése közben, és soha nem vált vissza,
akkor majdnem biztosan progresszív tartalomról van szó, amit "soft telecine"
eljárásnak vetettek alá.
</para></listitem>
<listitem><para>
Ha az <application>MPlayer</application> a frameráta oda-vissza
váltakozását mutatja 24000/1001 és 30000/1001 között és "hullámzást"
látsz ilyenkor, akkor több lehetõség is van.
A 24000/1001 fps-es részek majdnem biztosan progresszív
tartalmak, "soft telecine"-ltek, de a 30000/1001 fps-es részek
lehetnek vagy hard-telecine-lt 24000/1001 fps-esek vagy 60000/1001
mezõ per másodperces NTSC videók.
Kövesd a következõ két esetben leírt irányelveket, hogy el tudd
dönteni, valójában melyik formátummal van dolgod.
</para></listitem>
<listitem><para>
Ha az <application>MPlayer</application> soha nem mutatja a frameráta
változást és minden egyes mozgást tartalmazó kocka hullámosnak tûnik,
akkor a filmed NTSC videó 60000/1001 mezõ per másodperc sebességgel.
</para></listitem>
<listitem><para>
Ha az <application>MPlayer</application> soha nem mutatja a frameráta
változást és minden ötbõl két kocka hullámosnak tûnik, akkor a filmed
"hard telecine"-s 24000/1001fps-es formátumú.
</para></listitem>
</itemizedlist>
<itemizedlist>
<title>PAL régiók:</title>
<listitem><para>
Ha sosem látsz hullámzást, akkor a filmed 2:2 pulldown-os.
</para></listitem>
<listitem><para>
Ha hullámzást látsz váltakozóan ki-be minden fél másodpercben,
akkor a filmed 2:2:2:2:2:2:2:2:2:2:2:3 pulldown-os.
</para></listitem>
<listitem><para>
Ha mindig látsz hullámzást a mozgás közben, akkor a filmed PAL
videó 50 mezõ per másodperces sebességgel.
</para></listitem>
</itemizedlist>
<note><title>Tanács:</title>
<para>
Az <application>MPlayer</application> le tudja lassítani a lejátszást
a -speed kapcsolóval.
Próbáld meg használni a <option>-speed</option> 0.2-t, hogy nagyon lassan
nézhesd a filmet és azonosíthasd a mintákat, ha nem látod meg teljes
sebességnél.
</para>
</note>
</sect3>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-2pass">
<title>Konstant kvantálás vs. többmenetes kódolás</title>
<para>
Nagyon sokféle minõségben tudod elkódolni a filmedet.
A modern videó kódolókkal és egy kis pre-codec tömörítéssel
(leméretezés és zajcsökkentés), lehetséges nagyon jó minõség elérése
700 MB-on, egy 90-110 perces szélesvásznú filmnél.
Továbbá minden, kivéve a leghosszabb filmeket, elkódolható majdnem
tökéletes minõséggel 1400 MB-ba.
</para>
<para>
Három féle megközelítése van egy videó kódolásának: konstans bitráta
(CBR), konstans kvantálás, és többmenetes (ABR vagy átlagos bitráta).
</para>
<note><title>Megjegyzés:</title>
<para>
A legtöbb ABR kódolást támogató codec csak a két lépéses kódolást
támogatja, míg néhány másik, mint pl. az <systemitem class="library">x264</systemitem>
és a <systemitem class="library">libavcodec</systemitem> támogatják
a többmenetest, ami kissé javít a minõségen minden lépésben,
bár ez a javulás nem mérhetõ és nem is észrevehetõ a 4. lépés után.
Ezért, ebben a részben a két lépéses és a többmenetes felváltva
értelmezhetõ.
</para>
</note>
<para>
Ezen módok mindegyikében a <systemitem class="library">libavcodec</systemitem>
a videó képkockákat 16x16 pixel nagyságú macroblock-okra osztja, majd egy
kvantálást végez mindegyik macroblock-on. Minél alacsonyabb a kvantálás, annál
jobb a minõség és nagyobb a bitráta. A <systemitem class="library">libavcodec</systemitem>
által egy adott macroblockhoz a megfelelõ kvantáló kiválasztására használt módszer
változó és nagymértékben tuningolható. (Ez egy extrém túl-egyszerûsítése a
tulajdonképpeni folyamatnak, de az alap koncepciót hasznos megérteni.)
</para>
<para>
Ha elõírsz egy konstans bitrátát, a <systemitem class="library">libavcodec</systemitem>
elkódolja a videót, figyelmen kívül hagyva a részleteket amennyire csak
lehetséges és a legkisebb mértékben, amennyire szükséges, hogy a megadott
bitrátánál alacsonyabban maradjon. Ha tényleg nem érdekel a fájl méret,
használhatsz CBR-t és megadhatsz egy bitrátát vagy hagyhatod határozatlanul.
(A gyakorlatban ez egy kellõen magas értéket jelent, ami nem szab gátat, pl.
10000Kbit.) Ha nincs különösebb megkötés a bitrátára vonatkozóan, az eredmény
az lesz, hogy a <systemitem class="library">libavcodec</systemitem> a lehetõ
legalacsonyabb kvantálást fogja használni minden egyes macroblock-hoz (amint
ez a <option>vqmin</option>-ben meg van adva, ami alapértelmezésként 2). Amint
elõírsz egy megfelelõen alacsony bitrátát, ami a <systemitem class="library">libavcodec</systemitem>et
magasabb kvantálás használatára kényszeríti, majdnem biztos, hogy rontod a
videód minõségét.
Ahhoz, hogy ezt elkerüld, valószínûleg downscale-t kell végrehajtani a
videón, az alábbiakban szereplõ módszernek megfelelõen. Általában igaz,
hogy jobb ha kerülöd a CBR-t, ha számít a minõség.
</para>
<para>
Konstans kvantálással a <systemitem
class="library">libavcodec</systemitem> ugyan azt a kvantálót használja, amit
a <option>vqscale</option> kapcsolóval megadtál, minden macroblock-nál. Ha
a lehetõ legjobb minõségû rip-et szeretnéd, szintén a bitráta kihagyásával,
használhatod a <option>vqscale=2</option> kapcsolót. Ez ugyan azt a bitrátát
és PSNR-t (peak signal-to-noise ratio) szolgáltatja, mint a CBR a
<option>vbitrate</option>=végtelen kapcsolóval és a alapértelmezett 2-es
<option>vqmin</option>-nal.
</para>
<para>
A konstans kvantálás problémája, hogy a megadott kvantálót alkalmazza, akár
szükséges a macroblock-hoz, akár nem. Lehet, hogy használható lenne egy
nagyobb kvantálás is a mackroblock-on a vizuális minõség feláldozása nélkül
is. Miért pazarolnánk a biteket szükségtelenül alacsony kvantálóra? A
CPU-d annyi ciklusa lehet, amennyi idõd csak van, de a merevlemezed véges.
</para>
<para>
Két lépéses kódolásban az elsõ lépés úgy rip-eli a filmet, mintha CBR lenne,
de megtartja a tulajdonságok listáját minden egyes képkockánál. Ezeket az
adatokat használja fel aztán a második lépésben a használni kívánt kvantálót
meghatározó intelligens döntésekben. Gyors akciónál vagy kis részletességû
jeleneteknél magasabb kvantálót használ, lassú mozgásnál vagy nagy
részletességû jeleneteknél alacsonyabbat.
</para>
<para>
Ha használod a <option>vqscale=2</option> kapcsolót, akkor biteket pazarolsz.
Ha a <option>vqscale=3</option> kapcsolót adod meg, akkor nem a legjobb minõségû
rip-et kapod. Tegyük fel, hogy egy DVD-t rip-elsz <option>vqscale=3</option>-mal,
és az eredmény 1800Kbit. Ha két lépéses kódolást csinálsz <option>vbitrate=1800</option>
kapcsolóval, az kimeneti videó <emphasis role="bold">jobb minõségû</emphasis> lesz
<emphasis role="bold">ugyanolyan bitrátával</emphasis>.
</para>
<para>
Mivel most meggyõzõdtél róla, hogy a két lépéses kódolás a megfelelõ módszer,
az igazi kérdés az, hogy milyen bitrátát ajánlott használni? A válasz az, hogy
nincs egyszerû válasz. Valószínûleg olyan bitrátát akarsz választani, ami a
legjobb egyensúlyt biztosítja a minõség és a fájl méret között. Ez viszont a
forrás videótól függõen változik.
</para>
<para>
Ha a méret nem számít, egy jó kiindulási pont minden nagyon jó minõségû
rip-hez egy 2000Kbit körüli érték, plusz-mínusz 200Kbit.
A gyors akciókhoz és a nagy részletességû videókhoz vagy ha sas szemed
van, akkor választhatsz 2400-at vagy 2600-at.
Néhány DVD-nél nem fogsz különbséget felfedezni 1400Kbit-en sem. Jó ötlet
az egyes fejezeteket különbözõ bitrátával megnézni, hogy meglásd a
különbséget.
</para>
<para>
Ha egy bizonyos méretet céloztál be, valahogy ki kell számítanod a bitrátát.
De ezelõtt azt kell megtudnod, hogy mennyi helyet kell fenntartanod az
audió sáv(ok)nak, így elõször <link linkend="menc-feat-dvd-mpeg4-audio">ezeket
kell lerippelned</link>.
A következõ egyenlettel tudod kiszámítani a bitrátát:
<systemitem>bitráta = (cél_méret_Mbyteokban - hang_mérete_Mbyteokban) *
1024 * 1024 / hossz_másodpercben * 8 / 1000</systemitem>
Például egy két órás film 702 Mbájtos CD-re való összenyomásához, 60
Mbájtnyi hang sávval, a videó bitrátájának
<systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 =
740kbps</systemitem>-nek kell lennie.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-constraints">
<title>Megszorítások a hatékony kódoláshoz</title>
<para>
Az MPEG-típusú tömörítés természetébõl adódóan számos megszorítás
van, amit követned kell a maximális minõség érdekében.
Az MPEG 16x16 makroblokknak nevezett négyzetre osztja fel a videót,
mindegyik 4 darab 8x8 blokk luma (intenzitás) információt és két
fél-felbontású 8x8 chroma (szín) blokkot tartalmaz (egy a vörös-világoskék
tengelyen, a másik a kék-sárga tengelyen).
Ha a film szélessége és magassága nem 16 többszöröse, a kódoló akkor is
elegendõ 16x16-os makroblokkot fog használni, hogy lefedje a teljes
képet, a maradék hely veszendõbe megy.
Így ha a minõség maximalizálása a cél egy fix fájlmérettel, akkor
eléggé rossz ötlet nem 16 valamelyik többszörösét használni méretként.
</para>
<para>
A legtöbb DVD-n van valamekkora fekete sáv a sarkokban. Ha ezeket
békén hagyod, akkor több módon is ronthatják a minõséget.
</para>
<orderedlist>
<listitem>
<para>
Az MPEG-típusú tömörítés szintén nagyban függ a frekvencia tartományok
transzformálásától is, általában a Diszkrét Koszinusz Transzformációt
(DCT) használják, ami hasonló a Fourier transzformációhoz. Ez a fajta
kódolás hatékony a minták és a sima átmenetek átalakításához, de
nehezen bírkózik meg az éles élekkel. Ezek elkódolásához sokkal több
bitre van szüksége, különben egy gyûrûsödésnek nevezett mellékhatás
jelenik meg.
</para>
<para>
A frekvencia transzformáció (DCT) külön hajtódik végre minden egyes
makroblokkon (tulajdonképpen minden blokkon), így ez a probléma csak
akkor jelentkezik, ha az éles él a blokkon belül van. Ha a fekete
határ épp olyan pixel határon kezdõdik, ami 16 többszöröse, akkor nincs
probléma. Habár a fekete határok a DVD-ken ritkán vannak szépen
eligazítva, így a gyakorlatban majdnem mindig vágni kell, hogy
elkerüld ez a büntetést.
</para>
</listitem>
</orderedlist>
<para>
A frekvencia tartományok kódolása mellett az MPEG-típusú tömörítés
mozgó vektorokat használ a képkockák közötti változások ábrázolásához.
A mozgó vektorok természetesen kevésbé hatékonyak a sarkokból érkezõ
új tartalomnál, mert az még nincs jelen az elõzõ képkockán. Amíg a
tartalom a sarkok felé terjed ki, a mozgó vektoroknak nincs problémájuk
a tartalom kifelé mozgásával. Habár a fekete határok megjelenésekor
lehetnek gondok:
</para>
<orderedlist continuation="continues">
<listitem>
<para>
Minden egyes makroblokknál az MPEG-típusú kódolás egy vektort is eltárol,
mely azt mondja meg, hogy az elõzõ képkocka melyik részét kell átmásolni
ebbe a makroblokkba a következõ kocka megbecsléséhez. Csak a megmaradt
különbséget kell elkódolni. Ha a makroblokkot kettéosztja a kép széle
és a fekete sáv, akkor a kép többi részének mozgó vektorai felül fogják
írni a fekete sávot. Ez azt jelenti, hogy sok bitet kell elpazarolni
vagy a határ felülírt részének újrafeketítéséhez vagy (inkább) a
mozgó vektor nem kerül felhasználásra és így a makroblokk összes
változását expliciten el kell kódolni. Mindkét esetben jelentõsen
romlik a kódolás hatékonysága.
</para>
<para>
Ez a probléma szintén csak akkor jelentkezik, ha a fekete sáv nem 16
többszörösû pixel-határon van.
</para>
</listitem>
<listitem>
<para>
Végül tegyük fel, hogy van egy makroblokkunk a kép belsejében és
egy objektum mozog be ebbe a blokkba a kép sarka felõl. Az MPEG-típusú
kódolás nem tudja azt mondani, hogy "másold át azt a részt, ami a kép
belsejében van, de a fekete sávot ne". Így a fekete sáv is átmásolódik
és így rengeteg bitet kell feláldozni a kép ott lévõ részének
újrakódolásához.
</para>
<para>
Ha a kép tovább fut az elkódolt terület sarka felé, az MPEG-nek speciális
optimalizációi vannak az kép szélén lévõ pixelek ismétlõdõ másolására,
ha a mozgó vektorok a kódolt területen kívülrõl jönnek. Ez a tulajdonság
haszontalanná válik, ha a filmen fekete sávok vannak. Az elsõ két
problémával ellentétben itt nem segít a 16 többszörösére való igazítás.
</para>
</listitem>
<listitem>
<para>
Habár a sávok teljesen feketék és soha nem változnak, mindenképpen
egy kis plusz munkát igényelnek, mivel több macroblokk van.
</para>
</listitem>
</orderedlist>
<para>
A fenti okok miatt javasolt, hogy teljesen vágd le a fekete sávokat.
Továbbá ha a kép sarkainál zaros/torz rész van, ennek a levágása is
javít a kódolási hatékonyságon. A keményvonalas videósok, akik az eredeti
tartalmat akarják megtartani, amennyire csak lehet, biztos tiltakozni
fognak ez ellen, de ha nem tervezed konstant kvantálás használatát, akkor
a vágás miatt nyert minõségjavulás jelentõsen nagyobb lesz, mint a sarkok
levágása miatti információvesztés.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-crop">
<title>Vágás és méretezés</title>
<para>
Emlékezz rá az elõzõ fejezetbõl, hogy a végsõ képméret, amibe kódolsz,
16 többszöröse ajánlott, hogy legyen (mind szélességben, mind magasságban).
Ezt vágással, méretezéssel vagy ezek kombinációjával érheted el.
</para>
<para>
Vágásnál van egy pár ökölszabály, amit jó ha betartasz, ha nem akarsz
kárt tenni a filmben.
A normál YUV formátum 4:2:0, a chroma (szín) információkat almintaként
tárolja, pl. a chroma csak fele annyiszor kerül mintázásra minden
irányban, mint a luma (intenzítás) információk.
Tanulmányozd ezt a diagramot, ahol L jelenti a luma mintázási pontokat
és C a chroma-kat!
</para>
<informaltable>
<?dbhtml table-width="40%" ?>
<?dbfo table-width="40%" ?>
<tgroup cols="8" align="center">
<colspec colnum="1" colname="col1"/>
<colspec colnum="2" colname="col2"/>
<colspec colnum="3" colname="col3"/>
<colspec colnum="4" colname="col4"/>
<colspec colnum="5" colname="col5"/>
<colspec colnum="6" colname="col6"/>
<colspec colnum="7" colname="col7"/>
<colspec colnum="8" colname="col8"/>
<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
<tbody>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
<row>
<entry spanname="spa1-2">C</entry>
<entry spanname="spa3-4">C</entry>
<entry spanname="spa5-6">C</entry>
<entry spanname="spa7-8">C</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
<row>
<entry spanname="spa1-2">C</entry>
<entry spanname="spa3-4">C</entry>
<entry spanname="spa5-6">C</entry>
<entry spanname="spa7-8">C</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Amint láthatod, a kép sorai és oszlopai természetszerûleg párokba
rendezõdnek. Így a vágási eltolásodnak és a méreteidnek páros
számoknak <emphasis>kell</emphasis> lenniük.
Ha nem, akkor a chroma nem fog rendes sort alkotni a luma-val.
Elméletben lehetséges a vágás páratlan eltolással, de ehhez a
chroma újramintázása szükséges, ami egy veszteséges mûvelet és
nem is támogatja a vágó szûrõ.
</para>
<para>
Továbbá az átlapolt videót a következõképpen mintázzák:
</para>
<informaltable>
<?dbhtml table-width="80%" ?>
<?dbfo table-width="80%" ?>
<tgroup cols="16" align="center">
<colspec colnum="1" colname="col1"/>
<colspec colnum="2" colname="col2"/>
<colspec colnum="3" colname="col3"/>
<colspec colnum="4" colname="col4"/>
<colspec colnum="5" colname="col5"/>
<colspec colnum="6" colname="col6"/>
<colspec colnum="7" colname="col7"/>
<colspec colnum="8" colname="col8"/>
<colspec colnum="9" colname="col9"/>
<colspec colnum="10" colname="col10"/>
<colspec colnum="11" colname="col11"/>
<colspec colnum="12" colname="col12"/>
<colspec colnum="13" colname="col13"/>
<colspec colnum="14" colname="col14"/>
<colspec colnum="15" colname="col15"/>
<colspec colnum="16" colname="col16"/>
<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
<tbody>
<row>
<entry namest="col1" nameend="col8">Felsõ mezõ</entry>
<entry namest="col9" nameend="col16">Alsó mezõ</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry spanname="spa1-2">C</entry>
<entry spanname="spa3-4">C</entry>
<entry spanname="spa5-6">C</entry>
<entry spanname="spa7-8">C</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry spanname="spa9-10">C</entry>
<entry spanname="spa11-12">C</entry>
<entry spanname="spa13-14">C</entry>
<entry spanname="spa15-16">C</entry>
</row>
<row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry spanname="spa1-2">C</entry>
<entry spanname="spa3-4">C</entry>
<entry spanname="spa5-6">C</entry>
<entry spanname="spa7-8">C</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry spanname="spa9-10">C</entry>
<entry spanname="spa11-12">C</entry>
<entry spanname="spa13-14">C</entry>
<entry spanname="spa15-16">C</entry>
</row>
<row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Amint láthatod a minták nem ismétlõdnek meg a 4 sor után.
Így az átlapolt videóhoz a vágás y-eltolásának és a magasságának
4 többszörösének kell lennie.
</para>
<para>
A natív DVD felbontás 720x480 NTSC-vel és 720x576 PAL-lal, de van egy
arányjelzõ is, ami megmutatja, hogy teljes képernyõs (4:3) vagy széles
vásznú (16:9). Sok (ha nem az összes) széles képernyõs DVD nem szigorúan
16:9-es, vagy 1.85:1-hez vagy 2.35:1-hez (cinescope). Ez azt jelenti, hogy
fekete sávok lesznek a videón, amit le kell vágni.
</para>
<para>
Az <application>MPlayer</application> rendelkezik egy crop detection szûrõvel,
ami megállapítja a levágandó téglalapot (<option>-vf cropdetect</option>).
Futtasd az <application>MPlayer</application>t a
<option>-vf cropdetect</option> kapcsolóval és kiírja a vágási beállításokat
a határok eltávolításához.
A filmet elegendõ ideig kell engedned futni ahhoz, hogy legyen teljesen
lefedett kép és helyes vágási eredményeket kapj.
</para>
<para>
Ezután teszteld le a kapott rétékeket az <application>MPlayer</application>rel,
felhasználva a <option>cropdetect</option> által kiírt parancssort és állíts
a téglalapon, ha szükséges.
A <option>téglalap</option> szûrõ segít neked a vágási téglalap
filmen való, interaktív módon történõ elhelyezésében.
Emlékezz, és kövesd a fenti oszthatósági ökölszabályokat, nehogy
félreigazítsd a chroma plane-eket.
</para>
<para>
Bizonyos esetekben a méretezés nem kívánatos.
A méretezés függõleges irányban nehéz átlapolt videónál és ha meg akarod
õrizni az átlapoltságot, tartózkodnod kell a méretezéstõl.
Ha nem fogsz méretezni, de 16 többszörösét akarod használni képméretként,
túl kell vágnod a filmet. Ne vágj kisebbet, mert a fekete szélek nagyon
rosszak kódoláskor!
</para>
<para>
Mivel az MPEG-4 16x16-os macroblock-okat használ, meg kell gyõzõdnöd róla,
hogy a kódolt videó mindegyik dimenziója 16 többszöröse-e, különben rontod
a minõséget, különösen alacsony bitrátánál. Ezt megteheted a levágandó terület
szélességének és magasságának 16 legközelebbi többszörösére való kerekítésével.
Amint az már szerepelt korábban, vágásnál növelni szeretnéd az y-offszetet a
régi és az új magasság közötti különbség felével, így a keletkezõ videó
elmozdul a kép középpontjából. A DVD videó mintavételezési módja miatt meg
kell gyõzõdnöd róla, hogy az offszet páros szám-e. (Valójában íratlan szabály,
hogy soha ne használj páratlan értékeket semmilyen paraméternek se, ha vágsz
vagy méretezel egy videót.) Ha nem akarsz pár extra pixelt eldobni, akkor a
videó méretezését kell megfontolnod inkább. Ezt nézzük meg a következõ példánkban.
Tulajdonképpen engedélyezheted a <option>cropdetect</option> szûrõnek,
hogy ezt az egészet megcsinálja helyetted, mivel van egy opcionális
<option>kerekítési</option> paramétere, ami alapértelmezésként 16.
</para>
<para>
Szintén figyelned kell a "félfekete" pixelekre a sarkokban. Gyõzõdj meg róla,
hogy ezeket szintén levágtad, különben olyan biteket pazarolsz el ott,
amiket máshoz jobban felhasználhatnál.
</para>
<para>
Miután mindent elmondtunk és kész, valószínûleg olyan videót kapsz, aminek
a pixeljei nem éppen 1.85:1 vagy 2.35:1 arányúak, de legalább valami hasonló.
Az új képarányt kiszámíthatod kézzel is, de a <application>MEncoder</application>
rendelkezik egy kapcsolóval a <systemitem
class="library">libavcodec</systemitem>hez, amit <option>autoaspect</option>-nek
hívnak, ami megcsinálja ezt neked. Ne méretezd át ezt a videót a pixelek
négyszögletesítéséhez, hacsak nem akarod pazarolni a helyet a merevlemezeden.
A méretezés történhet lejátszáskor, és a lejátszó az AVI-ban tárolt arányt
fogja használni a megfelelõ felbontás megállapításához.
Sajnos nem minden lejátszó teszi kötelezõvé ezt az auto-méretezési információt,
ezért lehet, hogy mégis átméretezésre kényszerülsz.
</para>
<para>
Elõször, ki kell számítanod az elkódolt képarányt:
<systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
<itemizedlist>
<title>Ahol:</title>
<listitem><para>
Wc és Hc a vágott videó szélessége és a magassága,
</para></listitem>
<listitem><para>
ARa a megjelenített kép aránya, ami általában 4/3 vagy 16/9,
</para></listitem>
<listitem><para>
PRdvd a DVD pixel rátája, ami PAL DVD-k esetén 1.25=(720/576)
és 1.5=(720/480) NTSC DVD-knél,
</para></listitem>
</itemizedlist>
</para>
<para>
Ezután, kiszámíthatod az X és Y felbontást, egy bizonyos Tömörítési
Minõség (Compression Quality, CQ) faktornak megfelelõen:
<systemitem>ResY = INT( SQRT(1000 * Bitrate / 25 / ARc / CQ) / 16 ) * 16</systemitem>
és
<systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>
</para>
<para>
Oké, de mi az a CQ?
A CQ reprezentálja a kódolás pixelenkénti és képkockánkénti bitszükségletét.
Nagy vonalakban minél nagyobb a CQ, annál kisebb a valószínûsége, hogy
kódolási hibát fog látni.
Bár ha van cél méret a filmedhez (1 vagy 2 CD például), akkor korlátozott
a felhasználható bitek száma; ezért szükséges, hogy megfelelõ arányt találj
a tömörség és a minõség között.
</para>
<para>
A CQ függ mind a bitrátától mind a film felbontásától.
Ha növelni akarod a CQ-t, általában leméretezést kell végezned a filmen,
mivel a bitráta a cél méret és a film hosszából számítódik, ami konstans.
Egy 0,18 alatti CQ általában nagyon kockás képet eredményez, mert nincs
elég bit minden egyes macroblokk információinak eltárolásához (az MPEG4,
mint sok más codec, csoportokba gyûjti a pixeleket a kép tömörítéséhez;
ha nincs elég bit, láthatóvá válik ezen blokkok széle).
Ezért ésszerû a CQ-t a 0,20-0,22-es tartományból választani 1 CD-s rip
esetén, és 0,26-0,28-ból a 2 CD-snél.
</para>
<para>
Kérlek figyelj rá, hogy a CQ csak egy mutató, mely az elkódolt tartalomtól
függ, egy 0,18-as CQ-val jól nézhet ki egy Bergman, szemben az olyan
filmekkel, mint például a Mátrix, ami sok gyors-mozgású részt tartalmaz.
Másrészt nem éri meg növelni a CQ-t 0,30-nál magasabbra, mert csak
pazarlni fogod a biteket észrevehetõ minõségi nyereség nélkül.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-audio">
<title>Audió</title>
<para>
Az audió egy sokkal könnyebben megoldható probléma: ha számít a minõség,
akkor egyszerûen hagyd úgy, ahogy van.
Még az AC3 5.1 stream-ek is leginkább 448Kbit/s-osak és minden
bitet megérnek. Csábító lehet az audió jó minõségû Vorbis-ba történõ
konvertálása, de az, hogy ma nincs egy A/V receiver-ed az AC3 áteresztéshez,
nem jelenti azt, hogy holnap sem lesz. Készíts a jövõben is használható
DVD rip-eket az AC3 stream megtartásával.
Megtarthatod az AC3 stream-et a <link linkend="menc-feat-mpeg4">kódolás közben</link>
a videó stream-be történõ közvetlen átmásolással.
Vagy ki is szedheted az AC3 stream-et, hogy elkeverd valamilyen konténer
formátumba, mint pl. a NUT vagy a Matroska.
<screen>mplayer <replaceable>forras_fajl.vob</replaceable> -aid 129 -dumpaudio -dumpfile
<replaceable>hang.ac3</replaceable></screen>
a 129-es audió sávot kiszedi a <replaceable>sound.ac3</replaceable> nevû
fájlba a <replaceable>source_file.vob</replaceable>-ból (NB: a DVD VOB
fájlok általában különbözõ audió számozást használnak, ami azt jelenti,
hogy a 129-es VOB audio sáv a 2. audió sáv a fájlban).
</para>
<para>
De néha tényleg nincs más választásod, mint tovább tömöríteni a
hangot így több bit jut a videóra.
A legtöbb ember vagy MP3-at vagy Vorbis-t választ az audió tömörítéséhez.
Míg az utóbbi nagyon hely-takarékos codec, az MP3-nak jobb a hardveres
lejátszók terén a támogatottsága, bár ez a trend változóban van.
</para>
<para>
Mindenek elõtt át kell konvertálnod a DVD hangját WAV fájlba, hogy az audió
codec használhassa bemenetként.
Például:
<screen>mplayer <replaceable>forras_fajl.vob</replaceable> -ao
pcm:file=<replaceable>cel_hang.wav</replaceable> -vc dummy -aid 1 -vo null</screen>
ki fogja szedni a második audió sávot a <replaceable>source_file.vob</replaceable>
fájlból a <replaceable>destination_sound.wav</replaceable> fájlba.
Kódolás elõtt valószínûleg normalizálni akarod a hangot, mivel a DVD audió
sávjait legtöbbször alacsony hangerõvel rögzítik.
Használhatod a <application>normalize</application> eszközt, ami megtalálható
a legtöbb disztribúcióban.
Ha Windows-t használsz, egy eszköz, mint pl. a <application>BeSweet</application>
megcsinálja ezt neked.
Vagy Vorbis-ba vagy MP3-ba kódolsz.
Például:
<screen>oggenc -q1 <replaceable>cel_hang.wav</replaceable></screen>
elkódolja a <replaceable>destination_sound.wav</replaceable>-ot az 1-es
kódolási minsõséggel, ami nagyjából megfelel 80Kb/s-nak és annak a minimum
minõségnek, amit legalább használnod kell, ha érdekel a minõség.
Kérlek jegyezd meg, hogy a MEncoder jelenleg nem tud Ogg Vorbis sávokat
belekeverni a kimeneti fájlba, mert csak AVI és MPEG konténereket támogat
kimenetként és mindkettõnél audió/videó lejátszási szinkronizációs problémákat
okozhat néhány lejátszóval, ha az AVI fájl VBR-es audió stream-et tartalmaz,
mint pl. a Vorbis.
De ne aggódj, ez a dokumentáció megmutatja, hogy hogy tudod
ezt megcsinálni egyéb programokkal.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-interlacing">
<title>Interlacing és Telecine</title>
<para>
Majdnem minden filmet 24 fps-sel fényképeznek. Mivel az NTSC 30000/1001 fps-es,
némi átdolgozás szükséges ezen a 24 fps-es videón, hogy a megfelelõ NTSC
framerátával menjen. Ez az eljárást 3:2 pulldown-nak hívják, de általában csak
telecine néven hivatkoznak rá (mivel a pulldownt gyakran használják a telecine
eljárás során), ami egyszerûen leírva lelassítja a filmet 24000/1001 fps-re és
megismétel minden negyedik képkockát.
</para>
<para>
Ez nem speciális feldolgozás, habár minden PAL DVD esetében megcsinálják, ami
25 fps-sel megy. (Mûszaki szempontból a PAL-t lehet telecine-elni, ezt 2:2
pulldown-nak hívják, de ez nem terjedt el a gyakorlatban.) A 24 fps-es filmet
egyszerûen 25 fps-sel játszák le. Az eredmény az, hogy a film kissé gyorsabban
megy, de ha nem vagy egy földönkívüli, valószínûleg nem fogod észrevenni a
különbséget. A legtöbb PAL DVD zajszint-javított audiót tartalmaz, így amikor
25 fps-sel játszák le õket, a hangok jól hangzanak, még akkor is, ha az
audió sáv (és ebbõl adódóan az egész film) az NTSC DVD-kénél 4%-kal lassabb
futási idõvel megy.
</para>
<para>
Mivel a PAL DVD-ben a videót nem változtatták meg, nem kell aggódnod a
frame ráta miatt. A forrás 25 fps-es és a rip-ed is 25 fps-es lesz. De ha
egy NTSC DVD filmet rippelsz, fordított telecine-t kell alkalmaznod.
</para>
<para>
A 24 fps-sel felvett filmeknél az NTSC DVD-n lévõ videó vagy telecine-elt
30000/1001 fps-re vagy pedig progresszív 24000/1001 fps-es és szándék szerint
a DVD lejátszó végzi a telecine-t lejátszás közben. Másrészrõl a TV sorozatok
általában csak átlapoltak, nem telecine-ltek. Ez azonban nem ökölszabály:
néhány TV sorozat átlapolt (mint a Buffy a Vámpír gyilkos) míg másik a
progresszív és az átlapolt keverékei (mint pl. az Angyal vagy a 24).
</para>
<para>
Javasoljuk, hogy olvasd el a <link
linkend="menc-feat-telecine">mit kezdjünk a telecine-nel és az átlapolással
NTSC DVD-ken</link> részt, hogy kezelni tudd a különbözõ lehetõségeket.
</para>
<para>
Bár ha legtöbbször csak filmeket rippelsz, valószínûleg vagy 24 fps-es
progresszív vagy telecine-lt videóval lesz dolgod, ezekben az esetekben
használhatod a <option>pullup</option> szûrõt a <option>-vf
pullup,softskip</option> kapcsolóval.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
<title>Átlapolt videó elkódolása</title>
<para>
Ha az általad elkódolni kívánt film átlapolt (NTSC videó vagy
PAL videó), el kell döntened, hogy akarsz-e deinterlacing-et
vagy sem.
A deinterlacing használhatóvá teszi a filmed progresszív scan-es
megjelenítõkön, mint pl. a számítógép monitorok vagy a projektorok,
van ára is: az 50 vagy 60000/1001-es mezõráta felezõdik 25 vagy
30000/1001 képkocka per másodpercre és így a filmedben tárolt
információk durván fele elveszik a jelentõs mozgást tartalmazó
részekben.
</para>
<para>
Így hát ha archiválási okokból jó minõség kell, akkor kerüld el a
deinterlace-t.
Bármikor deinterlace-lheted a filmet lejátszás közben is, ha
progresszív scan-es megjelenítõd van, valamint a jövõ lejátszói
képesek lesznek teljes mezõrátával deinterlacing-elni, 50 vagy
60000/1001 teljes képkocka per másodpercre interpolálni az átlapolt
videóból.
</para>
<para>
Fokozott figyelemmel kell eljárni, ha átlapolt videóval dolgozol:
</para>
<orderedlist>
<listitem><para>
A vágási magasság és y-offszet 4 többszöröse kell, hogy legyen.
</para></listitem>
<listitem><para>
Bármilyen függõleges átméretezést átlapolt módban kell elvégezni.
</para></listitem>
<listitem><para>
Az utófeldolgozó és a zajcsökkentõ szûrõk nem az elvártnak megfelelõen
mûködnek, ha nem gondoskodsz róla, hogy egyszerre csak egy mezõvel
dolgozzanak, különben a nem megfelelõ használat miatt sérülhet a videó.
</para></listitem>
</orderedlist>
<para>
Mindezt észben tartva, itt az elsõ példánk:
</para>
<screen>
mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
vcodec=mpeg2video:vbitrate=6000:ilmv:ildct:acodec=mp2:abitrate=224
</screen>
<para>
Figyelj az <option>ilmv</option> és az <option>ildct</option> kapcsolókra.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-filtering">
<title>Szûrés</title>
<para>
Általában olyan kevés szûrést szeretnél, amennyit csak lehet, hogy az eredeti
DVD forráshoz hû maradj. A vágás gyakran elkerülhetetlen (amint azt fentebb
leírtuk), de ne méretezd a videót. Noha a kicsinyítés néha elõnyben részesül
a magas kvantálóknál, mi szeretnénk elkerülni mindkét dolgot: emlékezz, hogy
mit határoztunk el kezdetben a bitek minõségért történõ feláldozásáról.
</para>
<para>
Szintén hagyd békén a gamma, kontraszt, fényerõ, stb. beállításokat. Ami jól néz
ki a monitorodon nem biztos, hogy másnál is szép lesz. Ezeket a beállításokat
lejátszáskor kell elvégezni.
</para>
<para>
Az egyetlen dolog, amit szeretnél, a videó nagyon könnyû zajszûrõn történõ
áteresztése, mint pl. <option>-vf hqdn3d=2:1:2</option>. Ismételten, ezen bitek
jobb felhasználásáról van szó: miért vesztegessük el õket a zaj kódolására, ha
ezt a zajt lejátszás közben is hozzá tudod adni? A <option>hqdn3d</option>
paramétereinek növelésével még jobb tömörítettséget érhetsz el, de ha túl magasra
állítod az értékeket, rontod a kép láthatóságát. A fent javasolt értékek
(<option>2:1:2</option>) eléggé konzervatívak; kísérletezz szabadon nagyobb
értékekkel és ellenõrizd az eredményeket magad.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
<title>A libavcodec kódolási opciói</title>
<para>
Ideális esetben szeretnéd, ha csak azt kellene mondani a kódolónak, hogy
váltson "jobb minõségre" és kész.
Ez szép is lenne, de sajnos nehezen megvalósítható, mert a különbözõ kódolási
opciók különbözõ minõséget eredményeznek, mely függ a forrás anyagtól is.
Ez azért van, mert a tömörítés függ a szóbanforgó videó vizuális tulajdonságaitól.
Például az anime és az élõ felvétel két nagyon különbözõ anyag és így
különbözõ opciókat követelnek meg az optimális kódoláshoz.
A jó hír, hogy néhány opciót soha sem lehet elhagyni, mint például az
<option>mbd=2</option>, <option>trell</option> és <option>v4mv</option>.
Olvass tovább a gyakori kódolási opciók leírásához.
</para>
<itemizedlist>
<title>Állítható opciók:</title>
<listitem><para>
<emphasis role="bold">vmax_b_frames</emphasis>: 1 vagy 2 a jó, a filmtõl
függõen.
Figyelj rá, hogy a libavcodec még nem támogatja a zárt GOP-ot (a
<option>cgop</option> opció még nem igazán mûködik), így a DivX5 nem fog
tudni visszakódolni semmit sem, ami B-kockákkal lett elkódolva.
</para></listitem>
<listitem><para>
<emphasis role="bold">vb_strategy=1</emphasis>: segít a gyors mozgású jeleneteknél.
vmax_b_frames >= 2 szükséges.
Néhány videónál a vmax_b_frames rontja a minõséget, de a vmax_b_frames=2 a
vb_strategy=1-gyel együtt segít.
</para></listitem>
<listitem><para>
<emphasis role="bold">dia</emphasis>: mozgás keresõ tartomány. A nagyobb a
jobb és a lassabb.
Negatív értékek teljesen más skálát adnak.
A jó értékek -1 a gyors kódoláshoz vagy 2-4 a lassabbhoz.
</para></listitem>
<listitem><para>
<emphasis role="bold">predia</emphasis>: mozgás keresõ elõre-lépés.
Nem olyan fontos, mint a dia. Jó értékek 1-tõl (alapértelmezett) 4-ig.
preme=2 kell hozzá, hogy igazán hasznos legyen.
</para></listitem>
<listitem><para>
<emphasis role="bold">cmp, subcmp, precmp</emphasis>: Összehasonlító funkciók
a mozgás becsléshez.
Kísérletezz a 0 (alapértelmezett), 2 (hadamard), 3 (dct) és 6 (ráta
torzítás) értékekkel!
0 a leggyorsabb és és elegendõ a precmp-hez.
A cmp-hez és subcmp-hez 2 jó, ha anime és 3 ha élõ akció.
A 6 vagy jobb vagy nem, de mindenképpen lassabb.
</para></listitem>
<listitem><para>
<emphasis role="bold">last_pred</emphasis>: Az elõzõ képkockából megjósolandó
mozgások száma.
1-3 vagy hasonló segít egy kis sebességcsökkenés árán.
A magasabb értékek lassúak, de igazi hasznuk nincs.
</para></listitem>
<listitem><para>
<emphasis role="bold">cbp, mv0</emphasis>: A makroblokkok kiválasztását
irányítja. Egy kis sebességcsökkenés egy kis minõségjavulásért.
</para></listitem>
<listitem><para>
<emphasis role="bold">qprd</emphasis>: adaptív kvantálás, mely a makroblokk
komplexitásán alapul.
Vagy segít vagy nem, a videó és egyéb opciók függvényében.
Ennek lehetnek mellékhatásai, hacsak nem állítod be a vqmax-ot valami
ésszerûen alacsony értékre (a 6 jó, talán minimum 4); a vqmin=1 is segíthet.
</para></listitem>
<listitem><para>
<emphasis role="bold">qns</emphasis>: nagyon lassú, különösen ha a
qprd-vel kombinálod.
Ezen opció hatására a kódoló minimalizálja a zajt tömörítési mellékhatásokkal,
ahelyett, hogy a szigorúan a forráshoz próbálna igazodni.
Ne használd ezt, csak ha már minden mást kipróbáltál és az eredmény még
mindig nem elég jó.
</para></listitem>
<listitem><para>
<emphasis role="bold">vqcomp</emphasis>: Rátaírányítás beállítása.
Hogy milyen értékek jók, az a filmtõl függ.
Nyugodtan elhagyhatod ezt, ha akarod.
A vqcomp csökkentése több bitet engedélyez az alacsony komplexitású részeknél,
a növelése a nagy komplexitású részekre teszi õket (alapértelmezés: 0.5,
tartomány: 0-1, javasolt tartomány: 0.5-0.7).
</para></listitem>
<listitem><para>
<emphasis role="bold">vlelim, vcelim</emphasis>: Beállítja a szimpla együttható
eliminációs küszöböt a fényerõsséghez és a chroma plane-khez.
Ezt elkülönítve kódolja le minden MPEG-szerû algorítmus.
Az ötlet emögött az opció mögött az, hogy egy jó heurisztikát használnak
annak megállapítására, hogy a blokkban történt változás kisebb-e, mint az
általad megadott küszöb és ebben az esetben egyszerûen "változtatás nélkül"
kerül elkódolásra a blokk.
Ez biteket ment meg és talán gyorsít is a kódoláson. A vlelim=-4 és
vcelim=9 látszólag jók az élõ filmekhez, de nem segítenek az anime-nál;
ha animációt kódolsz, inkább hagyd õket változatlanul.
</para></listitem>
<listitem><para>
<emphasis role="bold">qpel</emphasis>: Negyed pixel mozgás becslés.
Az MPEG-4 fél pixeles precíziót használ a mozgáskereséshez alapértelmezésként,
ezért ez az opció plusz terhelést hoz, mivel több információ tárolódik az
elkódolt fájlban. A tömörítési nyereség/veszteség a filmtõl függ, de
általában nem hatékony anime-oknál.
A qpel mindig jelentõs dekódolási CPU idõ igénnyel jár (+20% a gyakorlatban).
</para></listitem>
<listitem><para>
<emphasis role="bold">psnr</emphasis>: nem érinti az aktuális kódolást,
de készít egy log fájlt, mely megadja minden képkocka típusát/méretét/minõségét
és a végére odaírja a PSNR-t (Peak Signal to Noise Ratio, Zajarány csúcspontja).
</para></listitem>
</itemizedlist>
<itemizedlist>
<title>Opciók, melyekkel nem javasolt játszadozni:</title>
<listitem><para>
<emphasis role="bold">vme</emphasis>: Az alapértelmezett a legjobb.
</para></listitem>
<listitem><para>
<emphasis role="bold">lumi_mask, dark_mask</emphasis>: Pszichovizuális
adaptív kvantálás.
Ne játszadozz ezekkel az opciókkal, ha számít a minõség.
Az ésszerû értékek jók lehetnek a te esetedben, de vigyázz, ez nagyon
szubjektív.
</para></listitem>
<listitem><para>
<emphasis role="bold">scplx_mask</emphasis>: Megpróbálja megelõzni a
blokkos mellékhatásokat, de az utófeldolgozás jobb.
</para></listitem>
</itemizedlist>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-example">
<title>Példa</title>
<para>
Nos hát, éppen most vetted meg a Harry Potter és a titkok kamrája gyönyörû új
példányát (widescreen edition természetesen) és le akarod rip-pelni ezt a
DVD-t, hogy hozzáadhasd a PC-s házimozidhoz. Ez egy régió 1-es DVD,
így NTSC-s. Az alábbi példa egyszerûen alkalmazható PAL-ra is, a
<option>-ofps 24000/1001</option> kapcsoló elhagyásával (mert a kimeneti frameráta
ugyan annyi, mint a bemeneti) és természetesen a vágás méretei is mások
lesznek.
</para>
<para>
Miután lefuttattad az <option>mplayer dvd://1</option> parancsot, kövesd a
<link linkend="menc-feat-telecine">mit kezdjünk a telecine-nel és az átlapolással
NTSC DVD-ken</link> részben leírt utasításokat és fedezd fel, hogy ez egy
24000/1001 fps-es progresszív videó, ami azt jelenti, hogy nem kell inverz telecine
szûrõt használnod, mint pl. a <option>pullup</option> vagy a <option>filmdint</option>.
</para>
<para>
Következõnek megállapítjuk a megfelelõ vágási téglalapot, így használjuk a
cropdetect szûrõt:
<screen>mplayer dvd://1 -vf cropdetect</screen>
Gyõzõdj meg róla, hogy egy teljesen kitöltött képkockán állsz (pl. egy világos
jelenet), ezt fogod látni az <application>MPlayer</application> konzol kimenetén:
<screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
Ezután lejátszuk a filmet ezzel a szûrõvel a számok ellenérzéséhez:
<screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
És azt látjuk, hogy tökéletesen megfelel. Majd meggyõzõdünk, hogy a szélesség és
a magasság osztható 16-tal. A szélesség jó, de a magasság nem. Mivel nem buktunk
hetedik osztályban matekból, tudjuk, hogy a 16 legközelebbi többszöröse, ami
kisebb, mint 362, a 352.
</para>
<para>
Így egyszerûen használhatjuk a <option>crop=720:352:0:58</option> opciót, de
jó lenne egy kicsit lecsípni a telejébõl és az aljából, hogy középen maradjunk.
Összehúzzuk a magasságot 10 pixellel, de nem akarjuk növelni az y-offszetet 5
pixellel, mert az páratlan szám és rontja a minõséget. Helyette inkább 4
pixellel növeljük az y-offszetet:
<screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
A másik ok, hogy lecsípjünk pixeleket mid fent, mint lent, hogy biztosak legyünk,
hogy a fél-fekete pixeleket is levágtuk, amennyiben vannak. Figyelj rá, hogy ha
a videó telecine-lt, a <option>pullup</option> szûrõ (vagy bármelyik inverz
telecine szûrõ, amit használsz) a vágás elõtt szerepeljen a szûrõk láncában.
Ha átlapolt, végezz deinterlace-t a vágás elõtt. (Ha úgy döntesz, hogy megtartod
az átlapolt videót, gyõzõdj meg róla, hogy a függõleges vágási offszet 4
többszöröse.)
</para>
<para>
Ha érdekel annak a 10 pixelnek az elvesztése, inkább a méretek 16 legközelebbi
többszörösére való kicsinyítése érdekelhet. A szûrõ lánc ez esetben:
<screen>-vf crop=720:362:0:58,scale=720:352</screen>
A videó ilyen módon történõ lekicsinyítése azt jelenti, hogy néhány apró részlet
elveszik, de ez valószínûleg nem lesz észrevehetõ. A nagyítás rosszabb minõséget
eredményez (hacsak nem növeled a bitrátát). A vágás az összes ilyen pixeltõl
megszabadít. Ez egy üzlet, amit minden esetben meg kell fontolnod. például ha a
DVD videó televízióra készült, ajánlott elkerülni a függõleges méretezést,
mert a sor mintázás az eredeti felvételhez igazodik.
</para>
<para>
Megtekintés után azt látjuk, hogy a filmünk eléggé eseménydús és nagyon részletes,
így 2400Kbit-et választunk bitrátának.
</para>
<para>
Most már készen vagyunk a két lépéses kódoláshoz. Elsõ lépés:
<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 \
-o Harry_Potter_2.avi</screen>
A második lépés ugyan ez, csak megadjuk a <option>vpass=2</option>-t:
<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 \
-o Harry_Potter_2.avi</screen>
</para>
<para>
A <option>v4mv:mbd=2:trell</option> kapcsolók nagyban javítják a minõséget
a kódolási idõ rovására. Nem ajánlott ezen opciók elhagyása, ha a fõ cél a
jó minõség. A <option>cmp=3:subcmp=3:mbcmp=3</option> opciók egy
összehasonlító függvényt választanak ki, ami jobb minõséget biztosít, mint
az alapértelmezettek. Ezzel a paraméterrel is kísérletezhetsz (lásd a man
oldalt a lehetséges értékekért), mivel a különbözõ függvények nagyban
befolyásolják a minõséget a forrás anyagtól függõen. Például ha úgy találod,
hogy a <systemitem class="library">libavcodec</systemitem> túl
kockás eredményt ad, megpróbálhatod a kísérleti NSSE összehasonlító
függvény használatát a <option>*cmp=10</option> opcióval.
</para>
<para>
Ennél a filmnél a keletkezõ AVI 138 perc hosszú lesz és közel 3 GB-os. És
mivel azt mondtuk, hogy a fájl méret nem számít, ez egy tökéletesen megfelelõ
méret. De ha kisebbet szeretnél, próbálj ki egy alacsonyabb bitrátát. A bitráták
növelése csökkenõ mértékû javulást hoz, így pl. tisztán kivehetõ a különbség
az 1800Kbit és a 2000Kbit között, szinte észrevehetetlen 2000Kbit felett.
Nyugodtan kísérletezz, amíg csak kedved tartja.
</para>
<para>
Mivel a forrás videót áteresztettük a zajeltávolító szûrõn, talán egy picit
vissza akarsz tenni a lejátszás közben. Ez, az <option>spp</option>
utófeldolgozó szûrõvel drasztikusan javítja a felfogható minõséget és
segít a segít a videó kockásodásának megszüntetésében. Az
<application>MPlayer</application> <option>autoq</option> opciójával
szabályozhatod az spp szûrõ utófeldolgozásának mértékét a CPU-tól függõen.
Emellett valószínûleg gamma és/vagy szín korrekciót is szeretnél csinálni,
hogy jobban illeszkedjen a monitorodhoz. Például:
<screen>mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3</screen>
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-muxing">
<title>Keverés</title>
<para>
Most, hogy elkódoltad a videódat, valószínûleg szeretnéd elkeverni egy
vagy több audió sávval együtt egy film konténerbe, mint pl. az AVI,
Matroska vagy a NUT.
A <application>MEncoder</application> jelenleg csak MPEG és AVI
konténer formátumokba tud audió és videó kimenetet készíteni.
Például:
<screen>mencoder -oac copy -ovc copy -o <replaceable>kimenet_film.avi</replaceable> -audiofile <replaceable>bemenet_audio.mp2</replaceable> <replaceable>bemenet_video.avi</replaceable></screen>
Ez a <replaceable>bemenet_video.avi</replaceable> videó fájlból
és a <replaceable>bemenet_audio.mp2</replaceable> audió fájlból
elkészíti a <replaceable>kimenet_film.avi</replaceable> fájlt.
Ez a parancs mûködik MPEG-1 layer I, II és III (ismertebb nevén
MP3) audióval, WAV és egy pár más audió formátummal.
</para>
<para>
A MEncoderben kísérleti jelleggel van
<systemitem class="library">libavformat</systemitem> támogatás, ami
az FFmpeg projektbõl egy függvénykönyvtár, ami számos konténer keverését és
demux-álását támogatja.
Például:
<screen>mencoder -oac copy -ovc copy -o <replaceable>kimenet_film.asf</replaceable> -audiofile <replaceable>bemenet_audio.mp2</replaceable> <replaceable>bemenet_video.avi</replaceable> -of lavf -lavfopts format=asf</screen>
Ez ugyan azt csinálja, mint az elõbbi példa, de a kimeneti
konténer ASF lesz.
Kérlek figyelj, hogy ez a támogatás még nagyon kísérleti (de minden
nap egyre jobb lesz) és csak akkor mûködik, ha az
<application>MPlayer</application>t a
<systemitem class="library">libavformat</systemitem> támogatás
bekapcsolásával fordítottad (ami azt jelenti, hogy az elõre
csomagolt binárisok a legtöbb esetben nem fognak mûködni).
</para>
<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
<title>Az AVI konténer korlátai</title>
<para>
Habár a legszélesebb körben támogatott konténer formátum az MPEG-1
után, az AVI-nak is van néhány nagy hátránya.
Talán a legnyilvánvalóbb a túlterhelés.
Az AVi fájl minden egyes chunk-ja 24 bájtot pazarol a fejlécekre és
az index-re.
Ez egy kicsit több mint 5 MB óránként vagy 1-2,5% plusz egy 700 MB-os
filmnél. Ez nem tûnik soknak, de eldöntheti, hogy 700 kbit/sec-os
videót tudsz csak használni vagy 714 kbit/sec-osat, ahol minden bit a
minõségre megy.
</para>
<para>
Ezen hatalmas hátrány mellett az AVI-nak a következõ fõ korlátai vannak:
</para>
<orderedlist>
<listitem>
<para>
Csak fix-fps-û tartalmat tud tárolni. Ez különleges korlátozás, ha
az eredeti anyag, amit el akarsz kódolni, kevert tartalom, például
NTSC videó és film anyag keveréke.
Már vannak olyan hack-ek, amivel kevert framerátás tartalmat lehetne
AVI-ba tenni, de ötszörös vagy még nagyobb mértékben növelik a (már
amúgy is nagy) túlterhelést, így nem praktikusak.
</para>
</listitem>
<listitem>
<para>
Az AVI fájlokban az audiónak vagy konstans-bitrátásnak (CBR) vagy
konstans-képkocka méretûnek (pl. minden képkocka ugyan annyi számú
mintát dekódol) kell lennie.
Sajnos a leghatékonyabb codec, a Vorbis, egyik kívánalomnak sem
felel meg.
Ezért ha AVI-ban tárolod a filmjeidet, egy kevésbé hatékony
codec-et kell használnod, mint pl. az MP3 vagy az AC3.
</para>
</listitem>
</orderedlist>
<para>
A fentiek miatt a <application>MEncoder</application> jelenleg nem
támogatja a változó-fps-es kimenetet vagy a Vorbis kódolást.
Így ezeket nem korlátozásként fogod fel, ha a
<application>MEncoder</application> az egyetlen
eszköz, mellyel kódolsz.
Azonban lehetséges a <application>MEncoder</application>t csak
a videó kódolására használni és valamilyen egyéb eszközzel
elkódolni az audiót majd összekeverni õket egy konténer formátumba.
</para>
</sect3>
<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
<title>Keverés a Matroska konténerbe</title>
<para>
A Matroska szabad, nyílt szabványú konténer formátum, melynek
célja, hogy rengeteg továbbfejlesztett képességet biztosítson,
amit a régebbi konténerek, mint pl. az AVI nem tud kezelni.
például a Matroska támogatja a változó bitrátás audió tartalmat
(VBR), változó framerátát (VFR), fejezeteket, fájl csatolásokat,
hiba keresõ kódot (EDC) és a modern A/V codec-eket, mint az
"Advanced Audio Coding" (AAC), "Vorbis" vagy "MPEG-4 AVC" (H.264),
szemben az AVI-val, amelyik egyiket sem.
</para>
<para>
A Matroska fájlok készítéséhez szükséges eszközöket együtt
<application>mkvtoolnix</application>-nek hívják és elérhetõek a
legtöbb Unix platformon, akárcsak <application>Windows</application>on.
Mivel a Matroska nyílt szabványú, találhatsz más eszközöket is, amik
jobban megfelelnek neked, de mivel az mkvtoolnix a leggyakrabban
használt, és maga a Matroska csapat támogatja, csak ennek a
használatát mutatjuk be.
</para>
<para>
Talán a legegyszerûbb módszer, hogy elindulj a Matroska-val, az
<application>MMG</application> használata, az
<application>mkvtoolnix</application>-szel szállított grafiksu frontend
és kövesd a
<ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">mkvmerge GUI (mmg) leírást</ulink>
</para>
<para>
A parancssor segítségével is összekverheted az audió és videó fájlokat:
<screen>mkvmerge -o <replaceable>kimenet.mkv</replaceable> <replaceable>bemenet_video.avi</replaceable> <replaceable>bemenet_audio1.mp3</replaceable> <replaceable>bemenet_audio2.ac3</replaceable></screen>
Ez a <replaceable>bemenet_video.avi</replaceable> fájlt és a
két audió fájlt, a <replaceable>bemenet_audio1.mp3</replaceable>-at
és a <replaceable>bemenet_audio2.ac3</replaceable>-at összefûzi a
<replaceable>kimenet.mkv</replaceable> Matroska fájlba.
A Matroska, mint ahogy azt már megemlítettem, ennél sokkal többre
képes, mint pl. több audió sáv használatára (beleértve az audió/videó
szinkronizáció finom-hangolását), fejezetek, feliratok, vágás, stb...
Kérlek olvasd el ezen alkalmazások dokumentációit a részletekért.
</para>
</sect3>
</sect2>
</sect1>
<sect1 id="menc-feat-x264">
<title>Kódolás az <systemitem class="library">x264</systemitem> codec-kel</title>
<para>
Az <systemitem class="library">x264</systemitem> egy szabad függvénykönyvtár
a H.264/AVC videó folyamok kódolásához.
Mielõtt elkezdenél kódolni, <link linkend="codec-x264-encode">be kell állítanod a
<application>MEncoder</application>ben a támogatását</link>.
</para>
<sect2 id="menc-feat-x264-intro">
<title>Milyen opciókat kell használhom a legjobb eredményhez?</title>
<para>
Kérlek kezd az olvasást az <application>MPlayer</application> man oldalának
<systemitem class="library">x264</systemitem> részével.
Ez a rész a man oldal kiegészítésének lett szánva.
</para>
<orderedlist>
<title>Három fõ szempontot kell megfontolni, amikor kódolási opciókat
választasz:</title>
<listitem><para>A kódolási idõ vs. minõség kérdés</para></listitem>
<listitem><para>Képkocka típusra vonatkozó döntések</para></listitem>
<listitem><para>Ráta és kvantálási tulajdonságokkal kapcsolatos döntések</para></listitem>
</orderedlist>
<para>
Ez a leírás leginkább az elsõ kérdéssel foglalkozik.
A másik két típus gyakran a személyes beállítottságtól és
egyéni igényektõl függ.
</para>
<para>
Mielõtt folytatnád, kérlek vedd figyelembe, hogy ez a leírás csak egy
minõségi mércét használ: a globális PSNR-t.
A PSNR rövid leírása megtalálható
<ulink url="http://en.wikipedia.org/wiki/PSNR">a Wikipedia PSNR-rõl szóló cikkében</ulink>.
A globális PSNR az utolsó PSNR szám, amit kiír az <option>x264encopts</option>,
ha megadod neki a <option>psnr</option> opciót.
Bármikor, amikor egy kijelentést olvasol a PSNR-rõl, él az a
feltételezés, hogy azonos bitrátát használsz.
</para>
<para>
Ezen leírás majdnem teljesen egészében feltételezi, hogy két lépéses
kódolást használsz.
Az opciók összehasonlításánál két fõ érv szól a kétlépéses
kódolás mellett.
Az egyik, hogy a két lépés alkalmazása kb. 1dB PSNR-t jelent pluszba,
ami nagyon nagy különbség.
A másik, hogy az opciók tesztelésénél a direkt minõség-összehasonlítás
az egy lépéses kódolásokkal bizonytalan, mert a bitráta gyakran
jelentõsen változik a kódolások között.
Nem minden esetben könnyû megmondani, hogy a minõség változás a
megváltozott opciók miatt következett-e be vagy az elért bitráta
különbségbõl adódik.
</para>
<para>
Azon opciók, amik segítségével a sebesség kárára javíthatod a minõséget,
a <option>subq</option> és a <option>frameref</option> a legfontosabbak
általában.
Ha érdekel akár a sebesség, akár a minõség tuningolása, akkor ezt a
két opciót kell elõször megvizsgálnod.
</para>
<para>
Sebesség szempontjából a <option>frameref</option> és a
<option>subq</option> opciók elég erõteljes kölcsönhatásban
vannak.
A tapasztalatok szerint egy referencia kockával a
<option>subq=5</option> kb. 35%-kal több idõt kíván, mint a
<option>subq=1</option>.
6 referencia kockával az igény 60% fölé megy.
A <option>subq</option> hatása a PSNR-re elég egyenletes,
a referencia kockák számától függetlenül.
Általában a <option>subq=5</option> 0.2-0.5 dB hasznot hoz a
globális PSNR szempontjából a <option>subq=1</option>-hez képest.
Ez már látható különbség.
</para>
</sect2>
<sect2 id="menc-feat-x264-encoding-options">
<title>Az x264 kódolási opciói</title>
<itemizedlist>
<listitem><para>
<emphasis role="bold">frameref</emphasis>:
A <option>frameref</option> alapértéke 1, de ez nem jelenti
azt, hogy jó dolog 1-re állítani.
Pusztán a <option>frameref</option> növelése 2-re kb.
0.15dB PSNR nyereséget jelent 5-10%-os sebességcsökkenéssel; ez így
még jó üzletnek tûnik.
A <option>frameref=3</option> 0.25dB PSNR-t hoz a
<option>frameref=1</option>-hez képest, ami látható különbség.
A <option>frameref=3</option> kb. 15%-kal lassabb a
<option>frameref=1</option>-nél.
Ezután sajnos gyorsan jön a csökkenés.
A <option>frameref=6</option> valószínûleg csak
0.05-0.1 dB pluszt jelent a <option>frameref=3</option>-hoz képest,
további 15% sebességveszteség mellett.
<option>frameref=6</option> felett a minõségjavulás általában nagyon
kicsi (bár vedd figyelembe az egész rész olvasása közben, hogy ez
nagymértékben változhat a forrásodtól függõen).
Egy átlagos esetben a <option>frameref=12</option>
a globális PSNR-t csekély 0.02dB-vel javítja a
<option>frameref=6</option>-hoz képest, 15%-20% sebességveszteség árán.
Az ilyen magas <option>frameref</option> értékeknél az egyedüli
igazán jó dolog, amit mondhatunk, hogy a további növelés majdnem
biztosan soha sem <emphasis role="bold">árt</emphasis> a
PSNR-nek, de a minõségi javulás szinte alig mérhetõ és nem is észrevehetõ.
</para>
<note><title>Megjegyzés:</title>
<para>
A <option>frameref</option> növelése szükségtelenül magas értékekre
<emphasis role="bold">ronthatja</emphasis> és
<emphasis role="bold">általában rontja is</emphasis>
a kódolási hatékonyságot, ha kikapcsolod a CABAC-ot.
Bekapcsolt CABAC-kal (alapértelmezett), a <option>frameref</option>
"túl magas" értékre történõ beállítása jelenleg nagyon távolinak
tûnik ahhoz, hogy aggódjunk miatta és a jövõben az optimalizációk
lehet, hogy meg is szüntetik ennek lehetõségét.
</para>
</note>
<para>
Ha számít a sebesség, akkor megfontolandó, hogy alacsony
<option>subq</option> és <option>frameref</option> értékeket
használj az elsõ lépésben és majd a második lépésben emeld.
Általában ez jelentéktelen negatív hatással van a végsõ minõségre:
valószínûleg jóval kevesebb, mint 0.1dB PSNR-t veszítesz, ami
túl kicsi különbség ahhoz, hogy észrevedd.
Bár a <option>frameref</option> különbözõ értékei alkalmanként
befolyásolhatják a frametype döntéseket.
Ezek legtöbbször ritka, szélsõséges esetek, de ha teljesen biztos
akarsz lenni, gondolkozz el rajta, hogy van-e a videódban teljes
képernyõs ismétlõdõ, csillogó minta vagy nagyon nagy ideiglenes
elzáródás, ami kikényszeríthet egy I-kockát.
Az elsõ lépés <option>frameref</option>-jét úgy állítsd be, hogy
elég nagy legyen ahhoz, hogy tartalmazza a villódzási ciklust
(vagy az elzárást). Például ha a jelenet oda-vissza ugrál két kép
között három keret idejéig, állítsd be az elsõ lépés
<option>frameref</option>-jét 3-ra vagy magasabbra.
Ez a dolog eléggé ritka az élõ akciót tartalmazó videóanyagokban,
de néha elõjön videójátékok képének mentésekor.
</para></listitem>
<listitem><para>
<emphasis role="bold">me</emphasis>:
Ez az opció a mozgásbecsléshez használt keresés módszerét választja ki.
Ezen opció megváltoztatása természetesen magával hozza a
minõség-vs-sebesség arány változását. A <option>me=1</option> csak kis
mértékben gyorsabb, mint az alapértelmezett keresés, kevesebb, mint
0.1dB globális PSNR árán. Az alapértelmezett beállítás (<option>me=2</option>)
egy ésszerû kompromisszum a sebesség és a minõség között. A <option>me=3</option>
kicsivel kevesebb, mint 0.1dB globális PSNR-t jelent, amiért változó
árat kell fizetni a sebességben a <option>frameref</option>-tõl függõen.
Ha a <option>frameref</option> értéke nagy (pl. 12 vagy hasonló), a
<option>me=3</option> kb. 40%-kal lassabb, mint az alapértelmezett
<option> me=2</option>. <option>frameref=3</option>-mal a sebességbeli
veszteség visszaesik 25%-30%-ra.
</para>
<para>
A <option>me=4</option> egy nagyon alapos keresést használ, ami túl
lassú a gyakorlati alkalmazáshoz.
</para>
</listitem>
<listitem><para>
<emphasis role="bold">4x4mv</emphasis>:
Ez az opció engedélyezi a 8x4-es, 4x8-as és 4x4-es alpartíciók
használatát a megjósolt makroblokkokban. A bekapcsolása viszonylag
egyenletes 10%-15%-os sebességveszteséget jelent. Ez az opció eléggé
hasztalan a kevés mozgást tartalmazó videókban, bár néhány gyors
mozgású forrás, tipikusan a sok apró mozgó objektumot tartalmazó,
várhatóan kb. 0.1dB-t javul.
</para>
</listitem>
<listitem><para>
<emphasis role="bold">bframes</emphasis>:
A B-kockák haszna megkérdõjelezhetõ a legtöbb, eddig használt codec
esetében.
A H.264-nél ez megváltozott: új technikák és blokk típusok lehetnek a
B-kockákban.
Általában még a naív B-kocka választó algoritmus is jelentõs
PSNR hasznot hozhat.
Azt is érdemes megemlíteni, hogy ha kikapcsolod az adaptív
B-kocka döntést (<option>nob_adapt</option>), a
<option>bframes</option>-szel történõ kódolás általában
valamivel gyorsít a kódolási folyamaton.
</para>
<para>
Az adaptív B-kocka döntés kikapcsolásával
(<option>x264encopts</option> <option>nob_adapt</option> opciója),
ezen beállítás optimális értéke általában a
<option>bframes=1</option> és <option>bframes=3</option> tartományba
esik. Ha az adaptív B-kocka döntés be van kapcsolva (alapértelmezett
tulajdonság), akkor nyugodtan használhatsz magasabb értékeket is;
a kódoló megpróbálja csökkenteni a B-kockák használatát azokban a
jelenetekben, ahol ronthatják a tömörítést.
</para>
<para>
Ha használni akarod a <option>bframes</option>-t, gondolkodj el
a B-kockák maximális számának 2-re vagy nagyobbra állításán,
hogy kihasználd a súlyozott jóslás elõnyét.
</para></listitem>
<listitem><para>
<emphasis role="bold">b_adapt</emphasis>:
Megjegyzés: Ez alapértelmezetten be van kapcsolva.
</para>
<para>
Ezzel az opcióval a kódoló egy egyszerû heurisztikát
fog használni a B-kockák számának csökkentésére az olyan
jelenetekben, amelyek nem profitálnak belõlük.
Használhatod a <option>b_bias</option>-t a kódoló
B-kocka-használatának nyomonkövetésére.
Az adaptív B-kockák sebességbeli hátránya jelenleg elég
szerény, de ilyen a potenciális minõségbeli javulás is.
De általában nem árt.
Jegyezd meg, hogy ez csak az elsõ lépésben érinti a
sebességet és a képkocka típus döntéseket.
A <option>b_adapt</option>-nak és a <option>b_bias</option>-nak
nincs hatása a következõ lépésekre.
</para></listitem>
<listitem><para>
<emphasis role="bold">b_pyramid</emphasis>:
Jó ha engedélyezed ezt az opciót, ha >=2 B-kockát használsz;
ahogy a man oldal is írja, egy kicsi minõségi javulást
kapsz sebességcsökkenés nélkül.
Jegyezd meg, hogy ezen videók nem olvashatóak a 2005.
március 5-nél korábbi libavcodec-alapú dekódolókkal.
</para></listitem>
<listitem><para>
<emphasis role="bold">weight_b</emphasis>:
Általános esetekben ez az opció nem hoz sokat a konyhára.
Bár az át- és az elsötétülõ jeleneteknél, a súlyozott
jóslás jelentõs bitráta spórolást hoz.
Az MPEG-4 ASP-ben az elsötétülés általában drága I-kockák
sorozatával kerül legjobban elkódolásra; a B-kockákban
használt súlyozott jóslással lehetséges ezek legalább
részben a sokkal ésszerûbben-méretezett B-kockákkal
történõ lecserélése.
A kódolási idõben jelentkezõ plusz ráfordítás minimálisnak
tûnik, ha van egyáltalán.
Ellentétben azzal, amire pár ember gondol, a dekódoló CPU
igényét nem érinti jelentõsen a súlyozott jóslás.
</para>
<para>
Sajnos a jelenlegi adaptív B-kocka döntési algoritmusnak
van egy olayn érdekes tulajdonsága, hogy kerüli a B-kockákat
az elsötétedéseknél. Amíg ez nem változik meg, jó ötlet
lehet a <option>nob_adapt</option> opció hozzáadása az
x264encopts-hoz, ha arra számítasz, hogy sötétedések jelentõsen
befolyásolják a videódat.
</para></listitem>
<listitem><para>
<emphasis role="bold">deblockalpha, deblockbeta</emphasis>:
Ez a rész egy kicsit vitatható lesz.
</para>
<para>
A H.264 egy egyszerû deblocking eljárást definiál az I-blokkokra,
ami elõre beállított erõsséget és áteresztést használ a szóbanforgó
blokk QP-je alapján.
Alapértelmezettként a nagy QP blokkok erõs szûrön mennek át, az
alacsony QP blokkok nem kerülnek deblock-olásra semennyire sem.
Az alapértelmezett értékek szerint elõre beállított erõsség jól
megválasztott és jó eséllyel PSNR-optimális bármilyen videóhoz,
amit csak próbálsz elkódolni.
A <option>deblockalpha</option> és a <option>deblockbeta</option>
paraméterekkel megadhatod az elõre beállított deblocking áteresztés
eltolását.
</para>
<para>
Sokan úgy gondolják, hogy jó ötlet nagy mértékben csökkenteni a
deblocking szûrõ erõsségét (mondjuk -3-ra).
Ez valójában szinte soha sem jó ötlet és a legtöbb esetben
azok az emberek, akik ezt csinálják, nem is értik igazán,
hogy hogyan mûködik a deblocking alapból.
</para>
<para>
Az elsõ és legfontosabb dolog azt tudni a beépített deblocking
szûrõrõl, hogy az alapértelmezett áteresztés majdnem mindig
PSNR-optimális.
Ritkább esetben nem optimális, az ideális eltolás plusz vagy
mínusz 1.
A deblocking paramétereinek nagy mértékben történõ megváltoztatása
majdnem garantáltan rontja a PSNR-t.
A szûrõ erõsítése elmaszatol néhány részletet; a szûrõ gyengítése
a kockásodás láthatóságát növeli.
</para>
<para>
Tipikusan rossz ötlet a deblocking áteresztés csökkentése, ha a
forrásod térbeli komplexitása alacsony (pl. nem túl részletes vagy
zajos).
A beépített szûrõ remek munkát végez a felbukkanó mellékhatások
elrejtése érdekében.
Ha a forrásban térbeli komplexitása nagy, a mellékhatások még
kevésbé láthatóak.
Ez azért van, mert a gyûrûs haladás részletnek vagy zajnak látszik.
Az emberi szem könnyen meglátja, ha egy részlet elmozdul, de nem
olyan könnyû észrevenni, ha a zaj rosszul van reprezentálva.
Ha szubjektív minõséghez ér, a zaj és a részletesség valamennyire
felcserélhetõ.
A deblocking szûrõ erõsségének csökkentésével a legvalószínûbb,
hogy növeled a hibákat a gyûrûs mellékhatások hozzáadásával, de
a szem nem veszi észre, mert összekeveri a mellékhatásokat és a
részleteket.
</para>
<para>
Ez <emphasis role="bold">még</emphasis> nem igazolja a deblocking
szûrõ erõsségének csökkentését.
Általában jobb zajminõséget érhetsz el az utófeldolgozással.
Ha a H.264 kódolásod túl foltos vagy maszatos, próbáld meg
lejátszani a <option>-vf noise</option> kapcsolóval.
A <option>-vf noise=8a:4a</option>-nak a gyenge mellékhatásokat
el kell tüntetnie.
Majdnem biztos, hogy jobb eredményt kapsz, mint a deblocking
szûrõvel való pepecseléssel.
</para></listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="menc-feat-telecine">
<title>Mit kezdjünk a telecine-nel és az átlapolással NTSC DVD-ken</title>
<sect2 id="menc-feat-telecine-intro">
<title>Bevezetés</title>
<formalpara>
<title>Mi az a telecine?</title>
<para>
Gondolom azért kerested meg ezt a részt, mert nem sok mindent értesz abból,
ami ebben a dokumentumban le van írva:
<ulink url="http://www.divx.com/support/guides/guide.php?gid=10">http://www.divx.com/support/guides/guide.php?gid=10</ulink>
Ez az URL egy érthetõ és meglehetõsen átfogó leírás arról, hogy mi is az
a telecine.
</para></formalpara>
<formalpara>
<title>Megjegyzés a számokhoz.</title>
<para>
Sok dokumentáció, beleértve a fent belinkeltet is, az NTSC videó mezõ
per másodperc értékét 59.94-ként határozza meg, és a megfelelõ képkocka
per másodperc értéket 29.97-nek (telecine-s és átlapolt) és 23.976-nak
írja (progresszív). Az egyszerûség kedvéért sok dokumentáció még ezeket
a számokat is lekerekíti 60-ra, 30-ra és 24-re.
</para></formalpara>
<para>
Pontosan fogalmazva az összes szám csak közelítés. A fekete-fehér
NTSC videó pontosan 60 mezõ per másodperces volt, de késõbb 60000/1001-et
választottak, hogy a szín adatokat hozzáigazítsák, de kompatibilisek
maradjanak a kortárs fekete-fehér televíziókkal. A digitális NTSC videó
(mint ami a DVD-n van) is 60000/1001 mezõ per másodperces. Ebbõl származik,
hogy az átlapolt és telecine-lt videó 30000/1001 képkocka per másodperces;
a progresszív videó 24000/1001 képkocka per másodperces.
</para>
<para>
A <application>MEncoder</application> dokumentációjának régebbi verziói
és számos archivált levelezési listára küldött levél az 59.94-re, 29.97-re
és a 23.976-ra hivatkozik. Az összes <application>MEncoder</application>
dokumentáció frissítve lett a tört számokra és neked is ajánlatos ezeket
használni.
</para>
<para>
<option>-ofps 23.976</option> helytelen.
<option>-ofps 24000/1001</option> használandó helyette.
</para>
<formalpara>
<title>Hogyan használják a telecine-t.</title>
<para>
Az összes videónak, amit NTSC televízión szándékoznak megjeleníteni,
60000/1001 mezõ per másodperc sebességûnek kell lennie. A TV-nek készített
filmeket és show-kat gyakran direkt 60000/1001 mezõ per másodperces sebességgel
fényképezik, de a mozifilmek nagy része 24 vagy 24000/1001 képkocka per
másodperccel készül. Amikor a mozis film DVD-jét készítik, a videót egy
telecine-nek nevezett eljárás keretében televíziós formátumra konvertálják.
</para></formalpara>
<para>
Egy DVD-n a videót tulajdonképpen soha sem 60000/1001 mezõ per másodperccel
tárolják. Abban a videóban, ami eredetileg 60000/1001-es volt, egy pár
mezõ alkot egy képkockát, 30000/1001 képkocka per másodperces sebességet
eredményezve. A hardveres DVD lejátszók ezután beolvasnak egy, a videó
folyamban benne lévõ jelzõt, hogy megállapítsák, hogy a páros vagy páratlan
sorszámú sorok alkotják-e az elsõ mezõt.
</para>
<para>
Általában a 24000/1001 képkocka per másodperces tartalom változatlan
marad, ha DVD-re kódolják és a DVD lejátszónak kell telecine-t végezni
menet közben. De néha a videót a DVD-re mentés <emphasis>elõtt</emphasis>
telecine-lik, akkor is, ha eredetileg 24000/1001 képkocka per másodperces
volt, így 60000/1001 mezõ per másodperces lesz, és a lemezen 30000/1001
képkocka per másodpercesként tárolódik.
</para>
<para>
Ha megnézed az egyes képkockákat az 60000/1001 mezõ per másodperces videóban,
telecine-lt vagy sem, az átlapolás tisztán látható bármilyen mozgásnál, mert
az egyik mezõ (mondjuk a páros sorszámú sorok) idõben 1/(60000/1001)
másodperccel késõbbi történést reprezentál, mint a másik. Átlapolt videó
számítógépen történõ lejátszáskor rondán néz ki, mert egyrészt a monitornak
nagyobb a felbontása, másrészt mert a videót kockáról kockára mutatja meg,
mezõrõl mezõre történõ lejátszás helyett.
</para>
<itemizedlist>
<title>Megjegyzések:</title>
<listitem><para>
Ez a rész csak NTSC DVD-re vonatkozik, nem a PAL-ra.
</para></listitem>
<listitem><para>
A <application>MEncoder</application> példa sorok a dokumentumban
<emphasis role="bold">nem</emphasis> hétköznapi felhasználásra lettek
írva. Csak a legalapvetõbb dolgokat mutatják, ami a megfelelõ kategóriába
tartozó videók kódolásához szükséges. A jó DVD rip-ek készítése vagy a
<systemitem class="library">libavcodec</systemitem> finomhangolása a
maximális minõség eléréséhez nem tartozik ezen dokumentum célkitûzései közé.
</para></listitem>
<listitem><para>
Sok megjegyzés vonatkozik erre a leírásra, melyek így vannak jelölve:
<link linkend="menc-feat-telecine-footnotes">[1]</link>
</para></listitem>
</itemizedlist>
</sect2>
<sect2 id="menc-feat-telecine-ident">
<title>Hogyan állapítható meg egy videó típusa</title>
<sect3 id="menc-feat-telecine-ident-progressive">
<title>Progresszív</title>
<para>
A progresszív videót eredetileg 24000/1001 fps-sel rögzítették és változtatás
nélkül tárolják a DVD-n.
</para>
<para>
Ha egy progressive DVD-t az <application>MPlayer</application>rel játszasz
le, az <application>MPlayer</application> a következõ sort fogja kiírni,
amint a film lejátszása megkezdõdik:
<screen> demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.</screen>
magyarul:
<screen> demux_mpg: 24000/1001 fps progresszív NTSC formátumot találtam, frameráta váltás.</screen>
Ettõl a ponttól kezdve a demux_mpg soha sem mondhatja azt, hogy
&quot;30000/1001 fps NTSC formátumot&quot; talált.
</para>
<para>
Ha progresszív videót nézel, soha nem láthatod meg az átlapolást. De vigyázz,
néha pár telecine-s bit belekeveredik oda, ahol nem számítasz rá. Én DVD-n lévõ
TV mûsoroknál láttam egy másodpercnyi telecine-t minden jelenet váltáskor vagy
véletlen helyeken történõ belenézéskor. Egyszer láttam olyan DVD-t is, aminek
az elsõ fele progresszív volt, a második fele pedig telecine-s. Ha
<emphasis>tényleg</emphasis> biztosra akarsz menni, átvizsgálhatod az egész
filmet:
<screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
A <option>-benchmark</option> kapcsoló határása az
<application>MPlayer</application> olyan gyorsan játsza le a filmet, amennyire
csak lehetséges; a hardveredtõl függõen sokáig is eltarthat. Minden esetben,
ha a demux_mpg frameráta váltást észlel, a fenti sor azonnal megmutatja neked
a váltás idejét.
</para>
<para>
Néha a progresszív videóra &quot;soft-telecine&quot;-ként hivatkoznak, mert
a DVD lejátszónak kell ezt telecine-elnie.
</para>
</sect3>
<sect3 id="menc-feat-telecine-ident-telecined">
<title>Telecine-lt</title>
<para>
A telecine-lt videót eredetileg 24000/1001 fps-sel vették fel, de telecine-lve lett
a DVD-re írás <emphasis>elõtt</emphasis>.
</para>
<para>
Az <application>MPlayer</application> nem ír semmilyen frameráta változást,
ha telecine-lt videót játszik le.
</para>
<para>
Egy telecine-lt videó nézésekor átlapolási hibákat láthatsz, amik miatt
&quot;villoghat&quot; a kép: ismétlõdõen megjelennek majd eltûnnek.
Ezt jobban megfigyelheted így:
<orderedlist>
<listitem>
<screen>mplayer dvd://1</screen>
</listitem>
<listitem><para>
Menj egy mozgást ábrázoló részhez.
</para></listitem>
<listitem><para>
Használd a <keycap>.</keycap> gombot az egy képkockával történõ elõreléptetéshez.
</para></listitem>
<listitem><para>
Nézd meg az átlapoltnak látszó és a progresszívnak látszó képkockák
mintáját. Ha a minta, amit látsz PPPII, PPPII, PPPII,... akkor a
videó telecine-lt. Ha valami más mintát látsz, akkor a videót lehet,
hogy egy másik, nem szabványos módszerrel telecine-lték;
a <application>MEncoder</application> nem tudja veszteségmentesen
átkonvertálni a nem-sabványos telecine-t progresszívba. Ha egyáltalán
nem látsz semmilyen mintát, akkor valószínûleg átlapolt.
</para></listitem>
</orderedlist>
</para>
<para>
Néha a DVD-ken lévõ telecine-lt videót &quot;hard-telecine&quot;-nak is hívják.
Mivel a hard-telecine már 60000/1001 mezõ per másodperces, a DVD lejátszó
mindenféle manipulálás nélkül játsza le a videót.
</para>
</sect3>
<sect3 id="menc-feat-telecine-ident-interlaced">
<title>Átlapolt</title>
<para>
Az átlapolt videót eredetileg 60000/1001 mezõ per másodperc sebességgel filmezték
és 30000/1001 képkocka per másodperccel került fel a DVD-re. Az átlapolási effektus
(gyakran &quot;combing&quot;-nak hívják) a mezõ párok képkockává történõ
egyesítésének eredménye. Minden mezõnek 1/(60000/1001) másodpercnyire kellene lennie
egymástól, megjelenítésnél a különbség szemmel látható.
</para>
<para>
Akár csak a telecine-s videóknál, az <application>MPlayer</application>nek
a nem kell semmiféle frameráta változásról értesítenie átlapolt videók
lejátszásakor.
</para>
<para>
Ha egy átlapolt videót közelebbrõl megnézel képkocka-léptetéssel a
<keycap>.</keycap> gombot nyomogatva, megláthatod, hogy minden egyes képkocka átlapolt.
</para>
</sect3>
<sect3 id="menc-feat-telecine-ident-mixedpt">
<title>Kevert progresszív és telecine</title>
<para>
Az összes &quot;kevert progresszív és telecine&quot; videót eredetileg
24000/1001 képkocka per másodperccel rögzítették, de egyes részei utólag
telecine-lve lettek.
</para>
<para>
Ha az <application>MPlayer</application> ilyen videót játszik le,
(sokszor ismétlõdõen) oda-vissza vált &quot;30000/1001 fps NTSC&quot; és
&quot;24000/1001 fps progresszív NTSC&quot; között. Figyeld az
<application>MPlayer</application> kimenetének alját, ott megláthatod
az üzeneteket.
</para>
<para>
Nézd meg a &quot;30000/1001 fps NTSC&quot; részeket, és meggyõzõdhetsz róla,
hogy telecine-ltek, nem csak átlapoltak.
</para>
</sect3>
<sect3 id="menc-feat-telecine-ident-mixedpi">
<title>Kevert progresszív és átlapolt</title>
<para>
&quot;Kevert progresszív és átlapolt&quot; tartalomnál a progresszív
és az átlapolt videót összeillesztették.
</para>
<para>
Ez a kategória ugyan úgy viselkedik, mint a &quot;kevert progresszív és telecine&quot;,
egészen addig, amíg meg nem vizsgálod a 30000/1001 fps-es részeket és észre
nem veszed, hogy nincs bennük telecine minta.
</para>
</sect3>
</sect2>
<sect2 id="menc-feat-telecine-encode">
<title>Hogyan lehet elkódolni ezen kategóriákat</title>
<para>
Ahogy említettem az elején, például a <application>MEncoder</application>
alábbi parancssorai <emphasis role="bold">nem</emphasis> igazán használhatóak;
csak demonstrálják a minimum paramétereket az egyes kategóriák megfelelõ kódolásához.
</para>
<sect3 id="menc-feat-telecine-encode-progressive">
<title>Progresszív</title>
<para>
A progresszív videóhoz nem kell semmilyen különleges szûrés. Az egyetlen
paraméterm, amit biztosan használnod kell, az a
<option>-ofps 24000/1001</option>. Egyébként a <application>MEncoder</application>
30000/1001 fps-sel és duplikált képkockákkal próbál kódolni.
</para>
<para>
<screen>mencoder dvd://1 -nosound -ovc lavc -ofps 24000/1001</screen>
</para>
<para>
Gyakran az az eset áll fenn, hogy a videó progresszívnek tûnik, de valójában
nagyon rövid telecine-s részek vannak belekeverve. Ha nem vagy biztos
a dolgodban, a legbiztonságosabb, ha
<link linkend="menc-feat-telecine-encode-mixedpt">kevert progresszív és telecine-lt</link>
videóként kezeled. A teljesítményvesztés kicsi
<link linkend="menc-feat-telecine-footnotes">[3]</link>.
</para>
</sect3>
<sect3 id="menc-feat-telecine-encode-telecined">
<title>Telecine-lt</title>
<para>
A telecine visszafordítható, hogy megkapd az eredeti 24000/1001-es
tartalmat, egy inverz-telecine-nek nevezett eljárással.
Az <application>MPlayer</application> számos szûrõvel rendelkezik ennek
az elvégzéséhez; a legjobb szûrõ a <option>pullup</option> le van írva
a <link linkend="menc-feat-telecine-encode-mixedpt">kevert progresszív és telecine</link>
részben.
</para>
</sect3>
<sect3 id="menc-feat-telecine-encode-interlaced">
<title>Átlapolt</title>
<para>
A legtöbb gyakorlati esetben nem lehetséges a teljes progresszív videó
visszanyerése az átlapolt tartalomból. Az egyetlen út ehhez a függõleges
felbontás felének elvesztése nélkül a frameráta megduplázása és
&quot;megtippelni&quot;, hogy mi kellene minden egyes mezõ megfelelõ sorainak
felépítéséhez (ennek vannak hátrányai - lásd a 3. módszert).
</para>
<orderedlist>
<listitem><para>
Kódold el a videót átlapolt formában. Normális esetben az átlapolás
eléggé odavág a kódoló tömörítési képességeinek, de a
<systemitem class="library">libavcodec</systemitem>nek van két
paramétere speciálisan az átlapolt videó tárolásának egy kicsit jobb
kezeléséhez: <option> ildct</option> és <option>ilme</option>. Az
<option>mbd=2</option> használata is javasolt
<link linkend="menc-feat-telecine-footnotes">[2] </link>, mert ez a
makroblokkokat nem-átlapoltként fogja elkódolni azokon a helyeken, ahol
nincs mozgás. Ügyelj rá, hogy itt a <option>-ofps</option> NEM kell.
<screen>mencoder dvd://1 -nosound -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
</para></listitem>
<listitem><para>
Használj deinterlacing szûrõt a kódolás elõtt. Számos közül választhatsz,
mindegyiknek megvan a maga elõnye és hátránya. Lásd az <option>mplayer -pphelp</option>
kimenetét, hogy megtudd, mit használhatsz (grep-pelj a &quot;deint&quot;-re),
és keress az <ulink url="http://www.mplayerhq.hu/homepage/design6/info.html#mailing_lists">
MPlayer levelezési listáin</ulink> a sok beszélgetés között, ami a különbözõ
szûrõkrõl szól. A frameráta itt sem változik, így nem kell
<option>-ofps</option>. A deinterlacing-et a vágás után
<link linkend="menc-feat-telecine-footnotes">[1]</link> és a méretezés
elõtt kell elvégezni.
<screen>mencoder dvd://1 -nosound -vf pp=lb -ovc lavc</screen>
</para></listitem>
<listitem><para>
Sajnos ez a kapcsoló hibás a <application>MEncoder</application>ben;
talán a <application>MEncoder G2</application>-vel mûködni fog, de itt
most még nem. Belefuthatsz fagyásokba. Egyébként a <option> -vf
tfields</option> célja az lenne, hogy teljes képkockát készít mindegyik
mezõbõl, ami miatt a frameráta 60000/1001 lesz. Ennek a megközelítésnek az
az elõnye, hogy soha nincs adatvesztés; habár mivel minden egyes kocka
csak egy mezõbõl keletkezik, a hiányzó sorokat valahogy interpolálni kell.
Igazából nincs jó módszer a hiányzó adat összegyûjtésére és így az
eredmény kicsit úgy fog kinézni, mint amikor valamilyen deinterlacing
szûrõt használsz. A hiányzó sorok generálása egyéb dolgokat idéz elõ,
egyszerûen mivel az adat mennyisége megduplázódik. Így, nagyobb kódolási
bitráták szükségesek a minõség megtartásához, és nagyobb CPU teljesítmény
mind a kódoláshoz, mind a dekódoláshoz. A tfield-eknek számos különbözõ
opciójuk van az egyes képkockákban hiányzó sorok elõállításához. Ha ezt a
módszert használod, akkor nézd meg a manual-t és válassz, hogy melyik
opcióval néz ki legjobban az anyagod. Figyelj rá, hogy ha
<option>tfield</option>-eket használsz,
mind a <option>-fps</option>-nek, mind a <option>-ofps</option>-nek az eredeti
forrásod framerátájának kétszeresét <emphasis role="bold">kell megadnod</emphasis>.
<screen>mencoder dvd://1 -nosound -vf tfields=2 -ovc lavc -fps 60000/1001 -ofps 60000/1001</screen>
</para></listitem>
<listitem><para>
Ha drasztikus downscaling-et tervezel, kiszedhetsz és elkódolhatsz egy mezõt is
a kettõ helyett. Természetesen így elveszíted a függõleges felbontás
felét, de ha downscaling-et tervezel legfeljebb az eredeti 1/2-ével, a
veszteség nem számottevõ. Az eredmény egy progresszív 30000/1001 képkocka per
másodperces fájl lesz. Az helyes eljárás a <option>-vf field</option>
használata, majd vágás <link linkend="menc-feat-telecine-footnotes">[1]</link>
és megfelelõ méretezés. Emlékezz, hogy be kell állítanod a méretarányt a
felezett függõleges felbontásnak megfelelõen.
<screen>mencoder dvd://1 -nosound -vf field=0 -ovc lavc</screen>
</para></listitem>
</orderedlist>
</sect3>
<sect3 id="menc-feat-telecine-encode-mixedpt">
<title>Kevert progresszív és telecine</title>
<para>
Ahhoz, hogy egy kevert, progresszív és telecine-s videót teljesen
progresszív videóvá konvertálj, a telecine-lt részeket
inverz-telecine-elni kell. Ez háromféle képpen végezhetõ el,
mint ahogy az lejjebb látható. Figyelj rá, hogy <emphasis role="bold">mindig</emphasis>
az inverse-telecine legyen meg bármilyen átméretezés elõtt; hacsak
nem vagy teljesen biztos a dolgodban, és az inverse-telecine legyen a
vágás elõtt is <link linkend="menc-feat-telecine-footnotes">[1]</link>.
A <option>-ofps 24000/1001</option> kell ide, mert a kimeneti videó 24000/1001
képkocka per másodperc sebességû lesz.
</para>
<itemizedlist>
<listitem><para>
A <option>-vf pullup</option> a telecine-s részek inverz-telecine-léséhez
lett tervezve úgy, hogy a progresszív adatokat érintetlenül hagyja.
A helyes mûködéshez a <option>pullup</option>-ot
a <option>softskip</option> szûrõnek <emphasis role="bold">kell</emphasis>
követnie, különben a <application>MEncoder</application> összeomlik.
Ennek ellenére a <option>pullup</option> a legtisztább és legjobb módszer
mind a telecine-s, mind a &quot;kevert progresszív és telecine-s&quot;
videók elkódolásához.
<screen>mencoder dvd://1 -nosound -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen>
</para>
</listitem>
<listitem><para>
A másik módszer, a telecine-s részek inverz-telecine-lése helyett a
nem-telecine-s részek telecine-lése majd a teljes videó
inverz-telecine-lése. Zavarosan hangzik? A softpulldown egy olyan szûrõ,
ami végigmegy a videón és a teljes fájlt telecine-li. Ha a softpulldown-t
vagy <option>detc</option> vagy <option>ivtc</option> követi, a végsõ
eredmény teljesen progresszív lesz. A <option>-ofps 24000/1001</option>
kapcsolót meg kell adni.
<screen>mencoder dvd://1 -nosound -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001</screen>
</para>
</listitem>
<listitem><para>
Én magam nem használtam a <option>-vf filmdint</option>-et, de álljon itt
D Richard Felker III hozzászólása:
<blockquote><para>Rendben, de IMO inkább deinterlace-t próbálj
a túl gyakori inverz telecine helyett (inkább settop DVD
lejátszók &amp; progresszív TV-k) ami csúnya vibrálást és egyéb
jelenségeket okoz. Ha használni akarod, el kell töltened egy kis
idõt az opciók próbálgatásával és az eredmény megfigyelésével,
hogy biztos légy benne, nem rontja el az egészet.</para></blockquote>
</para></listitem>
</itemizedlist>
</sect3>
<sect3 id="menc-feat-telecine-encode-mixedpi">
<title>Kevert progresszív és átlapolt</title>
<para>
Két módon kezelheted ezt a kategóriát, mindkettõ kompromisszum. Az idõtartam/hely
alapján kell döntened.
</para>
<itemizedlist>
<listitem><para>
Kezeld úgy, mintha progresszív lenne. Az átlapolt részek átlapoltnak látszanak
és néhány átlapolt mezõt el kell dobni, ami egyenletlen ugrásokat eredményez.
Használhatsz utófeldolgozó szûrõt, ha akarsz, de ez kissé rontja a progresszív
részeket.
</para>
<para>
Ez az opció használhatatlan akkor, ha a videót egy átlapolt eszközön akarod
megjeleníteni (TV kártyával például). Ha átlapolt képkockáid vannak 24000/1001 képkocka
per másodperces videóban, telecine-lve lesznek a progresszív képkockákkal együtt.
Az átlapolt "képkockák" fele három mezõ hosszon lesz látható (3/(60000/1001) másodperc),
ami kattanó &quot;visszaugrás az idõben&quot; egy olyan effektud, ami nagyon
rosszul néz ki. Ha mégis kísérletezel ezzel, használnod <emphasis role="bold">kell</emphasis>
egy deinterlacing szûrõt, mint pl. az <option>lb</option> vagy az <option>l5</option>.
</para>
<para>
Rossz ötlet a progresszív megjelenítéshez is. Eldobja az egymást követõ
átlapolt mezõpárokat, megszakítva ezzel a folyamatosságot, ami sokkal
szembetûnõbb, mint a második módszer, ami néhány progresszív képkockát
duplán mutat. A 30000/1001 képkocka per másodperces átlapolt videó amúgy is
egy kicsit fodrozódó mert igazából 60000/1001 mezõ per másodperc sebességgel
kellene megjeleníteni, így a duplikált képkockák nem látszanak annyira.
</para>
<para>
Mindkét esetben érdemes megnézni a tartalmat és eldönteni, hogy hogyan
szeretnéd megjeleníteni. Ha a videó 90%-ban progresszív és soha nem akarod TV-n
lejátszani, akkor a progresszív megközelítést fogod elõnyben részesíteni.
Ha csak félig progresszív, akkor valószínûleg átlapoltként akarod elkódolni
az egészet.
</para>
</listitem>
<listitem><para>
Kezeld teljesen átlapoltként. A progresszív részekben néhány képkockát
meg kell duplázni, ami egyenlõtlen ugrásokat eredményez. De hangsúlyozom,
a deinterlacing szûrõk rontják a progresszív részeket.
</para></listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="menc-feat-telecine-footnotes">
<title>Lábjegyzet</title>
<orderedlist>
<listitem><formalpara>
<title>A vágásról:</title>
<para>
A videó adatot a DVD-ken egy úgynevezett YUV 4:2:0 formátumban tárolják. A
YUV videóban a luma (&quot;fényerõ&quot;) és a chroma (&quot;szín&quot;)
külön tárolódik. Mivel az emberi szem valamivel érzéketlenebb a színre,
mint a fényerõre, a YUV 4:2:0 képen csak egy chroma pixel jut minden négy
luma pixelre. Egy progresszív képen minden négy luma pixel által alkotott
négyzetben (kettõ mindkét oldalon) egy közös chroma pixel van. A progresszív
YUV 4:2:0-t le kell vágnod páros felbontásúra és páros offszetet kell
használnod. Például a
<option>crop=716:380:2:26</option> jó de a
<option>crop=716:380:3:26 </option> nem.
</para>
</formalpara>
<para>
Ha átlapolt YUV 4:2:0-lal van dolgod, a szituáció egy kicsit bonyolódik.
Ahelyett, hogy az egy <emphasis>képkockában</emphasis> lévõ mind a négy
luma pixel osztozna egy chroma pixelen, a <emphasis>mezõben</emphasis> lévõ
négy luma osztozik egy chroma pixelen. Ha a mezõk át vannak lapolva egy
képkocka felépítéséhez, minden egyes scanline egy pixel magas. Nos, ahelyett,
hogy a négy luma pixel egy négyszögben lenne, két pixel van egymás mellett,
a másik kettõ két scanline-nal lejjebb van egymás mellett. A két luma pixel
a közbeesõ scanline-on a másik mezõbõl van és így egy másik chroma pixel
tartozik hozzájuk és két darab, két scanline távolságra lévõ luma pixel.
Mindezen keverés teszi szükségessé azt, hogy a függõleges vágási dimenzióknak
és az offszeteknek néggyel oszthatóaknak kell lenniük. A vízszintes maradhat
páros.
</para>
<para>
A telecine-lt videóknál javaslom, hogy a vágást az inverz telecine után
ejtsd meg. Ha a videó már progresszív, csak páros számokkal el kell vágnod.
Ha ki akarod használni azt a sebességnövekedést, amit a vágás rejteget
magában, akkor függõlegesen négy többszörösével kell vágnod, különben
az inverz-telecine szûrõ nem kap megfelelõ adatokat.
</para>
<para>
Az átlapolt (nem átlapolt) videónál mindig négy többszörösével kell vágnod,
hacsak nem használod a <option>-vf field</option>-et a vágás elõtt.
</para>
</listitem>
<listitem><formalpara>
<title>A kódolási paraméterekrõl és a minõségrõl:</title>
<para>
Csak mert itt javasoltam az <option>mbd=2</option>-t, nem jelenti azt,
hogy máshol ne lehetne használni. A <option>trell</option>-lel együtt az
<option>mbd=2</option> egyike a két <systemitem class="library">libavcodec</systemitem>
kapcsolóknak, amik legjobban növelik a minõséget és igazából mindig
ajánlott ezt a kettõt használni, kivéve ha tilos a kódolási sebesség
rontása (pl. valós idejû kódolás). Még számos egyéb opciója van a
<systemitem class="library">libavcodec</systemitem>-nek, ami növeli a
kódolás minõségét (és csökkenti a kódolás sebességét) de az már túlmutat
ezen dokumentum célkitûzésein.
</para>
</formalpara>
</listitem>
<listitem><formalpara>
<title>A pullup teljesítményérõl:</title>
<para>
Bátran használhatod a <option>pullup</option>-ot (a <option>softskip</option>pel
együtt) a progresszív videókon és ez általában jó ötlet, hacsak a forrás
nem egyértelmûen teljesen progresszív. A teljesítményveszteség kicsi az
esetek többségében. Nagyon ritka kódolási esetekben a <option>pullup</option>
a <application>MEncoder</application> 50%-os lassulását okozhatja.
A zenefeldolgozás hozzáadása és a fejlett <option>lavcopts</option>
háttérbe szorítja ezt a különbséget, a <option>pullup</option> miatti
teljesítményromlást 2%-ra csökkentve.
</para>
</formalpara>
</listitem>
</orderedlist>
</sect2>
</sect1>
</chapter>