mirror of https://github.com/mpv-player/mpv
3794 lines
146 KiB
XML
3794 lines
146 KiB
XML
<?xml version="1.0" encoding="iso-8859-2"?>
|
|
<!-- synced with 1.11 $ -->
|
|
<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://mplayerhq.hu/homepage/design7/projects.html#mencoder_frontends">MEncoder részben</ulink>.
|
|
Így nagyon jó minőségű rip-eket készíthetsz túl sok gondolkodás nélkül,
|
|
mert ezen eszközök legtöbbje úgy lett megtervezve, hogy jó döntéseket
|
|
hozzon.
|
|
</para>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
|
|
<title>Felkészülés a kódolásra: A forrás anyag és frameráta azonosítása</title>
|
|
<para>
|
|
Mielőtt eszedbe jutna bármiféle film átkódolása, meg kell tenned
|
|
pár előkészületi lépést.
|
|
</para>
|
|
|
|
<para>
|
|
Az első és legfontosabb lépés a kódolás előtt annak megállapítása,
|
|
hogy miféle anyaggal van egyáltalán dolgod.
|
|
Ha a forrás anyagod DVD-ről származik vagy sugárzott/kábeles/műholdas
|
|
TV, a következő két formátum valamelyikében tárolódik: NTSC Észak
|
|
Amerikában és Japánban, PAL Európában.
|
|
Fontos tudatosítani, hogy ez csak a televízión történő megjelenítés
|
|
formátuma és gyakran <emphasis role="bold">nincs</emphasis>
|
|
összhangban a film eredeti formátumával.
|
|
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
|
|
"pulldown"-nak hívjuk, ennek egyik változata a hírhedt NTSC-s
|
|
"3:2 telecine".
|
|
Hacsak nem volt az eredeti anyag is mező-alapú (és megegyező
|
|
mező rátájú), más formátumbú lesz a filmed, mint az eredeti.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<title>Számos általános típusa van a pulldown-nak:</title>
|
|
<listitem><para>
|
|
<emphasis role="bold">PAL 2:2 pulldown</emphasis>: Az összes közül a
|
|
legjobb.
|
|
Minden képkocka két mező idejéig látszódik, úgy, hogy a páros és páratlan
|
|
sorokat kinyeri belőlük és váltakozva mutatja őket.
|
|
Ha az eredeti anyag 24fps-es, ez az eljárás felgyorsítja a filmet
|
|
4%-kal.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown</emphasis>:
|
|
Minden 12. kockát három mező hosszan mutat kettő helyett.
|
|
Ezzel elkerüli a 4%-os gyorsulást, de sokkal nehezebben megfordíthatóvá
|
|
teszi a folyamatot.
|
|
Általában musical készítésénél használják, ahol a 4%-os sebességmódosulás
|
|
komolyan rontaná a zenei jelet.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">NTSC 3:2 telecine</emphasis>: A kockák
|
|
felváltva 3 vagy 2 mezőnyi ideig látszódnak. Ezáltal a mező ráta
|
|
2.5-szöröse lesz az eredeti framerátának.
|
|
Az eredmény nagyon kis mértékben lelassul, 60 mező per másodpercről
|
|
59.94 mező per másodpercre, az NTSC mező ráta megtartása miatt.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">NTSC 2:2 pulldown</emphasis>: A 30fps-es
|
|
anyagok NTSC-n történő megjelenítéséhez használják.
|
|
Szép, csakúgy, mint a 2:2 PAL pulldown.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
Vannak még egyéb módszerek az NTSC és a PAL videó közötti konvertáláshoz,
|
|
de ez a téma meghaladja ezen leírás célkitűzéseit.
|
|
Ha ilyen filmbe futsz bele és el szeretnéd kódolni, a legjobb, ha
|
|
keresel egy másolatot az eredeti formátumban.
|
|
A két formátum közötti konvertálás nagyon romboló hatású és nem
|
|
lehet teljesen visszafordítani, így a kódolt adatod nagyon
|
|
megszenvedi, ha már konvertált forrásból készül.
|
|
</para>
|
|
<para>
|
|
Ha a videó DVD-n van, az egymást követő mezők képkockává
|
|
csoportosíthatóak, még akkor is, ha nem egyidejű megjelenítésre
|
|
tervezték őket.
|
|
A DVD-n és digitális TV-n használt MPEG-2 szabvány lehetőséget nyújt
|
|
mind az eredeti progresszív kockák elkódolására, mind pedig arra, hogy
|
|
azon mezők számát, amelyhez egy képkockát meg kell jeleníteni, az
|
|
adott képkocka fejlécében tárolhassuk.
|
|
Ha ezt a módszert használják, a filmet gyakran "soft-telecined"-ként
|
|
jellemzik, mert ez az eljárás csak utasítja a DVD lejátszót a pulldown
|
|
alkalmazására a film tényleges megváltoztatása helyett.
|
|
Ez a lehetőség nagyon preferált, mert könnyen visszafordítható
|
|
(tulajdonképpen kihagyható) a kódoló által és megtartja a maximális
|
|
minőséget.
|
|
Bár sok DVD és műsorszóró stúdió nem használ megfelelő kódolási
|
|
technikát, hanem inkább "hard telecine"-es filmeket alkalmaznak,
|
|
ahol a mezők tulajdonképpen duplázva vannak az elkódolt MPEG-2-ben.
|
|
</para>
|
|
<para>
|
|
Az eljárás, ahogy ezeket az eseteket kezelni kell, <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 kis részletességű
|
|
jeleneteknél magasabb kvantálót használ, lassú mozgásnál vagy nagy
|
|
részletességű jeleneteknél alacsonyabbat.
|
|
</para>
|
|
|
|
<para>
|
|
Ha használod a <option>vqscale=2</option> kapcsolót, akkor biteket pazarolsz.
|
|
Ha a <option>vqscale=3</option> kapcsolót adod meg, akkor nem a legjobb minőségű
|
|
rip-et kapod. Tegyük fel, hogy egy DVD-t rip-elsz <option>vqscale=3</option>-mal,
|
|
és az eredmény 1800Kbit. Ha két lépéses kódolást csinálsz <option>vbitrate=1800</option>
|
|
kapcsolóval, az kimeneti videó <emphasis role="bold">jobb minőségű</emphasis> lesz
|
|
<emphasis role="bold">ugyanolyan bitrátával</emphasis>.
|
|
</para>
|
|
|
|
<para>
|
|
Mivel most meggyőződtél róla, hogy a két lépéses kódolás a megfelelő módszer,
|
|
az igazi kérdés az, hogy milyen bitrátát ajánlott használni? A válasz az, hogy
|
|
nincs egyszerű válasz. Valószínűleg olyan bitrátát akarsz választani, ami a
|
|
legjobb egyensúlyt biztosítja a minőség és a fájl méret között. Ez viszont a
|
|
forrás videótól függően változik.
|
|
</para>
|
|
|
|
<para>
|
|
Ha a méret nem számít, egy jó kiindulási pont minden nagyon jó minőségű
|
|
rip-hez egy 2000Kbit körüli érték, plusz-mínusz 200Kbit.
|
|
A gyors akciókhoz és a nagy részletességű videókhoz vagy ha sas szemed
|
|
van, akkor választhatsz 2400-at vagy 2600-at.
|
|
Néhány DVD-nél nem fogsz különbséget felfedezni 1400Kbit-en sem. Jó ötlet
|
|
az egyes fejezeteket különböző bitrátával megnézni, hogy meglásd a
|
|
különbséget.
|
|
</para>
|
|
|
|
<para>
|
|
Ha egy bizonyos méretet céloztál be, valahogy ki kell számítanod a bitrátát.
|
|
De ezelőtt azt kell megtudnod, hogy mennyi helyet kell fenntartanod az
|
|
audió sáv(ok)nak, így először <link linkend="menc-feat-dvd-mpeg4-audio">ezeket
|
|
kell lerippelned</link>.
|
|
A következő egyenlettel tudod kiszámítani a bitrátát:
|
|
<systemitem>bitráta = (cél_méret_Mbyteokban - hang_mérete_Mbyteokban) *
|
|
1024 * 1024 / hossz_másodpercben * 8 / 1000</systemitem>
|
|
Például egy két órás film 702 Mbájtos CD-re való összenyomásához, 60
|
|
Mbájtnyi hang sávval, a videó bitrátájának
|
|
<systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 =
|
|
740kbps</systemitem>-nek kell lennie.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-constraints">
|
|
<title>Megszorítások a hatékony kódoláshoz</title>
|
|
|
|
<para>
|
|
Az MPEG-típusú tömörítés természetéből adódóan számos megszorítás
|
|
van, amit követned kell a maximális minőség érdekében.
|
|
Az MPEG 16x16 makroblokknak nevezett négyzetre osztja fel a videót,
|
|
mindegyik 4 darab 8x8 blokk luma (intenzitás) információt és két
|
|
fél-felbontású 8x8 chroma (szín) blokkot tartalmaz (egy a vörös-világoskék
|
|
tengelyen, a másik a kék-sárga tengelyen).
|
|
Ha a film szélessége és magassága nem 16 többszöröse, a kódoló akkor is
|
|
elegendő 16x16-os makroblokkot fog használni, hogy lefedje a teljes
|
|
képet, a maradék hely veszendőbe megy.
|
|
Így ha a minőség maximalizálása a cél egy fix fájlmérettel, akkor
|
|
eléggé rossz ötlet nem 16 valamelyik többszörösét használni méretként.
|
|
</para>
|
|
|
|
<para>
|
|
A legtöbb DVD-n van valamekkora fekete sáv a sarkokban. Ha ezeket
|
|
békén hagyod, akkor több módon is ronthatják a minőséget.
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>
|
|
Az MPEG-típusú tömörítés szintén nagyban függ a frekvencia tartományok
|
|
transzformálásától is, általában a Diszkrét Koszinusz Transzformációt
|
|
(DCT) használják, ami hasonló a Fourier transzformációhoz. Ez a fajta
|
|
kódolás hatékony a minták és a sima átmenetek átalakításához, de
|
|
nehezen bírkózik meg az éles élekkel. Ezek elkódolásához sokkal több
|
|
bitre van szüksége, különben egy gyűrűsödésnek nevezett mellékhatás
|
|
jelenik meg.
|
|
</para>
|
|
|
|
<para>
|
|
A frekvencia transzformáció (DCT) külön hajtódik végre minden egyes
|
|
makroblokkon (tulajdonképpen minden blokkon), így ez a probléma csak
|
|
akkor jelentkezik, ha az éles él a blokkon belül van. Ha a fekete
|
|
határ épp olyan pixel határon kezdődik, ami 16 többszöröse, akkor nincs
|
|
probléma. Habár a fekete határok a DVD-ken ritkán vannak szépen
|
|
eligazítva, így a gyakorlatban majdnem mindig vágni kell, hogy
|
|
elkerüld ez a büntetést.
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
A frekvencia tartományok kódolása mellett az MPEG-típusú tömörítés
|
|
mozgó vektorokat használ a képkockák közötti változások ábrázolásához.
|
|
A mozgó vektorok természetesen kevésbé hatékonyak a sarkokból érkező
|
|
új tartalomnál, mert az még nincs jelen az előző képkockán. Amíg a
|
|
tartalom a sarkok felé terjed ki, a mozgó vektoroknak nincs problémájuk
|
|
a tartalom kifelé mozgásával. Habár a fekete határok megjelenésekor
|
|
lehetnek gondok:
|
|
</para>
|
|
|
|
<orderedlist continuation="continues">
|
|
<listitem>
|
|
<para>
|
|
Minden egyes makroblokknál az MPEG-típusú kódolás egy vektort is eltárol,
|
|
mely azt mondja meg, hogy az előző képkocka melyik részét kell átmásolni
|
|
ebbe a makroblokkba a következő kocka megbecsléséhez. Csak a megmaradt
|
|
különbséget kell elkódolni. Ha a makroblokkot kettéosztja a kép széle
|
|
és a fekete sáv, akkor a kép többi részének mozgó vektorai felül fogják
|
|
írni a fekete sávot. Ez azt jelenti, hogy sok bitet kell elpazarolni
|
|
vagy a határ felülírt részének újrafeketítéséhez vagy (inkább) a
|
|
mozgó vektor nem kerül felhasználásra és így a makroblokk összes
|
|
változását expliciten el kell kódolni. Mindkét esetben jelentősen
|
|
romlik a kódolás hatékonysága.
|
|
</para>
|
|
|
|
<para>
|
|
Ez a probléma szintén csak akkor jelentkezik, ha a fekete sáv nem 16
|
|
többszörösű pixel-határon van.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Végül tegyük fel, hogy van egy makroblokkunk a kép belsejében és
|
|
egy objektum mozog be ebbe a blokkba a kép sarka felől. Az MPEG-típusú
|
|
kódolás nem tudja azt mondani, hogy "másold át azt a részt, ami a kép
|
|
belsejében van, de a fekete sávot ne". Így a fekete sáv is átmásolódik
|
|
és így rengeteg bitet kell feláldozni a kép ott lévő részének
|
|
újrakódolásához.
|
|
</para>
|
|
|
|
<para>
|
|
Ha a kép tovább fut az elkódolt terület sarka felé, az MPEG-nek speciális
|
|
optimalizációi vannak az kép szélén lévő pixelek ismétlődő másolására,
|
|
ha a mozgó vektorok a kódolt területen kívülről jönnek. Ez a tulajdonság
|
|
haszontalanná válik, ha a filmen fekete sávok vannak. Az első két
|
|
problémával ellentétben itt nem segít a 16 többszörösére való igazítás.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Habár a sávok teljesen feketék és soha nem változnak, mindenképpen
|
|
egy kis plusz munkát igényelnek, mivel több macroblokk van.
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
A fenti okok miatt javasolt, hogy teljesen vágd le a fekete sávokat.
|
|
Továbbá ha a kép sarkainál zaros/torz rész van, ennek a levágása is
|
|
javít a kódolási hatékonyságon. A keményvonalas videósok, akik az eredeti
|
|
tartalmat akarják megtartani, amennyire csak lehet, biztos tiltakozni
|
|
fognak ez ellen, de ha nem tervezed konstant kvantálás használatát, akkor
|
|
a vágás miatt nyert minőségjavulás jelentősen nagyobb lesz, mint a sarkok
|
|
levágása miatti információvesztés.
|
|
</para>
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-crop">
|
|
<title>Vágás és méretezés</title>
|
|
|
|
<para>
|
|
Emlékezz rá az előző fejezetből, hogy a végső képméret, amibe kódolsz,
|
|
16 többszöröse ajánlott, hogy legyen (mind szélességben, mind magasságban).
|
|
Ezt vágással, méretezéssel vagy ezek kombinációjával érheted el.
|
|
</para>
|
|
|
|
<para>
|
|
Vágásnál van egy pár ökölszabály, amit jó ha betartasz, ha nem akarsz
|
|
kárt tenni a filmben.
|
|
A normál YUV formátum 4:2:0, a chroma (szín) információkat almintaként
|
|
tárolja, pl. a chroma csak fele annyiszor kerül mintázásra minden
|
|
irányban, mint a luma (intenzítás) információk.
|
|
Tanulmányozd ezt a diagramot, ahol L jelenti a luma mintázási pontokat
|
|
és C a chroma-kat!
|
|
</para>
|
|
|
|
<informaltable>
|
|
<?dbhtml table-width="40%" ?>
|
|
<?dbfo table-width="40%" ?>
|
|
<tgroup cols="8" align="center">
|
|
<colspec colnum="1" colname="col1"/>
|
|
<colspec colnum="2" colname="col2"/>
|
|
<colspec colnum="3" colname="col3"/>
|
|
<colspec colnum="4" colname="col4"/>
|
|
<colspec colnum="5" colname="col5"/>
|
|
<colspec colnum="6" colname="col6"/>
|
|
<colspec colnum="7" colname="col7"/>
|
|
<colspec colnum="8" colname="col8"/>
|
|
<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
|
|
<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
|
|
<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
|
|
<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
|
|
<tbody>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry spanname="spa1-2">C</entry>
|
|
<entry spanname="spa3-4">C</entry>
|
|
<entry spanname="spa5-6">C</entry>
|
|
<entry spanname="spa7-8">C</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry spanname="spa1-2">C</entry>
|
|
<entry spanname="spa3-4">C</entry>
|
|
<entry spanname="spa5-6">C</entry>
|
|
<entry spanname="spa7-8">C</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>
|
|
Amint láthatod, a kép sorai és oszlopai természetszerűleg párokba
|
|
rendeződnek. Így a vágási eltolásodnak és a méreteidnek páros
|
|
számoknak <emphasis>kell</emphasis> lenniük.
|
|
Ha nem, akkor a chroma nem fog rendes sort alkotni a luma-val.
|
|
Elméletben lehetséges a vágás páratlan eltolással, de ehhez a
|
|
chroma újramintázása szükséges, ami egy veszteséges művelet és
|
|
nem is támogatja a vágó szűrő.
|
|
</para>
|
|
|
|
<para>
|
|
Továbbá az átlapolt videót a következőképpen mintázzák:
|
|
</para>
|
|
|
|
<informaltable>
|
|
<?dbhtml table-width="80%" ?>
|
|
<?dbfo table-width="80%" ?>
|
|
<tgroup cols="16" align="center">
|
|
<colspec colnum="1" colname="col1"/>
|
|
<colspec colnum="2" colname="col2"/>
|
|
<colspec colnum="3" colname="col3"/>
|
|
<colspec colnum="4" colname="col4"/>
|
|
<colspec colnum="5" colname="col5"/>
|
|
<colspec colnum="6" colname="col6"/>
|
|
<colspec colnum="7" colname="col7"/>
|
|
<colspec colnum="8" colname="col8"/>
|
|
<colspec colnum="9" colname="col9"/>
|
|
<colspec colnum="10" colname="col10"/>
|
|
<colspec colnum="11" colname="col11"/>
|
|
<colspec colnum="12" colname="col12"/>
|
|
<colspec colnum="13" colname="col13"/>
|
|
<colspec colnum="14" colname="col14"/>
|
|
<colspec colnum="15" colname="col15"/>
|
|
<colspec colnum="16" colname="col16"/>
|
|
<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
|
|
<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
|
|
<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
|
|
<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
|
|
<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
|
|
<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
|
|
<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
|
|
<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
|
|
<tbody>
|
|
<row>
|
|
<entry namest="col1" nameend="col8">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>
|
|
Először, ki kell számítanod az elkódolt képarányt:
|
|
<systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
|
|
<itemizedlist>
|
|
<title>ahol:</title>
|
|
<listitem><para>
|
|
Wc és Hc a vágott videó szélessége és a magassága,
|
|
</para></listitem>
|
|
<listitem><para>
|
|
ARa a megjelenített kép aránya, ami általában 4/3 vagy 16/9,
|
|
</para></listitem>
|
|
<listitem><para>
|
|
PRdvd a DVD pixel rátája, ami PAL DVD-k esetén 1.25=(720/576)
|
|
és 1.5=(720/480) NTSC DVD-knél,
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
Ezután, kiszámíthatod az X és Y felbontást, egy bizonyos Tömörítési
|
|
Minőség (Compression Quality, CQ) faktornak megfelelően:
|
|
<systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem>
|
|
és
|
|
<systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>
|
|
</para>
|
|
|
|
<para>
|
|
Oké, de mi az a CQ?
|
|
A CQ reprezentálja a kódolás pixelenkénti és képkockánkénti bitszükségletét.
|
|
Nagy vonalakban minél nagyobb a CQ, annál kisebb a valószínűsége, hogy
|
|
kódolási hibát fog látni.
|
|
Bár ha van cél méret a filmedhez (1 vagy 2 CD például), akkor korlátozott
|
|
a felhasználható bitek száma; ezért szükséges, hogy megfelelő arányt találj
|
|
a tömörség és a minőség között.
|
|
</para>
|
|
|
|
<para>
|
|
A CQ függ mind a bitrátától mind a film felbontásától.
|
|
Ha növelni akarod a CQ-t, általában leméretezést kell végezned a filmen,
|
|
mivel a bitráta a cél méret és a film hosszából számítódik, ami konstans.
|
|
Egy 0,18 alatti CQ általában nagyon kockás képet eredményez, mert nincs
|
|
elég bit minden egyes macroblokk információinak eltárolásához (az MPEG4,
|
|
mint sok más codec, csoportokba gyűjti a pixeleket a kép tömörítéséhez;
|
|
ha nincs elég bit, láthatóvá válik ezen blokkok széle).
|
|
Ezért ésszerű a CQ-t a 0,20-0,22-es tartományból választani 1 CD-s rip
|
|
esetén, és 0,26-0,28-ból a 2 CD-snél.
|
|
</para>
|
|
|
|
<para>
|
|
Kérlek figyelj rá, hogy a CQ csak egy mutató, mely az elkódolt tartalomtól
|
|
függ, egy 0,18-as CQ-val jól nézhet ki egy Bergman, szemben az olyan
|
|
filmekkel, mint például a Mátrix, ami sok gyors-mozgású részt tartalmaz.
|
|
Másrészt nem éri meg növelni a CQ-t 0,30-nál magasabbra, mert csak
|
|
pazarolni fogod a biteket észrevehető minőségi nyereség nélkül.
|
|
</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, rontod a kép láthatóságát. A fent javasolt értékek
|
|
(<option>2:1:2</option>) eléggé konzervatívak; kísérletezz szabadon nagyobb
|
|
értékekkel és ellenőrizd az eredményeket magad.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-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, valamint a jövő lejátszói
|
|
képesek lesznek teljes mezőrátával deinterlacing-elni, 50 vagy
|
|
60000/1001 teljes képkocka per másodpercre interpolálni az átlapolt
|
|
videóból.
|
|
</para>
|
|
|
|
<para>
|
|
Fokozott figyelemmel kell eljárni, ha átlapolt videóval dolgozol:
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<listitem><para>
|
|
A vágási magasság és y-offszet 4 többszöröse kell, hogy legyen.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Bármilyen függőleges átméretezést átlapolt módban kell elvégezni.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Az utófeldolgozó és a zajcsökkentő szűrők nem az elvártnak megfelelően
|
|
működnek, ha nem gondoskodsz róla, hogy egyszerre csak egy mezővel
|
|
dolgozzanak, különben a nem megfelelő használat miatt sérülhet a videó.
|
|
</para></listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
Mindezt észben tartva, itt az első példánk:
|
|
</para>
|
|
<screen>
|
|
mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
|
|
vcodec=mpeg2video:vbitrate=6000:ilmv:ildct:acodec=mp2:abitrate=224
|
|
</screen>
|
|
<para>
|
|
Figyelj az <option>ilmv</option> és az <option>ildct</option> kapcsolókra.
|
|
</para>
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-audio">
|
|
<title>Audió</title>
|
|
|
|
<para>
|
|
Az audió egy sokkal könnyebben megoldható probléma: ha számít a minőség,
|
|
akkor egyszerűen hagyd úgy, ahogy van.
|
|
Még az AC3 5.1 stream-ek is leginkább 448Kbit/s-osak és minden
|
|
bitet megérnek. Csábító lehet az audió jó minőségű Vorbis-ba történő
|
|
konvertálása, de az, hogy ma nincs egy A/V receiver-ed az AC3 áteresztéshez,
|
|
nem jelenti azt, hogy holnap sem lesz. Készíts a jövőben is használható
|
|
DVD rip-eket az AC3 stream megtartásával.
|
|
Megtarthatod az AC3 stream-et a <link linkend="menc-feat-mpeg4">kódolás közben</link>
|
|
a videó stream-be történő közvetlen átmásolással.
|
|
Vagy ki is szedheted az AC3 stream-et, hogy elkeverd valamilyen konténer
|
|
formátumba, mint pl. a NUT vagy a Matroska.
|
|
<screen>mplayer <replaceable>forras_fajl.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>hang.ac3</replaceable></screen>
|
|
a 129-es audió sávot kiszedi a <replaceable>sound.ac3</replaceable> nevű
|
|
fájlba a <replaceable>source_file.vob</replaceable>-ból (NB: a DVD VOB
|
|
fájlok általában különböző audió számozást használnak, ami azt jelenti,
|
|
hogy a 129-es VOB audio sáv a 2. audió sáv a fájlban).
|
|
</para>
|
|
|
|
<para>
|
|
De néha tényleg nincs más választásod, mint tovább tömöríteni a
|
|
hangot így több bit jut a videóra.
|
|
A legtöbb ember vagy MP3-at vagy Vorbis-t választ az audió tömörítéséhez.
|
|
Míg az utóbbi nagyon hely-takarékos codec, az MP3-nak jobb a hardveres
|
|
lejátszók terén a támogatottsága, bár ez a trend változóban van.
|
|
</para>
|
|
|
|
<para>
|
|
Mindenek előtt át kell konvertálnod a DVD hangját WAV fájlba, hogy az audió
|
|
codec használhassa bemenetként.
|
|
Például:
|
|
<screen>mplayer <replaceable>forras_fajl.vob</replaceable> -ao pcm:file=<replaceable>cel_hang.wav</replaceable> -vc dummy -aid 1 -vo null</screen>
|
|
ki fogja szedni a második audió sávot a <replaceable>source_file.vob</replaceable>
|
|
fájlból a <replaceable>destination_sound.wav</replaceable> fájlba.
|
|
Kódolás előtt valószínűleg normalizálni akarod a hangot, mivel a DVD audió
|
|
sávjait legtöbbször alacsony hangerővel rögzítik.
|
|
Használhatod a <application>normalize</application> eszközt, ami megtalálható
|
|
a legtöbb disztribúcióban.
|
|
Ha Windows-t használsz, egy eszköz, mint pl. a <application>BeSweet</application>
|
|
megcsinálja ezt neked.
|
|
Vagy Vorbis-ba vagy MP3-ba kódolsz.
|
|
Például:
|
|
<screen>oggenc -q1 <replaceable>cel_hang.wav</replaceable></screen>
|
|
elkódolja a <replaceable>destination_sound.wav</replaceable>-ot az 1-es
|
|
kódolási minsőséggel, ami nagyjából megfelel 80Kb/s-nak és annak a minimum
|
|
minőségnek, amit legalább használnod kell, ha érdekel a minőség.
|
|
Kérlek jegyezd meg, hogy a MEncoder jelenleg nem tud Ogg Vorbis sávokat
|
|
belekeverni a kimeneti fájlba, mert csak AVI és MPEG konténereket támogat
|
|
kimenetként és mindkettőnél audió/videó lejátszási szinkronizációs problémákat
|
|
okozhat néhány lejátszóval, ha az AVI fájl VBR-es audió stream-et tartalmaz,
|
|
mint pl. a Vorbis.
|
|
De ne aggódj, ez a dokumentáció megmutatja, hogy hogy tudod
|
|
ezt megcsinálni egyéb programokkal.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-muxing">
|
|
<title>Keverés</title>
|
|
<para>
|
|
Most, hogy elkódoltad a videódat, valószínűleg szeretnéd elkeverni egy
|
|
vagy több audió sávval együtt egy film konténerbe, mint pl. az AVI,
|
|
Matroska vagy a NUT.
|
|
A <application>MEncoder</application> jelenleg csak MPEG és AVI
|
|
konténer formátumokba tud audió és videó kimenetet készíteni.
|
|
Például:
|
|
<screen>mencoder -oac copy -ovc copy -o <replaceable>kimenet_film.avi</replaceable> -audiofile <replaceable>bemenet_audio.mp2</replaceable> <replaceable>bemenet_video.avi</replaceable></screen>
|
|
Ez a <replaceable>bemenet_video.avi</replaceable> videó fájlból
|
|
és a <replaceable>bemenet_audio.mp2</replaceable> audió fájlból
|
|
elkészíti a <replaceable>kimenet_film.avi</replaceable> fájlt.
|
|
Ez a parancs működik MPEG-1 layer I, II és III (ismertebb nevén
|
|
MP3) audióval, WAV és egy pár más audió formátummal.
|
|
</para>
|
|
|
|
<para>
|
|
A MEncoderben kísérleti jelleggel van
|
|
<systemitem class="library">libavformat</systemitem> támogatás, ami
|
|
az FFmpeg projektből egy függvénykönyvtár, ami számos konténer keverését és
|
|
demux-álását támogatja.
|
|
Például:
|
|
<screen>mencoder -oac copy -ovc copy -o <replaceable>kimenet_film.asf</replaceable> -audiofile <replaceable>bemenet_audio.mp2</replaceable> <replaceable>bemenet_video.avi</replaceable> -of lavf -lavfopts format=asf</screen>
|
|
Ez ugyan azt csinálja, mint az előbbi példa, de a kimeneti
|
|
konténer ASF lesz.
|
|
Kérlek figyelj, hogy ez a támogatás még nagyon kísérleti (de minden
|
|
nap egyre jobb lesz) és csak akkor működik, ha az
|
|
<application>MPlayer</application>t a
|
|
<systemitem class="library">libavformat</systemitem> támogatás
|
|
bekapcsolásával fordítottad (ami azt jelenti, hogy az előre
|
|
csomagolt binárisok a legtöbb esetben nem fognak működni).
|
|
</para>
|
|
|
|
<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
|
|
<title>Az AVI konténer korlátai</title>
|
|
<para>
|
|
Habár a legszélesebb körben támogatott konténer formátum az MPEG-1
|
|
után, az AVI-nak is van néhány nagy hátránya.
|
|
Talán a legnyilvánvalóbb a túlterhelés.
|
|
Az AVi fájl minden egyes chunk-ja 24 bájtot pazarol a fejlécekre és
|
|
az index-re.
|
|
Ez egy kicsit több mint 5 MB óránként vagy 1-2,5% plusz egy 700 MB-os
|
|
filmnél. Ez nem tűnik soknak, de eldöntheti, hogy 700 kbit/sec-os
|
|
videót tudsz csak használni vagy 714 kbit/sec-osat, ahol minden bit a
|
|
minőségre megy.
|
|
</para>
|
|
|
|
<para>
|
|
Ezen hatalmas hátrány mellett az AVI-nak a következő fő korlátai vannak:
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>
|
|
Csak fix-fps-ű tartalmat tud tárolni. Ez különleges korlátozás, ha
|
|
az eredeti anyag, amit el akarsz kódolni, kevert tartalom, például
|
|
NTSC videó és film anyag keveréke.
|
|
Már vannak olyan hack-ek, amivel kevert framerátás tartalmat lehetne
|
|
AVI-ba tenni, de ötszörös vagy még nagyobb mértékben növelik a (már
|
|
amúgy is nagy) túlterhelést, így nem praktikusak.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Az AVI fájlokban az audiónak vagy konstans-bitrátásnak (CBR) vagy
|
|
konstans-képkocka méretűnek (pl. minden képkocka ugyan annyi számú
|
|
mintát dekódol) kell lennie.
|
|
Sajnos a leghatékonyabb codec, a Vorbis, egyik kívánalomnak sem
|
|
felel meg.
|
|
Ezért ha AVI-ban tárolod a filmjeidet, egy kevésbé hatékony
|
|
codec-et kell használnod, mint pl. az MP3 vagy az AC3.
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
A fentiek miatt a <application>MEncoder</application> jelenleg nem
|
|
támogatja a változó-fps-es kimenetet vagy a Vorbis kódolást.
|
|
Így ezeket nem korlátozásként fogod fel, ha a
|
|
<application>MEncoder</application> az egyetlen
|
|
eszköz, mellyel kódolsz.
|
|
Azonban lehetséges a <application>MEncoder</application>t csak
|
|
a videó kódolására használni és valamilyen egyéb eszközzel
|
|
elkódolni az audiót majd összekeverni őket egy konténer formátumba.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
|
|
<title>Keverés a Matroska konténerbe</title>
|
|
<para>
|
|
A Matroska szabad, nyílt szabványú konténer formátum, melynek
|
|
célja, hogy rengeteg továbbfejlesztett képességet biztosítson,
|
|
amit a régebbi konténerek, mint pl. az AVI nem tud kezelni.
|
|
például a Matroska támogatja a változó bitrátás audió tartalmat
|
|
(VBR), változó framerátát (VFR), fejezeteket, fájl csatolásokat,
|
|
hiba kereső kódot (EDC) és a modern A/V codec-eket, mint az
|
|
"Advanced Audio Coding" (AAC), "Vorbis" vagy "MPEG-4 AVC" (H.264),
|
|
szemben az AVI-val, amelyik egyiket sem.
|
|
</para>
|
|
|
|
<para>
|
|
A Matroska fájlok készítéséhez szükséges eszközöket együtt
|
|
<application>mkvtoolnix</application>-nek hívják és elérhetőek a
|
|
legtöbb Unix platformon, akárcsak <application>Windows</application>on.
|
|
Mivel a Matroska nyílt szabványú, találhatsz más eszközöket is, amik
|
|
jobban megfelelnek neked, de mivel az mkvtoolnix a leggyakrabban
|
|
használt, és maga a Matroska csapat támogatja, csak ennek a
|
|
használatát mutatjuk be.
|
|
</para>
|
|
|
|
<para>
|
|
Talán a legegyszerűbb módszer, hogy elindulj a Matroska-val, az
|
|
<application>MMG</application> használata, az
|
|
<application>mkvtoolnix</application>-szel szállított grafiksu frontend
|
|
és kövesd a
|
|
<ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">mkvmerge GUI (mmg) leírást</ulink>.
|
|
</para>
|
|
|
|
<para>
|
|
A parancssor segítségével is összekverheted az audió és videó fájlokat:
|
|
<screen>mkvmerge -o <replaceable>kimenet.mkv</replaceable> <replaceable>bemenet_video.avi</replaceable> <replaceable>bemenet_audio1.mp3</replaceable> <replaceable>bemenet_audio2.ac3</replaceable></screen>
|
|
Ez a <replaceable>bemenet_video.avi</replaceable> fájlt és a
|
|
két audió fájlt, a <replaceable>bemenet_audio1.mp3</replaceable>-at
|
|
és a <replaceable>bemenet_audio2.ac3</replaceable>-at összefűzi a
|
|
<replaceable>kimenet.mkv</replaceable> Matroska fájlba.
|
|
A Matroska, mint ahogy azt már megemlítettem, ennél sokkal többre
|
|
képes, mint pl. több audió sáv használatára (beleértve az audió/videó
|
|
szinkronizáció finom-hangolását), fejezetek, feliratok, vágás, stb...
|
|
Kérlek olvasd el ezen alkalmazások dokumentációit a részletekért.
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="menc-feat-telecine">
|
|
<title>Mit kezdjünk a telecine-nel és az átlapolással NTSC DVD-ken</title>
|
|
|
|
<sect2 id="menc-feat-telecine-intro">
|
|
<title>Bevezetés</title>
|
|
<formalpara>
|
|
<title>Mi az a telecine?</title>
|
|
<para>
|
|
Gondolom azért kerested meg ezt a részt, mert nem sok mindent értesz abból,
|
|
ami ebben a dokumentumban le van írva:
|
|
<ulink url="http://www.divx.com/support/guides/guide.php?gid=10">http://www.divx.com/support/guides/guide.php?gid=10</ulink>
|
|
Ez az URL egy érthető és meglehetősen átfogó leírás arról, hogy mi is az
|
|
a telecine.
|
|
</para></formalpara>
|
|
|
|
<formalpara>
|
|
<title>Megjegyzés a számokhoz.</title>
|
|
<para>
|
|
Sok dokumentáció, beleértve a fent belinkeltet is, az NTSC videó mező
|
|
per másodperc értékét 59.94-ként határozza meg, és a megfelelő képkocka
|
|
per másodperc értéket 29.97-nek (telecine-s és átlapolt) és 23.976-nak
|
|
írja (progresszív). Az egyszerűség kedvéért sok dokumentáció még ezeket
|
|
a számokat is lekerekíti 60-ra, 30-ra és 24-re.
|
|
</para></formalpara>
|
|
|
|
<para>
|
|
Pontosan fogalmazva az összes szám csak közelítés. A fekete-fehér
|
|
NTSC videó pontosan 60 mező per másodperces volt, de később 60000/1001-et
|
|
választottak, hogy a szín adatokat hozzáigazítsák, de kompatibilisek
|
|
maradjanak a kortárs fekete-fehér televíziókkal. A digitális NTSC videó
|
|
(mint ami a DVD-n van) is 60000/1001 mező per másodperces. Ebből származik,
|
|
hogy az átlapolt és telecine-lt videó 30000/1001 képkocka per másodperces;
|
|
a progresszív videó 24000/1001 képkocka per másodperces.
|
|
</para>
|
|
|
|
<para>
|
|
A <application>MEncoder</application> dokumentációjának régebbi 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>Hogyan használják a telecine-t.</title>
|
|
<para>
|
|
Az összes videónak, amit NTSC televízión szándékoznak megjeleníteni,
|
|
60000/1001 mező per másodperc sebességűnek kell lennie. A TV-nek készített
|
|
filmeket és show-kat gyakran direkt 60000/1001 mező per másodperces sebességgel
|
|
fényképezik, de a mozifilmek nagy része 24 vagy 24000/1001 képkocka per
|
|
másodperccel készül. Amikor a mozis film DVD-jét készítik, a videót egy
|
|
telecine-nek nevezett eljárás keretében televíziós formátumra konvertálják.
|
|
</para></formalpara>
|
|
|
|
<para>
|
|
Egy DVD-n a videót tulajdonképpen soha sem 60000/1001 mező per másodperccel
|
|
tárolják. Abban a videóban, ami eredetileg 60000/1001-es volt, egy pár
|
|
mező alkot egy képkockát, 30000/1001 képkocka per másodperces sebességet
|
|
eredményezve. A hardveres DVD lejátszók ezután beolvasnak egy, a videó
|
|
folyamban benne lévő jelzőt, hogy megállapítsák, hogy a páros vagy páratlan
|
|
sorszámú sorok alkotják-e az első mezőt.
|
|
</para>
|
|
|
|
<para>
|
|
Általában a 24000/1001 képkocka per másodperces tartalom változatlan
|
|
marad, ha DVD-re kódolják és a DVD lejátszónak kell telecine-t végezni
|
|
menet közben. De néha a videót a DVD-re mentés <emphasis>előtt</emphasis>
|
|
telecine-lik, akkor is, ha eredetileg 24000/1001 képkocka per másodperces
|
|
volt, így 60000/1001 mező per másodperces lesz, és a lemezen 30000/1001
|
|
képkocka per másodpercesként tárolódik.
|
|
</para>
|
|
|
|
<para>
|
|
Ha megnézed az egyes képkockákat az 60000/1001 mező per másodperces videóban,
|
|
telecine-lt vagy sem, az átlapolás tisztán látható bármilyen mozgásnál, mert
|
|
az egyik mező (mondjuk a páros sorszámú sorok) időben 1/(60000/1001)
|
|
másodperccel későbbi történést reprezentál, mint a másik. Átlapolt videó
|
|
számítógépen történő lejátszáskor rondán néz ki, mert egyrészt a monitornak
|
|
nagyobb a felbontása, másrészt mert a videót kockáról kockára mutatja meg,
|
|
mezőről mezőre történő lejátszás helyett.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<title>Megjegyzések:</title>
|
|
<listitem><para>
|
|
Ez a rész csak NTSC DVD-re vonatkozik, nem a PAL-ra.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
A <application>MEncoder</application> példa sorok a dokumentumban
|
|
<emphasis role="bold">nem</emphasis> hétköznapi felhasználásra lettek
|
|
írva. Csak a legalapvetőbb dolgokat mutatják, ami a megfelelő kategóriába
|
|
tartozó videók kódolásához szükséges. A jó DVD rip-ek készítése vagy a
|
|
<systemitem class="library">libavcodec</systemitem> finomhangolása a
|
|
maximális minőség eléréséhez nem tartozik ezen dokumentum célkitűzései közé.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Sok megjegyzés vonatkozik erre a leírásra, melyek így vannak jelölve:
|
|
<link linkend="menc-feat-telecine-footnotes">[1]</link>
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-telecine-ident">
|
|
<title>Hogyan állapítható meg egy videó típusa</title>
|
|
|
|
<sect3 id="menc-feat-telecine-ident-progressive">
|
|
<title>Progresszív</title>
|
|
<para>
|
|
A progresszív videót eredetileg 24000/1001 fps-sel rögzítették és változtatás
|
|
nélkül tárolják a DVD-n.
|
|
</para>
|
|
|
|
<para>
|
|
Ha egy progressive DVD-t az <application>MPlayer</application>rel játszasz
|
|
le, az <application>MPlayer</application> a következő sort fogja kiírni,
|
|
amint a film lejátszása megkezdődik:
|
|
|
|
<screen> demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.</screen>
|
|
|
|
magyarul:
|
|
<screen> demux_mpg: 24000/1001 fps progresszív NTSC formátumot találtam, frameráta váltás.</screen>
|
|
|
|
Ettől a ponttól kezdve a demux_mpg soha sem mondhatja azt, hogy
|
|
"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"-nak is hívják.
|
|
Mivel a hard-telecine már 60000/1001 mező per másodperces, a DVD lejátszó
|
|
mindenféle manipulálás nélkül játsza le a videót.
|
|
</para>
|
|
|
|
<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 -nosound -ovc lavc -ofps 24000/1001</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Gyakran az az eset áll fenn, hogy a videó progresszívnek tűnik, de valójában
|
|
nagyon rövid telecine-s részek vannak belekeverve. Ha nem vagy biztos
|
|
a dolgodban, a legbiztonságosabb, ha
|
|
<link linkend="menc-feat-telecine-encode-mixedpt">kevert progresszív és telecine-lt</link>
|
|
videóként kezeled. A teljesítményvesztés kicsi
|
|
<link linkend="menc-feat-telecine-footnotes">[3]</link>.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-telecined">
|
|
<title>Telecine-lt</title>
|
|
<para>
|
|
A telecine visszafordítható, hogy megkapd az eredeti 24000/1001-es
|
|
tartalmat, egy inverz-telecine-nek nevezett eljárással.
|
|
Az <application>MPlayer</application> számos szűrővel rendelkezik ennek
|
|
az elvégzéséhez; a legjobb szűrő a <option>pullup</option> le van írva
|
|
a <link linkend="menc-feat-telecine-encode-mixedpt">kevert progresszív és telecine</link>
|
|
részben.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-interlaced">
|
|
<title>Átlapolt</title>
|
|
<para>
|
|
A legtöbb gyakorlati esetben nem lehetséges a teljes progresszív videó
|
|
visszanyerése az átlapolt tartalomból. Az egyetlen út ehhez a függőleges
|
|
felbontás felének elvesztése nélkül a frameráta megduplázása és
|
|
"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 -nosound -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Használj deinterlacing szűrőt a kódolás előtt. Számos közül választhatsz,
|
|
mindegyiknek megvan a maga előnye és hátránya. Lásd az <option>mplayer -pphelp</option>
|
|
kimenetét, hogy megtudd, mit használhatsz (grep-pelj a "deint"-re),
|
|
és keress az <ulink url="http://www.mplayerhq.hu/homepage/design6/info.html#mailing_lists">
|
|
MPlayer levelezési listáin</ulink> a sok beszélgetés között, ami a különböző
|
|
szűrőkről szól. A frameráta itt sem változik, így nem kell
|
|
<option>-ofps</option>. A deinterlacing-et a vágás után
|
|
<link linkend="menc-feat-telecine-footnotes">[1]</link> és a méretezés
|
|
előtt kell elvégezni.
|
|
|
|
<screen>mencoder dvd://1 -nosound -vf pp=lb -ovc lavc</screen>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Sajnos ez a kapcsoló hibás a <application>MEncoder</application>ben;
|
|
talán a <application>MEncoder G2</application>-vel működni fog, de itt
|
|
most még nem. Belefuthatsz fagyásokba. Egyébként a <option> -vf
|
|
tfields</option> célja az lenne, hogy teljes képkockát készít mindegyik
|
|
mezőből, ami miatt a frameráta 60000/1001 lesz. Ennek a megközelítésnek az
|
|
az előnye, hogy soha nincs adatvesztés; habár mivel minden egyes kocka
|
|
csak egy mezőből keletkezik, a hiányzó sorokat valahogy interpolálni kell.
|
|
Igazából nincs jó módszer a hiányzó adat összegyűjtésére és így az
|
|
eredmény kicsit úgy fog kinézni, mint amikor valamilyen deinterlacing
|
|
szűrőt használsz. A hiányzó sorok generálása egyéb dolgokat idéz elő,
|
|
egyszerűen mivel az adat mennyisége megduplázódik. Így, nagyobb kódolási
|
|
bitráták szükségesek a minőség megtartásához, és nagyobb CPU teljesítmény
|
|
mind a kódoláshoz, mind a dekódoláshoz. A tfield-eknek számos különböző
|
|
opciójuk van az egyes képkockákban hiányzó sorok előállításához. Ha ezt a
|
|
módszert használod, akkor nézd meg a manual-t és válassz, hogy melyik
|
|
opcióval néz ki legjobban az anyagod. Figyelj rá, hogy ha
|
|
<option>tfield</option>-eket használsz,
|
|
mind a <option>-fps</option>-nek, mind a <option>-ofps</option>-nek az eredeti
|
|
forrásod framerátájának kétszeresét <emphasis role="bold">kell megadnod</emphasis>.
|
|
|
|
<screen>mencoder dvd://1 -nosound -vf tfields=2 -ovc lavc -fps 60000/1001 -ofps 60000/1001</screen>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Ha drasztikus downscaling-et tervezel, kiszedhetsz és elkódolhatsz egy mezőt is
|
|
a kettő helyett. Természetesen így elveszíted a függőleges felbontás
|
|
felét, de ha downscaling-et tervezel legfeljebb az eredeti 1/2-ével, a
|
|
veszteség nem számottevő. Az eredmény egy progresszív 30000/1001 képkocka per
|
|
másodperces fájl lesz. Az helyes eljárás a <option>-vf field</option>
|
|
használata, majd vágás <link linkend="menc-feat-telecine-footnotes">[1]</link>
|
|
és megfelelő méretezés. Emlékezz, hogy be kell állítanod a méretarányt a
|
|
felezett függőleges felbontásnak megfelelően.
|
|
|
|
<screen>mencoder dvd://1 -nosound -vf field=0 -ovc lavc</screen>
|
|
</para></listitem>
|
|
</orderedlist>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-mixedpt">
|
|
<title>Kevert progresszív és telecine</title>
|
|
<para>
|
|
Ahhoz, hogy egy kevert, progresszív és telecine-s videót teljesen
|
|
progresszív videóvá konvertálj, a telecine-lt részeket
|
|
inverz-telecine-elni kell. Ez háromféle képpen végezhető el,
|
|
mint ahogy az lejjebb látható. Figyelj rá, hogy <emphasis role="bold">mindig</emphasis>
|
|
az inverse-telecine legyen meg bármilyen átméretezés előtt; hacsak
|
|
nem vagy teljesen biztos a dolgodban, és az inverse-telecine legyen a
|
|
vágás előtt is <link linkend="menc-feat-telecine-footnotes">[1]</link>.
|
|
A <option>-ofps 24000/1001</option> kell ide, mert a kimeneti videó 24000/1001
|
|
képkocka per másodperc sebességű lesz.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
A <option>-vf pullup</option> a telecine-s részek inverz-telecine-léséhez
|
|
lett tervezve úgy, hogy a progresszív adatokat érintetlenül hagyja.
|
|
A helyes működéshez a <option>pullup</option>-ot
|
|
a <option>softskip</option> szűrőnek <emphasis role="bold">kell</emphasis>
|
|
követnie, különben a <application>MEncoder</application> összeomlik.
|
|
Ennek ellenére a <option>pullup</option> a legtisztább és legjobb módszer
|
|
mind a telecine-s, mind a "kevert progresszív és telecine-s"
|
|
videók elkódolásához.
|
|
|
|
<screen>mencoder dvd://1 -nosound -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen>
|
|
</para>
|
|
|
|
|
|
</listitem>
|
|
<listitem><para>
|
|
A másik módszer, a telecine-s részek inverz-telecine-lése helyett a
|
|
nem-telecine-s részek telecine-lése majd a teljes videó
|
|
inverz-telecine-lése. Zavarosan hangzik? A softpulldown egy olyan szűrő,
|
|
ami végigmegy a videón és a teljes fájlt telecine-li. Ha a softpulldown-t
|
|
vagy <option>detc</option> vagy <option>ivtc</option> követi, a végső
|
|
eredmény teljesen progresszív lesz. A <option>-ofps 24000/1001</option>
|
|
kapcsolót meg kell adni.
|
|
|
|
<screen>mencoder dvd://1 -nosound -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001</screen>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem><para>
|
|
Én magam nem használtam a <option>-vf filmdint</option>-et, de álljon itt
|
|
D Richard Felker III hozzászólása:
|
|
|
|
<blockquote><para>Rendben, de IMO inkább deinterlace-t próbálj
|
|
a túl gyakori inverz telecine helyett (inkább settop DVD
|
|
lejátszók & progresszív TV-k) ami csúnya vibrálást és egyéb
|
|
jelenségeket okoz. Ha használni akarod, el kell töltened egy kis
|
|
időt az opciók próbálgatásával és az eredmény megfigyelésével,
|
|
hogy biztos légy benne, nem rontja el az egészet.</para></blockquote>
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-mixedpi">
|
|
<title>Kevert progresszív és átlapolt</title>
|
|
<para>
|
|
Két módon kezelheted ezt a kategóriát, mindkettő kompromisszum. Az
|
|
időtartam/hely alapján kell döntened.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
Kezeld úgy, mintha progresszív lenne. Az átlapolt részek átlapoltnak
|
|
látszanak és néhány átlapolt mezőt el kell dobni, ami egyenletlen
|
|
ugrásokat eredményez. Használhatsz utófeldolgozó szűrőt, ha akarsz,
|
|
de ez kissé rontja a progresszív részeket.
|
|
</para>
|
|
|
|
<para>
|
|
Ez az opció használhatatlan akkor, ha a videót egy átlapolt eszközön
|
|
akarod megjeleníteni (TV kártyával például). Ha átlapolt képkockáid
|
|
vannak 24000/1001 képkocka per másodperces videóban, telecine-lve
|
|
lesznek a progresszív képkockákkal együtt. Az átlapolt "képkockák"
|
|
fele három mező hosszon lesz látható (3/(60000/1001) másodperc), ami
|
|
kattanó "visszaugrás az időben" egy olyan effektus, 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ényveszteség kicsi az
|
|
esetek többségében. Nagyon ritka kódolási esetekben a <option>pullup</option>
|
|
a <application>MEncoder</application> 50%-os lassulását okozhatja.
|
|
A zenefeldolgozás hozzáadása és a fejlett <option>lavcopts</option>
|
|
háttérbe szorítja ezt a különbséget, a <option>pullup</option> miatti
|
|
teljesítményromlást 2%-ra csökkentve.
|
|
</para>
|
|
</formalpara>
|
|
</listitem>
|
|
|
|
</orderedlist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="menc-feat-enc-libavcodec">
|
|
<title>Kódolás a <systemitem class="library">libavcodec</systemitem>
|
|
codec családdal</title>
|
|
|
|
<para>
|
|
A <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
|
|
számos érdekes videó és audió formátumba történő egyszerű kódolást biztosít.
|
|
A következő codec-ekbe kódolhatsz (többé-kevésbé friss lista):
|
|
|
|
<informaltable frame="all">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row><entry>Codec neve</entry><entry>Leírás</entry></row>
|
|
</thead>
|
|
<tbody>
|
|
<row><entry>mjpeg</entry><entry>
|
|
Motion JPEG
|
|
</entry></row>
|
|
<row><entry>ljpeg</entry><entry>
|
|
Veszteségmentes JPEG
|
|
</entry></row>
|
|
<row><entry>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 5, XVID kompatibilis)
|
|
</entry></row>
|
|
<row><entry>msmpeg4</entry><entry>
|
|
Szabvány előtti MPEG-4 variáns az MS-től, v3 (AKA DivX3)
|
|
</entry></row>
|
|
<row><entry>msmpeg4v2</entry><entry>
|
|
Szabvány előtti MPEG-4 az MS-től, v2 (régi asf fájlokban használják)
|
|
</entry></row>
|
|
<row><entry>wmv1</entry><entry>
|
|
Windows Media Video, 1-es verzió (AKA WMV7)
|
|
</entry></row>
|
|
<row><entry>wmv2</entry><entry>
|
|
Windows Media Video, 2-es verzió (AKA WMV8)
|
|
</entry></row>
|
|
<row><entry>rv10</entry><entry>
|
|
egy régi RealVideo codec
|
|
</entry></row>
|
|
<row><entry>mpeg1video</entry><entry>
|
|
MPEG-1 videó
|
|
</entry></row>
|
|
<row><entry>mpeg2video</entry><entry>
|
|
MPEG-2 videó
|
|
</entry></row>
|
|
<row><entry>huffyuv</entry><entry>
|
|
veszteségmentes tömörítés
|
|
</entry></row>
|
|
<row><entry>asv1</entry><entry>
|
|
ASUS Video v1
|
|
</entry></row>
|
|
<row><entry>asv2</entry><entry>
|
|
ASUS Video v2
|
|
</entry></row>
|
|
<row><entry>ffv1</entry><entry>
|
|
az FFmpeg veszteségmentes videó codec-je
|
|
</entry></row>
|
|
<row><entry>flv</entry><entry>
|
|
Flash Videókban használt Sorenson H.263
|
|
</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>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
Az első oszlop a codec neveket tartalmazza, amit a <literal>vcodec</literal>
|
|
opció után kell megadni, például: <option>-lavcopts vcodec=msmpeg4</option>
|
|
</para>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Egy példa MJPEG tömörítéssel:
|
|
<screen>mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<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.
|
|
vmax_b_frames >= 2 szükséges.
|
|
Néhány videónál a vmax_b_frames rontja a minőséget, de a vmax_b_frames=2 a
|
|
vb_strategy=1-gyel együtt segít.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">dia</emphasis>: mozgás kereső tartomány. A nagyobb a
|
|
jobb és a lassabb.
|
|
Negatív értékek teljesen más skálát adnak.
|
|
A jó értékek -1 a gyors kódoláshoz vagy 2-4 a lassabbhoz.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">predia</emphasis>: mozgás kereső előre-lépés.
|
|
Nem olyan fontos, mint a dia. Jó értékek 1-től (alapértelmezett) 4-ig.
|
|
preme=2 kell hozzá, hogy igazán hasznos legyen.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">cmp, subcmp, precmp</emphasis>: Összehasonlító funkciók
|
|
a mozgás becsléshez.
|
|
Kísérletezz a 0 (alapértelmezett), 2 (hadamard), 3 (dct) és 6 (ráta
|
|
torzítás) értékekkel!
|
|
0 a leggyorsabb és és elegendő a precmp-hez.
|
|
A cmp-hez és subcmp-hez 2 jó, ha anime és 3 ha élő akció.
|
|
A 6 vagy jobb vagy nem, de mindenképpen lassabb.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">last_pred</emphasis>: Az előző képkockából megjósolandó
|
|
mozgások száma.
|
|
1-3 vagy hasonló segít egy kis sebességcsökkenés árán.
|
|
A magasabb értékek lassúak, de igazi hasznuk nincs.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">cbp, mv0</emphasis>: A makroblokkok kiválasztását
|
|
irányítja. Egy kis sebességcsökkenés egy kis minőségjavulásért.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">qprd</emphasis>: adaptív kvantálás, mely a makroblokk
|
|
komplexitásán alapul.
|
|
Vagy segít vagy nem, a videó és egyéb opciók függvényében.
|
|
Ennek lehetnek mellékhatásai, hacsak nem állítod be a vqmax-ot valami
|
|
ésszerűen alacsony értékre (a 6 jó, talán minimum 4); a vqmin=1 is segíthet.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">qns</emphasis>: nagyon lassú, különösen ha a
|
|
qprd-vel kombinálod.
|
|
Ezen opció hatására a kódoló minimalizálja a zajt tömörítési mellékhatásokkal,
|
|
ahelyett, hogy a szigorúan a forráshoz próbálna igazodni.
|
|
Ne használd ezt, csak ha már minden mást kipróbáltál és az eredmény még
|
|
mindig nem elég jó.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">vqcomp</emphasis>: Rátaírányítás beállítása.
|
|
Hogy milyen értékek jók, az a filmtől függ.
|
|
Nyugodtan elhagyhatod ezt, ha akarod.
|
|
A vqcomp csökkentése több bitet engedélyez az alacsony komplexitású részeknél,
|
|
a növelése a nagy komplexitású részekre teszi őket (alapértelmezés: 0.5,
|
|
tartomány: 0-1, javasolt tartomány: 0.5-0.7).
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">vlelim, vcelim</emphasis>: Beállítja a szimpla együttható
|
|
eliminációs küszöböt a fényerősséghez és a chroma plane-khez.
|
|
Ezt elkülönítve kódolja le minden MPEG-szerű algorítmus.
|
|
Az ötlet emögött az opció mögött az, hogy egy jó heurisztikát használnak
|
|
annak megállapítására, hogy a blokkban történt változás kisebb-e, mint az
|
|
általad megadott küszöb és ebben az esetben egyszerűen "változtatás nélkül"
|
|
kerül elkódolásra a blokk.
|
|
Ez biteket ment meg és talán gyorsít is a kódoláson. A vlelim=-4 és
|
|
vcelim=9 látszólag jók az élő filmekhez, de nem segítenek az anime-nál;
|
|
ha animációt kódolsz, inkább hagyd őket változatlanul.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">qpel</emphasis>: Negyed pixel mozgás becslés.
|
|
Az MPEG-4 fél pixeles precíziót használ a mozgáskereséshez alapértelmezésként,
|
|
ezért ez az opció plusz terhelést hoz, mivel több információ tárolódik az
|
|
elkódolt fájlban. A tömörítési nyereség/veszteség a filmtől függ, de
|
|
általában nem hatékony anime-oknál.
|
|
A qpel mindig jelentős dekódolási CPU idő igénnyel jár (+20% a gyakorlatban).
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">psnr</emphasis>: nem érinti az aktuális kódolást,
|
|
de készít egy log fájlt, mely megadja minden képkocka típusát/méretét/minőségét
|
|
és a végére odaírja a PSNR-t (Peak Signal to Noise Ratio, Zajarány csúcspontja).
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>Opciók, melyekkel nem javasolt játszadozni:</title>
|
|
<listitem><para>
|
|
<emphasis role="bold">vme</emphasis>: Az alapértelmezett a legjobb.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">lumi_mask, dark_mask</emphasis>: Pszichovizuális
|
|
adaptív kvantálás.
|
|
Ne játszadozz ezekkel az opciókkal, ha számít a minőség.
|
|
Az ésszerű értékek jók lehetnek a te esetedben, de vigyázz, ez nagyon
|
|
szubjektív.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">scplx_mask</emphasis>: Megpróbálja megelőzni a
|
|
blokkos mellékhatásokat, de az utófeldolgozás jobb.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="custommatrices"><title>Egyedi inter/intra matricák</title>
|
|
|
|
<para>
|
|
A <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
|
|
ezen képességével egyedi inter (I-frame/kulcs frame) és intra
|
|
(P-frame/jósolt frame) matricákat állíthatsz be. Több codec támogatja ezt: az
|
|
<systemitem>mpeg1video</systemitem> és <systemitem>mpeg2video</systemitem>
|
|
a jelentések szerint működik.
|
|
</para>
|
|
|
|
<para>
|
|
Ennek egy tipikus felhasználása a <ulink url="http://www.kvcd.net/">KVCD</ulink>
|
|
által javasolt matricák beállítása.
|
|
</para>
|
|
|
|
<para>
|
|
Egy <emphasis role="bold">KVCD "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>
|
|
Következőnek megállapítjuk a megfelelő vágási téglalapot, így használjuk a
|
|
cropdetect szűrőt:
|
|
|
|
<screen>mplayer dvd://1 -vf cropdetect</screen>
|
|
|
|
Győződj meg róla, hogy egy teljesen kitöltött képkockán állsz (pl. egy világos
|
|
jelenet), ezt fogod látni az <application>MPlayer</application> konzol kimenetén:
|
|
|
|
<screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
|
|
|
|
Ezután lejátszuk a filmet ezzel a szűrővel a számok ellenérzéséhez:
|
|
|
|
<screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
|
|
|
|
És azt látjuk, hogy tökéletesen megfelel. Majd meggyőződünk, hogy a
|
|
szélesség és a magasság osztható 16-tal. A szélesség jó, de a magasság
|
|
nem. Mivel nem buktunk hetedik osztályban matekból, tudjuk, hogy a 16
|
|
legközelebbi többszöröse, ami kisebb, mint 362, a 352.
|
|
</para>
|
|
|
|
<para>
|
|
Így egyszerűen használhatjuk a <option>crop=720:352:0:58</option> opciót,
|
|
de jó lenne egy kicsit lecsípni a telejéből és az aljából, hogy középen
|
|
maradjunk. Összehúzzuk a magasságot 10 pixellel, de nem akarjuk növelni
|
|
az y-offszetet 5 pixellel, mert az páratlan szám és rontja a minőséget.
|
|
Helyette inkább 4 pixellel növeljük az y-offszetet:
|
|
|
|
<screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
|
|
|
|
A másik ok, hogy lecsípjünk pixeleket mid fent, mint lent, hogy biztosak
|
|
legyünk, hogy a fél-fekete pixeleket is levágtuk, amennyiben vannak.
|
|
Figyelj rá, hogy ha a videó telecine-lt, a <option>pullup</option> szűrő
|
|
(vagy bármelyik inverz telecine szűrő, amit használsz) a vágás előtt
|
|
szerepeljen a szűrők láncában. Ha átlapolt, végezz deinterlace-t a vágás
|
|
előtt. (Ha úgy döntesz, hogy megtartod az átlapolt videót, győződj meg
|
|
róla, hogy a függőleges vágási offszet 4 többszöröse.)
|
|
</para>
|
|
|
|
<para>
|
|
Ha érdekel annak a 10 pixelnek az elvesztése, inkább a méretek 16
|
|
legközelebbi többszörösére való kicsinyítése érdekelhet. A szűrő lánc
|
|
ez esetben:
|
|
|
|
<screen>-vf crop=720:362:0:58,scale=720:352</screen>
|
|
|
|
A videó ilyen módon történő lekicsinyítése azt jelenti, hogy néhány
|
|
apró részlet elveszik, de ez valószínűleg nem lesz észrevehető. A
|
|
nagyítás rosszabb minőséget eredményez (hacsak nem növeled a bitrátát).
|
|
A vágás az összes ilyen pixeltől megszabadít. Ez egy üzlet, amit minden
|
|
esetben meg kell fontolnod. például ha a DVD videó televízióra készült,
|
|
ajánlott elkerülni a függőleges méretezést, mert a sor mintázás az
|
|
eredeti felvételhez igazodik.
|
|
</para>
|
|
|
|
<para>
|
|
Megtekintés után azt látjuk, hogy a filmünk eléggé eseménydús és
|
|
nagyon részletes, így 2400Kbit-et választunk bitrátának.
|
|
</para>
|
|
|
|
<para>
|
|
Most már készen vagyunk a két lépéses kódoláshoz. Első lépés:
|
|
|
|
<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
|
|
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 \
|
|
-o Harry_Potter_2.avi</screen>
|
|
|
|
A második lépés ugyan ez, csak megadjuk a <option>vpass=2</option>-t:
|
|
|
|
<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
|
|
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 \
|
|
-o Harry_Potter_2.avi</screen>
|
|
</para>
|
|
|
|
<para>
|
|
A <option>v4mv:mbd=2:trell</option> kapcsolók nagyban javítják a minőséget
|
|
a kódolási idő rovására. Nem ajánlott ezen opciók elhagyása, ha a fő cél a
|
|
jó minőség. A <option>cmp=3:subcmp=3:mbcmp=3</option> opciók egy
|
|
összehasonlító függvényt választanak ki, ami jobb minőséget biztosít, mint
|
|
az alapértelmezettek. Ezzel a paraméterrel is kísérletezhetsz (lásd a man
|
|
oldalt a lehetséges értékekért), mivel a különböző függvények nagyban
|
|
befolyásolják a minőséget a forrás anyagtól függően. Például ha úgy találod,
|
|
hogy a <systemitem class="library">libavcodec</systemitem> túl
|
|
kockás eredményt ad, megpróbálhatod a kísérleti NSSE összehasonlító
|
|
függvény használatát a <option>*cmp=10</option> opcióval.
|
|
</para>
|
|
|
|
<para>
|
|
Ennél a filmnél a keletkező AVI 138 perc hosszú lesz és közel 3 GB-os. És
|
|
mivel azt mondtuk, hogy a fájl méret nem számít, ez egy tökéletesen megfelelő
|
|
méret. De ha kisebbet szeretnél, próbálj ki egy alacsonyabb bitrátát. A bitráták
|
|
növelése csökkenő mértékű javulást hoz, így pl. tisztán kivehető a különbség
|
|
az 1800Kbit és a 2000Kbit között, szinte észrevehetetlen 2000Kbit felett.
|
|
Nyugodtan kísérletezz, amíg csak kedved tartja.
|
|
</para>
|
|
|
|
<para>
|
|
Mivel a forrás videót áteresztettük a zajeltávolító szűrőn, talán egy picit
|
|
vissza akarsz tenni a lejátszás közben. Ez, az <option>spp</option>
|
|
utófeldolgozó szűrővel drasztikusan javítja a felfogható minőséget és
|
|
segít a segít a videó kockásodásának megszüntetésében. Az
|
|
<application>MPlayer</application> <option>autoq</option> opciójával
|
|
szabályozhatod az spp szűrő utófeldolgozásának mértékét a CPU-tól függően.
|
|
Emellett valószínűleg gamma és/vagy szín korrekciót is szeretnél csinálni,
|
|
hogy jobban illeszkedjen a monitorodhoz. Például:
|
|
|
|
<screen>mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3</screen>
|
|
|
|
</para>
|
|
</sect2>
|
|
</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ájlméretet, kb. 0,15-0,19% között, 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ájlmé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>
|
|
</sect1>
|
|
|
|
<sect1 id="menc-feat-x264">
|
|
<title>Kódolás az <systemitem class="library">x264</systemitem> codec-kel</title>
|
|
<para>
|
|
Az <systemitem class="library">x264</systemitem> egy szabad függvénykönyvtár
|
|
a H.264/AVC videó folyamok kódolásához.
|
|
Mielőtt elkezdenél kódolni, <link linkend="codec-x264-encode">be kell állítanod a
|
|
<application>MEncoder</application>ben a támogatását</link>.
|
|
</para>
|
|
|
|
<sect2 id="menc-feat-x264-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> a leglassabb, legjobb minőséget nyújtó mód.
|
|
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></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 frametype döntéseket.
|
|
Ezek legtöbbször ritka, szélsőséges esetek, de ha teljesen biztos
|
|
akarsz lenni, gondolkozz el rajta, hogy van-e a videódban teljes
|
|
képernyős ismétlődő, csillogó minta vagy nagyon nagy ideiglenes
|
|
elzáródás, ami kikényszeríthet egy I-kockát.
|
|
Az első lépés <option>frameref</option>-jét úgy állítsd be, hogy
|
|
elég nagy legyen ahhoz, hogy tartalmazza a villódzási ciklust
|
|
(vagy az elzárást). Például ha a jelenet oda-vissza ugrál két kép
|
|
között három keret idejéig, állítsd be az első lépés
|
|
<option>frameref</option>-jét 3-ra vagy magasabbra.
|
|
Ez a dolog eléggé ritka az élő akciót tartalmazó videóanyagokban,
|
|
de néha előjön videójátékok képének mentésekor.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">me</emphasis>:
|
|
Ez az opció a mozgásbecsléshez használt keresés módszerét választja ki.
|
|
Ezen opció megváltoztatása természetesen magával hozza a
|
|
minőség-vs-sebesség arány változását. A <option>me=1</option> csak kis
|
|
mértékben gyorsabb, mint az alapértelmezett keresés, kevesebb, mint
|
|
0.1dB globális PSNR árán. Az alapértelmezett beállítás (<option>me=2</option>)
|
|
egy ésszerű kompromisszum a sebesség és a minőség között. A <option>me=3</option>
|
|
kicsivel kevesebb, mint 0.1dB globális PSNR-t jelent, amiért változó
|
|
árat kell fizetni a sebességben a <option>frameref</option>-től függően.
|
|
Ha a <option>frameref</option> értéke nagy (pl. 12 vagy hasonló), a
|
|
<option>me=3</option> kb. 40%-kal lassabb, mint az alapértelmezett
|
|
<option> me=2</option>. <option>frameref=3</option>-mal a sebességbeli
|
|
veszteség visszaesik 25%-30%-ra.
|
|
</para>
|
|
<para>
|
|
A <option>me=4</option> egy nagyon alapos keresést használ, ami túl
|
|
lassú a gyakorlati alkalmazáshoz.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">4x4mv</emphasis>:
|
|
Ez az opció engedélyezi a 8x4-es, 4x8-as és 4x4-es alpartíciók
|
|
használatát a megjósolt makroblokkokban. A bekapcsolása viszonylag
|
|
egyenletes 10%-15%-os sebességveszteséget jelent. Ez az opció eléggé
|
|
hasztalan a kevés mozgást tartalmazó videókban, bár néhány gyors
|
|
mozgású forrás, tipikusan a sok apró mozgó objektumot tartalmazó,
|
|
várhatóan kb. 0.1dB-t javul.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">bframes</emphasis>:
|
|
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>
|
|
</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:4x4mv:me=3</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">deblockalpha, deblockbeta</emphasis>:
|
|
Ez a rész egy kicsit vitatható lesz.
|
|
</para>
|
|
<para>
|
|
A H.264 egy egyszerű deblocking eljárást definiál az I-blokkokra,
|
|
ami előre beállított erősséget és áteresztést használ a szóbanforgó
|
|
blokk QP-je alapján.
|
|
Alapértelmezettként a nagy QP blokkok erős szűrön mennek át, az
|
|
alacsony QP blokkok nem kerülnek deblock-olásra semennyire sem.
|
|
Az alapértelmezett értékek szerint előre beállított erősség jól
|
|
megválasztott és jó eséllyel PSNR-optimális bármilyen videóhoz,
|
|
amit csak próbálsz elkódolni.
|
|
A <option>deblockalpha</option> és a <option>deblockbeta</option>
|
|
paraméterekkel megadhatod az előre beállított deblocking áteresztés
|
|
eltolását.
|
|
</para>
|
|
<para>
|
|
Sokan úgy gondolják, hogy jó ötlet nagy mértékben csökkenteni a
|
|
deblocking szűrő erősségét (mondjuk -3-ra).
|
|
Ez valójában szinte soha sem jó ötlet és a legtöbb esetben
|
|
azok az emberek, akik ezt csinálják, nem is értik igazán,
|
|
hogy hogyan működik a deblocking alapból.
|
|
</para>
|
|
<para>
|
|
Az első és legfontosabb dolog azt tudni a beépített deblocking
|
|
szűrőről, hogy az alapértelmezett áteresztés majdnem mindig
|
|
PSNR-optimális.
|
|
Ritkább esetben nem optimális, az ideális eltolás plusz vagy
|
|
mínusz 1.
|
|
A deblocking paramétereinek nagy mértékben történő megváltoztatása
|
|
majdnem garantáltan rontja a PSNR-t.
|
|
A szűrő erősítése elmaszatol néhány részletet; a szűrő gyengítése
|
|
a kockásodás láthatóságát növeli.
|
|
</para>
|
|
<para>
|
|
Tipikusan rossz ötlet a deblocking áteresztés csökkentése, ha a
|
|
forrásod térbeli komplexitása alacsony (pl. nem túl részletes vagy
|
|
zajos).
|
|
A beépített szűrő remek munkát végez a felbukkanó mellékhatások
|
|
elrejtése érdekében.
|
|
Ha a forrásban térbeli komplexitása nagy, a mellékhatások még
|
|
kevésbé láthatóak.
|
|
Ez azért van, mert a gyűrűs haladás részletnek vagy zajnak látszik.
|
|
Az emberi szem könnyen meglátja, ha egy részlet elmozdul, de nem
|
|
olyan könnyű észrevenni, ha a zaj rosszul van reprezentálva.
|
|
Ha szubjektív minőséghez ér, a zaj és a részletesség valamennyire
|
|
felcserélhető.
|
|
A deblocking szűrő erősségének csökkentésével a legvalószínűbb,
|
|
hogy növeled a hibákat a gyűrűs mellékhatások hozzáadásával, de
|
|
a szem nem veszi észre, mert összekeveri a mellékhatásokat és a
|
|
részleteket.
|
|
</para>
|
|
|
|
<para>
|
|
Ez <emphasis role="bold">még</emphasis> nem igazolja a deblocking
|
|
szűrő erősségének csökkentését.
|
|
Általában jobb zajminőséget érhetsz el az utófeldolgozással.
|
|
Ha a H.264 kódolásod túl foltos vagy maszatos, próbáld meg
|
|
lejátszani a <option>-vf noise</option> kapcsolóval.
|
|
A <option>-vf noise=8a:4a</option>-nak a gyenge mellékhatásokat
|
|
el kell tüntetnie.
|
|
Majdnem biztos, hogy jobb eredményt kapsz, mint a deblocking
|
|
szűrővel való pepecseléssel.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-x264-example-settings">
|
|
<title>Kódolási 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.
|
|
|
|
Ha a tökéletes minőséget célzod a méretbeli korlátokon való töprengés
|
|
nélkül, egy alacsony konstansú kvantáló kódolás (mint pl.
|
|
<option>qp_constant=18</option>) B-képkockák nélkül
|
|
(<option>bframes=0</option>) valószínűleg nagyon jól fog kinézni, de
|
|
szükségtelenül sok bit-et fog felhasználni a részletek elkódolásához,
|
|
amit sokkal okosabban fel lehetne használni néhány fejlettebb beállítással.
|
|
</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.
|
|
Minden kódolási beállítást a kódolás sebessége követ (képkocka per
|
|
másodpercben), a tömörítési hatékonyság romlása (a bitráta százalékában)
|
|
összehasonlítva a "nagyon jó minőség" beállításaival, és a PSNR veszteség
|
|
(dB-ben). Kérlek vedd figyelembe, hogy a forrásod, a géped típusa és a
|
|
rendszer környezetedtől függően nagyon különböző eredményeket kaphatsz.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para><emphasis role="bold">Very high quality:</emphasis>
|
|
<option>subq=6:4x4mv:8x8dct:me=3:frameref=5:bframes=3:b_pyramid:weight_b</option>
|
|
6fps, 0%, 0dB.
|
|
</para></listitem>
|
|
<listitem><para><emphasis role="bold">High quality:</emphasis>
|
|
<option>subq=5:4x4mv:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b:psnr</option>
|
|
13fps, -13%, -0.89dB.
|
|
</para></listitem>
|
|
<listitem><para><emphasis role="bold">Fast:</emphasis>
|
|
<option>subq=4:bframes=2:b_pyramid:weight_b:psnr</option>
|
|
17fps, -20%, -1.48dB.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="menc-feat-vcd-dvd">
|
|
<title>MEncoder 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>AC3,PCM</entry>
|
|
<entry>1536 kbps</entry>
|
|
<entry>23.976, 29.97</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>AC3,PCM</entry>
|
|
<entry>1536 kbps</entry>
|
|
<entry>23.976, 29.97</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</entry>
|
|
<entry>29.97</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>23.976, 29.97</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,AC3,PCM</entry>
|
|
<entry>1536 kbps</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,AC3,PCM</entry>
|
|
<entry>1536 kbps</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</entry>
|
|
<entry>25</entry>
|
|
<entry>4:3</entry>
|
|
</row>
|
|
<row>
|
|
<entry>PAL VCD</entry>
|
|
<entry>352x288</entry>
|
|
<entry>MPEG-1</entry>
|
|
<entry>1150 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:
|
|
<screen>
|
|
-of mpeg -mpegopts format=dvd
|
|
</screen>
|
|
</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-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>
|
|
</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: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
|
|
</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>
|
|
AC3 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 -vf scale=720:576,\
|
|
harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
|
|
vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15: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 -vf scale=720:480,\
|
|
harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
|
|
vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18: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>AC3 Audiót tartalmazó PAL AVI DVD-re</title>
|
|
<para>
|
|
Ha a forrás már AC3 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 -vf scale=720:576,\
|
|
harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:\
|
|
vbitrate=5000:keyint=15: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-ac3-copy">
|
|
<title>AC3 Audiót tartalmazó NTSC AVI DVD-re</title>
|
|
<para>
|
|
Ha a forrás már AC3 audiót tartalmaz és NTSC @ 23.976 fps:
|
|
<screen>
|
|
mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:480,\
|
|
harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:\
|
|
vbitrate=5000:keyint=15: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 -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 -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 -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 -ofps 30000/1001 \
|
|
-o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
</chapter>
|