mpv/DOCS/xml/hu/encoding-guide.xml

5518 lines
206 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r29461 -->
<chapter id="encoding-guide">
<title>Kódolás a <application>MEncoder</application>rel</title>
<sect1 id="menc-feat-dvd-mpeg4">
<title>Nagyon jó minőségű MPEG-4 ("DivX")
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?" Vagy: "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://www.mplayerhq.hu/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.
A tapasztalatok szerint az NTSC tartalmat sokkal nehezebb elkódolni, mert
több elemet kell azonosítani a forrásban.
Ahhoz, hogy megfelelő legyen a kódolás, ismerned kell az eredeti
formátumot.
Ennek elmulasztása esetén különböző hibák lesznek a kódolásodban,
csúnya törési (átlapolás) mellékhatások, duplázott
vagy akár elveszett képkockák.
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 egység 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
"telecine"-nek hívjuk, ennek egyik változata a hírhedt NTSC-s
"3:2 pulldown".
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, <link
linkend="menc-feat-telecine">később kerül leírásra</link> 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 vagy a kockáról-kockára történő lejátszással.
Próbáld meg használni a <option>-speed</option> 0.2-t, hogy nagyon lassan
nézhesd a filmet vagy nyomogasd a "<keycap>.</keycap>" gombot a kockáról
kockára történő lejátszáshoz és azonosítsd a mintákat, ha nem látod meg
teljes sebességnél.
</para>
</note>
</sect3>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-dvd-mpeg4-2pass">
<title>Konstans 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>
<para>
Egy film képkockáinak komplexitása és így a tömörítéshez szükséges bitek
száma nagy mértékben változhat jelentről jelenetre.
A modern videó kódolók már alkalmazkodnak az igényekhez a bitráta variálásával.
Az egyszerű módokban, mint pl. a CBR, a kódolók nem ismerik az elkövetkező
jelenetek bitráta igényét és így nem tudják átlépni az igényelt átlagos
bitrátát hosszabb időre. A fejlettebb módokban, mint pl. a több lépéses
kódolásnál, már figyelembe lehet venni az előző lépés statisztikáját; ez
megoldja a fent említett problémát.
</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>,
az <systemitem class="library">Xvid</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 videó codec (mint pl. 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 film kódolók á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 videó codec 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 codec a lehető legalacsonyabb
kvantálást fogja használni minden egyes macroblock-hoz (amint ez a
<option>vqmin</option>-ben meg van adva a <systemitem
class="library">libavcodec</systemitem>nél, alapértelmezésként 2). Amint
előírsz egy megfelelően alacsony bitrátát, ami a codecet 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 codec ugyan azt a kvantálót használja, amit
a <option>vqscale</option> kapcsolóval megadtál (a <systemitem
class="library">libavcodec</systemitem>nek), 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 nagyon részletes
jeleneteknél magasabb kvantálót használ, lassú mozgásnál vagy kevésbé
részletes jeleneteknél alacsonyabbat.
Általában a mozgás mennyisége sokkal fontosabb, mint a részletesség.
</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ájl mé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 <emphasis role="bold">nagyon</emphasis>
rontják a minőséget.
</para>
<orderedlist>
<listitem>
<para>
Az MPEG-típusú tömörítés 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">Top field</entry>
<entry namest="col9" nameend="col16">Bottom field</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 érté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>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
<title>Felbontás és bitráta kiválasztása</title>
<para>
Ha nem konstans kvantálási módban fogsz kódolni, akkor meg kell adnod
a bitrátát.
A bitráta koncepciója elég egyszerű.
A filmed tárolására másodpercenként felhasznált bitek (átlagos) száma.
Normális esetben a bitrátát kilobit (1000 bit) per másodpercben mérik.
A filmed mérete a lemezen egyenlő a bitráta és a film hosszának
szorzatával, plusz egy kis "túlterheléssel" (lásd
<link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">az AVI konténer</link>t
például).
Az egyéb paraméterek, mint a méretezés, vágás, stb.
<emphasis role="bold">nem</emphasis> változtatják meg a fájl méretét,
amíg nem változtatsz a bitrátán is.
</para>
<para>
A bitráta <emphasis role="bold">nem</emphasis> aránylik a felbontáshoz.
Ezért mondhatjuk, hogy egy 320x240-es fájl 200 kbit/sec-kel nem lesz
ugyan olyan minőségű, mint ugyan az a film 640x480-ban, 800 kbit/sec-kel!
Ennek két oka van:
<orderedlist>
<listitem><para>
<emphasis role="bold">Érzékelhető</emphasis>: Jobban észreveszed az
MPEG hibáit ha fel vannak nagyítva!
A hibák a blokkok (8x8) méretezéséből adódnak.
A szemed nem látja meg a hibát 4800 kicsi blokkban olyan könnyen,
mint 1200 nagy blokkban (feltételezve, hogy mindkettőt teljes
képernyőre nagyítod).
</para></listitem>
<listitem><para>
<emphasis role="bold">Elméleti</emphasis>: Ha egy képet leméretezel,
de ugyan akkora méretű (8x8) blokkokat használsz a frekvenciatartomány
transzformálásához, több adatot mozgatsz a magasabb
frekvenciatartományokba. Egyszerűen fogalmazva, minden pixel több
részletet fog tartalmazni, mint előtte.
Így habár a leméretezett képed kiterjedésében az információ 1/4-edét
tartalmazza csak, mégis az információ nagy részét tartalmazhatja a
frekvenciatartományban (feltéve, hogy a magas frekvenciák nincsenek
kellőképpen kihasználva az eredeti 640x480-as képen).
</para></listitem>
</orderedlist>
</para>
<para>
A régi leírások egy "bit per pixel" megközelítés szerint javasolták
a bitráta és a felbontás megválasztását, ez azonban általában nem
helyes a fentiek miatt.
A legjobb becslésnek az tűnik, ha a bitráta léptéke a felbontás
négyzetgyökével arányos, így a 320x240 és 400 kbit/sec
összehasonlítható a 640x480 és 800 kbit/sec-kel.
Azonban ez még nem lett bizonyítva sem elméleti sem gyakorlati
törvénnyel. Továbbá, tekintve, hogy a filmek nagyon változatosak
a zajtól, részletességtől, a mozgás szögétől, és a többitől függően,
haszontalan általános tanácsokat adni bit per átló hosszára
vonatkozóan (a bit per pixel analógiája, a négyzetgyök
felhasználásával).
</para>
<para>
Eddig csak a felbontás és a bitráta kiválasztás nehézségeiről
beszéltünk.
</para>
<sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
<title>Felbontás kiszámítása</title>
<para>
A következő képések segítenek a kódolásod felbontásának kiszámításában,
a videód túlzott mértékben történő torzítása nélkül, a forrás videó
számos tulajdonságának figyelembe vételével.
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 a bitrátától, a videó codec hatékonyságától és 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.
Az MPEG-4 ASP codec-ekkel, mint pl. az <systemitem class="library">Xvid</systemitem>
és a <systemitem class="library">libavcodec</systemitem>, egy 0,18 alatti
CQ általában nagyon kockás képet eredményez, mert nincs
elég bit minden egyes makroblokk 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 a szabványos kódolási opciókkal.
A <link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link>-hez
és az
<link linkend="menc-feat-xvid-example-settings"><systemitem class="library">Xvid</systemitem></link>-hez
itt felsoroltaknál fejlettebb kódolási opciók segítségével lehetséges
ugyan ilyen minőség elérése 0,18-0,20-as CQ mellett egy 1 CD-s rip
esetén és 0,24-0,26-ossal 2 CD-s rip-nél.
Az MPEG-4 AVC codec-eknél, mint pl. az <systemitem class="library">x264</systemitem>,
használhatsz 0,14-0,16-os CQ tartományt a szabványos kódolási opciókkal
és lemehetsz akár 0,10-0,12-ig is az
<link linkend="menc-feat-x264-example-settings"><systemitem class="library">x264</systemitem> fejlett kódolási beállításaival</link>.
</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 pazarolni
fogod a biteket észrevehető minőségi nyereség nélkül.
Vedd figyelembe, amint azt már korábban is említettük, hogy az alacsony
felbontású videókhoz nagyobb CQ kell (összehasonlítva pl. a DVD felbontással),
hogy jól nézzen ki.
</para>
</sect3>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-dvd-mpeg4-filtering">
<title>Szűrés</title>
<para>
A <application>MEncoder</application> videó szűrői használatának
ismerete alapvető fontosságú a jó kódoláshoz.
Az összes videó feldolgozás a szűrőkön keresztül történik -- vágás,
méretezés, szín állítás, zajszűrés, élesítés, deinterlacing, telecine,
inverz telecine és deblocking, csak hogy néhányat megemlítsünk.
A támogatott formátumok sokaságával együtt a <application>MEncoder</application>
szűrőinek változatossága a fő előnye a hasonló programokkal szemben.
</para>
<para>
A szűrők láncban töltődnek be a -vf kapcsoló használatával:
<screen>-vf szuro1=opciok,szuro2=opciok,...</screen>
A legtöbb szűrő több numerikus opciót vár, kettőspontokkal elválasztva,
de igazából a szintaxis szűrőről szűrőre változik, ezért olvasd el a man
oldal általad használni kívánt szűrőhöz tartozó részét!
</para>
<para>
A szűrők olyan sorrendben módosítják a videót, ahogy be lettek töltve.
Például a következő lánc:
<screen>-vf crop=688:464:12:4,scale=640:464</screen>
először kivágja a 688x464 területű régiót (12,4)-es bal felső
sarokkal, majd az eredményt leméretezi 640x464-re.
</para>
<para>
Bizonyos szűrőket a szűrő lánc elején, vagy ahhoz közel kell betölteni,
ahhoz, hogy a videó dekódolótól érkező információkat megkapja, azok ne
vesszenek el vagy változzanak meg másik szűrő miatt.
A legjobb példa erre a <option>pp</option> (utófeldolgozás, csak ha
deblock vagy dering műveleteket hajt végre), az
<option>spp</option> (másik utófeldolgozó az MPEG mellékhatások eltávolítására),
a <option>pullup</option> (inverz telecine) és a
<option>softpulldown</option> (a soft telecine hard telecine-re történő
konvertálása).
</para>
<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, akkor láthatóan rontod
a kép minő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-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
framerá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.
A jelenleg kapható számítógépek teljesítménye deinterlacing szűrő
használatára kényszerítik a lejátszókat, ami egy kis mértékű
képminőség romlást okoz.
Azonban a jövő lejátszói képesek lesznek az átlapolt képernyő
TV-vé történő átváltoztatására, teljes mezőrátás deinterlacing-re és
az átlapolt videó 50 vagy 60000/1001 teljes képkocka per másodpercre
interpolálására.
</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:
<screen>
mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
</screen>
Figyelj az <option>ilme</option> és az <option>ildct</option> kapcsolókra.
</para>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-dvd-mpeg4-av-sync">
<title>Megjegyzések az Audió/Videó szinkronizáláshoz</title>
<para>
A <application>MEncoder</application> audió/videó szinkronizáló
algoritmusai azzal a szándékkal lettek megtervezve, hogy képesek
legyenek a sérült szinkronú filmek megjavítására.
De néhány esetben a képkockáknál szükségtelen kihagyásokat és duplikálásokat
valamint kis mértékben A/V deszinkronizációt okozhatnak, ha megfelelő
bementük van (természetesen az A/V szinkron dolgok csak akkor érvényesek,
ha feldolgozod vagy másolod az audió sávot a videó átkódolása közben,
ami nagyon javasolt).
Ezért lehet, hogy az alapértelmezett A/V szinkronizációra kell váltanod
a <option>-mc 0</option> opcióval, vagy írd ezt bele a
<systemitem>~/.mplayer/mencoder</systemitem> konfigurációs fájlodba,
feltéve, hogy csak hibátlan anyaggal dolgozol (DVD, TV mentés, nagyon
jó minőségű MPEG-4 rip, stb.) és nem hibás ASF/RM/MOV fájlokkal.
</para>
<para>
Ha még további különös képkocka kihagyásokat és duplázásokat akarsz
elkerülni, használhatod az <option>-mc 0</option> és <option>-noskip</option>
kapcsolókat együtt is.
Ez megakadályoz <emphasis>mindenféle</emphasis> A/V szinkronizációt és
egy az egyben másolja a képkockákat, így nem használhatod olyan szűrőkkel,
melyek megjósolhatatlanul hozzáadnak vagy elvesznek képkockákat, vagy ha
a bemeneti fájlodnak változó framerátája van!
Ezért a <option>-noskip</option> használata általában nem javasolt.
</para>
<para>
A <application>MEncoder</application> által támogatott, úgy nevezett
"három lépéses" audió kódolás a visszajelzések szerint A/V deszinkronizációt
okoz.
Ez különösen akkor történik, ha bizonyos szűrőkkel együtt használják,
így jelenleg <emphasis>nem</emphasis> javasolt a három lépéses audió
mód használata.
Ez a képesség csak kompatibilítási okok miatt maradt meg és a haladó
felhasználóknak, akik tudják, hogy mikor lehet használni és mikor nem.
Ha ezelőtt még soha nem hallottál a három lépéses módról, felejtsd el azt
is, hogy megemlítettük!
</para>
<para>
Érkeztek jelentések A/V deszinkronizációról <application>MEncoder</application>rel
stdin-ről történő kódolás esetén is.
Ne tedd ezt! Mindig használj fájlt vagy CD/DVD/stb. eszközt forrásként.
</para>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-dvd-mpeg4-codec">
<title>A videó codec kiválasztása</title>
<para>
A használandó videó codec kiválasztása több dologtól függ, mint például a
méret, minőség, stream-elhetőség, használhatóság és elterjedtség, melyeket
a személyes igények és a technikai korlátok határoznak meg.
</para>
<itemizedlist>
<listitem>
<para>
<emphasis role="bold">Tömörítési hatékonyság</emphasis>:
Érthető módon a legtöbb új generációs codec a minőség és a tömörítés
javítására íródott.
Ezért ezen leírás szerzői és még sok más szerint sem tudsz rosszat
választani,
<footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'><para>
Azonban légy óvatos: A DVD felbontású MPEG-4 AVC videó
dekódolása gyors gépet igényel (pl. egy 1,5 GHz feletti Pentium 4
vagy egy 1 GHz feletti Pentium M).
</para></footnote>
akár MPEG-4 AVC codec-et választasz, mint például az
<systemitem class="library">x264</systemitem>, akár egy MPEG-4 ASP
codec-et, mint pl. a <systemitem class="library">libavcodec</systemitem>
MPEG-4 vagy az <systemitem class="library">Xvid</systemitem>.
(A haladóbb codec fejlesztőket talán érdekelheti Michael
Niedermayer véleménye, a
"<ulink url="http://guru.multimedia.cx/?p=10">miért utáljuk az MPEG4-et</ulink>".)
Valószínűleg az MPEG-4 ASP-vel jobb minőséget érhetsz el, mint az
MPEG-2 codec-ekkel.
</para>
<para>
Bár az új codec-ek, melyek még erőteljes fejlesztés alatt állnak,
tartalmazhatnak hibákat, amiket még nem fedeztek fel és amik
tönkretehetnek egy kódolást. Ez a hátránya az új dolgok használatának.
</para>
<para>
Mint ahogy az is, hogy amikor új codec-et kezdesz használni, időt kell
szánnod az opcióinak a megismerésére, hogy tudd, miket kell
beállítanod a kívánt képminőség eléréséhez.
</para>
</listitem>
<listitem><para>
<emphasis role="bold">Hardveres kompatibilítás</emphasis>:
Általában sok idő kell, míg az asztali lejátszók elkezdenek támogatni
egy új codec-et.
Ennek eredménye, hogy a legtöbb csak MPEG-1 (mint a VCD, XVCD és KVCD),
MPEG-2 (mint a DVD, SVCD és KVCD) és MPEG-4 ASP (mint a DivX, a
<systemitem class="library">libavcodec</systemitem> LMP4-e és az
<systemitem class="library">Xvid</systemitem>) lejátszására képes
(Vigyázz: Legtöbbször nem ismerik az MPEG-4 ASP összes képességét).
Nézd meg a lejátszód technikai specifikációját (ha van) vagy google-ozz
körbe további információért.
</para></listitem>
<listitem>
<para>
<emphasis role="bold">Legjobb minőség kontra kódolási idő</emphasis>:
A már jó ideje létező codec-ek (mint pl. a
<systemitem class="library">libavcodec</systemitem> MPEG-4-e és az
<systemitem class="library">Xvid</systemitem>) általában nagyon jól
optimalizáltak mindenféle okos algoritmussal és SIMD assembly kóddal.
Ezért a legjobb minőség per kódolási idő arány felé tartanak.
Azonban van néhány nagyon fejlett opció, amit ha engedélyezel, nagyon
nagy mértékben lelassítják a kódolást csekély javulást produkálva.
</para>
<para>
Ha a fantasztikus sebességet keresed, a codec alapértelmezett beállításai
körül nézelődj (azonban így is ajánlott kipróbálni egyéb opciókat,
amiket ezen leírás más fejezetei említenek).
</para>
<para>
Megfontolandó olyan codec-et választani, ami több-szálas módban
dolgozza fel a forrást, azonban ez csak a több processzoros géppel
rendelkezőknek jelent előnyt.
A <systemitem class="library">libavcodec</systemitem> MPEG-4 tudja
ezt, de a sebességnövekedés eléggé korlátolt és egy kis negatív hatása
van a képminőségre.
Az <systemitem class="library">Xvid</systemitem> több-szálas kódolása,
melyet a <option>threads</option> opció kapcsol be, használható a
kódolási sebesség &mdash; átlagban kb. 40-60%-os &mdash; növelésére,
nagyon csekély vagy semmilyen képromlással.
Az <systemitem class="library">x264</systemitem> is tudja a több-szálas
kódolást, ami jelenleg CPU magonként 94%-kal gyorsítja fel a kódolást
míg a PSNR-t kb. 0.005dB és 0.01dB közötti értékkel csökkenti.
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">Egyéni igények</emphasis>:
Itt válik a dolog a legirrálisabbá: ugyan azért, amiért sokan leragadtak
a DivX&nbsp;3-nál évekig, miközben az új codec-ek már csodákat műveltek,
néhányan az <systemitem class="library">Xvid</systemitem>-et vagy a
<systemitem class="library">libavcodec</systemitem> MPEG-4-ét részesítik
előnyben az <systemitem class="library">x264</systemitem>-hez képest.
</para>
<para>
A döntést magadnak kell meghoznod; ne hallgass azokra, akik egy codec-re
esküsznek.
Vegyél pár példa klippet nyers forrásokból és hasonlítsd össze a különböző
kódolási opciókat és codec-eket, hogy megtudd, melyik a legjobb neked.
A legjobb codec mindig az, amelyikhez a legjobban értesz, amelyik
a legjobban néz ki szerinted a monitorodon.
<footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'>
<para>Ugyan az a kódolás nem biztos, hogy ugyan úgy néz ki valaki másnak
a monitorán vagy ha más dekódolóval játszák le, ezért ellenőrizd a
kódolásaidat különböző beállítások mellett történő lejátszással!
</para></footnote>!
</para>
</listitem>
</itemizedlist>
<para>
Kérjük, nézd meg a
<link linkend="menc-feat-selecting-codec">codec-ek és konténer formátumok kiválasztásáról</link>
szóló fejezetet a támogatott codec-ek listájához.
</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 AC-3 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 AC-3 áteresztéshez,
nem jelenti azt, hogy holnap sem lesz. Készíts a jövőben is használható
DVD rip-eket az AC-3 stream megtartásával.
Megtarthatod az AC-3 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 AC-3 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>
<emphasis>Ne</emphasis> használd a <option>-nosound</option>-ot ha
audióval rendelkező fájlt kódolsz, akkor se, ha az audiót később,
elkülönítve kódolod és kevered.
Bár ideális esetben működik, a <option>-nosound</option> opció okozhat
némi problémát a parancssori kódolási beállításaidban.
Más szavakkal, a zene sáv megléte biztosítja a
<quote>Too many audio packets in the buffer</quote> (Túl sok audió csomag
a bufferban) és hasonló üzenetek elkerülését és a megfelelő szinkront.
</para>
<para>
Fel kell dolgoznod a <application>MEncoder</application>rel a hangot.
Például az <option>-oac copy</option>-val átmásolhatod az eredeti hangsávot
a kódolás közben vagy átkonvertálhatod "könnyű" 4 kHz-es mono WAV
PCM-be a <option>-oac pcm -channels 1 -srate 4000</option> kapcsolóval.
Különben bizonyos esetekben olyan videó fájlt fog létrehozni, amiben nem
lesz szinkronban az audió.
Akkor fordulhat elő ilyen eset, ha a videó kockák száma a forrás fájlban
nem egyezik meg az audió keretek teljes hosszával vagy folyamatossági
hiba/szakadás miatt hiányzó vagy extra audió keretek vannak a fájlban.
A helyes megoldás ezen típusú problémák kezelésére csend beillesztése vagy
az audió keretek vágása ezeken a pontokon.
Azonban a <application>MPlayer</application> ezt nem tudja megtenni, így
ha az AC-3-at demuxálod és egy másik alkalmazással kódolod (vagy kimented
PCM-be az <application>MPlayer</application>rel), a szeletek hibásan maradnak
benne és csak képkocka eldobással/duplázással lehet javítani.
Amíg a <application>MEncoder</application> látja az audiót a videó kódolása
közben, meg tudja csinálni ezt az eldobást/duplázást (ami általában rendben
van, mert teljesen sötét/jelentet váltásos helyeken történik), de ha a
<application>MEncoder</application> nem látja az audiót, csak feldolgoz
minden képkockát úgy ahogy van és nem fog illeszkedni a végső audió folyamhoz
ha például összeilleszted az audió és a videó sávodat egy Matroska fájlba.
</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 <application>MEncoder</application> 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-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,
MPEG, Matroska vagy a NUT.
A <application>MEncoder</application> jelenleg csak MPEG és AVI
konténer formátumokba tud natív 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 <application>MEncoder</application>ben 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-filter-issues">
<title>A keverés és az A/V szinkron megbízhatóságának növelése</title>
<para>
Néhány súlyos A/V szinkron problémát tapasztalhatsz, ha a videódat
valamilyen audió sávval akarod összekeverni, mégpedig azt, hogy akár
hogyan állítod az audió késleltetést, soha nem lesz megfelelő a szinkron.
Ez akkor történhet meg, ha olyan videó szűrőt használsz, ami eldob vagy
megdupláz képkockákat, mint pl. az inverz telecine szűrők.
Javasolt a <option>harddup</option> videű szűrő hozzáillesztése a szűrő
lánc végéhez ezen problémák elkerülése érdekében.
</para>
<para>
A <option>harddup</option> nélkül ha a <application>MEncoder</application>
meg akar duplázni egy képkockát, a keverőre bízza a jelölés konténerbe
helyezését, hogy az utolsó képkocka még egyszer megjelenjen a szinkron
megtartása végett, aktuális képkocka írása nélkül.
A <option>harddup</option>-pal a <application>MEncoder</application>
ehelyett egyszerűen csak újra átküldi a szűrő láncon az utolsó
megjelenített képkockát.
Ez azt jelenti, hogy a kódoló <emphasis>pontosan</emphasis> ugyan azt
a képkockát kapja meg kétszer és tömöríti be.
Ez kicsit nagyobb fájlt eredményez, de nem okoz problémát demuxálásnál
vagy másik konténer formátumba történő újrakeverésnél.
</para>
<para>
Nincs más választásod, mint a <option>harddup</option> használata az
olyan konténer formátumokkal, amelyek nincsenek szoros összefüggésben
a <application>MEncoder</application>rel. Ezek pl. azok, amelyeket a
<systemitem class="library">libavformat</systemitem>-on keresztül
támogat, ami nem támogatja a képkocka duplázást konténer szinten.
</para>
</sect3>
<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 indexre.
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 AC-3.
</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 grafikus 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-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>
Ha nem érted teljesen, ami ebben a dokumentumban le van írva, olvasd el a
<ulink url="http://en.wikipedia.org/wiki/Telecine">Wikipedia telecine szócikkét</ulink>.
Ez 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 belinkelt cikket 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 változatai
é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>A telecine használata.</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 a 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 fejezet célkitűzései közé,
nézd meg a <link linkend="encoding-guide">MEncoder kódolási útmutató</link>
többi részét.
</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
"30000/1001 fps NTSC formátumot" 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 "soft-telecine"-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 "villoghat" 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 "hard-telecine"-nek
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>
<para>
A másik módszer a telecine-lt forrás felismerésére a forrás megtekintése
a <option>-vf pullup</option> és <option>-v</option> kapcsolók
parancssorhoz történő hozzáadásával. Így megnézheted, hogy a
<option>pullup</option> hogyan illeszkedik a képkockákhoz. Ha a forrás
telecine-s, a konzolon egy 3:2-es mintát kell látnod, melyben
<systemitem>0+.1.+2</systemitem> és <systemitem>0++1</systemitem> váltakozik.
Ennek a technikának megvan az az előnye, hogy nem kell a forrást
nézned az azonosításhoz, ami akkor jó, ha automatizálni szeretnéd a
kódolási folyamatot vagy távolról, lassú kapcsolaton keresztül
szeretnéd megcsinálni.
</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 "combing"-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 "kevert progresszív és telecine" 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 "30000/1001 fps NTSC" és
"24000/1001 fps progresszív NTSC" között. Figyeld az
<application>MPlayer</application> kimenetének alját, ott megláthatod
az üzeneteket.
</para>
<para>
Nézd meg a "30000/1001 fps NTSC" 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>
"Kevert progresszív és átlapolt" tartalomnál a progresszív
és az átlapolt videót összeillesztették.
</para>
<para>
Ez a kategória ugyan úgy viselkedik, mint a "kevert progresszív és telecine",
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 -oac copy -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
"megtippelni", 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 -oac copy -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> és az
<option>mplayer -vf help</option> kimenetét, hogy megtudd, mit
használhatsz (grep-pelj a "deint"-re), olvasd el Michael Niedermayer
<ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing szűrő összehasonlítását</ulink>,
és keress az
<ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">
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 a
<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 -oac copy -vf yadif -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. Fagyásokat tapasztalhatsz. 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 -oac copy -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. A
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 -oac copy -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 "kevert progresszív és telecine-s"
videók elkódolásához.
<screen>
mencoder dvd://1 -oac copy -vf pullup,softskip
-ovc lavc -ofps 24000/1001<!--
--></screen>
</para></listitem>
<listitem><para>
A <option>-vf filmdint</option> hasonló a
<option>-vf pullup</option>-hoz: mindkét szűrő megpróbálja egyeztetni a
mezőpárokat, hogy azok egy komplett képkockát adjanak. A <option>filmdint</option>
deinterlace-lni fogja az egyedi mezőket, amelyeket nem tud egyeztetni,
míg a <option>pullup</option> egyszerűen csak eldobja őket. A két szűrő
különböző detektáló kódot alkalmaz és a <option>filmdint</option> néha túl kevés mezőt
egyeztet. Az, hogy melyik szűrő a jobb, a bemeneti videótól és az egyéni
ízléstől függ; kísérletezz szabadon a szűrők opcióinak finomhangolásával,
ha valamelyikkel problémád van (lásd a man oldalt a részletekért).
A legtöbb jól elkészített bemeneti videónál mindkettő eléggé jól működik,
így bármelyik jó választás lehet a kezdéshez.
<screen>
mencoder dvd://1 -oac copy -vf filmdint -ovc lavc -ofps 24000/1001<!--
--></screen>
</para></listitem>
<listitem><para>
A régebbi 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 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001
</screen>
</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
ugráló "visszaugrás az időben" effektust hoz létre, 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 ("fényerő") és a chroma ("szín")
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 telecine-lt) videónál függőlegesen 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ény vesztesé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>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="menc-feat-enc-libavcodec">
<title>Kódolás a <systemitem class="library">libavcodec</systemitem>
codec családdal</title>
<para>
A <systemitem class="library">libavcodec</systemitem>
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):
</para>
<!-- ********** -->
<sect2 id="menc-feat-enc-libavcodec-video-codecs">
<title>A <systemitem class="library">libavcodec</systemitem>
videó codec-jei</title>
<para>
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>Videó 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>jpegls</entry>
<entry>JPEG LS</entry>
</row>
<row>
<entry>targa</entry>
<entry>Targa kép</entry>
</row>
<row>
<entry>gif</entry>
<entry>GIF kép</entry>
</row>
<row>
<entry>bmp</entry>
<entry>BMP kép</entry>
</row>
<row>
<entry>png</entry>
<entry>PNG kép</entry>
</row>
<row>
<entry>h261</entry>
<entry>H.261</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, 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>RealVideo 1.0</entry>
</row>
<row>
<entry>rv20</entry>
<entry>RealVideo 2.0</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>ffvhuff</entry>
<entry>FFmpeg által módosított veszteségmentes huffyuv</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>
<row>
<entry>svq1</entry>
<entry>Sorenson video 1</entry>
</row>
<row>
<entry>flv</entry>
<entry>Flash Videókban használt Sorenson H.263</entry>
</row>
<row>
<entry>flashsv</entry>
<entry>Flash Screen Video</entry>
</row>
<row>
<entry>dvvideo</entry>
<entry>Sony Digital Video</entry>
</row>
<row>
<entry>snow</entry>
<entry>az FFmpeg kísérleti wavelet-alapú codecja</entry>
</row>
<row>
<entry>zmbv</entry>
<entry>Zip Motion Blocks Video</entry>
</row>
<row>
<entry>dnxhd</entry>
<entry>AVID DNxHD</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 <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy
</screen>
</para></informalexample>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-enc-libavcodec-audio-codecs">
<title>A <systemitem class="library">libavcodec</systemitem>
audió codec-jei</title>
<para>
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>Audió codec neve</entry><entry>Leírás</entry></row>
</thead>
<tbody>
<row>
<entry>ac3</entry>
<entry>Dolby Digital (AC-3)</entry>
</row>
<row>
<entry>adpcm_*</entry>
<entry>Adaptív PCM formátumok - lásd a mellékelt táblázatot</entry>
</row>
<row>
<entry>flac</entry>
<entry>Free Lossless Audio Codec (FLAC)</entry>
</row>
<row>
<entry>g726</entry>
<entry>G.726 ADPCM</entry>
</row>
<row>
<entry>libfaac</entry>
<entry>Advanced Audio Coding (AAC) - FAAC használatával</entry>
</row>
<row>
<entry>libgsm</entry>
<entry>ETSI GSM 06.10 full rate</entry>
</row>
<row>
<entry>libgsm_ms</entry>
<entry>Microsoft GSM</entry>
</row>
<row>
<entry>libmp3lame</entry>
<entry>MPEG-1 audio layer 3 (MP3) - LAME használatával</entry>
</row>
<row>
<entry>mp2</entry>
<entry>MPEG-1 audio layer 2 (MP2)</entry>
</row>
<row>
<entry>pcm_*</entry>
<entry>PCM formats - lásd a mellékelt táblázatot</entry>
</row>
<row>
<entry>roq_dpcm</entry>
<entry>Id Software RoQ DPCM</entry>
</row>
<row>
<entry>sonic</entry>
<entry>kísérleti FFmpeg veszteséges codec</entry>
</row>
<row>
<entry>sonicls</entry>
<entry>kísérleti FFmpeg veszteségmentes codec</entry>
</row>
<row>
<entry>vorbis</entry>
<entry>Xiph Ogg Vorbis codec</entry>
</row>
<row>
<entry>wmav1</entry>
<entry>Windows Media Audio v1</entry>
</row>
<row>
<entry>wmav2</entry>
<entry>Windows Media Audio v2</entry>
</row>
</tbody>
</tgroup>
</informaltable>
Az első oszlop a codec neveket tartalmazza, amit az <literal>acodec</literal>
opció után kell megadni, például: <option>-lavcopts acodec=ac3</option>
</para>
<informalexample><para>
Egy példa AC-3 tömörítéssel:
<screen>
mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -oac lavc -lavcopts acodec=ac3 -ovc copy
</screen>
</para></informalexample>
<para>
Ellentétben a <systemitem class="library">libavcodec</systemitem> videó
codec-jeivel, az audió codec-jei nem használnak el annyi bit-et, amennyit
szánsz nekik, mivel hiányzik belőlük némi minimális pszichoakusztikus modell
(ha van egyáltalán), ami a legtöbb egyéb codec implementációban benne van.
Azonban vedd figyelembe, hogy ezek az audió codec-ek nagyon gyorsak és
azonnal használhatóak bárhol, ahol a <application>MEncoder</application>t
a <systemitem class="library">libavcodec</systemitem>-kel együtt fordították
le (ami a legtöbb esetben így van), és nem függ külső függvénykönyvtáraktól.
</para>
<sect3 id="menc-feat-enc-libavcodec-audio-codecs-pcmadpcm">
<title>PCM/ADPCM formátum kiegészítő táblázat</title>
<para>
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>PCM/ADPCM codec neve</entry><entry>Leírás</entry></row>
</thead>
<tbody>
<row>
<entry>pcm_s32le</entry>
<entry>előjeles 32-bit-es little-endian</entry>
</row>
<row>
<entry>pcm_s32be</entry>
<entry>előjeles 32-bit-es big-endian</entry>
</row>
<row>
<entry>pcm_u32le</entry>
<entry>előjel nélküli 32-bit-es little-endian</entry>
</row>
<row>
<entry>pcm_u32be</entry>
<entry>előjel nélküli 32-bit-es big-endian</entry>
</row>
<row>
<entry>pcm_s24le</entry>
<entry>előjeles 24-bit-es little-endian</entry>
</row>
<row>
<entry>pcm_s24be</entry>
<entry>előjeles 24-bit-es big-endian</entry>
</row>
<row>
<entry>pcm_u24le</entry>
<entry>előjel nélküli 24-bit-es little-endian</entry>
</row>
<row>
<entry>pcm_u24be</entry>
<entry>előjel nélküli 24-bit-es big-endian</entry>
</row>
<row>
<entry>pcm_s16le</entry>
<entry>előjeles 16-bit-es little-endian</entry>
</row>
<row>
<entry>pcm_s16be</entry>
<entry>előjeles 16-bit-es big-endian</entry>
</row>
<row>
<entry>pcm_u16le</entry>
<entry>előjel nélküli 16-bit-es little-endian</entry>
</row>
<row>
<entry>pcm_u16be</entry>
<entry>előjel nélküli 16-bit-es big-endian</entry>
</row>
<row>
<entry>pcm_s8</entry>
<entry>előjeles 8-bit-es</entry>
</row>
<row>
<entry>pcm_u8</entry>
<entry>előjel nélküli 8-bit-es</entry>
</row>
<row>
<entry>pcm_alaw</entry>
<entry>G.711 A-LAW </entry>
</row>
<row>
<entry>pcm_mulaw</entry>
<entry>G.711 &mu;-LAW</entry>
</row>
<row>
<entry>pcm_s24daud</entry>
<entry>előjeles 24-bit-es D-Cinema Audio formátum</entry>
</row>
<row>
<entry>pcm_zork</entry>
<entry>Activision Zork Nemesis</entry>
</row>
<row>
<entry>adpcm_ima_qt</entry>
<entry>Apple QuickTime</entry>
</row>
<row>
<entry>adpcm_ima_wav</entry>
<entry>Microsoft/IBM WAVE</entry>
</row>
<row>
<entry>adpcm_ima_dk3</entry>
<entry>Duck DK3</entry>
</row>
<row>
<entry>adpcm_ima_dk4</entry>
<entry>Duck DK4</entry>
</row>
<row>
<entry>adpcm_ima_ws</entry>
<entry>Westwood Studios</entry>
</row>
<row>
<entry>adpcm_ima_smjpeg</entry>
<entry>SDL Motion JPEG</entry>
</row>
<row>
<entry>adpcm_ms</entry>
<entry>Microsoft</entry>
</row>
<row>
<entry>adpcm_4xm</entry>
<entry>4X Technologies</entry>
</row>
<row>
<entry>adpcm_xa</entry>
<entry>Phillips Yellow Book CD-ROM eXtended Architecture</entry>
</row>
<row>
<entry>adpcm_ea</entry>
<entry>Electronic Arts</entry>
</row>
<row>
<entry>adpcm_ct</entry>
<entry>Creative 16->4-bit</entry>
</row>
<row>
<entry>adpcm_swf</entry>
<entry>Adobe Shockwave Flash</entry>
</row>
<row>
<entry>adpcm_yamaha</entry>
<entry>Yamaha</entry>
</row>
<row>
<entry>adpcm_sbpro_4</entry>
<entry>Creative VOC SoundBlaster Pro 8->4-bit</entry>
</row>
<row>
<entry>adpcm_sbpro_3</entry>
<entry>Creative VOC SoundBlaster Pro 8->2.6-bit</entry>
</row>
<row>
<entry>adpcm_sbpro_2</entry>
<entry>Creative VOC SoundBlaster Pro 8->2-bit</entry>
</row>
<row>
<entry>adpcm_thp</entry>
<entry>Nintendo GameCube FMV THP</entry>
</row>
<row>
<entry>adpcm_adx</entry>
<entry>Sega/CRI ADX</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</sect3>
</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 úgy kell kódolnod, hogy DivX5-tel dekódolható legyen az
eredmény, aktiválnod kell a zárt GOP támogatást a
<systemitem class="library">libavcodec</systemitem> <option>cgop</option>
opciójával, de ki kell kapcsolnod a jelenet detektálást, ami
nem túl jó ötlet, mivel rontja a kódolási hatékonyságot egy kicsit.
</para></listitem>
<listitem><para>
<emphasis role="bold">vb_strategy=1</emphasis>: segít a gyors mozgású jeleneteknél.
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 (+25% 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-mpeg4-lavc-example-settings">
<title>Kódolás beállítási példák</title>
<para>
A következő beállítások példák különböző kódolási opciók
kombinációjára, amik a sebesség vs minőség kérdést döntően
befolyásolják ugyanazon cél bitráta mellett.
</para>
<para>
Az összes kódolási beállítást egy 720x448 @30000/1001 fps-es példa
videón teszteltük, a cél bitráta 900kbps volt, a gép pedig egy
AMD-64 3400+ 2400 MHz-en 64 bites módban.
Mindegyik kódolási beállítás tartalmazza a kódolási sebességet
(képkocka per másodpercben) és a PSNR veszteséget (dB-ben) a
"nagyon jó minőséghez" viszonyítva.
Kérlek vedd figyelembe, hogy a forrásanyagodtól, a géped típusától
és a fejlesztésektől függően különböző eredményeket kaphatsz.
</para>
<para>
<informaltable frame="all">
<tgroup cols="4">
<thead>
<row>
<entry>Leírás</entry>
<entry>Kódolási opciók</entry>
<entry>sebesség (fps-ben)</entry>
<entry>Relatív PSNR veszteség (dB-ben)</entry>
</row>
</thead>
<tbody>
<row>
<entry>Nagyon jó minőség</entry>
<entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
<entry>6fps</entry>
<entry>0dB</entry>
</row>
<row>
<entry>Jó minőség</entry>
<entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
<entry>15fps</entry>
<entry>-0.5dB</entry>
</row>
<row>
<entry>Gyors</entry>
<entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
<entry>42fps</entry>
<entry>-0.74dB</entry>
</row>
<row>
<entry>Valós idejű</entry>
<entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
<entry>54fps</entry>
<entry>-1.21dB</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</sect2>
<!-- ********** -->
<sect2 id="custommatrices">
<title>Egyedi inter/intra matricák</title>
<para>
A <systemitem class="library">libavcodec</systemitem>
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 "Notch" 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>
</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 id="menc-feat-dvd-mpeg4-example-crop">
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 a nyitó képek és logók után), 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 -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \
-vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
</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 -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \
-vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
</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</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 <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3
</screen>
</para>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="menc-feat-xvid">
<title>Kódolás az <systemitem class="library">Xvid</systemitem>
codec-kal</title>
<para>
Az <systemitem class="library">Xvid</systemitem> egy szabad függvénykönyvtár
MPEG-4 ASP videó stream-ek elkódolásához.
A kódolás megkezdése előtt <link linkend="xvid">be kell állítanod
a <application>MEncoder</application>ben a támogatását</link>.
</para>
<para>
Ez a leírás főként hasonló információkat szeretne nyújtani, mint az
x264 kódolási leírás.
Ezért, kérlek kezdd azzal, hogy elolvasod azon leírásnak az
<link linkend="menc-feat-x264-encoding-options-intro">első részét</link>.
</para>
<!-- ********** -->
<sect2 id="menc-feat-xvid-intro">
<title>Milyen opciókat kell használnom, ha a legjobb eredményt akarom?</title>
<para>
Kezdésként nézd át az
<application>MPlayer</application> man oldalának
<systemitem class="library">Xvid</systemitem> részét!
Ez a rész csak a man oldal kiegészítéseként használható.
</para>
<para>
Az Xvid alapértelmezett beállításai egyensúlyt teremtenek a
sebesség és a minőség között, így nyugodtan használhatod azokat,
ha a következő rész túl zavarosnak tűnik.
</para>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-xvid-encoding-options">
<title>Az <systemitem class="library">Xvid</systemitem> kódolási opciói</title>
<itemizedlist>
<listitem><para>
<emphasis role="bold">vhq</emphasis>
Ez a beállítás a makroblokk döntési algoritmust érinti, minél
nagyobb a beállítás, annál okosabb a döntés.
Az alapértelmezett érték bátran használható minden kódoláshoz,
míg a nagyobb értékek segítik a PSNR-t de jelentősen lassabbak.
Kérlek vedd figyelembe, hogy a jobb PSNR nem feltétlenül jelenti
azt, hogy a kép jobban fog kinézni, de közelebb lesz az eredetihez.
A kikapcsolása észrevehetően felgyorsítja a kódolást; ha a sebesség
kritikus számodra, megéri a cserét.
</para></listitem>
<listitem><para>
<emphasis role="bold">bvhq</emphasis>
Ez ugyan azt csinálja, mint a vhq, de a B-kockákon.
Elhanyagolható a hatása a sebességre és kismértékben javít a minőségen
(+0.1dB PSNR körül).
</para></listitem>
<listitem><para>
<emphasis role="bold">max_bframes</emphasis>
Az egymás után engedélyezett több B-kocka általában javítja a
tömöríthetőséget, de több blokkosodási mellékhatást okoz.
Az alapértelmezett beállítás jó kompromisszum a tömöríthetőség és a
minőség között, de növelheted 3-ig ha ki vagy éhezve a bitrátára.
Csökkentheted 1-re vagy 0-ra ha a tökéletes minőséget céloztad meg,
de ekkor biztosan tudnod kell, hogy a forrásod bitrátája elég nagy
ahhoz, hogy a kódolónak nem kell növelni a kvantálást, hogy elére ezt.
</para></listitem>
<listitem><para>
<emphasis role="bold">bf_threshold</emphasis>
Ez a kódoló B-kocka érzékenységét szabályozza, a nagyobb érték hatására
több B-kockát használ (és fordítva).
Ez a beállítás a <option>max_bframes</option>-szel együtt használható;
ha bitráta éhségben szenvedsz, növelned kell mind a
<option>max_bframes</option>, mind a <option>bf_threshold</option>
értékét, míg ha növeled a <option>max_bframes</option>-t és csökkented
a <option>bf_threshold</option>-ot, akkor a kódoló több B-kockát fog
használni, de csak azokon a helyeken, ahol
<emphasis role="bold">tényleg</emphasis> szükséges.
A <option>max_bframes</option> alacsony értéke és a
<option>bf_threshold</option> magas értéke nem túl bölcs döntés,
mert ez arra kényszeríti a kódolót, hogy olyan helyekre is tegyen
B-kockát, ahol nincs rájuk szükség, így csökkenti a vizuális
minőséget. De ha kompatibilis akarsz maradni az egyedi lejátszókkal,
amik csak a régi DivX profilokat támogatják (amik csak legfeljebb
1 B-kockát támogatnak sorban), ez az egyetlen lehetőséged a
tömöríthetőség növelésére a B-kockák használatával.
</para></listitem>
<listitem><para>
<emphasis role="bold">trellis</emphasis>
Optimalizálja a kvantálási eljárást, hogy optimális arányt találjon
a PSNR és a bitráta között, ami jelentős bitmegtakarítást engedélyez.
Cserébe ezek a bitek a videóban máshol kerülnek felhasználásra,
növelve az össz minőséget.
Mindig ajánlott bekapcsolva hagyni, mert jelentősen befolyásolja a
minőséget. Még ha neked a sebesség számít, akkor is ne kapcsold ki,
amíg nem kapcsoltad ki a <option>vhq</option>-t és a többi CPU-éhes
opciót nem állítottad a minimumra.
</para></listitem>
<listitem><para>
<emphasis role="bold">hq_ac</emphasis>
Bekapcsol egy jobb együttható kölcségbecslő módszert, ami kissé
csökkenti a fájl méretet, kb. 0,15-0,19% között (ami kevesebb, mint
0,01dB-es PSNR növekedésnek felel meg), miközben jelentéktelen
hatása van a sebességre. Ezért ajánlott mindig bekapcsolva hagyni.
</para></listitem>
<listitem><para>
<emphasis role="bold">cartoon</emphasis>
A rajzfilm tartalom jobb kódolására lett kitalálva és nincs
hatása a sebességre, mivel csak a döntési heurisztikát tuningolja
az ilyen típusú tartalomnál.
</para></listitem>
<listitem>
<para>
<emphasis role="bold">me_quality</emphasis>
Ez a beállítás a mozgás előrejelzés pontosságát vezérli.
Minél nagyobb a <option>me_quality</option> érték, annál
pontosabb lesz az eredeti mozgás előrejelzése és minél pontosabb
ez, annál jobban közelíti majd az eredmény az eredeti mozgást.
</para>
<para>
Az alapértelmezett érték jó a legtöbb esetben; így nem javasolt
a változtatása, csak ha tényleg a sebesség számít, mivel minden
a mozgás becslésével megmentett bit másra lesz felhasználva,
növelve az össz minőséget. Ezért ne menj 5 alá és ezt is csak
végszükség esetén állítsd be.
</para>
</listitem>
<listitem><para>
<emphasis role="bold">chroma_me</emphasis>
Javítja a mozgás előrejelzést úgy, hogy a számításba beleveszi
a chroma (szín) információkat is, míg a <option>me_quality</option>
csak a luma-t (grayscale) használja.
Ez 5-10%-kal lassítja a kódolást, de eléggé javítja a vizuális
minőséget a blokkosodási effektusok csökkentésével és csökkenti
a fájl méretet kb. 1,3%-kal.
Ha a sebesség érdekel, kapcsold ki ezt az opciót, mielőtt
elkezdenél töprengeni a <option>me_quality</option> csökkentésén.
</para></listitem>
<listitem><para>
<emphasis role="bold">chroma_opt</emphasis>
A chroma képek minőségének javítása a célja az egyszerű
fehér/fekete sarkoknál a tömörítés javítása helyett.
Ezzel csökkentheted a "red stairs" effektust.
</para></listitem>
<listitem><para>
<emphasis role="bold">lumi_mask</emphasis>
Megpróbál kevesebb bitrátát adni a kép azon részeinek, amiket az
emberi szem nem lát olyan jól, így a kódolónak lehetősége van a
megspórolt biteket a kép sokkal fontosabb részeinél felhasználni.
Ezen opció nyeresége a kódolás minőségének szempontjából erősen
függ az egyéni beállításoktól és a megtekintéshez használt monitor
típusától és beállításaitól (tipikusan egy világosabb vagy TFT
monitoron nem fog olyan jól kinézni).
</para></listitem>
<listitem>
<para>
<emphasis role="bold">qpel</emphasis>
Növeli a várható mozgásvektorok számát a mozgás előrejelzés
pontosságának növelésével halfpel-ről quarterpel-re.
Az ötlet annyi, hogy a jobb mozgásvektorokért cserébe csökken a
bitráta (ezért nő a minőség).
Habár a quarterpel pontosságú mozgásvektorok kódolásához egy kicsivel
több bit kell, a várható vektorok nem mindig adnak (sokkal) jobb
minőséget.
Elég gyakran a codec még mindig biteket biztosít az extra
pontossághoz, de csak kicsi vagy semmilyen minőségi nyereség nincs
cserében.
Sajnos, nem lehet előre megmondani a <option>qpel</option> lehetséges
nyereségeit, így kódolnod kell vele is és nélküle is, hogy biztosan
tudd.
</para>
<para>
A <option>qpel</option> majdnem dupla kódolási időt jelent és 25%-kal
több feldolgozási erőforrást igényel a dekódolása. Nem minden
asztali lejátszó támogatja.
</para>
</listitem>
<listitem><para>
<emphasis role="bold">gmc</emphasis>
Biteket próbál megspórolni bizonyos jeleneteknél úgy, hogy
egy mozgásvektort használ az egész kockához.
Ez majdnem mindig növeli a PSNR-t, de jelentősen lelassítja
a kódolást (és a dekódolást is).
Ezért csak akkor ajánlott használnod, ha a <option>vhq</option>
a maximumra állítottad.
Az <systemitem class="library">Xvid</systemitem> GMC-je sokkal
kifinomultabb, mint a DivX-é, de csak kevés lejátszó támogatja.
</para></listitem>
</itemizedlist>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-xvid-encoding-profiles">
<title>Kódolási profilok</title>
<para>
Az Xvid támogatja a kódolási profilokat a <option>profile</option> opción
keresztül, amivel az XVid videó folyam tulajdonságaiban olyan
megszorításokat lehet előírni, amikkel az lejátszható marad az összes
eszközön, ami támogatja a választott profilt.
A megkötések a felbontásra, a bitrátára és bizonyos MPEG-4-es funkciókra
vonatkoznak.
A következő táblázat megmutatja, hogy melyik profil mit támogat.
</para>
<informaltable>
<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"/>
<colspec colnum="17" colname="col17"/>
<spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
<spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
<spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
<tbody>
<row>
<entry></entry>
<entry spanname="spa2-5">Szimpla</entry>
<entry spanname="spa6-11">Fejlett szimpla</entry>
<entry spanname="spa12-17">DivX</entry>
</row>
<row>
<entry>Profil neve</entry>
<entry>0</entry>
<entry>1</entry>
<entry>2</entry>
<entry>3</entry>
<entry>0</entry>
<entry>1</entry>
<entry>2</entry>
<entry>3</entry>
<entry>4</entry>
<entry>5</entry>
<entry>Handheld</entry>
<entry>Hordozható NTSC</entry>
<entry>Hordozható PAL</entry>
<entry>NTSC házimozi</entry>
<entry>PAL házimozi</entry>
<entry>HDTV</entry>
</row>
<row>
<entry>Szélesség [pixelben]</entry>
<entry>176</entry>
<entry>176</entry>
<entry>352</entry>
<entry>352</entry>
<entry>176</entry>
<entry>176</entry>
<entry>352</entry>
<entry>352</entry>
<entry>352</entry>
<entry>720</entry>
<entry>176</entry>
<entry>352</entry>
<entry>352</entry>
<entry>720</entry>
<entry>720</entry>
<entry>1280</entry>
</row>
<row>
<entry>Magasság [pixelben]</entry>
<entry>144</entry>
<entry>144</entry>
<entry>288</entry>
<entry>288</entry>
<entry>144</entry>
<entry>144</entry>
<entry>288</entry>
<entry>288</entry>
<entry>576</entry>
<entry>576</entry>
<entry>144</entry>
<entry>240</entry>
<entry>288</entry>
<entry>480</entry>
<entry>576</entry>
<entry>720</entry>
</row>
<row>
<entry>Frame ráta [fps]</entry>
<entry>15</entry>
<entry>15</entry>
<entry>15</entry>
<entry>15</entry>
<entry>30</entry>
<entry>30</entry>
<entry>15</entry>
<entry>30</entry>
<entry>30</entry>
<entry>30</entry>
<entry>15</entry>
<entry>30</entry>
<entry>25</entry>
<entry>30</entry>
<entry>25</entry>
<entry>30</entry>
</row>
<row>
<entry>Max átlagos bitráta [kbps]</entry>
<entry>64</entry>
<entry>64</entry>
<entry>128</entry>
<entry>384</entry>
<entry>128</entry>
<entry>128</entry>
<entry>384</entry>
<entry>768</entry>
<entry>3000</entry>
<entry>8000</entry>
<entry>537.6</entry>
<entry>4854</entry>
<entry>4854</entry>
<entry>4854</entry>
<entry>4854</entry>
<entry>9708.4</entry>
</row>
<row>
<entry>Átlagos csúcs bitráta 3 mp-n keresztül [kbps]</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>800</entry>
<entry>8000</entry>
<entry>8000</entry>
<entry>8000</entry>
<entry>8000</entry>
<entry>16000</entry>
</row>
<row>
<entry>Max. B-frame</entry>
<entry>0</entry>
<entry>0</entry>
<entry>0</entry>
<entry>0</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>0</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>2</entry>
</row>
<row>
<entry>MPEG kvantálás</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>Adaptív kvantálás</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
</row>
<row>
<entry>Átlapolt kódolás</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
</row>
<row>
<entry>Quarterpixel</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>Globális mozgás-kompenzáció</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-xvid-example-settings">
<title>Kódolás beállítási példák</title>
<para>
A következő beállítások példák különböző kódolási opciók
kombinációjára, amik a sebesség vs minőség kérdést döntően
befolyásolják ugyanazon cél bitráta mellett.
</para>
<para>
Az összes kódolási beállítást egy 720x448 @30000/1001 fps-es példa
videón teszteltük, a cél bitráta 900kbps volt, a gép pedig egy
AMD-64 3400+ 2400 MHz-en 64 bites módban.
Mindegyik kódolási beállítás tartalmazza a kódolási sebességet
(képkocka per másodpercben) és a PSNR veszteséget (dB-ben) a
"nagyon jó minőséghez" viszonyítva.
Kérlek vedd figyelembe, hogy a forrásanyagodtól, a géped típusától
és a fejlesztésektől függően különböző eredményeket kaphatsz.
</para>
<para>
<informaltable frame="all">
<tgroup cols="4">
<thead>
<row><entry>Leírás</entry><entry>Kódolási opciók</entry><entry>sebesség (fps-ben)</entry><entry>Relatív PSNR veszteség (dB-ben)</entry></row>
</thead>
<tbody>
<row>
<entry>Nagyon jó minőség</entry>
<entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
<entry>16fps</entry>
<entry>0dB</entry>
</row>
<row>
<entry>Jó minőség</entry>
<entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
<entry>18fps</entry>
<entry>-0.1dB</entry>
</row>
<row>
<entry>Gyors</entry>
<entry><option>turbo:vhq=0</option></entry>
<entry>28fps</entry>
<entry>-0.69dB</entry>
</row>
<row>
<entry>Valós idejű</entry>
<entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
<entry>38fps</entry>
<entry>-1.48dB</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</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="x264">be kell
állítanod a <application>MEncoder</application>ben a támogatását</link>.
</para>
<!-- ********** -->
<sect2 id="menc-feat-x264-encoding-options">
<title>Az x264 kódolási opciói</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.
Itt csak rövid tanácsokat találhatsz, hogy mely opciók
érdekelhetik a letöbb embert. A man oldal tömörebb, de
ugyanakkor kimerítőbb is és esetenként több technikai
információval szolgál.
</para>
<sect3 id="menc-feat-x264-encoding-options-intro">
<title>Bevezetés</title>
<para>
Ez a leírás a kódolási opciók két fő kategóriáját tárgyalja:
</para>
<orderedlist>
<listitem><para>
Opciók, melyekkel a kódolási idő vs. minőség arány szabályozható
</para></listitem>
<listitem><para>
Opciók, melyek a különböző egyéni érdekeknek és speciális igényeknek
próbálnak eleget tenni
</para></listitem>
</orderedlist>
<para>
Igazából csak te tudod, hogy mely opciók a legjobbak neked. Az első
csoportba tartozó opcióknál könnyű dönteni: csak azt kell megfontolnod,
hogy a minőségi különbség megéri-e a sebességbeli különbséget. A másik
csoport már sokkal szubjektívebb és több szempontot kell figyelembe
venni. Tartsd észben, hogy az "egyéni érdekek és speciális igényeknek"
eleget tevő opciók jelentősen befolyásolják a sebességet vagy a
minőséget, de elsősorban nem ezért használják őket. Az "egyéni érdekek"
opciói közül több olyan változásokat idézhet elő, ami néhány embernek
tetszhet, míg másoknak nem.
</para>
<para>
Mielőtt folytatnád, meg kell értened, 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 pluszban,
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 behoz egy zavaró tényezőt: 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égi változás a
megváltozott opciók miatt következett-e be vagy a főként véletlenül
elért bitráta különbségből adódik.
</para>
</sect3>
<sect3 id="menc-feat-x264-encoding-options-speedvquality">
<title>Elsősorban a sebességet és a minőséget érintő opciók</title>
<itemizedlist>
<listitem>
<para>
<emphasis role="bold">subq</emphasis>:
Azon opciók közül, amik segítségével a sebesség és minőség közötti arányt
befolyásolhatod, a <option>subq</option> és a <option>frameref</option>
(lásd lejjebb) 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.
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> (alapértelmezett érték) 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-vel magasabb
globális PSNR-t biztosít a <option>subq=1</option>-gyel összehasonlítva.
Általában ez már látható különbség.
</para>
<para>
A <option>subq=6</option> lassabb, de jobb minőséget ad elfogadható áron.
A <option>subq=5</option>-tel összehasonlítva általában 0.1-0.4 dB nyereséget
jelent a globális PSNR-ben, 25%-100% között változó sebességveszteség árán.
A <option>subq</option> egyéb értékeitől eltérően a <option>subq=6</option>
viselkedése nem függ olyan nagy mértékben a <option>frameref</option> és
a <option>me</option> opcióktól. A <option>subq=6</option> hatékonysága
inkább a használt B-kockák számától függ. Normális használat esetén ez
azt jelenti, hogy a <option>subq=6</option>-nak nagy hatása van mind a
sebességre, mint a minőségre az összetett, sok mozgást tartalmazó jelenetek
esetében, de sokkal kevesebb a kevés mozgást rögzítő részeknél. Jegyezd
meg, hogy még mindig javasoljuk a <option>bframes</option> értékének
valamilyen nullától különböző értékre történő állítását (lásd lejjebb).
</para>
<para>
<option>subq=7</option> a leglassabb, legjobb minőséget nyújtó mód.
A <option>subq=6</option>-tal összehasonlítva általában 0.01-0.05 dB
globális PSNR növelést jelent, változó 15%-33%-os sebességveszteség árán.
Mivel a kódolási idő vs. minőség arány eléggé rossz, csak akkor ajánlott
használni, ha minden egyes bit fontos és a kódolási idő nem számít.
</para>
</listitem>
<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 szinte
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 képkocka típus 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=dia</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=hex</option>)
egy ésszerű kompromisszum a sebesség és a minőség között. A <option>me=umh</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=umh</option> kb. 40%-kal lassabb, mint az alapértelmezett
<option> me=hex</option>. <option>frameref=3</option>-mal a sebességbeli
veszteség visszaesik 25%-30%-ra.
</para>
<para>
A <option>me=esa</option> egy nagyon alapos keresést használ, ami túl
lassú a gyakorlati alkalmazáshoz.
</para>
</listitem>
<listitem><para>
<emphasis role="bold">partitions=all</emphasis>:
Ez az opció engedélyezi a 8x4-es, 4x8-as és 4x4-es alpartíciók
használatát a megjósolt makroblokkokban (az alapértelmezett
partíciók mellett).
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>:
Ha kódoltál már más codec-kel, rájöhettél, hogy a B-kockák nem mindig
hasznosak.
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 megjegyezni, hogy a B-kockák használata általában
egy kicsit gyorsít a második lépésen és talán az egy lépéses kódolást
is gyorsítja kicsit, ha az adaptív B-kocka döntés ki van kapcsolva.
</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 nem több, mint
<option>bframes=1</option>, különben a gyors mozgású részek romolhatnak.
Bekapcsolt adaptív B-kocka döntéssel (alapértelmezett tulajdonság)
nyugodtan használhatsz magasabb értéket; a kódoló csökkenti a
B-kockák használatát azokban a részekben, ahol amiatt sérülne a
tömörítés. A kódoló ritkán választ 3 vagy 4 B-kockánál többet;
ezen opció magasabb értékre állítása nagyon kicsi különbséget eredményez.
</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 eléggé gyors döntési eljárást
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 kisebb B-kockákkal történő lecserélése.
A kódolási időben jelentkező plusz ráfordítás minimális, mivel
nem kell külön döntéseket hozni.
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 id="menc-feat-x264-encoding-options-speedvquality-threads">
<para>
<emphasis role="bold">threads</emphasis>:
Ez az opció szálak segítségével párhuzamos kódolást tesz lehetővé több
CPU-n. A létrejövő szálak száma kézzel is beállítható, de jobb a
<option>threads=auto</option> és rábízni az
<systemitem class="library">x264</systemitem>-re a használható CPU-k
felderítését és a szálak optimális számának megállapítását.
Ha több processzoros géped van, nem árt fontolóra venni ennek a használatát,
mivel a CPU magokkal arányosan megnövelheti a kódolási sebességet
(kb. 94% CPU magonként), nagyon kicsi minőségromlással (kb. 0.005dB
dual processzornál, 0.01dB quad processzoros gépnél).
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3 id="menc-feat-x264-encoding-options-misc-preferences">
<title>Különböző igényekhez tartozó opciók</title>
<itemizedlist>
<listitem>
<para>
<emphasis role="bold">Két lépéses kódolás</emphasis>:
Fentebb azt javasoltuk, hogy mindig használj két lépéses kódolást,
azonban vannak indokok az elkerülése mellett is. Például ha élő TV
adást mentesz és kódolsz valós időben, kénytelen vagy egy lépést
használni. Az egy lépés nyilvánvalóan gyorsabb, mint a két lépéses;
ha teljesen ugyan azokkal az opciókat használod mind a két lépésben,
a két lépéses kódolás majdnem kétszer olyan lassú.
</para>
<para>
Mégis van pár nagyon jó indok a két lépéses kódolás használatára. Az
egyik, hogy az egy lépés rátakontollja nem pszichikai, így gyakran
ésszerűtlen döntéseket hoz, mert nem látja a nagy képet. Például tegyük
fel, hogy van egy két perces videód, mely két eltérő félből áll. Az
első fele nagyon gyors mozgású, 60 másodperces jelenet, ami magában
kb. 2500kbps-t igényel, hogy megfelelően nézzen ki. Majd rögtön ez
után egy sokkal kisebb igényű 60 másodperces jelenet jön, ami 300
kbps-sel is jól néz ki. Tegyük fel, hogy 1400kbps-t kérsz, ami elméletileg
elég mind a két jelenethez. Az egy lépéses rátakontroll rengeteg "hibát"
ejt egy ilyen esetben. Mindenek előtt az 1400kbps-t célozza meg mind a
két szegmensben. Az első rész erőteljesen túl lesz kvantálva, emiatt
elfogadhatatlan és túlzottan blokkos képet kapsz. A második szegmens
pedig erőteljesen alul lesz kvantálva; tökéletesen néz ki, de az
ezzel járó bitráta többlet teljesen ésszerűtlen. Amit még nehezebb
elkerülni, az a két jelenet közötti átmenet problémája. A lassú mozgású
rész első pár másodperce túlságosan túl lesz kvantálva, mert a
rátakontroll még a videó első feléből származó bitráta igényre számít.
Ez a túlkvantálási "hiba periódus" a kevés mozgást tartalmazó részt
szörnyen rosszá teszi, tulajdonképpen kevesebb, mint 300kbps-t fog
használni, ami a megfelelő kinézethez kellene. Több lehetőség is van
az egy lépéses kódolás buktatóiból származó hibák csökkentésére, de
összességében mégis növelik a bitráta félrebecslésének esélyét.
</para>
<para>
A többlépéses rátakontrollnak több előnye is van az egylépésessel
szemben. Az első lépésből nyert statisztikai adatokból a kódoló egész
jó pontossággal meg tudja jósolni egy bármilyen adott kocka bármilyen
adott kvantálás melletti kódolásának "költségét" (bitekben). Ez a bitek
sokkal ésszerűbb, jobban megtervezett elosztását eredményezi a drága
(sok mozgású) és az olcsó (kevés mozgású) jelenetek között. Lásd a
<option>qcomp</option> opciót lejjebb néhány ötletért, hogy hogyan
tudod ezt a felosztást kedvedre változtatni.
</para>
<para>
Továbbá a két lépés nem tart kétszer annyi ideig, mint az egy. Az első
lépés opcióit rá lehet hangolni a nagyobb sebességre és a gyengébb
minőségre. Ha jól választod meg az opciókat, egy nagyon gyors első
lépésed lehet. Az eredmény minősége a második lépésben kicsit alacsonyabb
lesz mert a méret becslés kevésbé pontos, de a minőségi különbség
normális esetben túl kicsi ahhoz, hogy észrevedd. Például próbáld meg a
<option>subq=1:frameref=1</option> opció hozzáadását a
<option>x264encopts</option> első lépéséhez. Majd, a második lépésben
használj lassabb, jobb minőséget biztosító opciókat:
<option>subq=6:frameref=15:partitions=all:me=umh</option>
</para>
</listitem>
<listitem><para>
<emphasis role="bold">Három lépéses kódolás</emphasis>?
Az x264 lehetőséget nyújt tetszőleges számú egymás utáni lépések
elvégzésére. Ha megadod a <option>pass=1</option> opciót az első
lépésben, majd <option>pass=3</option>-at használsz az egyik
következő lépésben, a következő lépés beolvassa az előző statisztikáját
és megírja a sajátját. Egy ezt követő lépésnek már nagyon jó alapjai
lesznek, nagyon pontos döntéseket tud hozni a képkocka méretre
vonatkozóan a választott kvantálás mellett. A gyakorlatban az össz
minőségi nyereség ebből közel van a nullához és lehetséges, hogy egy
harmadik lépés kissé még rontja is a globális PSNR-t az előző lépéshez
képest. Az átlagos felhasználásban a három lépés akkor segít, ha két
lépéssel rossz bitráta jóslást kaptál vagy ronda átmeneteket a
jelenetek között. Ilyen dolog csak a nagyon rövid klippeknél fordulhat
elő. Van még pár speciális eset is, amikor a három (vagy több) lépés
jól jöhet a haladó felhasználóknak, de a rövidítés végett ezeket az
eseteket nem tárgyaljuk ebben a leírásban.
</para></listitem>
<listitem><para>
<emphasis role="bold">qcomp</emphasis>:
A <option>qcomp</option> a "drága", sok mozgást és az "olcsó", kevés
mozgást tartalmazó jelenetekhez használt bitek arányát szabályozza.
Extrém esetben a <option>qcomp=0</option> az igazi konstans bitrátát
célozza meg. Ezzel a sok mozgású részek borzasztóan fognak kinézni, míg
a kevés mozgást tartalmazó részek valószínűleg tökéletesen fognak kinézni,
de a hasonló kinézethez szükséges bitráta többszörösét fogják felhasználni.
A másik extrém véglet a <option>qcomp=1</option> majdnem konstans
kvantálási paramétert ér el (QP). A konstans QP nem néz ki rosszul, de a
legtöbb ember úgy gondolja, hogy ésszerűbb egy kis bitrátát feláldozni a
roppant drága jeleneteknél (ahol a minőségromlás nem olyan észrevehető)
és felhasználni őket a kitűnő minőségben is könnyebben kódolható
jeleneteknél. A <option>qcomp</option> alapértelmezett értéke 0.6, ami
eléggé alacsony sok ember ízléséhez képest (0.7-0.8 a leggyakrabban
használt).
</para></listitem>
<listitem><para>
<emphasis role="bold">keyint</emphasis>:
A <option>keyint</option> kizárólag a a fájlon belüli keresést rontja a
kódolási hatékonyság javára. Alapértelmezésként a <option>keyint</option>
250-re van állítva. Egy 25fps-es anyagnál ez garantálja a 10 másodpercen
belüli pontossággal történő ugrást. Ha úgy gondolod, hogy fontos és hasznos
lenne az 5 másodperces pontosság, állítsd be a <option>keyint=125</option>
értéket; ez egy kissé rontja a minőséget/bitrátát. Ha csak a minőség
érdekel és a kereshetőség nem, beállíthatod magasabb értékre (észben tartva
azt, hogy egyre csökkenő hasznot hoz, mely végül szinte észrevehetetlenül
kicsi vagy akár nulla lesz). A videó folyam még így is fog tartalmazni
kereshető pontokat, amíg van benne jelenet váltás.
</para></listitem>
<listitem>
<para>
<emphasis role="bold">deblock</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>deblock</option> paraméterrel 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>
</sect3>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-x264-example-settings">
<title>Kódolás beállítási példák</title>
<para>
A következő beállítások példák a különböző kódolási opciók
kombinációjára, amik érintik a sebességet vagy a minőséget
ugyan annál a cél bitrátánál.
</para>
<para>
Az összes kódolási beállítást egy 720x448 @30000/1001 fps-es minta
videón teszteltük, a cél bitráta 900kbps volt, a gép pedig egy
AMD-64 3400+ 2400 MHz-en, 64 bit-es módban.
Mindegyik kódolási beállítás tartalmazza a kódolási sebességet
(képkocka per másodpercben) és a PSNR veszteséget (dB-ben) a
"nagyon jó minőséghez" viszonyítva.
Kérlek vedd figyelembe, hogy a forrásanyagodtól, a géped típusától
és a fejlesztésektől függően különböző eredményeket kaphatsz.
</para>
<informaltable frame="all">
<tgroup cols="4">
<thead>
<row>
<entry>Leírás</entry>
<entry>Kódolási opciók</entry>
<entry>sebesség (fps-ben)</entry>
<entry>relatív PSNR veszteség (dB-ben)</entry>
</row>
</thead>
<tbody>
<row>
<entry>Nagyon jó minőség</entry>
<entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
<entry>6fps</entry>
<entry>0dB</entry>
</row>
<row>
<entry>Jó minőség</entry>
<entry><option>subq=5:partitions=all:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
<entry>13fps</entry>
<entry>-0.89dB</entry>
</row>
<row>
<entry>Gyors</entry>
<entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
<entry>17fps</entry>
<entry>-1.48dB</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="menc-feat-video-for-windows">
<title>
Kódolás a <systemitem class="library">Video For Windows</systemitem>
codec családdal
</title>
<para>
A Video for Windows egyszerű kódolást biztosít bináris videó codec-ekkel.
A következő codec-ekkel kódolhatsz (ha több is van, kérjük áruld el!)
</para>
<para>
Tartsd észben, hogy ez nagyon kísérleti támogatás és néhány codec hibásan
működhet. Néhány codec csak bizonyos színterekben működik jól, próbáld ki
a <option>-vf format=bgr24</option> és <option>-vf format=yuy2</option>
opciókat, ha a codec hibázik vagy rossz kimenetet ad.
</para>
<!-- ********** -->
<sect2 id="menc-feat-enc-vfw-video-codecs">
<title>Video for Windows által támogatott codec-ek</title>
<para>
<informaltable frame="all">
<tgroup cols="4">
<thead>
<row>
<entry>Videó codec fájl név</entry>
<entry>Leírás</entry>
<entry>md5sum</entry>
<entry>Megjegyzés</entry>
</row>
</thead>
<tbody>
<row>
<entry>aslcodec_vfw.dll</entry>
<entry>Alparysoft veszteségmentes codec vfw (ASLC)</entry>
<entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
<entry></entry>
</row>
<row>
<entry>avimszh.dll</entry>
<entry>AVImszh (MSZH)</entry>
<entry>253118fe1eedea04a95ed6e5f4c28878</entry>
<entry><option>-vf format</option> kell hozzá</entry>
</row>
<row>
<entry>avizlib.dll</entry>
<entry>AVIzlib (ZLIB)</entry>
<entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
<entry></entry>
</row>
<row>
<entry>divx.dll</entry>
<entry>DivX4Windows-VFW</entry>
<entry>acf35b2fc004a89c829531555d73f1e6</entry>
<entry></entry>
</row>
<row>
<entry>huffyuv.dll</entry>
<entry>HuffYUV (veszteségmentes) (HFYU)</entry>
<entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
<entry></entry>
</row>
<row>
<entry>iccvid.dll</entry>
<entry>Cinepak Video (cvid)</entry>
<entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
<entry></entry>
</row>
<row>
<entry>icmw_32.dll</entry>
<entry>Motion Wavelets (MWV1)</entry>
<entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
<entry></entry>
</row>
<row>
<entry>jp2avi.dll</entry>
<entry>ImagePower MJPEG2000 (IPJ2)</entry>
<entry>d860a11766da0d0ea064672c6833768b</entry>
<entry><option>-vf flip</option></entry>
</row>
<row>
<entry>m3jp2k32.dll</entry>
<entry>Morgan MJPEG2000 (MJ2C)</entry>
<entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
<entry></entry>
</row>
<row>
<entry>m3jpeg32.dll</entry>
<entry>Morgan Motion JPEG Codec (MJPEG)</entry>
<entry>1cd13fff5960aa2aae43790242c323b1</entry>
<entry></entry>
</row>
<row>
<entry>mpg4c32.dll</entry>
<entry>Microsoft MPEG-4 v1/v2</entry>
<entry>b5791ea23f33010d37ab8314681f1256</entry>
<entry></entry>
</row>
<row>
<entry>tsccvid.dll</entry>
<entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
<entry>8230d8560c41d444f249802a2700d1d5</entry>
<entry>shareware hiba windows-on</entry>
</row>
<row>
<entry>vp31vfw.dll</entry>
<entry>On2 Open Source VP3 Codec (VP31)</entry>
<entry>845f3590ea489e2e45e876ab107ee7d2</entry>
<entry></entry>
</row>
<row>
<entry>vp4vfw.dll</entry>
<entry>On2 VP4 Personal Codec (VP40)</entry>
<entry>fc5480a482ccc594c2898dcc4188b58f</entry>
<entry></entry>
</row>
<row>
<entry>vp6vfw.dll</entry>
<entry>On2 VP6 Personal Codec (VP60)</entry>
<entry>04d635a364243013898fd09484f913fb</entry>
<entry></entry>
</row>
<row>
<entry>vp7vfw.dll</entry>
<entry>On2 VP7 Personal Codec (VP70)</entry>
<entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
<entry><option>-ffourcc VP70</option></entry>
</row>
<row>
<entry>ViVD2.dll</entry>
<entry>SoftMedia ViVD V2 codec VfW (GXVE)</entry>
<entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
<entry></entry>
</row>
<row>
<entry>msulvc06.DLL</entry>
<entry>MSU Lossless codec (MSUD)</entry>
<entry>294bf9288f2f127bb86f00bfcc9ccdda</entry>
<entry>
Dekódolható a <application>Window Media Player</application>rel,
de az <application>MPlayer</application>rel nem (még).
</entry>
</row>
<row>
<entry>camcodec.dll</entry>
<entry>CamStudio veszteségmentes videó codec (CSCD)</entry>
<entry>0efe97ce08bb0e40162ab15ef3b45615</entry>
<entry>sf.net/projects/camstudio</entry>
</row>
</tbody>
</tgroup>
</informaltable>
Az első oszlop a codec nevét tartalmazza, amit a <literal>codec</literal>
paraméter után kell megadni, így:
<option>-xvfcopts codec=divx.dll</option>
Az egyes codec-ek által használt FourCC kód zárójelben látható.
</para>
<informalexample>
<para>
Egy példa egy ISO DVD ajánló VP6 flash videó fájlba történő átalakítására
a compdata bitráta beállításaival:
<screen>
mencoder -dvd-device <replaceable>zeiram.iso</replaceable> dvd://7 -o <replaceable>trailer.flv</replaceable> \
-ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \
-lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \
-of lavf
</screen>
</para>
</informalexample>
</sect2>
<sect2 id="menc-feat-video-for-windows-bitrate-settings">
<title>A vfw2menc használata a codec beállításokat tartalmazó fájl elkészítéséhez.</title>
<para>
A Video for Windows codec-ekkel történő kódoláshoz be kell állítanod a
bitrátát és egyéb opciókat. x86-on ez működik mind *NIX, mind Windows alatt.
</para>
<para>
Először is le kell fordítanod a <application>vfw2menc</application> programot.
A <filename class="directory">TOOLS</filename> alkönyvtárban található
az MPlayer forrásában.
A Linux alatti elkészítéséhez a <application>Wine</application>-t kell használni:
<screen>winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32</screen>
Windows alatt <application>MinGW</application> vagy
<application>Cygwin</application> használatával:
<screen>gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32</screen>
Az <application>MSVC</application>-vel történő fordításhoz szükséges a getopt.
A getopt megtalálható az eredeti <application>vfw2menc</application>
archivban itt:
The <ulink url="http://oss.netfarm.it/mplayer-win32.php">MPlayer win32 alatt</ulink> projekt.
</para>
<informalexample>
<para>
Az alábbi példa VP6 codec-kel működik.
<screen>
vfw2menc -f VP62 -d vp6vfw.dll -s firstpass.mcf
</screen>
Ez megnyitja a VP6 codec dialógus ablakot.
Ismételd meg ezt a második lépéshez is
és használd a <option>-s <replaceable>secondpass.mcf</replaceable></option> kapcsolót.
</para>
</informalexample>
<para>
A Windows használók a
<option>-xvfwopts codec=vp6vfw.dll:compdata=dialog</option>
kapcsolóval a kódolás megkezdése előtt jeleníthetik meg a codec dialógust.
</para>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="menc-feat-quicktime-7">
<title><application>QuickTime</application>-kompatibilis fájlok
készítése a <application>MEncoder</application> használatával</title>
<sect2 id="menc-feat-quicktime-7-why-use-it">
<title>Miért akarna bárki is <application>QuickTime</application>-kompatibilis fájlokat készíteni?</title>
<para>
Több oka is van annak, hogy kívánatos lehet
<application>QuickTime</application>-kompatibilis fájlok készítése.
</para>
<itemizedlist>
<listitem><para>
Azt szertnéd, hogy minden gép le tudja játszani a kódolásod bármelyik
fő platformon (Windows, Mac OS X, Unices &hellip;).
</para></listitem>
<listitem><para>
A <application>QuickTime</application> több hardveres és szoftveres
gyorsítást ki tud használni Mac OS X-en, mint a platform-független
lejátszók, mint például az <application>MPlayer</application>
vagy a <application>VLC</application>.
Ez azt jelenti, hogy a kódolásaid jó eséllyel szebben mennek majd egy
régi G4-alapú gépen.
</para></listitem>
<listitem><para>
A <application>QuickTime</application> 7 támogatja a következő
generációs H.264 codec-et, ami sokkal jobb képminőséget biztosít,
mint az előző codec generációk (MPEG-2, MPEG-4 &hellip;).
</para></listitem>
</itemizedlist>
</sect2>
<sect2 id="menc-feat-quicktime-7-constraints">
<title><application>QuickTime</application> 7 korlátok</title>
<para>
A <application>QuickTime</application> 7 támogatja a H.264 videót
és az AAC audiót, de nem támogatja ezek AVI konténer formátumba
történő keverését. Mindamellett használhatod a
<application>MEncoder</application>t a videó és az audió kódolásához,
és utána egy külső programmal, mint pl. az
<application>mp4creator</application> (az
<ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink> része)
újrakevered a videó és audió sávokat egy MP4 konténerbe.
</para>
<para>
A <application>QuickTime</application> H.264 támogatása korlátolt,
így néhány fejlett funkció nem lesz elérhető.
Ha olyan funkciókkal kódolod el a videódat, amiket a
<application>QuickTime</application> 7 nem támogat, a
<application>QuickTime</application>-alapú lejátszók egy csodás
fehér képet fognak mutatni neked a várt videó helyett.
</para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">B-frame-k</emphasis>:
A <application>QuickTime</application> 7 maximum 1 B-frame-t támogat, pl.
<option>-x264encopts bframes=1</option>. Ez azt jelenti, hogy a
<option>b_pyramid</option>-nek és a <option>weight_b</option>-nek nem
lesz hatása, mivel 1-nél több <option>bframe</option> kell nekik.
</para></listitem>
<listitem><para>
<emphasis role="bold">Makroblokkok</emphasis>:
A <application>QuickTime</application> 7 nem támogatja a 8x8 DCT makroblokkokat.
Ez az opció (<option>8x8dct</option>) ki van kapcsolva alapértelmezésben,
ezért győződj meg, hogy még véletlenül sem engedélyezed. Ez azt is jelenti,
hogy a <option>i8x8</option>-nak nem lesz hatása, mivel ahhoz a
<option>8x8dct</option> szükséges.
</para></listitem>
<listitem><para>
<emphasis role="bold">Méret arány</emphasis>:
A <application>QuickTime</application> 7 nem támogatja a SAR (sample
aspect ratio) információkat az MPEG-4 fájlokban; feltételezi, hogy a SAR=1.
Olvasd el a
<link linkend="menc-feat-quicktime-7-scale">méretezés részt</link>
a tüneti kezeléshez.
</para></listitem>
</itemizedlist>
</sect2>
<sect2 id="menc-feat-quicktime-7-crop">
<title>Vágás</title>
<para>
Tegyük fel, hogy rip-pelni szeretnéd a "Narnia krónikái" frissen vásárolt
másolatát. A DVD-d régió 1-es,
ami azt jelenti, hogy NTSC. Az alábbi példa működik PAL-ra is,
feltéve, hogy elhagyod a <option>-ofps 24000/1001</option>-et és kicsit más
<option>crop</option> és <option>scale</option> méreteket adsz meg.
</para>
<para>
Miután lefuttattad az <option>mplayer dvd://1</option>-et, 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írtakat, és rájössz, hogy ez egy
24000/1001 fps-es progresszív videó. Ez kicsit leegyszerűsíti a folyamatot,
mivel nem kell inverz telecine szűrőt használnod, mint a
<option>pullup</option> vagy deinterlacing szűrőt, mint a
<option>yadif</option>.
</para>
<para>
Ezután le kell vágnod a fekete sávokat a videó tetején és alján,
ahogy az <link linkend="menc-feat-dvd-mpeg4-example-crop">ebben</link>
az előző részben le van írva.
</para>
</sect2>
<sect2 id="menc-feat-quicktime-7-scale">
<title>Méretezés</title>
<para>
A következő lépés szívszaggató.
A <application>QuickTime</application> 7 nem támogatja azon MPEG-4 videókat,
melyekben a sample aspect ratio 1-től különböző, így vagy fel kell méretezned
(ami rengeteg lemezterületet elvisz) vagy le kell méretezned (ami miatt elveszik
a forrás pár részlete) a videót négyzetes pixelekre.
Bárhogy is csinálod, ez nagyon nem jó, de nem kerülheted ki, ha
<application>QuickTime</application> 7 által lejátszható videót akarsz.
A <application>MEncoder</application> végre tudja hajtani a megfelelő fel-
illetve leméretezést megfelelően a <option>-vf scale=-10:-1</option> vagy
a <option>-vf scale=-1:-10</option> megadásával.
Ez a videódat a vágott magasságnak megfelelő szélességűre méretezi,
16 legközelebbi többszörösére kerekítve az optimális tömörítéshez.
Emlékezz rá, hogy ha vágsz, először vágnod kell, utána méretezni:
<screen>-vf crop=720:352:0:62,scale=-10:-1</screen>
</para>
</sect2>
<sect2 id="menc-feat-quicktime-7-avsync">
<title>A/V szinkron</title>
<para>
Mivel egy másik konténerbe keversz, mindig ajánlott a <option>harddup</option>
opció használata annak biztosítására, hogy a duplikált kockák a kimeneti
videóban is duplikálva lesznek. Ezen opció nélkül a
<application>MEncoder</application> egyszerűen csak egy jelet tesz a videó
folyamba a képkocka duplikálásának helyére és innentől a kliens szoftveren
műlik, hogy kétszer mutatja-e az adott kockát. Sajnos ez a "szoft duplikálás"
nem éli túl az újrakeverést, így az audió lassan elveszíti a szinkront a videóval.
</para>
<para>
A végleges szűrőlánc így néz ki:
<screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen>
</para>
</sect2>
<sect2 id="menc-feat-quicktime-7-bitrate">
<title>Bitráta</title>
<para>
Mint mindig, a bitráta megválasztása a forrás technikai tulajdonságaitól függ,
ahogy az
<link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">itt</link> le van írva,
valamint az egyéni ízlésedttől is.
Ebben a filmben sok akció van nagy részletességgel, de a H.264 videó sokkal
kisebb bitrátán is jobban néz ki, mint az XviD vagy más MPEG-4 codec-ek.
Hosszas kísérletezés után ezen leírás szerzője úgy döntött, hogy 900kbps-en
kódolja el ezt a filmet és úgy hiszi, hogy nagyon jól néz ki.
Csökkentheted a bitrátát, ha több helyet kell megspórolnod vagy növelheted,
ha javítanod kell a minőséget.
</para>
</sect2>
<sect2 id="menc-feat-quicktime-7-example">
<title>Kódolási példa</title>
<para>
Készen állsz a videó elkódolására. Mivel érdekel a minőség, természetesen
két-lépéses kódolást futtatsz le. Hogy megspóroljunk némi kódolási időt,
megadhatod a <option>turbo</option> opciót az első lépésben; ez lecsökkenti
a <option>subq</option>-t és a <option>frameref</option>-et 1-re. Némi
lemezterület megspórolása érdekében használhatod az
<option>ss</option> opciót a videó első pár másodpercének levágásához.
(Úgy tűnik, hogy a konkrét film 32 másodpercnyi stáblistát és logót
tartalmaz.) A <option>bframes</option> lehet 0 vagy 1.
A többi opció a <link
linkend="menc-feat-x264-encoding-options-speedvquality">Kódolás az
<systemitem class="library">x264</systemitem> codec-kel</link> részben
és a man oldalon van leírva.
<screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \
-x264encopts pass=1:turbo:bitrate=900:bframes=1:\
me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
-vf crop=720:352:0:62,scale=-10:-1,harddup \
-oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
-ofps 24000/1001</screen>
Ha több processzoros géped van, ne hagy ki a kódolás drasztikus módon történő
gyorsításának a lehetőségét, melyet az
<link linkend="menc-feat-x264-encoding-options-speedvquality-threads">
<systemitem class="library">x264</systemitem> több-processzoros módja</link>
nyújt a <option>threads=auto</option> <option>x264encopts</option>-ban
történő megadásával a parancssorban.
</para>
<para>
A második lépés ugyan ez, kivéve, hogy meg kell adni a kimeneti fájlt és
a <option>pass=2</option>-őt.
<screen>mencoder dvd://1 <emphasis role="bold">-o narnia.avi</emphasis> -ss 32 -ovc x264 \
-x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\
me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
-vf crop=720:352:0:62,scale=-10:-1,harddup \
-oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
-ofps 24000/1001</screen>
</para>
<para>
Az eredmény AVI tökéletesen lejátszható az
<application>MPlayer</application>-rel, de természetesen a
<application>QuickTime</application> nem játsza le, mivel nem támogatja
az AVI-ba kevert H.264-et.
Ezért a következő lépés a videó MP4 konténerbe történő keverése.
</para>
</sect2>
<sect2 id="menc-feat-quicktime-7-remux">
<title>Újrakeverés MP4-ként</title>
<para>
Több mód is van az AVI MP4-be történő újrakeverésére. Használhatod az
<application>mp4creator</application>-t, ami az
<ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink> része.
</para>
<para>
Először az AVI-ból különálló audió és videó folyamokat kell készíteni az
<application>MPlayer</application>rel.
<screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac
mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
A fájl nevek fontosak; az <application>mp4creator</application>
<systemitem>.aac</systemitem> kiterjesztésű AAC audió folyamot és
<systemitem>.h264</systemitem> kiterjesztésű H.264 videó folyamot vár.
</para>
<para>
Ezután használd az <application>mp4creator</application>-t egy új MP4
fájl létrehozásához az audió és videó folyamból.
<screen>mp4creator -create=narnia.aac narnia.mp4
mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4</screen>
A kódolási lépéstől eltérően itt a framerátát decimálisként
(23.976) kell megadni, nem törtként (24000/1001).
</para>
<para>
Ennek a <systemitem>narnia.mp4</systemitem> fájlnak már bármilyen
<application>QuickTime</application> 7 alkalmazással lejátszhatónak kell
lennie, mint például a <application>QuickTime Player</application> vagy
az <application>iTunes</application>. Ha a videót böngészőben szeretnéd
megnézni a <application>QuickTime</application> plugin-nel, utasítanod kell
a <application>QuickTime</application> plugin-t, hogy kezdje meg a lejátszást,
miközben még tart a letöltés. Az <application>mp4creator</application>
bele tudja tenni a videóba az ehhez szükséges utasító sávokat:
<screen>mp4creator -hint=1 narnia.mp4
mp4creator -hint=2 narnia.mp4
mp4creator -optimize narnia.mp4</screen>
Ellenőrizheted a végső eredményt, hogy meggyőződj róla, hogy az utasító
sávok rendben elkészültek:
<screen>mp4creator -list narnia.mp4</screen>
Látnod kell a sávok listáját: 1 audió, 1 videó és 2 hint sáv.
<screen>Track Type Info
1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz
2 video H264 Main@5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps
3 hint Payload mpeg4-generic for track 1
4 hint Payload H264 for track 2
</screen>
</para>
</sect2>
<sect2 id="menc-feat-quicktime-7-metadata">
<title>Metadata tag-ek hozzáadása</title>
<para>
Ha tag-eket akarsz hozzáfűzni a videódhoz, amiket az iTunes megjelnít, használhatod az
<ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>-t.
<screen>AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen>
A <option>--metaEnema</option> opció eltávolít minden meglévő metadata-t
(<application>mp4creator</application> beszúrja a saját nevét az
"encoding tool" tag-be), a <option>--freefree</option> pedig visszaszerzi
a törölt metadata által elfoglalt helyet.
A <option>--stik</option> opció beállítja a videó típusát (mint pl. Movie
vagy TV Show), aminek a segítségével az iTunes csoportosítani tudja a fájlokat.
A <option>--overWrite</option> opció felülírja az eredeti fájlt;
ennélkül az <application>AtomicParsley</application> egy új, automatikusan
elnevezett fájlt hoz létre ugyan abban a könyvtárban és érintetlenül hagyja
az eredeti fájlt.
</para>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="menc-feat-vcd-dvd">
<title>A <application>MEncoder</application>
használata VCD/SVCD/DVD-kompatibilis fájlok készítéséhez.</title>
<sect2 id="menc-feat-vcd-dvd-constraints">
<title>Formátum korlátok</title>
<para>
A <application>MEncoder</application> képes VCD, SCVD és DVD formátumú
MPEG fájlok létrehozására a
<systemitem class="library">libavcodec</systemitem> könyvtár segítségével.
Ezek a fájlok a
<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>-rel
vagy a
<ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>-ral
együttműködve felhasználhatók szabványos lejátszókban lejátszható
lemezek készítéséhez.
</para>
<para>
A DVD, SVCD és VCD formátumok súlyos korlátokkal rendelkeznek.
A kódolt képméretekből és a képarányokból csak nagyon kevés áll
rendelkezésre.
Ha a filmed nem felel meg ezeknek a követelményeknek, méretezned,
vágnod vagy fekete keretet kell hozzáadnod a képhez, hogy kompatibilis
legyen.
</para>
<sect3 id="menc-feat-vcd-dvd-constraints-resolution">
<title>Formátum korlátok</title>
<informaltable frame="all">
<tgroup cols="9">
<thead>
<row>
<entry>Formátum</entry>
<entry>Felbontás</entry>
<entry>V. Codec</entry>
<entry>V. Bitráta</entry>
<entry>Mintavételi ráta</entry>
<entry>A. Codec</entry>
<entry>A. Bitráta</entry>
<entry>FPS</entry>
<entry>Arány</entry>
</row>
</thead>
<tbody>
<row>
<entry>NTSC DVD</entry>
<entry>720x480, 704x480, 352x480, 352x240</entry>
<entry>MPEG-2</entry>
<entry>9800 kbps</entry>
<entry>48000 Hz</entry>
<entry>AC-3,PCM</entry>
<entry>1536 kbps (max)</entry>
<entry>30000/1001, 24000/1001</entry>
<entry>4:3, 16:9 (csak 720x480-nál)</entry>
</row>
<row>
<entry>NTSC DVD</entry>
<entry>352x240<footnote id='fn-rare-resolutions'><para>
Ezek a felbontások ritkán használatosak a DVD-ken, mert elég
alacsony minőségűek.</para></footnote></entry>
<entry>MPEG-1</entry>
<entry>1856 kbps</entry>
<entry>48000 Hz</entry>
<entry>AC-3,PCM</entry>
<entry>1536 kbps (max)</entry>
<entry>30000/1001, 24000/1001</entry>
<entry>4:3, 16:9</entry>
</row>
<row>
<entry>NTSC SVCD</entry>
<entry>480x480</entry>
<entry>MPEG-2</entry>
<entry>2600 kbps</entry>
<entry>44100 Hz</entry>
<entry>MP2</entry>
<entry>384 kbps (max)</entry>
<entry>30000/1001</entry>
<entry>4:3</entry>
</row>
<row>
<entry>NTSC VCD</entry>
<entry>352x240</entry>
<entry>MPEG-1</entry>
<entry>1150 kbps</entry>
<entry>44100 Hz</entry>
<entry>MP2</entry>
<entry>224 kbps</entry>
<entry>24000/1001, 30000/1001</entry>
<entry>4:3</entry>
</row>
<row>
<entry>PAL DVD</entry>
<entry>720x576, 704x576, 352x576, 352x288</entry>
<entry>MPEG-2</entry>
<entry>9800 kbps</entry>
<entry>48000 Hz</entry>
<entry>MP2,AC-3,PCM</entry>
<entry>1536 kbps (max)</entry>
<entry>25</entry>
<entry>4:3, 16:9 (csak 720x576-nál)</entry>
</row>
<row>
<entry>PAL DVD</entry>
<entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
<entry>MPEG-1</entry>
<entry>1856 kbps</entry>
<entry>48000 Hz</entry>
<entry>MP2,AC-3,PCM</entry>
<entry>1536 kbps (max)</entry>
<entry>25</entry>
<entry>4:3, 16:9</entry>
</row>
<row>
<entry>PAL SVCD</entry>
<entry>480x576</entry>
<entry>MPEG-2</entry>
<entry>2600 kbps</entry>
<entry>44100 Hz</entry>
<entry>MP2</entry>
<entry>384 kbps (max)</entry>
<entry>25</entry>
<entry>4:3</entry>
</row>
<row>
<entry>PAL VCD</entry>
<entry>352x288</entry>
<entry>MPEG-1</entry>
<entry>1152 kbps</entry>
<entry>44100 Hz</entry>
<entry>MP2</entry>
<entry>224 kbps</entry>
<entry>25</entry>
<entry>4:3</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Ha a filmednek 2.35:1 méretaránya van (a legtöbb akció film), fekete
keretet kell hozzáadnod vagy le kell vágnod a filmet 16:9-es méretarányra
DVD vagy VCD készítéshez.
Ha fekete keretet adsz hozzá, próbáld meg 16 pixel-es határra igazítani
őket a kódolási teljesítményre való hatásuk minimalizálásához.
Szerencsére a DVD-nek eléggé magas a bitrátája, nem kell aggódnod
túlságosan a kódolás hatékonysága miatt, de az SVCD és a VCD
bitráta-szegény, ezért erőfeszítéseket kell tenni az elfogadható
minőségért is.
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-constraints-gop">
<title>GOP méret határok</title>
<para>
A DVD, VCD és SVCD eléggé alacsony GOP (Group of Pictures)
méret értékekre korlátoz le.
Egy 30 fps-es anyagnál a legnagyobb megengedett GOP méret 18.
25 vagy 24 fps-nél a maximum 15.
A GOP méretét a <option>keyint</option> opcióval lehet beállítani.
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
<title>Bitráta korlátok</title>
<para>
A VCD videónak CBR-esnek kell lennie 1152 kbps-en.
Ehhez a nagyon erős megkötéshez egy extrém alacsony, 327 kilobit-es vbv
buffer méret társul.
Az SVCD megengedi a bitráta változtatását 2500 kbps-ig és kicsit kevésbé
korlátozó, 917 kilobit-es vbv buffer méretet engedélyez.
A DVD videó bitrátája bárhol lehet 9800 kbps-ig (bár az általános
bitráták ennek felénél vannak) és a vbv buffer méret is 1835 kilobit.
</para>
</sect3>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-vcd-dvd-output">
<title>Kimeneti opciók</title>
<para>
A <application>MEncoder</application> rendelkezik a kimeneti formátumot
beállító kapcsolókkal.
Ezen opciók használatával utasíthatod, hogy helyes típusú fájlt
készítsen.
</para>
<para>
A VCD és SVCD opciókat xvcd-nek és xsvcd-nek hívják, mert kiterjesztett
formátumúak.
Nem teljesen kompatibilisek, főként mivel a kimenet nem tartalmaz
scan offszet-eket.
Ha SVCD CD képet kell készítened, add át a kimeneti fájlt a
<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>-nek.
</para>
<para>
VCD:
<screen>-of mpeg -mpegopts format=xvcd</screen>
</para>
<para>
SVCD:
<screen>-of mpeg -mpegopts format=xsvcd</screen>
</para>
<para>
DVD (minden kockánál időbélyeggel, ha lehetséges):
<screen>-of mpeg -mpegopts format=dvd:tsaf</screen>
</para>
<para>
DVD NTSC Pullup-pal:
<screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen>
Ez engedélyezi a 24000/1001 fps-es progresszív tartalom 30000/1001
fps-sel történő kódolását a DVD-előírások betartásával.
</para>
<sect3 id="menc-feat-vcd-dvd-output-aspect">
<title>Képarány</title>
<para>
A <option>-lavcopts</option> aspect argumentuma használható a fájl
képarányának elkódolásához.
Lejátszás közben a képarányt a videó megfelelő méretűre állításához
használják.
</para>
<para>
16:9 vagy "Widescreen"
<screen>-lavcopts aspect=16/9</screen>
</para>
<para>
4:3 vagy "Fullscreen"
<screen>-lavcopts aspect=4/3</screen>
</para>
<para>
2.35:1 vagy "Cinemascope" NTSC
<screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen>
A helyes méretarány kiszámításához használd a 854/2.35 = 368-as kibővített
NTSC szélességet.
</para>
<para>
2.35:1 vagy "Cinemascope" PAL
<screen>-vf scale=720:432,expand=720:576 -lavcopts aspect=16/9</screen>
A helyes méretarány kiszámításához használd a 1024/2.35 = 432-es kibővített
PAL szélességet.
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-a-v-sync">
<title>A/V szinkron megtartása</title>
<para>
Az audió/videó szinkronizáció kódolás közbeni megtartásához a
<application>MEncoder</application>nek el kell dobni vagy meg kell
duplázni képkockákat. Ez jobban működik ha AVI fájlba keversz, de
majdnem biztosan sikertelen az A/V szinkron megtartása más muxer-ekkel,
mint pl. az MPEG. Ezért van, hogy a <option>harddup</option> videó
szűrőt hozzá kell csatolni a szűrőlánc végéhez ezen problémák
elkerüléséhez.
A <option>harddup</option>-ról további információkat a
<link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">muxálás és az A/V szinkron megbízhatósága</link>
című fejezetben találsz vagy a man oldalon.
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-output-srate">
<title>Mintavételi ráta konvertálás</title>
<para>
Ha az eredeti fájl audió mintavételi rátája nem ugyan olyan, mint ami
a cél formátumban szükséges, mintavételi ráta konvertálást kell
végrehajtani.
Ez a <option>-srate</option> és <option>-af lavcresample</option>
kapcsolók együttes használatával érhető el.
</para>
<para>
DVD:
<screen>-srate 48000 -af lavcresample=48000</screen>
</para>
<para>
VCD és SVCD:
<screen>-srate 44100 -af lavcresample=44100</screen>
</para>
</sect3>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-vcd-dvd-lavc">
<title>A libavcodec használata VCD/SVCD/DVD kódoláshoz</title>
<sect3 id="menc-feat-vcd-dvd-lavc-intro">
<title>Bevezetés</title>
<para>
A <systemitem class="library">libavcodec</systemitem> használható
VCD/SVCD/DVD kompatibilis videó készítéséhez a megfelelő opciókkal.
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-lavc-options">
<title>lavcopts</title>
<para>
Következzék egy lista a <option>-lavcopts</option>-ban használható
mezőkről, amiknek a megváltoztatására szükséged lehet a VCD, SVCD,
vagy DVD kompatibilis film készítésekor:
</para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">acodec</emphasis>:
<option>mp2</option> a VCD-hez, SVCD-hez vagy PAL DVD-hez;
<option>ac3</option> a leggyakoribb DVD-hez.
PCM audió is használható DVD-hez, de legtöbbször csak helypazarlás.
Figyelj rá, hogy az MP3 audió ezen formátumok egyikével sem
kompatibilis, de a lejátszóknak gyakran semmi gondot nem okoz a
lejátszása.
</para></listitem>
<listitem><para>
<emphasis role="bold">abitrate</emphasis>:
224 VCD-nél; 384-ig SVCD-nél; 1536-ig DVD-nél, de általában a használt
értékek a sztereónál 192 kbps-étől az 5.1 csatornás hang 384 kbps-éig
változnak.
</para></listitem>
<listitem><para>
<emphasis role="bold">vcodec</emphasis>:
<option>mpeg1video</option> VCD-hez;
<option>mpeg2video</option> SVCD-hez;
<option>mpeg2video</option> használatos általában a DVD-hez, de lehet
<option>mpeg1video</option> is a CIF felbontásokhoz.
</para></listitem>
<listitem><para>
<emphasis role="bold">keyint</emphasis>:
A GOP méret beállításához használható.
18 a 30fps-es anyagé vagy 15 a 25/24 fps-esé.
A kereskedelmi előállítók a 12-es kulcskocka intervallumot preferálják.
Lehetséges ezen érték nagyobbra állítása is a legtöbb lejátszóval való
kompatibiliítás megtartása mellett.
A 25-ös <option>keyint</option> soha nem okoz problémát.
</para></listitem>
<listitem><para>
<emphasis role="bold">vrc_buf_size</emphasis>:
327 VCD-nél, 917 SVCD-nél és 1835 DVD-nél.
</para></listitem>
<listitem><para>
<emphasis role="bold">vrc_minrate</emphasis>:
1152 VCD-nél. Elhagyható SVCD és DVD esetében.
</para></listitem>
<listitem><para>
<emphasis role="bold">vrc_maxrate</emphasis>:
1152 VCD-nél; 2500 SVCD-nél; 9800 DVD-nél.
SVCD-hez és DVD-hez az egyéni kívánalmaidnak és igényeidnek megfelelően
használhatsz magasabb értékeket is.
</para></listitem>
<listitem><para>
<emphasis role="bold">vbitrate</emphasis>:
1152 VCD-nél;
legfeljebb 2500 SVCD-nél;
legfeljebb 9800 DVD-nél.
Az utóbbi két formátumnál a vbitrate egyéni igények szerint állítható
be.
Például szeretnéd, hogy 20 óra vagy akörüli anyag felférjen egy
DVD-re, használhatod a vbitrate=400-at.
Az eredmény videó minősége valószínűleg elég rossz lesz.
Ha megpróbálod kisakkozni a lehető legjobb minőséget a DVD-n, használd
a vbitrate=9800-at, de emlékezz rá, hogy emiatt kevesebb, mint egy
órányi videód lehet egy egyrétegű DVD-n.
</para></listitem>
<listitem><para>
<emphasis role="bold">vstrict</emphasis>:
<option>vstrict</option>=0 ajánlott DVD-k készítéséhez.
Ezen opció nélkül a <application>MEncoder</application> egy olyan
folyamot készít, amit néhány asztali lejátszó nem tud helyesen
dekódolni.
</para></listitem>
</itemizedlist>
</sect3>
<sect3 id="menc-feat-vcd-dvd-lavc-examples">
<title>Példák</title>
<para>
Általában ez a minimum <option>-lavcopts</option> egy videó elkódolásához:
</para>
<para>
VCD:
<screen>
-lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
</screen>
</para>
<para>
SVCD:
<screen>
-lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
keyint=15:acodec=mp2
</screen>
</para>
<para>
DVD:
<screen>
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
keyint=15:vstrict=0:acodec=ac3
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-lavc-advanced">
<title>Haladó opciók</title>
<para>
Jobb minőségű kódoláshoz valószínűleg használni szeretnéd a lavcopts
minőség-javító opcióit is, mint például a <option>trell</option>,
<option>mbd=2</option>, vagy mások.
Figyelj rá, hogy a <option>qpel</option> és a <option>v4mv</option>
bár gyakran hasznosak MPEG-4 esetén, nem használhatóak MPEG-1 vagy
MPEG-2-vel. Ha nagyon jó minőségű DVD kódolást akarsz készíteni,
hasznos lehet a <option>dc=10</option> opció hozzáadása a lavcopts-hoz.
Ez segíti csökkenteni a blokkosodást a színtelen részeknél. Mindezt
összerakva, itt egy példa jó minőségű DVD készítéséhez szükséges
lavcopts-ra:
</para>
<para>
<screen>
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
vqmin=1:lmin=1:dc=10:vstrict=0
</screen>
</para>
</sect3>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-vcd-dvd-audio">
<title>Audió kódolása</title>
<para>
A VCD és az SVCD támogatja az MPEG-1 layer II audiót, a
<systemitem class="library">toolame</systemitem>,
<systemitem class="library">twolame</systemitem>,
vagy a <systemitem class="library">libavcodec</systemitem> MP2
kódolójának felhasználásával.
A libavcodec MP2 messze nincs olyan jó, mint a másik két könyvtár,
azonban az mindig elérhető és használható.
A VCD csak konstans bitrátájú audiót (CBR) támogat, míg az SVCD
tudja a változó bitrátát (VBR) is.
De vigyázz a VBR-rel, mert néhány hibás asztali lejátszó sem támogatja.
</para>
<para>
A DVD audióhoz a <systemitem class="library">libavcodec</systemitem>
AC-3 codec-je használható.
</para>
<sect3 id="menc-feat-vcd-dvd-audio-toolame">
<title>toolame</title>
<para>
VCD-hez és SVCD-hez:
<screen>-oac toolame -toolameopts br=224</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-audio-twolame">
<title>twolame</title>
<para>
VCD-hez és SVCD-hez:
<screen>-oac twolame -twolameopts br=224</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-audio-lavc">
<title>libavcodec</title>
<para>
DVD-hez két csatornás hanggal:
<screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen>
</para>
<para>
DVD-hez 5.1 csatornás hanggal:
<screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen>
</para>
<para>
VCD-hez és SVCD-hez:
<screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen>
</para>
</sect3>
</sect2>
<!-- ********** -->
<sect2 id="menc-feat-vcd-dvd-all">
<title>Mindent összevetve</title>
<para>
Ez a rész néhány teljes parancsot mutat a VCD/SVCD/DVD kompatibilis
videók készítéséhez.
</para>
<sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
<title>PAL DVD</title>
<para>
<screen>
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
-vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
<title>NTSC DVD</title>
<para>
<screen>
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
-vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
<title>AC-3 Audiót tartalmazó PAL AVI DVD-re</title>
<para>
Ha a forrás már AC-3 audióval rendelkezik, használd a -oac copy kapcsolót az
újrakódolása helyett.
<screen>
mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
-vf scale=720:576,harddup -ofps 25 \
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
keyint=15:vstrict=0:aspect=16/9 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
<title>AC-3 Audiót tartalmazó NTSC AVI DVD-re</title>
<para>
Ha a forrás már AC-3 audiót tartalmaz és NTSC @ 24000/1001 fps:
<screen>
mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
-vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
<title>PAL SVCD</title>
<para>
<screen>
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
<title>NTSC SVCD</title>
<para>
<screen>
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
<title>PAL VCD</title>
<para>
<screen>
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
<title>NTSC VCD</title>
<para>
<screen>
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
</screen>
</para>
</sect3>
</sect2>
</sect1>
</chapter>