CVS: main/DOCS/xml/cs encoding-guide.xml, NONE, 1.1
CVS change done by Jiri Heryan CVS Update of /cvsroot/mplayer/main/DOCS/xml/cs In directory mail:/var2/tmp/cvs-serv31328 Added Files: encoding-guide.xml Log Message: new, synced with 1.10 --- NEW FILE --- <?xml version="1.0" encoding="iso-8859-2"?> <!-- Synced with: 1.10 --> <chapter id="encoding-guide"> <title>Enkódování s <application>MEncoder</application>em</title> <sect1 id="menc-feat-dvd-mpeg4"> <title>Vytvoøení MPEG-4 ("DivX") ripu DVD filmu ve vysoké kvalitì</title> <para> Velmi èastou otázkou je "Jak mohu vytvoøit rip v nejvy¹¹í moŸné kvalitì pro danou velikost?". Dal¹í otázkou je "Jak vytvoøím DVD rip v nejvy¹¹í moŸné kvalitì? Velikost souboru mì nezajímá, chci tu nejvy¹¹í kvalitu." </para> <para> Druhá otázka je ponìkud ¹patnì poloŸená. Konec koncù, pokud je vám lhostejná velikost souboru, proè prostì nezkopírujete celý MPEG-2 video proud z DVD? JistìŸe va¹e AVI bude mít kolem 5 GB, ale pokud chcete nejvy¹¹í kvalitu a na velikosti nezáleŸí, je to jistì nejlep¹í volba. </para> <para> Ve skuteènosti, dùvodem pøevodu DVD do MPEG-4 je právì to, Ÿe vám na velikosti souboru <emphasis role="bold">záleŸí</emphasis>. </para> <para> Je tìŸké nabídnout kuchaøku jak vytvoøit DVD rip ve velmi vysoké kvalitì. Je nutné uváŸit mnoŸství faktorù a mìli byste rozumìt tìmto detailùm, jinak budete asi zklamáni výsledkem. NíŸe prozkoumáme nìkteré z tìchto vìcí a pak se podíváme na pøíklad. Pøedpokládáme, Ÿe pouŸijete <systemitem class="library">libavcodec</systemitem> pro enkódování videa, aèkoli teorie je stejná i pro ostatní kodeky. </para> <para> Pokud je toho na vás moc, asi byste mìli pouŸít nìkterý z pìkných frontendù, které jsou zmínìny v <ulink url="http://mplayerhq.hu/homepage/design7/projects.html#mencoder_frontends">sekci MEncoder</ulink> na na¹í stránce odvozených projektù. Takto budete schopni dosahovat vysoce kvalitních ripù bez velkého pøemý¹lení, protoŸe vìt¹ina tìchto nástrojù je navrŸena tak, aby dìlala vhodná rozhodnutí za vás. </para> <sect2 id="menc-feat-dvd-mpeg4-preparing-encode"> <title>Pøíprava na enkódování: Urèení zdrojového materiálu a datového toku</title> <para> Pøedtím neŸ i jen pomyslíte na enkódování filmu, budete muset uèinit nìkolik pøípravných krokù. </para> <para> Prvním a nejdùleŸitìj¹ím krokem pøed enkódováním by mìlo být zji¹tìní druhu obsahu se kterým máte co do èinìní. Pokud va¹e zdrojové video pochází z DVD nebo veøejné/kabelové/satelitní TV, bude uloŸen v jednom ze dvou formátù: NTSC v Severní Americe a Japonsku, PAL v Euvropì, atd. Je ov¹em dùleŸité si uvìdomit, Ÿe to je pouze formátování pro prezentaci v televizi a èasto <emphasis role="bold">neodpovídá</emphasis> originálnímu formátu filmu. Zku¹enosti ukazují, Ÿe NTSC materiál je mnohem t쟹í enkódovat, jelikoŸ musíme identifikovat více vìcí ve zdrojovém videu. Abyste dosáhli uspokojivého výsledku, musíte znát pùvodní formát. Nevezmete-li to správnì v potaz, dostanete obraz plný nejrùznìj¹ích vad, vèetnì o¹klivých kombinaèních (proklad) artefaktù a zdvojených nebo dokonce zahozených snímkù. Kromì toho, Ÿe budete mít nekvalitní obraz, artefakty rovnìŸ sniŸují efektivitu kódování: Dosáhnete hor¹í kvalitu na jednotku datového toku. </para> <sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps"> <title>Zji¹tìní snímkové rychlosti zdroje</title> <para> Zde máte seznam bìŸných typù zdrojového materiálu, kde na který nejspí¹ narazíte a jejich volby: </para> <itemizedlist> <listitem><para> <emphasis role="bold">Standardní film</emphasis>: Vytvoøený pro promítání v kinì pøi 24fps. </para></listitem> <listitem><para> <emphasis role="bold">PAL video</emphasis>: Zaznamenáno PAL video kamerou s rychlostí 50 pùlsnímkù za sekundu. Pùlsnímek sestává jen z lichých nebo sudých øádkù daného snímku. Televize je navrŸena pro jejich støídavé zobrazování jako laciná forma analogové komprese. Lidské oko to pravdìpodobnì vykompenzuje, ale jakmile porozumíte prokládání, nauèíte se jej vidìt i v TV a uŸ si ji neuŸijete. Dva pùlsnímky <emphasis role="bold">netvoøí</emphasis> úplný snímek, protoŸe jsou zaznamenány s èasovou odchylkou 1/50 sekundy a proto se nekryjí, dokud je zde pohyb. </para></listitem> <listitem><para> <emphasis role="bold">NTSC Video</emphasis>: Zaznamenáno NTSC video kamerou s rychlostí 60000/1001 pùlsnímkù za sekundu, nebo 60 pùlsnímkù za sekundu v dobì pøed barevnou televizí. Jinak obdobné PAL. </para></listitem> <listitem><para> <emphasis role="bold">Animovaný film</emphasis>: Obvykle kreslený pøi 24 snímcích za sekundu, ale rovnìŸ bývá v nìkteré variantì prmìnné snímkové rychlosti. </para></listitem> <listitem><para> <emphasis role="bold">Poèítaèová grafika (CG)</emphasis>: MùŸe mít jakoukoli snímkovou rychlost, ale nìkteré jsou èastìj¹í neŸ jiné; 24 a 30 snímkù za sekundu jsou typické pro NTSC a 25 snímkù za sekundu zase pro PAL. </para></listitem> <listitem><para> <emphasis role="bold">Starý film</emphasis>: Rùzné niŸ¹í snímkové rychlosti. </para></listitem> </itemizedlist> </sect3> <sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material"> <title>Urèení zdrojového materiálu</title> <para> Filmy sestávající ze snímkù jsou nazývány progresivní, zatímco ty sloŸené z nezávislých pùlsnímkù buï prokládané, nebo jen video – aèkoli druhý termín je zavádìjící. </para> <para> Abychom to je¹tì zkomplikovali, nìkteré filmy mohou být smìsí v¹eho vý¹e uvedeného. </para> <para> NejdùleŸitìj¹ím rozdílem mezi v¹emi tìmito formáty je to, Ÿe základem nìkterých jsou snímky a jiných pùlsnímky. <emphasis role="bold">VŸdy</emphasis>, kdyŸ je film pøipravován pro promítání v televizi (vèetnì DVD), je pøeveden na pùlsnímky. Rùzné metody jak toho lze dosáhnout jsou souhrnnì nazývány "pulldown" a nechvalnì známé NTSC "3:2 telecine" je jednou z variant. Pokud nebyl základ va¹eho filmu rovnìŸ pùlsnímkový (se stejnou pùlsnímkovou rychlostí), máte film v jiném formátu, neŸ byl pùvodnì. </para> <itemizedlist> <title>Zde je nìkolik bìŸných typù pulldown:</title> <listitem><para> <emphasis role="bold">PAL 2:2 pulldown</emphasis>: Je nejhezèí z nich. KaŸdý snímek je zobrazován po dobu dvou pùlsnímkù tak, Ÿe se oddìlí liché a sudé øádky a zobrazují se støídavì. Pokud mìl originál 24 snímkù za sekundu, zrychlí se film o 4%. </para></listitem> <listitem><para> <emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown</emphasis>: KaŸdý 12 snímek je zobrazen po dobu tøí pùlsnímkù, místo dvou. To odstraní nevýhodu 4% zrychlení, ale znesnadní obrácený proces. Obvykle je pouŸíván pouze u hudební produkce, jelikoŸ zde by 4% zrychlení znatelnì po¹kodilo hudební záŸitek. </para></listitem> <listitem><para> <emphasis role="bold">NTSC 3:2 telecine</emphasis>: Snímky jsou zobrazovány po dobu 2 nebo 3 pùlsnímkù, èímŸ je dosaŸeno 2.5 krát vy¹¹í pùlsnímkové rychlosti, neŸ je originální snímková rychlost. Výsledek je dále velmi mírnì spomalen ze 60 pùlsnímkù za sekundu na 60000/1001 pùlsnímkù za sekundu, aby se dosáhlo NTSC pùlsnímkové rychlosti. </para></listitem> <listitem><para> <emphasis role="bold">NTSC 2:2 pulldown</emphasis>: PouŸívá se pro promítání 30fps materiálu na NTSC. Pìkné, stejnì jako 2:2 PAL pulldown. </para></listitem> </itemizedlist> <para> Existují rovnìŸ metody pro konverzi mezi NTSC a PAL vieem, ale to jiŸ je nad rámec této pøíruèky. Pokud se setkáte s takovým filmem a budete jej chtít enkódovat, bude pro vás nejlep¹í opatøit si jej v originálním formátu. Konverze mezi tìmito formáty je vysoce destruktivní a nelze ji èistì zvrátit, takŸe výsledek velmi utrpí, pokud je vytvoøen z konvertovaného materiálu. </para> <para> KdyŸ je video ukládáno na DVD, po sobì jdoucí páry pùlsnímkù jsou seskupovány do snímkù, dokonce i kdyŸ nejsou urèeny pro zobrazení ve stejném okamŸiku. Standard MPEG-2 pouŸitý na DVD a digitální televizi poskytuje moŸnost jak pro enkódování originálních progresivních snímkù, tak pro uloŸení informací do hlavièky snímku o poètu pùlsnímkù, po jejichŸ dobu by mìl být daný snímek zobrazován. Pokud je pouŸita tato metoda, film bývá èasto oznaèen jako "soft-telecined", jelikoŸ proces pouze øídí DVD pøehrávaè pro aplikaci pulldown na film spí¹e neŸ Ÿe mìní samotný film. Tento pøípad je velmi upøednostòován, jalikoŸ mùŸe být snadno zvrácen (ve skuteènosti ignorován) enkodérem a proto poskytuje maximální kvalitu. Mnoho DVD a televizních produkèních spoleèností v¹ak nepouŸívá vhodné enkódovací techniky, ale místo toho produkují filmy s "hard telecine", kdy jsou ve skuteènosti pùlsnímky duplikovány ve výsledném MPEG-2. </para> <para> Postupy pro tyto pøípady budou uvedeny <link linkend="menc-feat-telecine">pozdìji v této pøíruèce</link>. Prozatím si øekneme nìkolik návodù pro identifikaci o jaký typ materiálu jde: </para> <itemizedlist> <title>NTSC regiony:</title> <listitem><para> Pokud <application>MPlayer</application> pøi pøehrávání vypí¹e, Ÿe se snímková rychlost zmìnila na 24000/1001 a jiŸ se to nezmìní, pak se nejspí¹ jedná o progresivní obsah, který byl "soft telecinován". </para></listitem> <listitem><para> Pokud <application>MPlayer</application> ukazuje, Ÿe se snímková rychlost mìní tam a zpìt mezi 24000/1001 a 30000/1001 a nìkdy vidíte "combing", pak je zde nìkolik moŸností. Segmenty 24000/1001 fps mají témìø jistì "soft telecinovaný" progresivní obsah, ale 30000/1001 fps èásti mohou mít buï hard-telecined 24000/1001 fps obsah, nobo se jedná o 60000/1001 pùlsnímkù za sekundu NTSC video. PouŸijte stejný postup jako v následujících dvou pøípadech pro urèení který z nich to je. </para></listitem> <listitem><para> Pokud <application>MPlayer</application> neukáŸe zmìnu snímkové rychlosti a v¹echny snímky jsou zubaté, je vá¹ film ve formátu NTSC video s 60000/1001 pùlsnímky za sekundu. </para></listitem> <listitem><para> Pokud <application>MPlayer</application> neukáŸe zmìnu snímkové rychlosti a dva snímky z pìti vypadají zubatì, má va¹e video "hard telecinovaný" 24000/1001fps obsah. </para></listitem> </itemizedlist> <itemizedlist> <title>PAL regiony:</title> <listitem><para> Pokud není nikde vidìt Ÿádné zubatìní, je vá¹ film 2:2 pulldown. </para></listitem> <listitem><para> Pokud vidíte jak se objevuje a mizí zubatìní kaŸdou pùlsekundu, pak je vá¹ film 2:2:2:2:2:2:2:2:2:2:2:3 pulldown. </para></listitem> <listitem><para> Pokud je zubatìní vidìt stále, je to PAL video s 50 pùlsnímky za sekundu. </para></listitem> </itemizedlist> <note><title>Rada:</title> <para> <application>MPlayer</application> umí spomalit pøehrávání videa pomocí volby -speed. Zkuste pouŸít <option>-speed</option> 0.2 pro velmi pomalé pøehrávání a najdìte vzor, pokud jej nevidíte pøi plné rychlosti. </para> </note> </sect3> </sect2> <sect2 id="menc-feat-dvd-mpeg4-2pass"> <title>Pevný kvantizer vs. více prùchodù</title> <para> Enkódování va¹eho videa je moŸné provést v ¹iroké ¹kále kvality. S moderními video enkodéry a trochou pøedkodekové komprese (zmen¹ení a od¹umování) je moŸné dosáhnout velmi dobré kvality v 700 MB, pro 90-110 minut dlouhé ¹irokoúhlé video. Jinak lze v¹echna videa, snad kromì tìch nejdel¹ích, enkódovat v témìø perfektní kvalitì do 1400 MB. </para> <para> Jsou tøi pøístupy k enkódování videa: pevný datový tok (CBR), pevný kvantizer a víceprùchodový (ABR, neboli prùmìrovaný datový tok). </para> <para> Komplexnost snímkù ve filmu, a tím i poèet bitù potøebných pro jejich komprimaci, se mùŸe velmi li¹it od scény ke scénì. Moderní enkodéry se umí pøizpùsobit tìmto potøebám zmìnou datového toku. V jednoduchých reŸimìch, jako je CBR, v¹ak enkodéry neznají nároky na datový tok budoucích scén a tak nemohou pøekroèit poŸadovaný støední datový tok na dlouhou dobu. Pokroèilej¹í reŸimy, jako je víceprùchodové enkódování, umí vzít v potaz statistiky z pøedchozích reŸimù, coŸ odstraní vý¹e zmínìný problém. </para> <note><title>Poznámka:</title> <para> Vìt¹ina kodekù, které podporují ABR enkódování, podporují pouze dvouprùchodové enkódování, zatímco ostatní jako <systemitem class="library">x264</systemitem>, <systemitem class="library">XviD</systemitem> a <systemitem class="library">libavcodec</systemitem> podporují víceprùchodové enkódování, které s kaŸdým prùchodem trochu zlep¹í kvalitu, aèkoli toto zlep¹ení jiŸ není viditelné, nebo mìøitelné po asi ètvrtém prùchodu. V této sekci budeme povaŸovat dvouprùchodové a víceprùchodové enkódování za shodné. </para> </note> <para> V kaŸdém z tìchto reŸimù video kodek (jako je <systemitem class="library">libavcodec</systemitem>) rozbije videosnímek na makrobloky 16x16 pixelù a potom na kaŸdý makroblok aplikuje kvantizer. Èím je niŸ¹í kvantizer, tím je vy¹¹í kvalita a datový tok. Metoda, kterou enkodér filmu pouŸívá pro urèení jaký kvantizer pouŸít pro daný makroblok, se li¹í a je vysoce ovlivnitelná. (Toto je extrémní zjednodu¹ení daného procesu, ale je vhodné rozumìt základnímu principu.) </para> <para> Pokud nastavíte konstantní datový tok, bude videokodek enkódovat video tak, Ÿe zahodí detaily podle potøeby a jen tolik, aby se udrŸel pod zadaným datovým tokem. Pokud je vám opravdu lhostejná velikost souboru, mùŸete také pouŸít CBR a nastavit datový tok na nekoneèno. (V praxi to znamená nastavit hodnotu tak vysoko, aby nijak neomezovala, jako 10000 Kbitù.) Bez reálného omezení datového toku pouŸije kodek nejniŸ¹í moŸný kvantizer pro kaŸdý makroblok (ten je nastaven pomocí <option>vqmin</option> pro <systemitem class="library">libavcodec</systemitem>, kde je výchozí 2). Jakmile nastavíte dostateènì niŸ¹í datový tok, takŸe je kodek pøinucen pouŸít vy¹¹í kvantizer, pak témìø jistì sníŸíte kvalitu svého videa. Abyste se tomu vyhnuli, mìli byste zváŸit zmen¹ení videa podle postupu popsaného pozdìji v této pøíruèce. </para> <para> Pøi konstantním kvantizeru kodek pouŸívá kvantizer nastavený volbou <option>vqscale</option> (pro <systemitem class="library">libavcodec</systemitem>) na kaŸdý makroblok. Pokud chcete maximálnì kvalitní rip, opìt bez ohledu na datový tok, mùŸete pouŸít <option>vqscale=2</option>. To povede ke stejnému datovému toku a PSNR (odstup signál – ¹um) jako CBR s <option>vbitrate</option>=infinity a výchozím <option>vqmin</option> rovným 2. </para> <para> Problém s konstantní kvantizací je ten, Ÿe pouŸívá zadaný kvantizer a» to daný makroblok potøebuje èi nikoli. Je totiŸ moŸné pouŸít vy¹¹í kvantizer na makroblok bez obìtování viditelné kvality. Proè tedy plýtvat bity s nemístnì nízkým kvantizerem? Vá¹e CPU má tolik cyklù, kolik máte èasu, ale na harddisku máte jen urèitý poèet bitù. </para> <para> Pøi dvouprùchodovém enkódování se v prvním prùchodu projde film jakoby mìl být CBR, ale vlastnosti kaŸdého snímku se zaznamenají do logu. Tato data jsou pak pouŸita pøi druhém prùchodu pro inteligentní stanovení pouŸitého kvantizeru. V rychlých scénách nebo scénách s malým poètem detailù budou èastìji pouŸívány vy¹¹í kvantizery a v pomalých nebo detailních scénách zase niŸ¹í kvantizery. </para> <para> Pokud pouŸijete <option>vqscale=2</option>, plýtváte bity. Pokud pouŸijete <option>vqscale=3</option>, pak nedostanete nejkvalitnìj¹í moŸný rip. Dejme tomu, Ÿe ripujete DVD pøi <option>vqscale=3</option> a výsledkem je 1800Kbit. Pokud provedete dvouprùchodové enkódování s <option>vbitrate=1800</option>, výsledné video bude mít <emphasis role="bold">vy¹¹í kvalitu</emphasis> pøi <emphasis role="bold">stejném datovém toku</emphasis>. </para> <para> JelikoŸ jsme vás nyní pøesvìdèili, Ÿe dvouprùchodový reŸim je správná volba, skuteènou otázkou je, jaký datový tok pouŸít? Odpovìï je, Ÿe není jediná odpovìï. Ideálnì byste mìli zvolit takový datový tok, který zajistí nejlep¹í rovnováhu mezi kvalitou a velikostí souboru. Ten bude pokaŸdé jiný v závislosti na zdrojovém videu. </para> <para> Pokud na velikosti souboru nezáleŸí, pak je dobrý startovní mùstek pro rip s velmi vysokou kvalitou je kolem 2000 Kbitù plus-mínus 200 Kbitù. Pro rychlé akèní nebo vysoce detailní zdrojové video, nebo máte-li velmi kritické oko, se budete rozhodovat mezi 2400 nebo 2600. U nìkterých DVD nepoznáte rozdíl pøi 1400 Kbitech. Je vhodné experimentovat se scénami pøi rùzných datových tocích, abyste pro to dostali cit. </para> <para> Pokud se snaŸíte o urèitou velikost, budete muset nìjak spoèítat datový tok. Ale je¹tì pøedtím musíte zjistit, kolik místa byste mìli rezervovat pro zvukové(ou) stopy(u), takŸe byste si <link linkend="menc-feat-dvd-mpeg4-audio">je mìli ripnout</link> jako první. MùŸete si pak spoèítat datový tok pomocí následující rovnice: <systemitem>datový_tok = (poŸadovaná_velikost_v_Mbajtech - velikost_zvuku_v_Mbajtech) * 1024 * 1024 / délka_v_sek * 8 / 1000</systemitem> Napøíklad abyste nacpali dvouhodinový film na 702MB CD, se 60MB zvukovou stopou, bude muset být datový tok videa: <systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 = 740kbps (kilobitù za sekundu)</systemitem> </para> </sect2> <sect2 id="menc-feat-dvd-mpeg4-constraints"> <title>Omezení pro efektivní enkódování</title> <para> Ze samé podstaty komprese typu MPEG vyplývají urèitá omezení, která byste mìli ctít, pokud chcete maximální kvalitu. MPEG rozdìlí video na ètverce 16x16 nazývané makrobloky, které se skládají ze ètyø blokù 8x8 jasové (luma) sloŸky a dvou blokù 8x8 barevné (chroma) sloŸky v polovièním rozli¹ení (jeden pro osu èervená-cyan (modrozelená) a druhý pro osu modrá-Ÿlutá). Dokonce i kdyŸ ¹íøka a vý¹ka va¹eho videa nejsou násobky 16, pouŸije enkodér dostatek 16x16 makroblokù, aby pokryl celou oblast obrazu a zabere místo navíc, které pøijde vniveè. TakŸe chcete-li maximalizovat kvalitu pøi dané velikosti souboru, není dobrý nápad pouŸívat rozmìry které nejsou násobky 16. </para> <para> Vìt¹ina DVD má také rùznì velké èerné okraje videa. Ponechání tìchto ploch mùŸe rùzným zpùsobem sníŸit kvalitu. </para> <orderedlist> <listitem> <para> Komprese typu MPEG je rovnìŸ velmi závislá na plo¹ných frekvenèních transformacích, konkrétnì Diskrétní Kosinové Transformaci (DCT), která se podobá Fourierovì transformaci. Tento druh enkódování je efektivní na reprezentaci opakujících se vzorù a pozvolné pøechody, ale má potíŸe s ostrými pøechody. Chcete-li je enkódovat, musíte pouŸít mnoho bitù, jinak se objeví artefakty známé jako krouŸkování. </para> <para> Frekvenèní transformace (DCT) je provedena zvlá¹» pro kaŸdý makroblok (ve skuteènosti na kaŸdý blok), takŸe problém nastane pouze tehdy, je-li ostrý pøechod uvnitø bloku. Pokud va¹e èerné okraje zaèínají pøesnì na hranicích násobkù 16 pixelù, pak to není problém. Èerné okraje jsou v¹ak na DVD jen málokdy pìknì umístìny, takŸe je v praxi budete muset vŸdy odstranit, abyste se vyhnuli tomuto problému. </para> </listitem> </orderedlist> <para> Navíc k plo¹nì frekvenèním transformacím pouŸívá komprese typu MPEG vektory pohybu k popisu zmìn od jednoho snímku ke druhému. Vektory pohybu pøirozenì pracují ménì efektivnì s novým obsahem pøicházejícím zpoza okrajù snímku, protoŸe ten nebyl pøítomen na pøedchozím snímku. Dokud se obraz roz¹iøuje smìrem k okrajùm snímku, nemají s tím vektory pohybu Ÿádný problém, ale jsou-li zde èerné okraje, mùŸe problém nastat: </para> <orderedlist continuation="continues"> <listitem> <para> Komprese typu MPEG ukládá pro kaŸdý makroblok vektor, identifikující která èást pøedchozího obrázku by mìla být zkopírována onoho makrobloku jako základ pro predikci následujícího snímku. Pouze zbývající odli¹nosti musí být enkódovány. Pokud makroblok pøesahuje okraj obrázku a obsahuje èást èerného okraje, vektory pohybu z ostatních èástí obrázku pøepí¹í èerný okraj. To znamená mnoho bitù spotøebovaných buï na znovuzaèernìní, nebo se (spí¹) vektory pohybu nepouŸijí vùbec a v¹echny zmìny v tomto makrobloku se budou kódovat pøímo. Jinými slovy se velmi sníŸí efektivita enkódování. </para> <para> Tento problém nastává opìt jen v pøípadì, Ÿe èerné okraje nezaèínají na lince jejíŸ pozice je násobkem 16. </para> </listitem> <listitem> <para> Nakonec zde máme makroblok uvnitø obrázku do nìjŸ se posunuje objekt z okraje obrázku. Kódování typu MPEG neumí øíct "zkopíruj to co je na obrázku, ale ne èerný okraj." TakŸe se zkopíruje i èerný okraj a spotøebuje se spousta bitù na enkódování té èásti obrázku, která tu mìla být. </para> <para> Pokud se obrázek dostane úplnì ven z enkódované oblasti, má MPEG speciální optimalizace pro opakované kopírování pixelù na okraj obrázku pokud pøijde vektor pohybu zvenèí enkódované oblasti. Tato vlastnost bude k nièemu, pokud má film èerné okraje. Na rozdíl od problémù 1 a 2 zde umístìní okrajù na násobky 16 nepomùŸe. </para> </listitem> <listitem> <para> Navzdory tomu, Ÿe okraje jsou úplnì èerné a nikdy se nemìní, je zde vŸdy alespoò minimální datový tok spotøebovaný na vìt¹í mnoŸství makroblokù. </para> </listitem> </orderedlist> <para> Ze v¹ech tìchto dùvodù doporuèujeme zcela odstranit èerné okraje. Dále, pokud je na okraji obrázku oblast se ¹umem/zkreslením, jejím odstøiŸením se je¹tì zvý¹í efektivita enkódování. Videofilní puristé, kteøí chtìjí zùstat tak blízko originálu, jak je to jen moŸné, mohou protestovat proti tomuto oøezání, ale pokud nehodláte enkódovat s konstantním kvantizerem, kvalita kterou dostanete díky oøezání znatelnì pøevý¹í mnoŸství ztracených informací na okrajích. </para> </sect2> <sect2 id="menc-feat-dvd-mpeg4-crop"> <title>Oøezávání a ¹kálování</title> <para> Pøipomeòme z pøedchozí èásti, Ÿe koneèná velikost obrázku by mìla mít jak ¹íøku, tak vý¹ku beze zbytku dìlitelnou 16, èehoŸ mùŸete dosáhnout pomocí oøezání, ¹kálování, nebo kombinací obou. </para> <para> Pøi oøezávání byste se mìli drŸet nìkolika zásad, abyste pøede¹li po¹kození svého filmu. Normální YUV formát 4:2:0, ukládá barvonosnou (chroma) informaci podvzorkovanou, èili hustota vzorkování barvy je polovièní oproti jasové (èernobílé) sloŸce v obou smìrech. Prohlédnìte si tento diagram, kde L oznaèuje vzorkovací body jasu a C barvy. </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> Jak vidíte, øádky i sloupce obrázku se pøirozenì párují. Pøi oøezávání tedy <emphasis>musí</emphasis> být hodnoty odsazení i rozmìrù sudá èísla. Pokud nejsou, nebude se barvonosná informace zprávnì krýt s jasovou. Teoreticky lze støíhat s lichým odsazením, ale to vyŸaduje pøevzorkování barvy, coŸ je potenciálnì ztrátový úkon a není podporován filtrem crop. </para> <para> Dále, prokládané video je vzorkováno takto: </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">Horní pùlsnímek</entry> <entry namest="col9" nameend="col16">Spodní pùlsnímek</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> Jak vidíte, tak se vzor opakuje kaŸdé 4 øádky, takŸe pøi oøezu prokládaného videa musí být odsazení v ose y a vý¹ka beze zbytku delitelné 4. </para> <para> Nativní DVD rozli¹ení je 720x480 pro NTSC a 720x576 pro PAL, ale je zde je¹tì pøíznak pomìru stran, který udává, zda se jedná o obrazovku (full-screen)(4:3), nebo ¹irokoúhlý film (wide-screen)(16:9). Mnoho (jestli ne vìt¹ina) ¹irokoúhlých DVD není pøesnì 16:9, ale bude buï 1.85:1 anebo 2.35:1 (cinescope). To znamená, Ÿe zde budou ve videu èerné okraje, které bude nutné odstøihnout. </para> <para> <application>MPlayer</application> poskytuje filtr pro detekci potøebného oøezu, který stanoví oøezový obdélník (<option>-vf cropdetect</option>). Spus»te <application>MPlayer</application> s volbou <option>-vf cropdetect</option> a on vám vypí¹e nastavení filtru crop pro oøezání okrajù. Mìli byste nechat bìŸet film tak dlouho, dokud není pouŸita celá plocha obrázku, abyste dostali správné hodnoty crop. </para> <para> Pak otestujte získané hodnoty z pøíkazového øádku <application>MPlayer</application>u vypisované <option>cropdetect</option>em a upravte obdélník podle potøeby. V tom vám pomùŸe filtr <option>rectangle</option>, který umoŸòuje interaktivnì nastavit obdélník pro vá¹ film. Nezapomeòte zachovat vý¹e uvedená doporuèení, abyste nepo¹kodili barevnou mapu. </para> <para> ©kálování je obvykle nevhodné. ©kálování prokládaného videa je obtíŸné a pokud chcete zachovat prokládání, mìli byste se mu úplnì vyhnout. Pokud mebudete ¹kálovat, ale budete chtít pouŸívat rozmìry v násobcích 16, budete muset oøíznout i èást obrazu. Neponechávejte ani malé èerné okraje, jelikoŸ se velmi ¹patnì kódují! </para> <para> ProtoŸe MPEG-4 pouŸívá makrobloky 16x16, mìli byste se ujistit, Ÿe oba rozmìry videa jsou násobkem 16, jinak sníŸíte kvalitu, zvlá¹» pøi nízkých datových tocích. MùŸete to zajistit zaokrouhlením ¹íøky a vý¹ky oøezového obdélníku dolù na nejbliŸ¹í násobek 16. Jak jsme jiŸ øekli, mìli byste pøi oøezávání zvý¹it odsazení (offset) v ose y o polovinu rozdílu mezi starou a novou vý¹kou, takŸe bude výsledné video bráno ze støedu snímku. Z dùvodu principu vzorkování DVD videa se ujistìte, Ÿe je odsazení sudé èíslo. (Popravdì, pøijmìte jako pravidlo, nikdy nepouŸívat liché hodnoty pro jakýkoli z parametrù pøi oøezávání a ¹kálování videa.) Pokud nechcete zahodit tìch nìkolik pixelù navíc, mùŸete místo toho radìji zmìnit velikost videa (¹kálovat). Na to se podíváme v pøíkladu níŸe. V praxi mùŸete nechat filtr <option>cropdetect</option> udìlat v¹echnu práci zmínìnou vý¹e, jelikoŸ má volitelný parametr <option>round</option> (zaokrouhlení), jehoŸ výchozí hodnota je 16. </para> <para> RovnìŸ buïte opatrní na "napùl èerné" pixely na okrajích. VŸdy je rovnìŸ odstøihnìte, jinak zde budete plýtvat bity, které mùŸete pouŸít jinde. </para> <para> Poté co provedete v¹e, co jsme si doposud øekli, budete mít video, které asi nebude právì 1.85:1 nebo 2.35:1, ale nìkde poblíŸ. MùŸete spoèítat nový pomìr stran ruènì, ale <application>MEncoder</application> nabízí volbu pro <systemitem class="library">libavcodec</systemitem> nazývanou <option>autoaspect</option>, která to za vás udìlá. Nezvìt¹ujte video jen proto, abyste dosáhli ètvercových pixelù, pokud je vám milé místo na disku. ©kálování by mìlo být provedeno pøi pøehrávání, kdy pøehrávaè pouŸije pomìr stran uloŸený v AVI pro zaji¹tìní správného rozli¹ení. Nane¹tìstí ne v¹echny pøehrávaèe uplatòují tuto auto¹kálovací informaci, takŸe mùŸete pøece jen chtít ¹kálovat. </para> </sect2> <sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate"> <title>Volba rozli¹ení a datového toku</title> <para> Pokud nebudete enkódovat v reŸimu konstantního kvantizeru, musíte zvolit velikost datového toku. Koncepce datového toku je velmi jednoduchá. Je to (prùmìrný) poèet bitù spotøebovaný na jednu sekundu filmu. Normálnì se datový tok udává v kilobitech (1000 bitù) za sekundu. Velikost va¹eho filmu je pak datový tok násobený délkou filmu, plus malá reŸie (viz napøíklad sekci <link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">kontejner AVI</link>). Ostatní parametry jako je ¹kálování, oøezání atd. <emphasis role="bold">nezmìní</emphasis> velikost souboru, pokud zároveò nezmìníte datový tok! </para> <para> Datový tok se <emphasis role="bold">nemìní</emphasis> proporcionálnì k rozli¹ení. Jinými slovy, soubor 320x240 pøi 200 kbit/sek nebude mít stejnou kvalitu jako ten samý film pøi 640x480 a 800 kbitech/sek! Jsou pro to dva dùvody: <orderedlist> <listitem><para> <emphasis role="bold">Dojem</emphasis>: MPEG artefakty jsou patrné tím více, èím jsou více zvìt¹ené! Artefakty se objevují ve velikosti blokù (8x8). Va¹e oko neodhalí chyby ve 4800 malých blocích tak snadno jako ve 1200 velkých (pøedpokládáme, Ÿe oboje budete ¹kálovat na celou obrazovku). </para></listitem> <listitem><para> <emphasis role="bold">Teoretický</emphasis>: KdyŸ zmen¹íte obrázek, ale stále pouŸijete stejnou velikost blokù (8x8) pro frekvenèní prostorovou transformaci, pøesunete více dat do oblasti vy¹¹ích frekvencí. Zjednodu¹enì øeèeno, kaŸdý pixel nyní obsahuje více detailù, neŸ pøedtím. Dokonce i kdyŸ pøipustíme, Ÿe jste zmen¹ili obraz obsahující 1/4 informací o daném prostoru, stále mùŸe obsahovat mnoho detailù v daném frekvenèním pásmu (pøedpokládáme, Ÿe vysoké frekvence byly v originálním 640x480 snímku oøezány). </para></listitem> </orderedlist> </para> <para> Døívìj¹í návody doporuèovaly volit datový tok a rozli¹ení rozpoèítáním bitù na pixely, ale to obvykle není správnì díky ze zmínìných dùvodù. Mnohem lep¹ím se zdá odhad, Ÿe je datový tok úmìrný ètverci rozli¹ení, takŸe 320x240 pøi 400 kbit/sek by mìlo být srovnatelné s 640x480 pøi 800 kbit/sek. Tato úmìra v¹ak nebyla ovìøena teoreticky ani empiricky. Navíc, vezmeme-li v úvahu to, Ÿe se filmy velmi li¹í ¹umem, poètem detailù, mnoŸstvím pohybu atd, je beznadìjné vytvoøit obecná doporuèení pro poèet bitù na délku diagonály (analogie bitù na pixel, av¹ak pouŸívá plochu obrazu). </para> <para> Tolik k obtíŸnosti volby datového toku a rozli¹ení. </para> <sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute"> <title>Výpoèet rozli¹ení</title> <para> Nejdøív byste si mìli spoèítat enkódovaný pomìr stran: <systemitem>PSo = (©o x (PSa / PRdvd )) / Vo</systemitem> <itemizedlist> <title>kde:</title> <listitem><para> ©o a Vo jsou ¹íøka a vý¹ka oøezaného videa, </para></listitem> <listitem><para> PSa je zobrazovaný pomìr stran, jeŸ je obvykle 4/3 nebo 16/9, </para></listitem> <listitem><para> PRdvd je pomìr pixelù v DVD, který je roven 1.25=(720/576) pro DVD v PALu a 1.5=(720/480) pro DVD v NTSC, </para></listitem> </itemizedlist> </para> <para> Pak si mùŸete spoèítat rozli¹ení X a Y podle urèitého faktoru kvality komprese (CQ): <systemitem>RozY = INT(SQRT( 1000*Datový_tok/25/PSo/CQ )/16) * 16</systemitem> a <systemitem>RozX = INT( RozY * PSo / 16) * 16</systemitem> </para> <para> Dobøe, ale co je ten CQ? CQ odpovídá poètu bitù na pixel a na snímek v zakódování. Jinými slovy, èím vy¹¹í je CQ, tím niŸ¹í je ¹ance uvidìt enkódovací artefakty. Pokud ov¹em máte cílový rozmìr va¹eho filmu (1 nebo 2 CD napøíklad), máte jen omezené mnoŸství bitù, které mùŸete spotøebovat; takŸe je nutné najít vhodný kompromis mezi komprimovatelností a kvalitou. </para> <para> CQ závisí jak na datovém toku, tak na rozli¹ení filmu. Abyste zvý¹ili CQ, obvykle zmen¹íte daný film, takŸe je datový tok spoèítán ve funkci cílové velikosti a délky filmu, které jsou konstantní. CQ pod 0.18 obvykle vede k velmi ètvereèkovanému obrazu, protoŸe není dostatek bitù pro zakódování informací kaŸdého makrobloku (MPEG4, stejnì jako mnoho jiných kodekù seskupuje pixely do blokù pøi komprimaci obrázku; pokud není dostatek bitù, jsou viditelné hranice tìchto blokù). Proto je rozumné volit CQ v rozmezí 0.20 aŸ 0.22 pro rip na 1 CD a 0.26 aŸ 0.28 pro 2 CD. </para> <para> Prosíme berte v potaz, Ÿe CQ je jen informaèní pomùcka závisející na enkódovaném obsahu. CQ okolo 0.18 mùŸe být dostateènì dobrý pro Bergmana, na rozdíl od filmu jako je Matrix, který obsahuje mnoho rychlých scén. Na druhou stranu je zbyteèné zvy¹ovat CQ vý¹ neŸ 0.30, jelikoŸ budete plýtvat bity za minimální zisk kvality. </para> </sect3> </sect2> <sect2 id="menc-feat-dvd-mpeg4-filtering"> <title>Filtrování</title> <para> Nauèit se pouŸívat video filtry <application>MEncoder</application>u je základem pro produkci dobrých videí. Ve¹keré úpravy videa jsou provádìny pomocí filtrù -- oøezání, ¹kálování, úprava barev, odstranìní ¹umu, zaostøení, odstranìní prokladu, telecinování, inverzní telecine a deblokování, abychom jmenovali alespoò nìkteré. Spolu s vyèerpávajícím poètem podporovaných vstupních formátù je nabídka dostupných filtrù v <application>MEncoder</application>u jednou z jeho hlavních výhod oproti podobným aplikacím. </para> <para> Filtry jsou nahrávány v øadì za pouŸití volby -vf : <screen>-vf filtr1=volby,filtr2=volby,...</screen> Vìt¹ina filtrù pøebírá nìkolik èíselných voleb oddìlených dvojteèkou, ale syntaxe voleb se li¹í od filtru k filtru, takŸe si pøeètìte manuál pro více informací o filtru který chcete pouŸít. </para> <para> Filtry zpracovávají video v poøadí, v jakém jsou naèteny. Napøíklad následující øada: <screen>-vf crop=688:464:12:4,scale=640:464</screen> nejprve vyøízne z obrázku oblast 688x464 s levým horním rohem v bodì (12,4) a výsledek pak zmen¹í na 640x464. </para> <para> Urèité filtry potøebují být nahrány na zaèátku, nebo co nejblíŸ zaèátku øetìzu filtrù, aby mohly vyuŸívat informace z video dekodéru, které budou ztraceny nebo znehodnoceny ostatními filtry. NejdùleŸitìj¹í pøíklady jsou <option>pp</option> (postprocesing, pouze pokud provádí deblok nebo dering operace), <option>spp</option> (dal¹í postprocesor pro odstranìní MPEG artefaktù), <option>pullup</option> (inverzní telecine) a <option>softpulldown</option> (pro konverzi soft telecine na hard telecine). </para> <para> V¹eobecnì byste mìli filtrovat co nejménì je to moŸné, abyste zùstali co nejblíŸe DVD originálu. Oøezání je èasto nutné (vysvìtleno vý¹e), ale vyhnìte se ¹kálování videa. Aèkoli je zmen¹ení obèas preferováno pøed pouŸitím vy¹¹ích kvantizérù. My se musíme vyvarovat obou tìchto pøípadù: pamatujte, Ÿe jsme se jiŸ na zaèátku rozhodli obìtovat bity za kvalitu. </para> <para> RovnìŸ neupravujte gamu, kontrast, jas, atd. Co vypadá dobøe na va¹í obrazovce, nemusí vypadat dobøe na ostatních. Tyto korekce by mìly být provádìny výhradnì pøi pøehrávání. </para> <para> Jednu vìc byste v¹ak udìlat mohli, a to protáhnout video velmi lehkým od¹umovacím filtrem, jako je <option>-vf hqdn3d=2:1:2</option>. Zde je opìt dùvodem vyuŸití bitù k lep¹ímu úèelu: proè jimi plýtvat na enkódování ¹umu, kdyŸ si mùŸete ¹um pøidat aŸ pøi pøehrávání? Zvý¹ením parametrù pro <option>hqdn3d</option> dále zvý¹í komprimovatelnost, ale pokud zvý¹íte hodnoty pøíli¹, riskujete zhor¹ení viditelnosti obrazu. Vý¹e zmínìné hodnoty (<option>2:1:2</option>) jsou dost konzervativní; mìli byste si zaexperimentovat s vy¹¹ími hodnotami a zhodnotit výsledky sami. </para> </sect2> <sect2 id="menc-feat-dvd-mpeg4-interlacing"> <title>Prokládání a Telecine</title> <para> Témìø ve¹keré filmy jsou natáèeny pøi 24 snímcích/s. JelikoŸ NTSC má snímkovou rychlost 30000/1001 snímkù/s, je tøeba provést úpravu tìchto 24 snímkù/s videí, aby mìly správnou NTSC snímkovou rychlost. Tato úprava se jmenuje 3:2 pulldown a obecnì je známa jako telecine (protoŸe je pulldown èasto provádìn bìhem pøenosu filmu na video) a, jednodu¹e øeèeno, pracuje tak, Ÿe se film zpomalí na 24000/1001 snímkù/s a kaŸdý ètvrtý snímek se zopakuje. </para> <para> Naopak Ÿádné speciální úpravy se neprovádìjí videu pro PAL DVD, která bìŸí pøi 25 snímcích/s. (Technicky lze na PAL provést telecine, tzv. 2:2 pulldown, ale v praxi se nepouŸívá.) Film s 24 snímky/s je jednodu¹e pøehráván rychlostí 25 snímkù/s. Výsledkem je, Ÿe video bìŸí o nìco rychleji, ale pokud nejste vetøelec, tak si rozdílu ani nev¹imnete. Vìt¹ina filmù má navíc vý¹kovì korigovaný zvuk, takŸe pøi pøehrávání 25 snímkù/s v¹e zní jak má i pøesto, Ÿe zvuk (a proto i celé video) má o 4% krat¹í dobu pøehrávání neŸ NTSC DVD. </para> <para> JelikoŸ video na PAL DVD nebylo upravováno, nemusíte si dìlat starosti s jeho snímkovou rychlostí. Zdroj má 25 snímkù/s, vá¹ rip také. Pokud ov¹em ripujete NTSC DVD film, musíte provést inverzní telecine. </para> <para> Filmy toèené rychlostí 24 snímkù/s jsou na NTSC DVD uloŸeny buï jako 30000/1001 po telecine, nebo jako progresivní (neprokládaný) se snímkovou 24000/1001 snímkù/s, na kterých by mìl provést telecine DVD pøehrávaè za letu. Není to ale zákon: nìkteré TV série jsou prokládané (napø. Buffy Lovec upírù), zatímco jiné jsou porùznu neprokládané nebo prokládané (napø. Andìl, nebo 24 hodin). </para> <para> Doporuèujeme, abyste si pøeèetli sekci o tom <link linkend="menc-feat-telecine">Jak si poradit s telecine a prokladem na NTSC DVD</link> a nauèili se jak vyuŸít rùzné moŸnosti. </para> <para> Pokud ov¹em vìt¹inou ripujete pouze filmy, nejspí¹ se setkáváte s neprokládaným nebo prokládaným videem 24 snímkù/s. V tom pøípadì mùŸete pouŸít <option>pullup</option> filtr <option>-vf pullup,softskip</option>. </para> </sect2> <sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced"> <title>Enkódování prokládaného videa</title> <para> Pokud je film, který chcete enkódovat, prokládaný (NTSC video nebo PAL video), budete si muset vybrat, zda jej chcete "odproloŸit" nebo ne. Zatímco odstranìní prokladu uèiní vá¹ film pouŸitelným na progresivnì vykreslovaných zobrazovaèích jako jsou poèítaèové monitory a projektory. Cenou za to je, sníŸení rychlosti z 50 nebo 60000/1001 pùlsnímkù za sekundu na 25 nebo 30000/1001 snímkù za sekundu a zhruba polovina informací bude z va¹eho filmu ztracena ve scénách s významným mnoŸstvím pohybu. </para> <para> Proto pokud enkódujete ve vysoké kvalitì pro archivaèní úèely, doporuèujeme ponechat film prokládaný. VŸdy mùŸete provést odstranìní prokladu pøi pøehrávání pokud zobrazujete na progresivním zaøízení a pøehrávaèe v budoucnosti budou schopny odstraòovat proklad v plné pùlsnímkové rychlosti, èili odvozovat 50 nebo 60000/1001 úplných snímkù za sekundu z prokládaného videa. </para> <para> KdyŸ pracujete s prokládaným videem, musíte zvlá¹tì dbát na: </para> <orderedlist> <listitem><para> Vý¹ka a svislé odsazení pro oøezání musí být násobkem 4. </para></listitem> <listitem><para> Jakékoli svislé ¹kálování musí být provedeno v prokládaném reŸimu. </para></listitem> <listitem><para> Postprocesní a od¹umovací filtry nemusí pracovat podle oèekávání, dokud nezaøídíte, aby zpracovávaly najednou pouze jeden pùlsnímek a mohou vám po¹kodit video pøi nesprávném pouŸití. </para></listitem> </orderedlist> <para> S vìdomím tìchto souvislostí vám pøedkládáme první pøíklad: </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> Pov¹imnìte si voleb <option>ilmv</option> a <option>ildct</option>. </para> </sect2> <sect2 id="menc-feat-dvd-mpeg4-audio"> <title>Zvuk</title> <para> Zvuk je mnohem jednodu¹¹í problém k øe¹ení: pokud prahnete po kvalitì, prostì jej nechte tak jak je. Dokonce i AC3 5.1 datové proudy mají nanejvý¹ 448Kbitù/s a stojí za kaŸdý bit. MoŸná jste v poku¹ení pøevést zvuk do Ogg Vorbis pøi vysoké kvalitì, ale jen proto, Ÿe dnes nemáte A/V receiver pro hardwarové dekódování AC3 neznamená, Ÿe jej nebudete mít zítra. Pøipravte své DVD ripy zachováním AC3 datových proudù. Datový proud AC3 mùŸete zachovat buï jeho zkopírováním pøímo do video proudu <link linkend="menc-feat-mpeg4">bìhem enkódování</link>. Také mùŸete extrahovat AC3 proud, abyste jej pak namixovali do nosièù jako je NUT nebo Matroska. <screen>mplayer <replaceable>zdrojový_soubor.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>zvuk.ac3</replaceable></screen> vytáhne do souboru <replaceable>zvuk.ac3</replaceable> zvukovou stopu èíslo 129 ze souboru <replaceable>zdrojový_soubor.vob</replaceable> (NB: DVD VOB soubory obvykle pouŸívají odli¹né èíslování audia, coŸ znamená, Ÿe VOB zvuková stopa 120 je druhou zvukovou stopou v souboru). </para> <para> Nìkdy ov¹em opravdu nemáte jinou moŸnost neŸ dále zkomprimovat zvuk, aby vám zbylo více bitù na video. Vìt¹ina lidí volí komprimaci buï pomocí MP3 nebo Vorbis audio kodekù. Zatímco ten druhý je efektivnìj¹í z prostorového hlediska, MP3 je lépe podporován hardwarovými pøehrávaèi, aèkoli èasy se mìní. </para> <para> Nejdøíve ze v¹eho budete muset pøevést DVD zvuk do WAV souboru, který pak pouŸije zvukový kodek jako vstup. Napøíklad: <screen>mplayer <replaceable>zdrojový_soubor.vob</replaceable> -ao pcm:file=<replaceable>výsledný_zvuk.wav</replaceable> -vc dummy -aid 1 -vo null</screen> vylije druhou zvukovou stopu ze souboru <replaceable>zdrojový_soubor.vob</replaceable> do souboru <replaceable>výsledný_zvuk.wav</replaceable>. Mìli byste normalizovat zvuk pøed enkódováním, protoŸe DVD zvukové stopy jsou obvykle nahrávány pøi nízkých hlasitostech. MùŸete napøíklad pouŸít nástroj <application>normalize</application>, který je k dispozici ve vìt¹inì distribucí. Pokud pouŸíváte Windows, stejnou práci udìlá nástroj jako <application>BeSweet</application>. Komprimovat budete buï ve Vorbisu nebo MP3. Napøíklad: <screen>oggenc -q1 <replaceable>cílový_zvuk.wav</replaceable></screen> provede enkódování <replaceable>cílového_zvuku.wav</replaceable> s kvalitou 1, která pøibliŸnì odpovídá 80Kb/s a je to minimální kvalita na kterou byste mìli enkódovat, pokud vám záleŸí na kvalitì. Poznamenejme, Ÿe <application>MEncoder</application> v souèasnosti neumí muxovat Vorbis zvukové stopy do výstupního souboru, protoŸe podporuje pouze AVI a MPEG kontejnery jako výstup. Pro oba platí, Ÿe nìkteré pøehrávaèe mohou mít problémy s udrŸením audio/video synchronizace, pokud je pøítomen VBR zvuk jako je Vorbis. Nemìjte obavy, v tomto dokumentu vám ukáŸeme, jak to lze udìlat pomocí programù tøetích stran. </para> </sect2> <sect2 id="menc-feat-dvd-mpeg4-muxing"> <title>Muxování (multiplexování)</title> <para> Nyní, kdyŸ máte své video enkódované, budete jej nejspí¹ chtít muxovat s jedním nebo více zvukovými stopami do nosného filmového formátu, jako je AVI, MPEG, Matroska nebo NUT. <application>MEncoder</application> je zatím schopen zvuk a video zapracovat pouze do nosných formátù MPEG a AVI. Napøíklad: <screen>mencoder -oac copy -ovc copy -o <replaceable>výstupní_film.avi</replaceable> -audiofile <replaceable>vstupní_audio.mp2</replaceable> <replaceable>vstupní_video.avi</replaceable></screen> To by mìlo slouèit video soubor <replaceable>vstupní_video.avi</replaceable> a zvukový soubor <replaceable>vstupní_audio.mp2</replaceable> do AVI souboru <replaceable>výstupní_film.avi</replaceable>. Tento pøíkaz pracuje s MPEG-1 layer I, II a III (známým jako MP3) zvukem, WAV a také nìkolika dal¹ími formáty zvuku. </para> <para> <application>MEncoder</application> obsahuje experimentální podporu pro <systemitem class="library">libavformat</systemitem>, coŸ je knihovna z projektu FFmpeg, která podporuje muxování a demuxování celé øady nosných formátù. Napøíklad: <screen>mencoder -oac copy -ovc copy -o <replaceable>výstupní_film.asf</replaceable> -audiofile <replaceable>vstupní_audio.mp2</replaceable> <replaceable>vstupní_video.avi</replaceable> -of lavf -lavfopts format=asf</screen> To provede stejnou èinnost jako pøedchozí pøíklad, av¹ak výstupním formátem bude ASF. Prosím berte na vìdomí, Ÿe tato podpora je velmi experimentální (ale de ode dne lep¹í) a bude funkèní pouze pokud jste zkompilovali <application>MPlayer</application> s podporou pro <systemitem class="library">libavformat</systemitem> (coŸ znamená, Ÿe pøedkompilovaná binární verze nebude vìt¹inou fungovat). </para> <sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations"> <title>Limitace nosného formátu AVI</title> <para> Aèkoli je to po MPEG-1 nejpodporovanìj¹í nosný formát, má AVI i jisté zásadní nedostatky. Snad nejviditelnìj¹í je reŸie. Na kaŸdý chunk AVI souboru je 24 bajtù ztraceno na hlavièky a index. To se projeví asi 5 MP na hodinu, neboli 1-2.5% prodlouŸení 700 MB filmu. Nevypadá to jako mnoho, ale mùŸe to znamenat rozdíl mezi moŸností pouŸít video pøi 700 kbitech/s nebo 714 kbitech/s a tady se kaŸdý bit projeví na kvalitì. </para> <para> Navíc k této neefektivitì má AVI také následující hlavní omezení: </para> <orderedlist> <listitem> <para> MùŸe být uchováván pouze obsah s konstantní snímkovou rychlostí. To je zvlá¹tì omezující, kdyŸ má pùvodní materiál, který chcete enkódovat, smí¹ený obsah. Napøíklad smìs NTSC videa a filmového materiálu. JistìŸe jsou zde cestièky, které umoŸní uloŸit obsah se smí¹enou snímkovou rychlostí v AVI, ale ty zvy¹ují (jiŸ tak velkou) reŸii pìtinásobnì nebo víc, proto nejsou praktické. </para> </listitem> <listitem> <para> Zvuk v AVI musí mít buï konstantní datový tok (CBR) nebo konstantní velikost rámce (èili v¹echny rámce se dekódují na stejný poèet vzorkù). Nane¹tìstí ten nejefektivnìj¹í kodek, Vorbis, nesplòuje ani jeden z tìchto poŸadavkù. Pokud tedy plánujete uloŸit svùj film do AVI, budete muset pouŸít ménì efektivní kodek, jako MP3 nebo AC3. </para> </listitem> </orderedlist> <para> Z vý¹e uvedených dùvodù <application>MEncoder</application> zatím nepodporuje promìnnou snímkovou rychlost ani enkódování do Vorbisu. Nemusíte to v¹ak povaŸovat za omezení, jestliŸe je <application>MEncoder</application> jediným nástrojem pro va¹e enkódování. Nakonec je moŸné pouŸít <application>MEncoder</application> pouze pro enkódování videa a pak pouŸít externí nástroje pro enkódování zvuku a namuxování do jiného nosného formátu. </para> </sect3> <sect3 id="menc-feat-dvd-mpeg4-muxing-matroska"> <title>Muxování do nosného formátu Matroska</title> <para> Matroska je svobodný a otevøený standard nosného formátu, zamìøený na nabídku mnoha pokroèilých vlastností, které star¹í nosné formáty, jako AVI, nemohou poskytnout. Napøíklad Matroska podporuje zvuk s promìnným datovým tokem (VBR), promìnné snímkové rychlosti (VFR), kapitoly, pøílohy souborù, kód pro detekci chyb (EDC) a moderní A/V kodeky jako "Advanced Audio Coding" (AAC), "Vorbis" nebo "MPEG-4 AVC" (H.264), z nichŸ Ÿádný nelze pouŸít v AVI. </para> <para> Nástroje pro vytváøení Matroska souborù jsou souhrnnì nazvány <application>mkvtoolnix</application> a jsou dostupné pro vìt¹inu Unixových platforem a stejnì tak <application>Windows</application>. ProtoŸe je Matroska otevøený standard, mùŸete najít jiné nástroje, které vám lépe padnou, ale protoŸe mkvtoolnix je nejroz¹íøenìj¹í a je podporován pøímo Matroska týmem, pokryjeme jen jejich pouŸití. </para> <para> Asi nejsnaz¹í zpùsob, jak zaèít s Matroskou je pouŸít <application>MMG</application>, grafickou nadstavbu dodávanou s <application>mkvtoolnix</application> a øídit se <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">návodem k mkvmerge GUI (mmg)</ulink> </para> <para> MùŸete rovnìŸ muxovat zvukové a video soubory z pøíkazového øádku: <screen>mkvmerge -o <replaceable>výstup.mkv</replaceable> <replaceable>vstupní_video.avi</replaceable> <replaceable>vstupní_audio1.mp3</replaceable> <replaceable>vstupní_audio2.ac3</replaceable></screen> To spojí video soubor <replaceable>vstupní_video.avi</replaceable> a dva zvukové soubory <replaceable>vstupní_audio1.mp3</replaceable> a <replaceable>vstupní_audio2.ac3</replaceable> do Matroska souboru <replaceable>výstup.mkv</replaceable>. Matroska, jak jsme jiŸ øekli, umí mnohem víc neŸ to, jako více zvukových stop (vèetnì doladìní audio/video synchronizace), kapitoly, titulky, støíhání, atd... Detaily naleznete v dokumentaci k tìmto aplikacím. </para> </sect3> </sect2> </sect1> <sect1 id="menc-feat-telecine"> <title>Jak naloŸit s telecine a prokladem v NTSC DVD</title> <sect2 id="menc-feat-telecine-intro"> <title>Pøedstavení</title> <formalpara> <title>Co je to telecine?</title> <para> Pokud moc nerozumíte tomu, co je napsáno v tomto dokumentu, doporuèujeme nav¹tívit tuto stránku: <ulink url="http://www.divx.com/support/guides/guide.php?gid=10">http://www.divx.com/support/guides/guide.php?gid=10</ulink> Na této adrese je srozumitelný a rozumnì vyèerpávající popis co je to telecine. </para></formalpara> <formalpara> <title>Poznámka k èíslùm.</title> <para> Mnoho dokumentù, vèetnì vý¹e odkazované pøíruèky, udává hodnotu pùlsnímkù za sekundu NTSC videa jako 59.94 a odpovídající snímky za sekundu jako 29.97 (pro telecinované a prokládané video) a 23.976 (pro neprokládané). Pro jednoduchost nìkteré dokumenty zaokrouhlují tyto hodnoty na 60, 30 a 24. </para></formalpara> <para> Pøesnì øeèeno jsou v¹echny tyto èísla pøibliŸná. Èernobílé NTSC video mìlo pøesnì 60 pùlsnímkù za sekundu, ale pozdìji byla zvolena hodnota 60000/1001, aby bylo moŸné pøidat barevná data a zùstat kompatibilní se starými èernobílými televizemi. Digitální NTSC (jak je na DVD) má rovnìŸ rychlost 60000/1001 pùlsnímkù za sekundu. Z toho vyplývá, Ÿe prokládané a telecinované video má 30000/1001 snímkù za sekundu; neprokládané video má 24000/1001 snímkù za sekundu. </para> <para> Star¹í verze dokumentace <application>MEncoder</application>u a mnoho zpráv v archivu konference hovoøí o 59.94, 29.97 a 23.976. V¹echna dokumentace <application>MEncoder</application>u byla aktualizována a pouŸívá zlomkových hodnot. Vy byste je mìli pouŸívat také. </para> <para> <option>-ofps 23.976</option> je nesprávnì. Místo toho byste mìli pouŸít <option>-ofps 24000/1001</option>. </para> <formalpara> <title>Jak je pouŸíváno telecine.</title> <para> Ve¹keré video urèené k zobrazení na NTSC televizi musí mít 60000/1001 pùlsnímkù za sekundu. Filmy vyrábìné pro televizi jsou èasto natáèeny pøímo ve 60000/1001 pùlsnímcích za sekundu, ale vìt¹ina filmù do kin je natáèena pøi 24 nebo 24000/1001 snímcích za sekundu. KdyŸ je film pøepisován na DVD, je video upraveno pro televizi v procesu zvaném telecine. </para></formalpara> <para> Na DVD není video ve skuteènosti nikdy uloŸeno v 60000/1001 pùlsnímcích za sekundu. Video jeŸ bylo pùvodnì 60000/1001, bude mít kaŸdý pár pùlsnímkù zkombinován do podoby snímku s rychlostí 30000/1001 snímkù za sekundu. Hardwarové DVD pøehrávaèe pak ètou pøíznak, zabudovaný ve video proudu, který udává jestli první pùlsnímek tvoøí liché nebo sudé øádky. </para> <para> Obsah ve 24000/1001 snímcích za sekundu obvykle zùstává tak jak byl v dobì pøepisu na DVD a DVD pøehrávaè musí provést telecine za letu. Nìkdy je v¹ak video telecinováno <emphasis>pøed</emphasis> uloŸením na DVD; dokonce i kdyŸ mìlo pùvodnì 24000/1001 snímkù za sekundu, bude mít 60000/1001 pùlsnímkù za sekundu. Pokud je uloŸen na DVD, páry pùlsnímkù jsou zkombinovány do formy 30000/1001 snímkù za sekundu. </para> <para> KdyŸ se podíváme na jednotlivé snímky vzniklé z videa o 60000/10001 pùlsnímcích za sekundu, telecinovaného nebo ne, je zøetelnì vidìt toto prokládání jakmile je zde nìjaký pohyb, jelikoŸ jeden pùlsnímek (øeknìme liché øádky) reprezentuje èasový okamŸik o 1/(60000/1001) sekundy pozdìj¹í neŸ ten druhý. Pøehrávání prokládaného videa na poèítaèi vypadá ¹karedì jak proto, Ÿe monitor má vy¹¹í rozli¹ení, ale i protoŸe video je zobrazováno snímek po snímku místo pùlsnímek po pùlsnímku. </para> <itemizedlist> <title>Poznámky:</title> <listitem><para> Tento odstavec platí pouze pro NTSC DVD, nikoli PAL. </para></listitem> <listitem><para> Øádky s pøíklady spu¹tìní <application>MEncoder</application>u v dokumentu <emphasis role="bold">nejsou</emphasis> urèeny pro opravdové pouŸití. Obsahují pouze nutné minimum vyŸadované pro enkódování pøíslu¹né ke kategorii videa. Jak dìlat dobré DVD ripy nebo doladit <systemitem class="library">libavcodec</systemitem> pro maximální kvalitu není v zábìru tohoto dokumentu. </para></listitem> <listitem><para> Poznámky pod èarou pøíslu¹né pro tuto pøíruèku jsou linkovány takto: <link linkend="menc-feat-telecine-footnotes">[1]</link> </para></listitem> </itemizedlist> </sect2> <sect2 id="menc-feat-telecine-ident"> <title>Jak zjistit o jaký typ videa se jedná</title> <sect3 id="menc-feat-telecine-ident-progressive"> <title>Progresivní (neprokládané)</title> <para> Progresivní video je pùvodnì natoèeno pøi 24000/1001 snímcích za sekundu a uloŸeno na DVD beze zmìn. </para> <para> KdyŸ pøehrajete progresivní DVD v <application>MPlayer</application>u, <application>MPlayer</application> vypí¹e následující øádek jakmile zaène pøehrávat: <screen> demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.</screen> Od tohoto okamŸiku by demux_mpg nemìl nikdy øíct Ÿe na¹el "30000/1001 fps NTSC obsah." </para> <para> KdyŸ sledujete progresivní video, nemìli byste nikdy vidìt Ÿádný proklad. Dejte si ale pozor, jelikoŸ je obèas tro¹ku telecine namixováno tam, kde byste to vùbec neèekali. Setkal jsem se s TV show na DVD, které mìly sekundu telecine pøi kaŸdé zmìnì scény nebo na zcela náhodných místech. Jednou jsem se díval na DVD, které bylo do pùlky progresivní a od pùlky telecinováno. Pokud chcete být <emphasis>opravdu</emphasis> dùkladní, mùŸete oskenovat celý film: <screen>mplayer dvd://1 -nosound -vo null -benchmark</screen> PouŸití volby <option>-benchmark</option> nechá <application>MPlayer</application> pøehrát film tak rychle, jak je to jen moŸné; stejnì to ale, v závislosti na va¹em stroji, chvíli potrvá. VŸdy, kdyŸ demux_mpg ohlásí zmìnu snímkové rychlosti, øádek tìsnì nad hlá¹ením ukáŸe èas ve kterém ke zmìnì do¹lo. </para> <para> Obèas je progresivní video na DVD oznaèeno jako "soft-telecine" protoŸe je zamý¹leno, aby telecine provedl DVD pøehrávaè. </para> </sect3> <sect3 id="menc-feat-telecine-ident-telecined"> <title>Telecinováno (pøepsáno pro NTSC televizi)</title> <para> Telecinované video bylo pùvodnì natoèeno pøi 24000/1001, ale bylo telecinováno <emphasis>pøed</emphasis> zápisem na DVD. </para> <para> <application>MPlayer</application> (nikdy) nehlásí Ÿádnou zmìnu snímkové rychlosti, kdyŸ pøehrává telecinované video. </para> <para> Pøi sledování telecinovaného videa uvidíte prokladové artefakty, které jako by "blikaly": opakovanì mizí a objevují se. BlíŸe se na to mùŸete podívat: <orderedlist> <listitem> <screen>mplayer dvd://1</screen> </listitem> <listitem><para> Pøeviòte na èást s pohybem. </para></listitem> <listitem><para> PouŸijte klávesu <keycap>.</keycap> pro krokování po jednom snímku. </para></listitem> <listitem><para> Sledujte vzor prokládanì vypadajících a progresivnì vypadajících snímkù. Pokud je vzor, který sledujete PPPII,PPPII,PPPII,..., pak je video telecinováno. Pokud vidíte jiný vzor, pak mohlo být video telecinováno pouŸitím nìjaké nestandardní metody; <application>MEncoder</application> neumí bezztrátovì pøevést nestandardní telecine do progresivního. Pokud nevidíte Ÿádný vzor, pak je video nejspí¹ prokládané. </para></listitem> </orderedlist> </para> <para> Nìkdy je telecinované video na DVD oznaèeno jako "hard-telecine". JelikoŸ hard-telecine jiŸ je ve 60000/1001 pùlsnímcích za sekundu, DVD pøehrávaè pøehraje video bez jakýchkoli manipulací. </para> <para> Dal¹ím zpùsobem jak zjistíte, Ÿe je vá¹ zdroj telecinován, je pøehrát jej s volbami <option>-vf pullup</option> a <option>-v</option> a uvidíte, jak <option>pullup</option> nachází vzor. Pokud je zdroj telecinován, mìlibyste vidìt na konzoli vzor 3:2 s opakujícím se <systemitem>0+.1.+2</systemitem> a <systemitem>0++1</systemitem>. Tato technika má tu výhodu, Ÿe nemusíte sledovat zdroj, abyste jej identifikovali, coŸ se mùŸe hodit, pokud chcete automatizovat enkódovací proceduru, nebo ji provést vzdálenì pøes pomalou linku. </para> </sect3> <sect3 id="menc-feat-telecine-ident-interlaced"> <title>Prokládané</title> <para> Prokládané video bylo od samého zaèátku filmováno pøi 60000/1001 pùlsnímcích za sekundu a uloŸeno na DVD ve 30000/1001 snímcích za sekundu. Efekt prokládání (èasto oznaèovaný jako "roztøepení") je výsledkem skládání pùlsnímkù do snímkù. Vzdálenost mezi pùlsnímky má být 1/(60000/1001) sekundy a proto kdyŸ jsou zobrazeny souèasnì, je rozdíl jasnì patrný. </para> <para> Stejnì jako u telecinovaného videa by <application>MPlayer</application> nemìl hlásit jakékoli zmìny snímkové rychlosti pøi pøehrávání prokládaného obsahu. </para> <para> KdyŸ si prohlédnete video blíŸe pomocí krokování snímkù pomocí klávesy <keycap>.</keycap>, uvidíte, Ÿe kaŸdý jednotlivý snímek je prokládaný. </para> </sect3> <sect3 id="menc-feat-telecine-ident-mixedpt"> <title>Smí¹ené progresivní a telecinované</title> <para> Ve¹kerý obsah "smí¹eného progresivního a telecinovaného" videa mìl pùvodnì 24000/1001 snímkù za sekundu, ale nìkteré èásti pro¹ly telecine. </para> <para> KdyŸ <application>MPlayer</application> pøehrává tuto kategorii, bude (èasto i opakovanì) pøepínat mezi "30000/1001 snímky/s NTSC" a "24000/1001 snímky/s progresivním NTSC". Sledujte spodek <application>MPlayer</application>ova výstupu, abyste zachytili tyto zprávy. </para> <para> Mìli byste provìøit èásti se "30000/1001 snímky/s NTSC", abyste mìli jistotu, Ÿe jsou skuteènì telecinovány a ne jen prokládané. </para> </sect3> <sect3 id="menc-feat-telecine-ident-mixedpi"> <title>Smí¹ené progresivní a prokládané</title> <para> Ve "smí¹eném progresivním a prokládaném" obsahu bylo progresivní a prokládané video splácáno dohromady. </para> <para> Tato kategorie vypadá jako "smí¹ené progresivní a telecine", dokud si neprohlédnete èásti se 30000/1001 snímky/s a neuvidíte, Ÿe nemají telecine vzor. </para> </sect3> </sect2> <sect2 id="menc-feat-telecine-encode"> <title>Jak enkódovat jednotlivé kategorie</title> <para> Jak jsem se zmínil na zaèátku, pøíklady pøíkazových øádkù <application>MEncoder</application>u níŸe <emphasis role="bold">nejsou</emphasis> urèeny pro praktické pouŸití; pouze demonstrují, minimum voleb nutných k tomu, abyste správnì enkódovali kaŸdou kategorii. </para> <sect3 id="menc-feat-telecine-encode-progressive"> <title>Progresivní</title> <para> Progresivní video nevyŸaduje Ÿádné speciální filtrování pro enkódování. Jediná volba, která by urèitì nemìla chybìt je <option>-ofps 24000/1001</option>. Jinak se <application>MEncoder</application> pokusí enkódovat pøi 30000/1001 snímcích/s a bude opakovat snímky. </para> <para> <screen>mencoder dvd://1 -nosound -ovc lavc -ofps 24000/1001</screen> </para> <para> Èasto se stává, Ÿe video, které vypadá progresivnì, má v sobì zamíchány kratièké telecinované èásti. Pokud si nejste jisti, je nejbezpeènìj¹í povaŸovat video za <link linkend="menc-feat-telecine-encode-mixedpt">smí¹ené progresivní a telecinované</link>. Ztráta výkonu je jen malá <link linkend="menc-feat-telecine-footnotes">[3]</link>. </para> </sect3> <sect3 id="menc-feat-telecine-encode-telecined"> <title>Telecinované</title> <para> Telecine lze obrátit a dostat tak pùvodní 24000/1001 obsah, za pouŸití metody zvané inverzní telecine. <application>MPlayer</application> má nìkolik filtrù právì pro tuto èinnost; nejlep¹í z tìchto filtrù, <option>pullup</option>, je popsán v èásti <link linkend="menc-feat-telecine-encode-mixedpt">smí¹ené progresivní a telecinované</link>. </para> </sect3> <sect3 id="menc-feat-telecine-encode-interlaced"> <title>Prokládané</title> <para> V praxi není vìt¹inou moŸné dostat kompletní progresivní video z prokládaného obsahu. Jediný zpùsob jak to udìlat bez ztráty poloviny svislého rozli¹ení je zdvojením snímkové rychlosti a zkusit "odhadnout" co mám provést s odpovídajícími linkami kaŸdého z pùlsnímkù (má to ov¹em i nevýhody – viz metoda 3). </para> <orderedlist> <listitem><para> Enkódujte video v prokládané formì. Obvykle prokládání zpùsobí tìŸkou újmu schopnosti enkodéru dobøe komprimovat, ale <systemitem class="library">libavcodec</systemitem> má dvì volby urèené právì pro lep¹í ukládání prokládaného videa: <option> ildct</option> a <option>ilme</option>. RovnìŸ velmi doporuèujeme pouŸití volby <option>mbd=2</option> <link linkend="menc-feat-telecine-footnotes">[2] </link> protoŸe bude enkódovat makrobloky jako neprokládané tam, kde není Ÿádný pohyb. Volba <option>-ofps</option> zde <emphasis role="bold">není</emphasis> nutná. <screen>mencoder dvd://1 -nosound -ovc lavc -lavcopts ildct:ilme:mbd=2</screen> </para></listitem> <listitem><para> PouŸijte filtr odstraòující proklad pøed enkódováním. Je jich zde nìkolik, mùŸete si vybrat. KaŸdý z nich má svá pro i proti. Prohlédnìte si výstup <option>mplayer -pphelp</option> abyste zjistili, které jsou k dispozici (grep pro "deint") a vyhledejte <ulink url="http://www.mplayerhq.hu/homepage/design6/info.html#mailing_lists"> e-mailové konference MPlayeru</ulink>, kde naleznete mnoho diskusí o rùzných filtrech. Snímková rychlost se ani zde nemìní, takŸe Ÿádné <option>-ofps</option>. Odstranìní proklady by rovnìŸ mìlo být provedeno po oøezání <link linkend="menc-feat-telecine-footnotes">[1]</link>, ale pøed ¹kálováním. <screen>mencoder dvd://1 -nosound -vf pp=lb -ovc lavc</screen> </para></listitem> <listitem><para> Nane¹tìstí je tato volba vadná v <application>MEncoder</application>u; mìla by dobøe pracovat v <application>MEncoder G2</application>, ale ten tu zatím není. Stejnì je urèením <option> -vf tfields</option> vytvoøení kompletního snímku z kaŸdého pùlsnímku, coŸ zvý¹í snímkovou rychlost na 60000/1001. Výhoda tohoto pøístupu je v tom, Ÿe nepøijdete o Ÿádná data; ProtoŸe v¹ak kaŸdý snímek pochází jen z jediného pùlsnímku, musí být chybìjící linky nìjak dopoèítány. Neexistuje mnoho dobrých metod, generujících chybìjící data, takŸe výsledek bude trochu podobný tomu, kdyŸ se pouŸije nìkterý filtr odstraòující proklad. Generováním chybìjících linek vznikají dal¹í problémy tím, Ÿe se zdvojnásobí mnoŸství dat. TakŸe jsou potøeba vy¹¹í datové toky pro enkódování, aby byla zachována kvalita a spotøebuje se více výkonu CPU jak pro enkódování, tak pro dekódování. tfields má nìkolik rùzných voleb pro volbu zpùsobu generování chybìjících linek. Pokud pouŸijete tuto moŸnost, prostudujte si manuál a zvolte si volbu, která s va¹ím materiálem vypadá nejlépe. Poznamenejme, Ÿe pøi pouŸití <option>tfields</option> <emphasis role="bold">musíte</emphasis> nastavit <option>-fps</option> a <option>-ofps</option> na dvojnásobek snímkové rychlosti originálu. <screen>mencoder dvd://1 -nosound -vf tfields=2 -ovc lavc -fps 60000/1001 -ofps 60000/1001</screen> </para></listitem> <listitem><para> Pokud plánujete výrazné zmen¹ování, mùŸete extrahovat a enkódovat jen jeden z pùlsnímkù. Samozøejmì pøijdete o polovinu svislého rozli¹ení, ale pokud plánujete zmen¹ení ideálnì na 1/2 originální velikosti, nebude na této ztrátì vùbec záleŸet. Výsledek bude progresivní soubor s 30000/1001 snímky za sekundu. Celý postup spoèívá v pouŸití <option>-vf field</option> a následném oøezu <link linkend="menc-feat-telecine-footnotes">[1]</link> a pøíslu¹ném ¹kálování. Pamatujte, Ÿe musíte nastavit scale tak, aby kompenzoval zmen¹ení svislého rozmìru na polovinu. <screen>mencoder dvd://1 -nosound -vf field=0 -ovc lavc</screen> </para></listitem> </orderedlist> </sect3> <sect3 id="menc-feat-telecine-encode-mixedpt"> <title>Smí¹ené progresivní a telecinované</title> <para> Abychom pøevedli smí¹ené progresivní a telecinované video zcela na progresivní video, musí být telecinované èásti inverznì telecinovány. K tomu lze dospìt tøemi postupy popsanými níŸe.Poznamenejme, Ÿe byste mìli <emphasis role="bold">vŸdy</emphasis> provést inverzní telecine pøed jakýmkoliv ¹kálováním; a v pøípadì, Ÿe pøesnì nevíte co dìláte, také pøed oøezáním <link linkend="menc-feat-telecine-footnotes">[1]</link>. Volba <option>-ofps 24000/1001</option> je vyŸadována, protoŸe výstupní video bude mít 24000/1001 snímkù za sekundu. </para> <itemizedlist> <listitem><para> <option>-vf pullup</option> je navrŸen tak, aby inverznì telecinoval, ale progresivní data nechával jak jsou. Pro správnou funkci <emphasis role="bold">musí</emphasis> být <option>pullup</option> následován filtrem <option>softskip</option>, jinak <application>MEncoder</application> zhavaruje. <option>pullup</option> je v¹ak nejèist¹í a nejpøesnìj¹í dostupnou metodou pro enkódování jak telecinovaného, tak "smí¹eného progresivního a telecinovaného". <screen>mencoder dvd://1 -nosound -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen> </para> </listitem> <listitem><para> Star¹í metodou je, spí¹e neŸ inverznì telecinovat telecinované èásti, telecinovat progresivní èásti a poté inverznì telecinovat celé video. Zní to zmatenì? softpulldown je filtr, který projde celé video a pøevede celý soubor na telecinovaný. Pokud budeme následovat softpulldown buï <option>detc</option> nebo <option>ivtc</option>, bude koneèný výsledek zcela progresivní. Nutná je volba <option>-ofps 24000/1001</option>. <screen>mencoder dvd://1 -nosound -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001</screen> </para> </listitem> <listitem><para> Osobnì jsem nepouŸil <option>-vf filmdint</option>, ale toto o nìm (pøibliŸnì) øekl D Richard Felker III: <blockquote><para>Je to OK, ale IMO to zkou¹í aŸ pøíli¹ èasto odstraòovat proklad místo provádìní inverzního telecine (stejnì jako settop DVD pøehrávaèe & progresivní televize) coŸ vede ke ¹karedému tøepotání a dal¹ím artefaktùm. Pokud jej chcete pouŸívat, mìli byste pøedtím alespoò trochu èasu vìnovat ladìní voleb a sledováním výstupu, abyste mìli jistotu, Ÿe vám to nìco nekazí.</para></blockquote> </para></listitem> </itemizedlist> </sect3> <sect3 id="menc-feat-telecine-encode-mixedpi"> <title>Smí¹ené progresivní a prokládané</title> <para> Máme dvì volby pro práci s touto kategorií, obì jsou v¹ak kompromisem. Mìli byste se rozhodnout podle trvání/umístìní kaŸdého typu. </para> <itemizedlist> <listitem><para> PovaŸujte to za progresivní. Prokládané èásti budou vypadat prokládanì a nìkteré z prokládaných políèek bude muset být zahozeno, coŸ povede k nestejnomìrnému poskakování. MùŸete proti tomu nasadit postprocesní filtr, pokud chcete, ale tím mírnì degradujete progresivní èásti. </para> <para> Této volbì byste se mìli rozhodnì vyhnout, pokud chcete nakonec zobrazovat video na zobrazovaèi s prokládaným obrazem (pøes TV kartu napøíklad). Pokud máte prokládané snímky ve videu s rychlostí 24000/1001 snímkù za sekundu, budou telecinovány spolu s progresivními snímky. Polovina prokládaných "snímkù" bude zobrazena po dobu trvání tøech snímkù (3/(60000/1001) sekund), coŸ povede k poskakování. Efekt "cukání zpìt" vypadá skuteènì zle. Pokud se o to pøece pokusíte, <emphasis role="bold">musíte</emphasis> pouŸít filtr odstraòující proklad, jako je <option>lb</option> nebo <option>l5</option>. </para> <para> ©patnou volbou je to i pro progresivní zobrazovaè. Ten zahodí páry po sobì jdoucích snímkù, coŸ povede k pøeru¹ování, které mùŸe být více viditelné, neŸ pøi druhé metodì, která zobrazuje nìkteré progresivní snímky dvakrát. Prokládané video se 30000/1001 snímky za sekundu je totiŸ ponìkud trhané, protoŸe by ve skuteènosti mìlo být promítáno pøi 60000/1001 pùlsnímcích za sekundu, takŸe zdvojení nìkterých snímkù není tak moc vidìt. </para> <para> V kaŸdém pøípadì je nejlep¹í posoudit obsah a zpùsob, jakým bude zobrazován. Pokud je va¹e video z 90% progresivní a nikdy jej nebudete pou¹tìt na televizi, mìli byste volit progresivní pøístup. Pokud je progresívní jen z poloviny, pravdìpodobnì jej bude lep¹í enkódovat jako by bylo celé prokládané. </para> </listitem> <listitem><para> Pokládat jej za prokládané. Nìkteré snímky v progresivních èástech budou muset být duplikovány, coŸ povede k nepravidelnému poskakování. Opìt platí, Ÿe filtry pro odstranìní prokladu mohou ponìkud degradovat progresivní èásti. </para></listitem> </itemizedlist> </sect3> </sect2> <sect2 id="menc-feat-telecine-footnotes"> <title>Poznámky pod èarou</title> <orderedlist> <listitem><formalpara> <title>K oøezu:</title> <para> Video data na DVD jsou ukládána ve formátu zvaném YUV 4:2:0. V YUV videu jsou, jasová ("èernobílá"; angl. luma) a barvonosná (angl. chroma) sloŸka ukládány oddìlenì. ProtoŸe je lidské oko ménì citlivé na zmìnu barvy, neŸ na jas, pøipadá v YUV 4:2:0 obrázku pouze jeden barvonosný pixel na kaŸdé ètyøi jasové pixely. V progresivním obrázku má kaŸdý ètverec 2x2 jasových pixelù právì jeden barvonosný pixel. Proto musíte oøezávat progresivní YUV 4:2:0 na sudé rozmìry a pouŸívat sudé odsazení (offsety). Napøíklad <option>crop=716:380:2:26</option> je OK, ale <option>crop=716:380:3:26 </option> není. </para> </formalpara> <para> KdyŸ máte co do èinìní s prokládaným YUV 4:2:0, je situace mnohem komplikovanìj¹í. Místo kaŸdých ètyøech pixelù ve <emphasis>snímku</emphasis> sdílejících barvonosný pixel, kaŸdé ètyøi jasové pixely v kaŸdém <emphasis>pùlsnímku</emphasis> sdílejí barvonosný pixel. KdyŸ jsou pùlsnímky proloŸeny do snímku, kaŸdá linka má vý¹ku jeden pixel. A nyní místo aby dané ètyøi pixely tvoøily ètverec, jsou první dva vedle sebe a druhé dva jsou vedle sebe o dvì linky níŸ. Dva pixely tìsnì pod nimi patøí do jiného pùlsnímku a proto sdílí jiný barvonosný pixel se dvìma jasovými pixely o dva øádky níŸ. V¹echno tohle nás nutí mít svislé rozmìry oøezání a odsazení bezezbytku dìlitelné ètyømi. Vodorovné staèí kdyŸ budou sudé. </para> <para> Pro telecinované video doporuèuji, abyste oøezání provádìli aŸ po inverzi telecine. Jakmile je video progresivní, staèí øezat jen na sudé rozmìry. Pokud si v¹ak pøece jen chcete dopøát mírné zrychlení, které mùŸe poskytnout èasný oøez, musíte svisle dodrŸet násobky ètyøech, jinak nebude mít filtr pro inverzi telecine správná data. </para> <para> Prokládané (nikoli telecinované) video musíte vŸdy oøezávat svisle násobky ètyø, pokud pøed oøezáním nepouŸijete <option>-vf field</option>. </para> </listitem> <listitem><formalpara> <title>K volbám pro enkódování a kvalitì:</title> <para> Jen proto, Ÿe doporuèuji <option>mbd=2</option> zde neznamená, Ÿe by tato volba nemohla být pouŸita jinde. V kombinaci s <option>trell</option>, je <option>mbd=2</option> jednou ze dvou voleb <systemitem class="library">libavcodec</systemitem>u, které nejvíce zvy¹ují kvalitu a vy byste mìli vŸdy pouŸít alespoò tyto dvì, pokud není na ¹kodu zpomalení rychlosti enkódování (napø. pøi enkódování v reálném èase). Mnoho dal¹ích voleb <systemitem class="library">libavcodec</systemitem>u zvy¹uje kvalitu enkódování (a sniŸuje jeho rychlost), ale to je mimo zamìøení tohoto textu. </para> </formalpara> </listitem> <listitem><formalpara> <title>K výkonu filtru pullup:</title> <para> PouŸití <option>pullup</option> je bezpeèné (spolu se <option>softskip </option>) na progresivní video a je to obvykle dobrá volba, pokud nebyl zdroj provìøen, Ÿe je celý progresivní. Ve vìt¹inì pøípadù je ztráta výkonu malá. V ojedinìlých pøípadech enkódování zpùsobí <option>pullup</option>, Ÿe je <application>MEncoder</application> o 50% pomalej¹í. Pøidání zpracování zvuku a pokroèilých <option>lavcopts</option> zastíní tento rozdíl tak, Ÿe rozdíl v rychlosti pùsobený pouŸitím <option>pullup</option> se sníŸí na 2%. </para> </formalpara> </listitem> </orderedlist> </sect2> </sect1> <sect1 id="menc-feat-enc-libavcodec"> <title>Enkódování s rodinou kodekù <systemitem class="library">libavcodec</systemitem> </title> <para> <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link> zaji¹»uje jednoduché enkódování do mnoha zajímavých video a audio formátù. MùŸete enkódovat do následujících kodekù (více ménì aktuální): <informaltable frame="all"> <tgroup cols="2"> <thead> <row><entry>Jméno kodeku</entry><entry>Popis</entry></row> </thead> <tbody> <row><entry>mjpeg</entry><entry> Motion JPEG </entry></row> <row><entry>ljpeg</entry><entry> Lossless (bezztrátový) 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> standardní ISO MPEG-4 (DivX 5, XVID kompatibilní) </entry></row> <row><entry>msmpeg4</entry><entry> prvotní MPEG-4 varianta od MS, v3 (DivX3) </entry></row> <row><entry>msmpeg4v2</entry><entry> prvotní MPEG-4 od MS, v2 (pouŸitý ve starých asf souborech) </entry></row> <row><entry>wmv1</entry><entry> Windows Media Video, verze 1 (WMV7) </entry></row> <row><entry>wmv2</entry><entry> Windows Media Video, verze 2 (WMV8) </entry></row> <row><entry>rv10</entry><entry> starý RealVideo kodek </entry></row> <row><entry>mpeg1video</entry><entry> MPEG-1 video </entry></row> <row><entry>mpeg2video</entry><entry> MPEG-2 video </entry></row> <row><entry>huffyuv</entry><entry> bezztrátová komprese </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> bezztrátový video kodek z FFmpeg </entry></row> <row><entry>flv</entry><entry> Sorenson H.263 pouŸívaný ve Flash Video </entry></row> <row><entry>dvvideo</entry><entry> Sony Digital Video </entry></row> <row><entry>snow</entry><entry> Experimentální vlnkovì orientovaný kodek z FFmpeg </entry></row> </tbody> </tgroup> </informaltable> První pole obsahuje názvy kodekù, které mùŸete pøiøadit konfiguraènímu parametru <literal>vcodec</literal>, napø: <option>-lavcopts vcodec=msmpeg4</option> </para> <informalexample> <para> Pøíklad, s MJPEG kompresí: <screen>mencoder dvd://2 -o titul2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen> </para> </informalexample> <sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options"> <title>Enkódovací volby libavcodecu</title> <para> V ideálním pøípadì byste asi chtìli jen øíct enkodéru, aby se pøepnul do reŸimu "vysoká kvalita" a ¹el na to. To by bylo jistì hezké, ale nane¹tìstí je to tìŸké zavést, jelikoŸ rùzné volby enkódování vedou k rùzné kvalitì v závislosti na zdrojovém materiálu. To proto, Ÿe komprese závisí na vizuálních vlastnostech daného videa. Napøíklad anime a Ÿivá akce mají zcela rozdílné vlastnosti a tedy vyŸadují odli¹né volby pro dosaŸení optimálního enkódování. Dobrá zpráva je, Ÿe nìkteré volby by nikdy nemìly chybìt, jako <option>mbd=2</option>, <option>trell</option> a <option>v4mv</option>. Podrobný popis obvyklých enkódovacích voleb naleznete níŸe. </para> <itemizedlist> <title>Volby k nastavení:</title> <listitem><para> <emphasis role="bold">vmax_b_frames</emphasis>: 1 nebo 2 je v poøádku, v závislosti na filmu. Poznamenejme, Ÿe pokud chcete mít svá videa dekódovatelná kodekem DivX5, budete muset zapnout podporu uzavøeného GOP, pomocí volby <systemitem class="library">libavcodec</systemitem>u <option>cgop</option>, ale budete také muset vypnout detekci scény, coŸ není dobrý nápad, jelikoŸ tak trochu zhor¹íte efektivitu enkódování. </para></listitem> <listitem><para> <emphasis role="bold">vb_strategy=1</emphasis>: pomáhá ve scénách s rychlým pohybem. VyŸaduje vmax_b_frames >= 2. V nìkterých videích mùŸe vmax_b_frames sníŸit kvalitu, ale vmax_b_frames=2 spolu s vb_strategy=1 pomùŸe. </para></listitem> <listitem><para> <emphasis role="bold">dia</emphasis>: okruh vyhledávání pohybu. Èím vìt¹í, tím lep¹í a pomalej¹í. Záporné hodnoty mají úplnì jiný význam. Dobrými hodnotami jsou -1 pro rychlé enkódování, nebo 2-4 pro pomalej¹í. </para></listitem> <listitem><para> <emphasis role="bold">predia</emphasis>: pøedprùchod pro vyhledávání pohybu. Není tak dùleŸitý jako dia. Dobré hodnoty jsou 1 (výchozí) aŸ 4. VyŸaduje preme=2, aby byla opravdu k nìèemu. </para></listitem> <listitem><para> <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Porovnávací funkce pro odhad pohybu. Experimentujte s hodnotami 0 (výchozí), 2 (hadamard), 3 (dct) a 6 (omezení datového toku). 0 je nejrychlej¹í a dostateèná pro precmp. Pro cmp a subcmp je 2 dobrá pro anime a 3 zase pro Ÿivou akci. 6 mùŸe, ale nemusí být o nìco lep¹í, ale je pomalá. </para></listitem> <listitem><para> <emphasis role="bold">last_pred</emphasis>: Poèet prediktorù pohybu pøebíraných z pøedchozího snímku. 1-3 nebo tak pomùŸou za cenu men¹ího zdrŸení. Vy¹¹í hodnoty jsou v¹ak pomalé a nepøiná¹í Ÿádný dal¹í uŸitek. </para></listitem> <listitem><para> <emphasis role="bold">cbp, mv0</emphasis>: Ovládá výbìr makroblokù. Malá ztráta rychlosti za malý zisk kvality. </para></listitem> <listitem><para> <emphasis role="bold">qprd</emphasis>: adaptivní kvantizace zaloŸená na komplexnosti makrobloku. MùŸe pomoci i u¹kodit v závislosti na videu a ostatních volbách. Toto mùŸe zpùsobovat artefakty, pokud nenastavíte vqmax na nìjakou rozumnì malou hodnotu (6 je dobrá, moŸná byste ale mìli jít aŸ na 4); vqmin=1 mùŸe také pomoci. </para></listitem> <listitem><para> <emphasis role="bold">qns</emphasis>: velmi pomalá, zvlá¹» v kombinaci s qprd. Tato volba nutí enkodér minimalizovat ¹um díky kompresi artefaktù, místo aby se snaŸil striktnì zachovávat vìrnost videa. NepouŸívejte ji, pokud jste jiŸ nezkusili v¹echno ostatní kam aŸ to ¹lo a výsledek pøesto není dost dobrý. </para></listitem> <listitem><para> <emphasis role="bold">vqcomp</emphasis>: Vylep¹ení ovládání datového toku. Dobré hodnoty se li¹í podle videa. MùŸete to bezpeènì ponechat jak to je, pokud chcete. SníŸením vqcomp pustíte více bitù do scén s nízkou komplexností, zvý¹ením je po¹lete do scén s vysokou komplexností (výchozí: 0.5, rozsah: 0-1. doporuèený rozsah: 0.5-0.7). </para></listitem> <listitem><para> <emphasis role="bold">vlelim, vcelim</emphasis>: Nastaví jediný koeficient prahu eliminace pro jasové a barevné roviny. Ty jsou enkódovány oddìlenì ve v¹ech MPEGu podobných algoritmech. My¹lenka stojící za tìmito volbami je pouŸití dobré heuristiky pro urèení, zda je zmìna v bloku men¹í neŸ vámi nastavený práh a v tom pøípadì se blok enkóduje jako "nezmìnìný". To ¹etøí bity a moŸná i zrychlí enkódování. vlelim=-4 a vcelim=9 se zdají být dobré pro hrané filmy, ale pøíli¹ nepomohou s anime; pokud enkódujete animované vido, mìli byste je asi nechat beze zmìn. </para></listitem> <listitem><para> <emphasis role="bold">qpel</emphasis>: Odhad pohybu s pøesností na ètvrt pixelu. MPEG-4 pouŸívá pøesnost na pùl pixelu jako výchozí pøi vyhledávání pohybu, proto je tato volba spojena s urèitou reŸií, jelikoŸ se do výstupního souboru ukládá více informací. Kompresní zisk/ztráta závisí na filmu, ale obvykle to není pøíli¹ efektivní na anime. qpel vŸdy zpùsobí zvý¹ení výpoèetní nároènosti dekódování (v praxi +20% èasu CPU). </para></listitem> <listitem><para> <emphasis role="bold">psnr</emphasis>: neovlivní aktuální enkódování, ale zaznamená typ/velikost/kvalitu kaŸdého snímku do log souboru a na konci vypí¹e souhrnný PSNR (odstup signálu od ¹umu). </para></listitem> </itemizedlist> <itemizedlist> <title>Volby se kterými nedoporuèujeme si hrát:</title> <listitem><para> <emphasis role="bold">vme</emphasis>: Výchozí je nejlep¹í. </para></listitem> <listitem><para> <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovizuálnì adaptivní kvantizace. Nehrajte si s tìmito volbami, pokud vám jde o kvalitu. Rozumné hodnoty mohou být efektivní ve va¹em pøípadì, ale pozor, je to velmi subjektivní. </para></listitem> <listitem><para> <emphasis role="bold">scplx_mask</emphasis>: SnaŸí se pøedcházet blokovým artefaktùm, ale postprocesing je lep¹í. </para></listitem> </itemizedlist> </sect2> <sect2 id="custommatrices"><title>UŸivatelské inter/intra matice</title> <para> Díky této vlastnosti <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>u mùŸete nastavit uŸivatelskou inter (I-snímky/klíèové snímky) a intra (P-snímky/predikované (rozumìjte vypoèítané) snímky) matice. To je podporováno mnoha kodeky: <systemitem>mpeg1video</systemitem> a <systemitem>mpeg2video</systemitem> jsou hlá¹eny jako funkèní. </para> <para> Typické pouŸití této vlastnosti je nastavení matic preferovaných <ulink url="http://www.kvcd.net/">KVCD</ulink> specifikacemi. </para> <para> <emphasis role="bold">Kvantizaèní Matice KVCD "Notch":</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> PouŸití: <screen> $ mencoder <replaceable>vstup.avi</replaceable> -o <replaceable>výstup.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øíklad</title> <para> TakŸe jste si koupili zbrusu novou kopii filmu Harry Potter a Tajemná komnata (¹irokoúhlou verzi samozøejmì) a chcete si toto DVD ripnout, takŸe si jej mùŸete pøidat do svého Domácího kino-poèítaèe PC. Je to region 1 DVD, takŸe je v NTSC. NíŸe uvedený pøíklad je stále vhodný i pro PAL, jen musíte vynechat <option>-ofps 24000/1001</option> (protoŸe výstupní snímková rychlost je shodná se vstupní) a pøirozenì budou rozdílné souøadnice pro oøez. </para> <para> Po spu¹tìní <option>mplayer dvd://1</option>, postupujeme podle informací obsaŸených v sekci <link linkend="menc-feat-telecine">Jak naloŸit s telecine a prokladem v NTSC DVD</link> a zjistíme Ÿe je to 24000/1001 neprokládané video, takŸe nepotøebujeme pouŸít inverzní telecine filtr, jako je <option>pullup</option> nebo <option>filmdint</option>. </para> <para> Dále musíme zjistit vhodný oøezový obdélník, takŸe pouŸijeme filtr cropdetect: <screen>mplayer dvd://1 -vf cropdetect</screen> Ujistìte se, Ÿe jste pøe¹li pøes zaplnìný snímek (nìjakou jasnou scénu) a v konzoli <application>MPlayer</application>u uvidíte: <screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen> Potom pøehrajeme film s tímto filtrem, abychom otestovali jeho správnost: <screen>mplayer dvd://1 -vf crop=720:362:0:58</screen> A zjistíme, Ÿe to vypadá zcela v poøádku. Dále se ujistíme, Ÿe ¹íøka i vý¹ka jsou násobky 16. ©íøka je v poøádku, vý¹ka ov¹em ne. ProtoŸe jsme nepropadli v sedmé tøídì z matematiky, víme, Ÿe nejbliŸ¹ím násobkem 16 niŸ¹ím neŸ 362 je 352. </para> <para> Mohli bychom pouŸít <option>crop=720:352:0:58</option>, ale bude lep¹í ustøihnout kousek nahoøe i dole, takŸe zachováme støed. Zkrátili jsme vý¹ku o 10 pixelù, ale nechceme zvý¹it odsazení y o 5 pixelù, protoŸe je to liché èíslo, coŸ by nepøíznivì ovlivnilo kvalitu. Místo toho zvý¹íme odsazení y o 4 pixely: <screen>mplayer dvd://1 -vf crop=720:352:0:62</screen> Dal¹í dùvod pro odstøiŸení pixelù shora i zdola je to, Ÿe si mùŸeme být jisti odstøiŸením napùl èerných pixelù pokud existují. Pokud je v¹ak va¹e video telecinováno, ujistìte se, Ÿe máte v øetìzu filtrù <option>pullup</option> filtr (nebo jiný filtr pro inverzi telecine, který hodláte pouŸít) je¹tì pøed odstranìním prokladu a oøezem. (Pokud se rozhodnete zachovat va¹e video prokládané, pak se ujistìte, Ÿe va¹e vertikální odsazení (offset) je násobkem 4.) </para> <para> Pokud si dìláte starosti se ztrátou tìch 10 pixelù, moŸná radìji sníŸíte rozmìry na nejbliŸ¹í násobek 16. Øetìzec filtrù by pak vypadal asi takto: <screen>-vf crop=720:362:0:58,scale=720:352</screen> Takovéto zmen¹ení videa bude znamenat ztrátu malého mnoŸství detailù, coŸ bude pravdìpodobnì stìŸí postøehnutelné. Zvìt¹ování by naopak vedlo ke sníŸení kvality (pokud byste nezvý¹ili datový tok). Oøez odstraní tyto pixely úplnì. To je jedna z vìcí, kterou byste si mìli uváŸit pro kaŸdý pøípad zvlá¹». Napøíklad pokud bylo DVD video vyrobeno pro televizi, mìli byste se vyvarovat vertikálnímu ¹kálování, jelikoŸ poèet øádkù odpovídá originální nahrávce. </para> <para> Pøi prohlídce jsme zjistili, Ÿe video je pomìrnì akèní, s vysokým poètem detailù, takŸe jsme zvolili datový tok 2400 Kbitù. </para> <para> Nyní jsme pøipraveni provést dvouprùchodové enkódování. Prùchod jedna: <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 prùchod dva je stejný, jen nastavíme <option>vpass=2</option>: <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> Volby <option>v4mv:mbd=2:trell</option> velmi zvý¹í kvalitu za cenu èasové nároènosti enkódování. Vcelku není dùvod tyto volby vypustit, pokud je primárním cílem kvalita. Volby <option>cmp=3:subcmp=3:mbcmp=3</option> vyberou porovnávací funkci, která poskytuje lep¹í kvalitu, neŸ výchozí. S tímto parametrem mùŸete zkusit experimentovat (nahlédnìte do man stránky pro seznam moŸných hodnot), jelikoŸ rùzné funkce mohou mít velký vliv na kvalitu v závislosti na zdrojovém materiálu. Napøíklad pokud zjistíte, Ÿe <systemitem class="library">libavcodec</systemitem> produkuje pøíli¹ mnoho ètvereèkových artefaktù, mùŸete zkusit zvolit experimentální NSSE jako porovnávací funkci pøes <option>*cmp=10</option>. </para> <para> V pøípadì tohoto filmu bude výsledné AVI dlouhé 138 minut a veliké kolem 3GB. A protoŸe jste øekli, Ÿe na velikosti nezáleŸí, je to pøijatelná velikost. Ale pokud byste jej chtìli men¹í, mùŸete zkusit niŸ¹í datový tok. Efekt zvy¹ování datového toku se totiŸ neustále sniŸuje, takŸe zatímco je zlep¹ení po zvý¹ení z 1800 Kbitù na 2000 Kbitù zjevné, nemusí být jiŸ tak velké nad 2000 Kbitù. Beze v¹eho s tím experimentujte, dokud nebudete spokojeni. </para> <para> JelikoŸ jsme protáhli video od¹umovacím filtrem, mìli bychom jej trochu pøidat bìhem pøehrávání. To, spolu s <option>spp</option> post-procesním filtrem, znatelnì zvý¹í vnímanou kvalitu a pomùŸe odstranit ètvereèkové artefakty ve videu. S <application>MPlayer</application>ovou volbou <option>autoq</option> mùŸe být mnoŸství postprocesingu provádìného filtrem spp pøizpùsobováno vytíŸení CPU. V tuto chvíli rovnìŸ mùŸete provést korekci gama a/nebo barevnou korekci k dosaŸení nejlep¹ích výsledkù. Napøíklad: <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>Enkódování pomocí kodeku <systemitem class="library">XviD</systemitem> </title> <para> <systemitem class="library">XviD</systemitem> je svobodná knihovna pro enkódování MPEG-4 ASP video datových proudù. Pøed zaèátkem enkódování budete muset <link linkend="xvid"> nastavit <application>MEncoder</application> pro jeho podporu</link>. </para> <para> Tato pøíruèka se zamìøuje na poskytování stejného druhu informací jako pøíruèka enkódování s x264. TakŸe prosím zaènìte pøeètením <link linkend="menc-feat-x264-encoding-options-intro">první èásti</link> této pøíruèky. </para> <sect2 id="menc-feat-xvid-intro"> <title>Jaké volby by mìly být pouŸity, abychom dosáhli nejlep¹ích výsledkù?</title> <para> Zaènìte prosím proètením sekce <systemitem class="library">XviD</systemitem> v manuálové stránce <application>MPlayer</application>u. Tato èást má být doplnìním man stránky. </para> <para> Výchozí nastavení XviD jsou dobrým kompromisem mezi rychlostí a kvalitou, takŸe je mùŸete bez obav pouŸít, pokud vám nebude nìco v dal¹ím textu jasné. </para> </sect2> <sect2 id="menc-feat-xvid-encoding-options"> <title>Volby pro enkódování s <systemitem class="library">XviD</systemitem></title> <itemizedlist> <listitem><para> <emphasis role="bold">vhq</emphasis> Tato volba ovlivní rozhodovací algoritmus makrobloku, kde vy¹¹í nastavení znamená lep¹í rozhodování. Výchozí nastavení mohou být bezpeènì pouŸita pro kaŸdé enkódování, zatímco vy¹¹í nastavení vŸdy pomohou PSNR, ale je znatelnì pomalej¹í. Poznamenejme, Ÿe lep¹í PSNR nemusí nutnì znamenat, Ÿe bude obraz vypadat lépe, ale udává, Ÿe je blíŸe originálu. Vypnutí této volby viditelnì zrychlí enkódování; pokud je pro vás rychlost kritická, pak to stojí za to. </para></listitem> <listitem><para> <emphasis role="bold">bvhq</emphasis> Tato volba provádí to samé co vhq, ale v B-snímcích. Má zanedbatelný vliv na rychlost a trochu vylep¹uje kvalitu (kolem +0.1dB PSNR). </para></listitem> <listitem><para> <emphasis role="bold">max_bframes</emphasis> Vìt¹í poèet povolených po sobì jdoucích B-snímkù obvykle zvy¹uje komprimovatelnost, aèkoli to mùŸe vést k vìt¹ímu poètu blokových artefaktù. Výchozí nastavení je dobrým kompromisem mezi komprimovatelností a kvalitou, ale mùŸete ji zvý¹it nad 3, pokud touŸíte po nízkém datovém toku. MùŸete ji rovnìŸ sníŸit na 1 nebo 0, pokud vám jde o perfektní kvalitu, ale v tom pøípadì byste se mìli ujistit, Ÿe máte nastaven dostateènì vysoký datový tok, aby byla jistota, Ÿe komrimátor nebude zvy¹ovat kvantizer, aby jej dosáhl. </para></listitem> <listitem><para> <emphasis role="bold">bf_threshold</emphasis> Tato volba ovládá B-snímkovou citlivost enkodéru, kdy vy¹¹í hodnota vede k èastìj¹ímu pouŸití B-snímkù (a naopak). Má být pouŸita spolu s <option>max_bframes</option>; pokud jste blázen do datového toku, mìli byste zvý¹it jak <option>max_bframes</option>, tak <option>bf_threshold</option>, nebo naopak mùŸete zvý¹it <option>max_bframes</option> a sníŸit <option>bf_threshold</option>, takŸe bude enkodér pouŸívat více B-snímkù pouze na místech, které je <emphasis role="bold">opravdu</emphasis> potøebují. Nízká hodnota <option>max_bframes</option> a vysoká <option>bf_threshold</option> asi není nejrozumnìj¹í volbou, jelikoŸ pøinutí enkodér umís»ovat B-snímky na místa, které z nich nebudou tìŸit, ale sníŸí se jejich vizuální kvalita. Pokud v¹ak potøebujete být kompatibilní s domácími pøehrávaèi, které podporují pouze staré DivX profily (ty podporují pouze 1 po sobì jdoucí B-snímek), je to va¹e jediná cesta ke zvý¹ení komprimovatelnosti pomocí B-snímkù. </para></listitem> <listitem><para> <emphasis role="bold">trellis</emphasis> Optimalizuje proces kvantizace pro dosaŸení nejlep¹ího kompromisu mezi PSNR a datovým tokem, coŸ umoŸòuje znatelnou úsporu bitù. U¹etøené bity budou vyuŸity v jiných èástech videa, coŸ zvý¹í celkovou vizuální kvalitu. Mìli byste ji vŸdy mít zapnutou, jelikoŸ její kvalitativní pøínos je znaèný. Dokonce i kdyŸ potøebujete vy¹¹í rychlost, nevypínejte ji, dokud jste nevypli <option>vhq</option> a nezredukovali ostatní volby nároèné na CPU na minimum. </para></listitem> <listitem><para> <emphasis role="bold">hq_ac</emphasis> Aktivuje metodu odhadu s men¹ími náklady na koeficienty, coŸ trochu zmen¹í výstupní soubor (okolo 0,15 aŸ 0,19%) pøi zanedbatelném vlivu na rychlost. Je proto doporuèeno ponechat ji vŸdy zapnutou. </para></listitem> <listitem><para> <emphasis role="bold">cartoon</emphasis> Volba navrŸená pro lep¹í enkódování kresleného obsahu. Nemá vliv na rychlost, pouze doladí heuristiku pro výbìr reŸimu pro tento druh obsahu. </para></listitem> <listitem><para> <emphasis role="bold">me_quality</emphasis> Tato volba ovládá pøesnost vyhledávání pohybu. Èím vy¹¹í <option>me_quality</option>, tím bude pøesnìj¹í odhad pùvodního pohybu a výsledný snímek pøesnìji zachytí originální pohyb. </para> <para> Výchozí nastavení je nejlep¹í ve v¹ech pøípadech; takŸe ji nedoporuèujeme vypínat, pokud nepotøebujete za kaŸdou cenu zvý¹it rychlost, jelikoŸ v¹echny bity u¹etøené dobrým odhadem pohybu mohou být pouŸity jinde a zvý¹it tak celkovou kvalitu. KaŸdopádnì nechoïte níŸ neŸ na 5, a kdyŸ, tak jen jako poslední moŸnost. </para></listitem> <listitem><para> <emphasis role="bold">chroma_me</emphasis> Zlep¹uje odhad pohybu tím, Ÿe bere v potaz i chroma (barevnou) informaci, zatímco samotné <option>me_quality</option> pouŸívá pouze èernobílou (luma). To spomalí enkódování o 5-10%, ale docela vylep¹í vizuální kvalitu omezením blokových artefaktù a zmen¹í velikost souboru asi o 1.3%. Pokud vám jde hlavnì o rychlost, mìli byste tuto volbu vypnout døíve, neŸ zaènete sniŸovat <option>me_quality</option>. </para></listitem> <listitem><para> <emphasis role="bold">chroma_opt</emphasis> Je urèena spí¹e ke zvý¹ení kvality barev a vyèi¹tìní bílých/èerných okrajù, neŸ k vylep¹ení koprimovatelnosti. To vám mùŸe pomoci omezit "red stairs" efekt. </para></listitem> <listitem><para> <emphasis role="bold">lumi_mask</emphasis> Zkou¹í pøiøadit niŸ¹í datový tok èástem obrázku, které lidské oko dobøe nevidí, coŸ umoŸní enkodéru pouŸít u¹etøené bity na dùleŸitìj¹ích místech obrázku. Kvalita výsledku znaènì závisí na osobních preferencích a na typu a nastavení monitoru pouŸitého pro prohlíŸení (typicky to nebude vypadat dobøe pokud je jasný, nebo je to TFT monitor). </para></listitem> <listitem><para> <emphasis role="bold">qpel</emphasis> Zvý¹í poèet moŸných vektorù pohybu zvý¹ením pøesnosti vyhledávání pohybu z poloviny pixelu na ètvrtinu pixelu. Ideou je nalezení lep¹ích vektorù pohybu, které naoplátku sníŸí datový tok (coŸ zvý¹í kvalitu). Vektory pohybu s pøesností na ètvrt pixelu v¹ak vyŸadují pro sebe pár bitù navíc, ale výsledné vektory ne vŸdy dávají (o mnoho) lep¹í výsledky. Docela èasto vydá kodek bity na vy¹¹í pøesnost, ale dosáhne jen malého nebo Ÿádného zvý¹ení kvality. Nane¹tìstí není zpùsob jak zjistit moŸný zisk <option>qpel</option> pøedem, takŸe musíte enkódovat s a bez ní, abyste mìli jistotu. </para><para> <option>qpel</option> mùŸe aŸ zdvojnásobit èas enkódování a vyŸaduje aŸ o 25% více výpoèetního výkonu pro dekódování. Volba není podporována v¹emi stolními pøehrávaèi. </para></listitem> <listitem><para> <emphasis role="bold">gmc</emphasis> Pokou¹í se u¹etøit bity v panoramatických scénách pouŸitím jediného vektoru pohybu pro celý snímek. To témìø vŸdy zvý¹í PSNR, ale znatelnì zpomalí enkódování (stejnì jako dekódování). V kaŸdém pøípadì byste ji mìli pouŸívat pouze pokud máte <option>vhq</option> nastavené na maximum. GMC v <systemitem class="library">XviD</systemitem> je mnohem sofistikovanìj¹í neŸ v DivX, ale je podporována jen nìkolika stolními pøehrávaèi. </para></listitem> </itemizedlist> </sect2> </sect1> <sect1 id="menc-feat-x264"> <title>Enkódování s <systemitem class="library">x264</systemitem> kodekem</title> <para> <systemitem class="library">x264</systemitem> je svobodná knihovna pro enkódování H.264/AVC video proudù. Pøe zahájením enkódování budete muset <link linkend="codec-x264-encode"> nastavit její podporu v <application>MEncoder</application>u</link>. </para> <sect2 id="menc-feat-x264-encoding-options"> <title>Enkódovací volby x264</title> <para> Zaènìte prosím prohlídkou sekce <systemitem class="library">x264</systemitem> man stránky <application>MPlayer</application>u. Tato sekce je zamý¹lena jako doplnìk nam stránky. Zde naleznete tipy, které volby budou nejspí¹e zajímat vìt¹inu lidí. Man stránka je více uhlazená, ale také více vyèerpávající a obèas nabízí mnohem lep¹í technické detaily. </para> <sect3 id="menc-feat-x264-encoding-options-intro"> <title>Úvodem</title> <para>Tato pøíruèka pokrývá dvì hlavní kategorie enkódovacích voleb:</para> <orderedlist> <listitem><para>Volby které mìní dobu enkódování za kvalitu </para></listitem> <listitem><para>Volby které mohou být pouŸitelné pro naplnìní rùzných osobních preferencí a speciálních poŸadavkù</para></listitem> </orderedlist> <para> Nakonec jen vy mùŸete rozhodnout, které volby jsou nejlep¹í pro va¹e úèely. Rozhodování v první kategorii voleb je nejjednodu¹¹í: staèí kdyŸ zhodnotíte zda zmìny kvality ospravedlní rychlostní rozdíly. Druhá skupina voleb mùŸe být mnohem subjektivnìj¹í záleŸitostí a v úvahu mùŸe pøijít více faktorù. Poznamenejme, Ÿe nìkteré volby "osobních preferencí a speciálních poŸadavkù" mohou také znaènì ovlivnit kvalitu nebo rychlost enkódování, ale to není jejich hlavní funkce. Nìkolik voleb "osobních preferencí" mùŸe dokonce zpùsobit zmìny, po kterých se nìkomu zdá být výsledek lep¹í a jinému hor¹í. </para> <para> NeŸ budeme pokraèovat, poznamenejme, Ÿe tento návod pouŸívá jediné mìøítko kvality: celkový PSNR. Struèné vysvìtlení co je to PSNR, naleznete <ulink url="http://en.wikipedia.org/wiki/PSNR">ve Wikipedii pod heslem PSNR</ulink>. Celkové PSNR je poslední hlá¹ené PSNR èíslo pøi zaøazení volby <option>psnr</option> v <option>x264encopts</option>. Kdykoli pí¹eme o PSNR, je jedním z pøedpokladù tohoto sdìlení to, Ÿe jsou pouŸity shodné datové toky. </para> <para> Témìø v¹echny komentáøe v tomto návodu pøedpokládají, Ÿe enkódujete dvouprùchodovì. Pøi porovnávání voleb jsou zde dva hlavní dùvody pro pouŸití dvouprùchodového enkódování. Zaprvé, dvouprùchodové enkódování vám získá zhruba 1dB PSNR, coŸ je znatelný rozdíl. Zadruhé, testování voleb pomocí pøímého porovnání kvality v jednoprùchodových výsledcích je pochybné, jelikoŸ se datový tok znaènì li¹í s kaŸdým enkódováním. Není vŸdy snadné urèit, zda se zmìnila kvalita díky zmìnì voleb, nebo z vìt¹í èásti odpovídají zmìnám datového toku. </para> </sect3> <sect3 id="menc-feat-x264-encoding-options-speedvquality"> <title>Volby které primárnì ovlivòují rychlost a kvalitu</title> <itemizedlist> <listitem><para> <emphasis role="bold">subq</emphasis>: Z voleb, které umoŸòují vymìnit èas za kvalitu, jsou obvykle nejdùleŸitìj¹í <option>subq</option> a <option>frameref</option> (viz níŸe). Máte-li zájem ovlivnit jak rychlost, tak kvalitu, jsou to první volby, které byste mìli zváŸit. Ve smyslu rychlosti se spolu volby <option>frameref</option> a <option>subq</option> velmi silnì ovlivòují. Zku¹enosti ukazují, Ÿe pøi jednom referenèním snímku si <option>subq=5</option> vezme asi o 35% více èasu neŸ <option>subq=1</option>. Pøi 6 referenèních snímcích naroste spomalení nad 60%. Vliv <option>subq</option> na PSNR se zdá být pomìrnì stálý, bez ohledu na poèet referenèních snímkù. Typicky <option>subq=5</option> získá 0.2-0.5 dB celkového PSNR pøes <option>subq=1</option>. To je obvykle jiŸ viditelné. </para> <para> ReŸim <option>subq=6</option> je nejpomalej¹í s nejvy¹¹í kvalitou. Oproti <option>subq=5</option> obvykle získává 0.1-0.4 dB celkového PSNR za cenu ztráty rychlosti 25%-100%. Narozdíl od ostatních úrovní <option>subq</option> nezávisí chování <option>subq=6</option> tolik na <option>frameref</option> a <option>me</option>. Místo toho závisí efektivita <option>subq=6 </option> hlavnì na poètu pouŸitých B-snímkù. Pøi bìŸném pouŸití to znamená, Ÿe <option>subq=6</option> má velký vliv jak na rychlost, tak na kvalitu v komplexních, velmi pohyblivých scénách, ale nemusí mít takový vliv ve scénách s malým pohybem. Poznamenejme, Ÿe stále doporuèujeme nastavit <option>bframes</option> na nenulovou hodnotu (viz níŸe). </para></listitem> <listitem><para> <emphasis role="bold">frameref</emphasis>: Výchozí nastavení <option>frameref</option> je 1, ale nemìlo by to být bráno tak, Ÿe je rozumné nastavovat jej na 1. Pouhé zvý¹ení <option>frameref</option> na 2 získá okolo 0.15dB PSNR s 5-10% spomalením, coŸ je zøejmì dobrý obchod. <option>frameref=3</option> získá kolem 0.25dB PSNR navíc k <option>frameref=1</option>, coŸ jiŸ mùŸe být viditelný rozdíl. <option>frameref=3</option> je asi o 15% pomalej¹í neŸ <option>frameref=1</option>. Nane¹tìstí se zisk rychle vytrácí. Prø <option>frameref=6</option> mùŸete oèekávat zisk pouze 0.05-0.1 dB nad <option>frameref=3</option> pøi dodateèném 15% zpomalení. Nad <option>frameref=6</option> je zisk kvality obvykle velmi malý (aèkoli byste mìli mít na pamìti, Ÿe se to mùŸe výraznì li¹it v závislosti na zdrojovém materiálu). V pomìrnì typickém pøípadì zlep¹í <option>frameref=12</option> celkový PSNR o pouhé 0.02dB nad <option>frameref=6</option>, pøi spomalení o 15%-20%. Pøi tak vysokých hodnotách <option>frameref</option> lze øíct pouze jedinou dobrou vìc, a to Ÿe jejich dal¹í zvy¹ování témìø nikdy <emphasis role="bold">nesníŸí</emphasis> PSNR, ale dal¹í zisk kvality je stìŸí mìøitelný, natoŸ viditelný. </para> <note><title>Poznámka:</title> <para> Zvý¹ení <option>frameref</option> na nemístnì vysokou hodnotu <emphasis role="bold">mùŸe</emphasis> a <emphasis role="bold">obvykle taky sníŸí</emphasis> efektivitu kódování, pokud vypnete CABAC. Se zapnutým CABAC (výchozí chování) se zdá být moŸnost nastavit <option>frameref</option> "pøíli¹ vysoko" pøíli¹ vzdálená na to, abyste se tím museli trápit a v budoucnu mohou optimalizace tuto moŸnost zcela vylouèit. </para> </note> <para> Pokud vám záleŸí na rychlosti, bývá vhodným kompromisem pouŸít nízké hodnoty <option>subq</option> a <option>frameref</option> v prvním prùchodu a zvý¹it je ve druhém. Typicky to má zanedbatelný záporný vliv na koneènou kvalitu: Pravdìpodobnì stratíte ménì neŸ 0.1dB PSNR, coŸ by mìl být aŸ pøíli¹ malý rozdíl, neŸ aby byl vidìt. Odli¹né hodnoty <option>frameref</option> v¹ak mohou místy ovlivnit volbu typu snímku. Nejspí¹ to budou ojedinìlé pøípady, ale chcete-li si být zcela jisti, zjistìte, jestli va¹e video obsahuje buï blýskavé vzory pøes celou obrazovku, nebo rozsáhlé krátkodobé zmìny, které by mohly vynutit I-snímek. Nastavte <option>frameref</option> pro první prùchod tak, aby byl dostateènì velký pro pokrytí doby bliknutí (nebo zmìny). Napøíklad, pokud scéna pøepíná tam a zpìt mezi dvìma obrázky pøes tøi snímky, nastavte <option>frameref</option> pro první prùchod na 3 a více. Tento pøípad je nejspí¹ zcela ojedinìlý v hraných filmech, ale obèas se vyskytuje v záznamech z videoher. </para></listitem> <listitem><para> <emphasis role="bold">me</emphasis>: Tato volba je urèena pro výbìr metody vyhledávání pohybu. Zmìnou této volby jednodu¹e mìníte pomìr kvalita-versus-rychlost. Volba <option>me=1</option> je jen o málo procent rychlej¹í neŸ výchozí vyhledávání za cenu pod 0.1dB globálního PSNR. Výchozí nastavení (<option>me=2</option>) je rozumným kompromisem mezi rychlostí a kvalitou. Volba <option>me=3</option> získá o tro¹ku ménì neŸ 0.1dB globální PSNR, pøi spomalení, které se li¹í v závislosti na <option>frameref</option>. Pøi vysokých hodnotách <option>frameref</option> (øeknìme 12 nebo tak), je <option>me=3</option> asi o 40% pomalej¹í neŸ výchozí <option> me=2</option>. Pøi <option>frameref=3</option>, klesne zpùsobené spomalení na 25%-30%. </para> <para> Volba <option>me=4</option> pouŸívá tak rozsáhlé vyhledávání, Ÿe je pøíli¹ pomalá pro praktické vyuŸití. </para> </listitem> <listitem><para> <emphasis role="bold">4x4mv</emphasis>: Tato volba zapíná pouŸití podèástí 8x4, 4x8 a 4x4 v predikovaných makroblocích. Její aktivace vede k pomìrnì stálé 10%-15% ztrátì rychlosti. Tato volba je pomìrnì neuŸiteèná ve zdroji obsahujícím pouze pomalý pohyb, naproti tomu u nìkterých zdrojù s rychlým pohybem, pøesnìji zdrojù s velkým mnoŸstvím malých pohyblivých objektù, mùŸete oèekávat zisk okolo 0.1dB. </para> </listitem> <listitem><para> <emphasis role="bold">bframes</emphasis>: PouŸitelnost B-snímkù je ve vìt¹inì ostatních kodekù diskutabilní. V H.264 se to zmìnilo: jsou zde nové techniky a typy blokù pro pouŸití v B-snímcích. Obvykle i naivní algoritmus pro výbìr B-snímku mùŸe zajistit znatelný zisk PSNR. Také je zajímavé, Ÿe pokud vypnete adaptivní rozhodování o B-snímku (<option>nob_adapt</option>), zvý¹í obvykle enkódování s <option>bframes</option> o trochu rychlost enkódování. </para> <para> S vypnutým adaptivním rozhodováním o B-snímku (<option>x264encopts</option> - volba <option>nob_adapt</option>), optimální hodnota tohoto nastavení nebývá obvykle vy¹¹í neŸ <option>bframes=1</option>, jinak mouhou utrpìt velmi pohyblivé scény. Se zapnutým adaptivním rozhodováním o B-snímku (výchozí chování), je obvykle bezpeèné pouŸít vy¹¹í hodnoty; enkodér se pokusí sníŸit pouŸití B-snímkù ve scénách, kde by sníŸily kompresi. Enkodér zøídka pouŸije více neŸ 3 nebo 4 B-snímky; nastavení této volby na vy¹¹í hodnotu bude mít jen nepatrný vliv. </para></listitem> <listitem><para> <emphasis role="bold">b_adapt</emphasis>: Poznámka: Výchozí je zapnuto. </para> <para> Je-li tato volba zapnuta, bude enkodér pouŸívat rychlou heuristiku pro sníŸení poètu B-snímkù ve scénách, kde by jejich pouŸitím pøíli¹ nezískaly. MùŸete pouŸít <option>b_bias</option> pro nastavení jak pøátelský bude enkodér k B-snímkùm. Spomalení pùsobené adaptivními B-snímky je nyní spí¹e malé, ale stejnì tak potenciální zisk kvality. Obvykle v¹ak nijak ne¹kodí. Poznamenejme, Ÿe ovlivòuje rychlost a rozhodování o typu snímku pouze v prvním prùchodu. <option>b_adapt</option> a <option>b_bias</option> nemají Ÿádný vliv v následných prùchodech. </para></listitem> <listitem><para> <emphasis role="bold">b_pyramid</emphasis>: Pokud pouŸíváte >=2 B-snímky, mùŸete také zapnout tuto volbu; jak øíká man stránka, dostanete malé zvý¹ení kvality bez ztráty rychlosti. Poznamenejme, Ÿe tato videa nelze èíst dekodéry zaloŸenými na libavcodec star¹ími neŸ 5. bøezna 2005. </para></listitem> <listitem><para> <emphasis role="bold">weight_b</emphasis>: V typických pøípadech tato volba nepøiná¹í velký zisk. V prolínacích nebo stmívacích scénách v¹ak váŸená predikce umoŸòuje pomìrnì velkou úsporu datového toku. V MPEG-4 ASP bývá stmívání obvykle nejlépe kódováno jako série velkých I-snímkù; pouŸití váŸené predikce v B-snímcích umoŸòuje zmìnit alespoò nìkteré z nich na rozumnì men¹í B-snímky. Spomalení enkódování se zdá být minimální, pokud nìjaké je. RovnìŸ, v rozporu s tím, co si nìkteøí lidé mohou myslet, poŸadavky dekodéru na CPU nejsou váŸenou predikcí ovlivnìny, ostatní moŸnosti jsou stejnì nároèné. </para> <para> Nane¹tìstí má aktuálnì algoritmus adaptivního rozhodování o B-snímcích výraznou tendenci vyvarovat se B-snímkù pøi stmívání. Dokud se to nezmìní, bude dobré pøidat <option>nob_adapt</option> do x264encopts, pokud oèekáváte, Ÿe stmívání bude mít znatelný vliv ve va¹em konkrétním klipu. </para></listitem> </itemizedlist> </sect3> <sect3 id="menc-feat-x264-encoding-options-misc-preferences"> <title>Volby náleŸející rùzným preferencím</title> <itemizedlist> <listitem><para> <emphasis role="bold">Dvouprùchodové enkodování</emphasis>: Vý¹e jsme doporuèovali vŸdy pouŸívat dvouprùchodové enkódování, ale stále existují dùvody proè jej nepouŸít. Napøíklad pokud zachytáváte TV vysílání a enkódujete v reálném èase, nemáte jinou moŸnost, neŸ pouŸít jeden prùchod. Jeden prùchod je samozøejmì rychlej¹í neŸ dva; pokud pouŸijete stejné volby v obou prùchodech, pak je dvouprùchodové enkódování témìø dvakrát pomalej¹í. </para> <para> Stále jsou v¹ak velmi dobré dùvody pro pouŸití dvouprùchodového reŸimu. Voliè datového toku v jednoprùchodovém reŸimu není odu¹evnìlý a èasto dìlá nerozumné volby, protoŸe nevidí celkový obraz. Pøedpokládejme, Ÿe máte napøíklad dvouminutové video skládající se ze dvou èástí. První polovina je vysoce pohyblivá scéna dlouhá 60 sekund, která samostatnì vyŸaduje kolem 2500kbps, aby vypadala slu¹nì. Hned za ní následuje ménì nároèná 60 sekundová scéna, která vypadá dobøe pøi 300kbps. VyŸádáte si 1400kbps, coŸ je teoreticky dostateèné pro pokrytí obou scén. Jednoprùchodový voliè datového toku v tom pøípadì uèiní nìkolik "chyb". První blok mùŸe skonèit tìŸce pøekvantizovaný, takŸe bude nepouŸitelnì a zbyteènì ètvereèkovaný. Druhá èást bude velmi podkvantizovaná; to mùŸe vypadat dobøe, ale spotøeba bitù na tento vzhled je nerozumnì vysoká. Èeho se dá je¹tì hùøe vyvarovat je problém pøechodu mezi tìmito scénami. První sekundy málo pohyblivé poloviny budou tìŸce pøekvantizovány, protoŸe voliè toku stále oèekává nároky na datový tok, se kterými se potýkal v první polovinì videa. Tato "chybová doba" pøekvantizované málo pohyblivé scény bude vypadat neskuteènì ¹patnì a skuteènì pouŸije ménì neŸ 300kbps, které by potøebovala, aby vypadala dobøe. Existují zpùsoby pro zmírnìní nástrah jednoprùchodového enkódování, ale ty mohou tíhnout ke zvy¹ování nepøesnosti datového toku. </para> <para> Víceprùchodový voliè datového toku nabízí velké výhody oproti jednomu prùchodu. Díky statistikám generovaným v prvním prùchodu mùŸe enkodér urèit, s rozumnou pøesností, bitovou nároènost enkódování kaŸdého snímku pøi jakémkoli kvantizéru. To umoŸòuje mnohem racionálnìj¹í, lépe naplánovanou spotøebu bitù mezi drahými (hodnì pohyblivými) a levnými (málo pohyblivými) scénami. Nìkolik nápadù jak upravit tuto spotøebu podle svého naleznete níŸe viz <option>qcomp</option>. </para> <para> Navíc dva prùchody nemusí trvat dvakrát tak dlouho jako jeden. MùŸete upravit volby prvního prùchodu pro nejvy¹¹í rychlost a niŸ¹í kvalitu. Pokud si dobøe zvolíte své volby, mùŸete mít velmi rychlý první prùchod. Výsledná kvalita ve druhém prùchodu bude trochu hor¹í, protoŸe predikce velikosti je ménì pøesná, ale rozdíl v kvalitì je obvykle pøíliŸ malý, aby byl vidìt. Zkuste napø. pøidat <option>subq=1:frameref=1</option> do <option>x264encopts</option> prvnímu prùchodu. Pak ve druhém prùchodu pouŸijte pomalej¹í volby pro vy¹¹í kvalitu: <option>subq=6:frameref=15:4x4mv:me=3</option> </para></listitem> <listitem><para> <emphasis role="bold">Tøíprùchodové enkódování</emphasis>? x264 nabízí moŸnost provádìt vìt¹í poèet následných prùchodù. Pokud zadáte <option>pass=1</option> v prvním prùchodu a pak pouŸijete <option>pass=3</option> v následujícím prùchodu, pak tento prùchod jak naète statistiky z pøedchozího, tak zapí¹e své vlastní. Dal¹í prùchod po nìm pak bude mít velmi dobrou základnu pro vysoce pøesnou predikci velikosti snímkù pøi zvoleném kvantizéru. V praxi se celková kvalita z toho vze¹lá blíŸí nule a je moŸné, Ÿe tøetí prùchod bude mít hor¹í celkový PSNR neŸ jeho pøedchúdce. Pøi bìŸném pouŸití tøi prùchody pomùŸou, pokud dostanete buï ¹patnou predikci datového toku, nebo ¹patnì vypadající pøechody mezi scénami po pouŸití pouze dvou prùchodù. To se nejspí¹ mùŸe stát v extrémnì krátkých klipech. Je rovnìŸ nìkolik zvlá¹tních pøípadù, ve kterých jsou tøi a více prùchodù dobré pro pokroèilé uŸivatele, ale pro struènost se zde tìmito pøípady zabývat nebudeme. </para></listitem> <listitem><para> <emphasis role="bold">qcomp</emphasis>: <option>qcomp</option> mìní pomìr poètu bitù alokovaných "drahým" velmi pohyblivým snímkùm k "levným" málo pohyblivým snímkùm. V jednom extrému, <option>qcomp=0</option> vede k èistì konstantnímu datovému toku. CoŸ typicky èiní velmi pohyblivé scény velmi o¹klivé, zatímco scény s malým pohybem vypadají perfektnì, ale spotøebovávají mnohem vìt¹í datový tok, neŸ by potøebovaly k tomu, aby je¹tì vypadaly skvìle. Ve druhém extrému, <option>qcomp=1</option>, dostanete témìø konstantní kvantizaèní parametr (QP). Konstantní QP nevypadá ¹patnì, ale vìt¹ina lidí soudí, Ÿe je rozumnìj¹í sníŸit trochu datový tok v extrémnì nároèných scénách (kde sníŸení kvality není tak vidìt) a realokovat je do scén, které je snadnìj¹í enkódovat pøi excelentní kvalitì. Výchozí hodnota <option>qcomp</option> je 0.6, coŸ mùŸe být, podle nìkterých lidí ponìkud málo (bìŸnì se rovnìŸ pouŸívá 0.7-0.8). </para></listitem> <listitem><para> <emphasis role="bold">keyint</emphasis>: <option>keyint</option> je výhradnì pro výmìnu míry pøevinutelnosti za efektivitu kódování. Výchozí hodnota <option>keyint</option> je 250. V materiálu 25 snímkù za sekundu to zaji¹»uje schopnost pøevíjení s 10 sekundovou pøesností. Pokud soudíte, Ÿe bude dùleŸité a uŸiteèné být schopen pøevíjet s pøesností 5 sekund, nastavte <option>keyint=125</option>; to ov¹em trochu sníŸí kvalitu/datový tok. Pokud vám jde jen o kvalitu, nikoli pøevinutelnost, mùŸete si nastavit mnohem vy¹¹í hodnoty (rozumìjte Ÿe zisk z toho klesá a mùŸe být neznatelný aŸ Ÿádný). Video proud bude stále mít pøevíjecí body, pokud jsou zde nìjaké zmìny scény. </para></listitem> <listitem><para> <emphasis role="bold">deblockalpha, deblockbeta</emphasis>: Tato vìc zaèíná být trochu kontroverzní. </para> <para> H.264 definuje jednoduchou deblokovací proceduru I-blokù, která pouŸívá pøednastavených sil a prahù závislých na QP daného bloku. Výchozí je, Ÿe bloky s vysokým QP jsou filtrovány silnì a bloky s nízkým QP nejsou deblokovány vùbec. Pøednastavené síly definované standardem jsou dobøe zvoleny a vyváŸeny tak, Ÿe jsou optimální z hlediska PSNR pro libovolné video, které zkou¹íte enkódovat. Volby <option>deblockalpha</option> a <option>deblockbeta</option> umoŸòují nastavit offsety pøednastaveným deblokovacím prahùm. </para> <para> Zdá se, Ÿe si mnoho lidí myslí, Ÿe je dobré sníŸit sílu deblokovacího filtru o vysokou hodnotu (øeknìme, -3). To v¹ak není témìø nikdy dobrý nápad a v mnoha pøípadech lidé, kteøí to dìlají, nerozumí dobøe tomu, jak pracuje výchozí deblokování. </para> <para> První a nejdùleŸitìj¹í vìc, kterou byste mìli vìdìt o in-loop deblokovacím filtru, je, Ÿe výchozí prahy jsou témìø vŸdy optimální z hlediska PSNR. V øídkých pøípadech, kdy nejsou, je ideální offset plusmínus 1. Úprava deblokovacích parametrù o vìt¹í hodnotu témìø zaruèenì po¹kodí PSNR. Zesílení filtru setøe více detailù; oslabení filtru povede k zvý¹ené viditelnosti blokování. </para> <para> Rozhodnì je hloupost sniŸovat deblokovací prahy pokud má va¹e video pøeváŸnì nízkou plo¹nou komplexnost (èili málo detailù nebo ¹umu). In-loop filtr odvádí témìø výbornou práci v ukrývání artefaktù, které se mohou vyskytnout. Pokud má zdroj vysokou pl¹nou komplexnost, pak jsou artefakty ménì viditelné. To proto, Ÿe krouŸkování vypadá podobnì jako detail nebo ¹um. Lidské oko snadno rozpozná, pokud je odstranìn detail, ale ne uŸ tak snadno pozná, Ÿe je ¹um reprezentován ¹patnì. KdyŸ pøíjde na subjektivní kvalitu, pak jsou detaily a ¹um do jisté míry zamìnitelné. Oslabením deblokovacího filtru nejspí¹e zvý¹íte chybu, pøidáním krouŸkových artefaktù, ale oko si toho nev¹imne, jelikoŸ je zamìní za detaily. </para> <para> <emphasis role="bold">Ani to</emphasis> v¹ak neospravedlòuje oslabení deblokovacího filtru. Obecnì dostanete kvalitnìj¹í ¹um pomocí postprocesingu. Pokud va¹e H.264 videa vypadají pøíli¹ neostøe nebo rozmazanì, zkuste si pohrát s <option>-vf noise</option> pøi pøehrávání. Volba <option>-vf noise=8a:4a</option> by mìla skrýt vìt¹inu støednì silných artefaktù. Témìø urèitì to bude vypadat lépe, neŸ výsledky, které byste mohli dosáhnout pohráváním si s deblokovacím filtrem. </para></listitem> </itemizedlist> </sect3> </sect2> </sect1> <sect1 id="menc-feat-vcd-dvd"> <title>PouŸití MEncoder k vytváøení VCD/SVCD/DVD-kompatibilních souborù.</title> <sect2 id="menc-feat-vcd-dvd-constraints"> <title>Omezení Formátù</title> <para> <application>MEncoder</application> je schopen vytvoøit soubory ve formátu MPEG pro VCD, SCVD a DVD pomocí knihovny <systemitem class="library">libavcodec</systemitem>. Tyto soubory pak mohou být pouŸity ve spojení s programem <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink> nebo <ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink> pro vytvoøení disku pøehratelného na stolním pøehrávaèi. </para> <para> Formáty DVD, SVCD a VCD mají silná omezení. K dispozici máte pouze malý výbìr vlikostí enkódovaného obrazu a pomìrù stran. Pokud vá¹ film nesplòuje tyto poŸadavky, budete jej muset ¹kálovat, oøezat nebo pøidat èerné okraje, aby byl kompatibilní. </para> <sect3 id="menc-feat-vcd-dvd-constraints-resolution"> <title>Omezení Formátù</title> <informaltable frame="all"> <tgroup cols="9"> <thead> <row> <entry>Formát</entry> <entry>Rozli¹ení</entry> <entry>V. kodec</entry> <entry>V. dat. tok</entry> <entry>Vzork. kmitoèet</entry> <entry>A. kodec</entry> <entry>A. dat. tok</entry> <entry>FPS</entry> <entry>Pomìr stran</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 (pouze pro 720x480)</entry> </row> <row> <entry>NTSC DVD</entry> <entry>352x240<footnote id='fn-rare-resolutions'><para> Tato rozli¹ení jsou zøídka pouŸita pro DVD, protoŸe mají docela nízkou kvalitu.</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 (pouze pro 720x576)</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> Pokud má va¹e video pomìr stran 2.35:1 (vìt¹ina souèasných akèních filmù), budete muset pøidat èerné okraje, nebo oøezat video na 16:9, abyste mohli vytvoøit DVD nebo VCD. Pokud pøidáváte èerné okraje, zkuste je napasovat do 16 pixelových okrajù, abyste minimalizovali vliv na výkon enkódování. Na¹tìstí má DVD dostateènì vysoký datový tok, takŸe se nemusíte pøíli¹ zabývat efektivitou enkódování, ale u SVCD a VCD je k dispozici jen malý datový tok, takŸe vyŸaduje vìt¹í snahu pro dosaŸení pøijatelné kvlaity. </para> </sect3> <sect3 id="menc-feat-vcd-dvd-constraints-gop"> <title>Omezení velikosti GOP</title> <para> DVD, VCD a SVCD vás rovnìŸ omezují na relativnì nízké GOP (skupina obrázkù) velikosti. Pro materiál 30 snímkù za sekundu je nejvìt¹í povolená GOP velikost 18. Pro 25 nebo 24 snímkù/s je maximum 15. Velikost GOP je nastavena pomocí volby <option>keyint</option>. </para> </sect3> <sect3 id="menc-feat-vcd-dvd-constraints-bitrate"> <title>Omezení datového toku</title> <para> VCD video musí být CBR pøi 1152 kbps. Tento velmi omezující poŸadavek je zde spolu s velmi malou vbv vyrovnávací pamìtí 327 kilobitù. SVCD umoŸòuje promìnné datové toky aŸ do 2500 kbps a ponìkud ménì omezující velikost vbv bufferu 917 kilobitù. Datové toky pro DVD mohou být libovolné aŸ do 9800 kbps (aèkoli typické datové toky jsou asi polovièní) a velikost vbv buferu je 1835 kilobitù. </para> </sect3> </sect2> <sect2 id="menc-feat-vcd-dvd-output"> <title>Výstupní volby</title> <para> <application>MEncoder</application> má volby pro ovládání výstupního formátu. Pomocí tìchto voleb jej mùŸete instruovat, aby pouŸil správný typ souboru. </para> <para> Volby pro VCD a SVCD se nazývají xvcd a xsvcd, protoŸe to jsou roz¹íøené formáty. Nejsou pøesnì kompatibilní hlavnì proto, Ÿe výstup neobsahuje skenovací offsety. Pokud potøebujete generovat SVCD obraz, mìli byste protáhnout výstupní soubor programem <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>. </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>Pomìr stran</title> <para> Argument aspect z <option>-lavcopts</option> se pouŸívá pro zakódování pomìru stran souboru. Bìhem pøehrávání je pak tato hodnota pouŸita pro obnovení videa na správnou velikost. </para> <para> 16:9 neboli "Widescreen" <screen> -lavcopts aspect=16/9 </screen> </para> <para> 4:3 neboli "Fullscreen" <screen> -lavcopts aspect=4/3 </screen> </para> <para> 2.35:1 neboli "Cinemascope" NTSC <screen> -vf scale=720:368,expand=720:480 -lavcopts aspect=16/9 </screen> Pro výpoèet správné velikosti pro ¹kálování, pouŸijte roz¹íøenou NTSC ¹íøku 854/2.35 = 368 </para> <para> 2.35:1 neboli "Cinemascope" PAL <screen> -vf scale="720:432,expand=720:576 -lavcopts aspect=16/9 </screen> Pro výpoèet správné velikosti pro ¹kálování, pouŸijte roz¹íøenou PAL ¹íøku 1024/2.35 = 432 </para> </sect3> <sect3 id="menc-feat-vcd-dvd-output-srate"> <title>Pøevod vzorkovacího kmitoètu</title> <para> Pokud není vzorkovací kmitoèet zvuku takový, jaký je vyŸadován cílovým formátem, je nutný pøevod vzorkovacího kmitoètu. To zaji¹»uje pouŸití volby <option>-srate</option> spolu se zvukovým filtrem <option>-af lavcresample</option>. </para> <para> DVD: <screen> -srate 48000 -af lavcresample=48000 </screen> </para> <para> VCD a SVCD: <screen> -srate 44100 -af lavcresample=44100 </screen> </para> </sect3> </sect2> <sect2 id="menc-feat-vcd-dvd-lavc"> <title>PouŸití libavcodec pro enkódování VCD/SVCD/DVD</title> <sect3 id="menc-feat-vcd-dvd-lavc-intro"> <title>Úvodem</title> <para> <systemitem class="library">libavcodec</systemitem> mùŸete pouŸít pro vytvoøení videa kompatibilního s VCD/SVCD/DVD pouŸitím pøíslu¹ných voleb. </para> </sect3> <sect3 id="menc-feat-vcd-dvd-lavc-options"> <title>lavcopts</title> <para> Zde máte seznam polí v <option>-lavcopts</option>, která je nutné zmìnit, abyste dostali video vhodné pro VCD, SVCD, nebo DVD: </para> <itemizedlist> <listitem><para> <emphasis role="bold">acodec</emphasis>: <option>mp2</option> pro VCD, SVCD nebo PAL DVD; <option>ac3</option> je obecnì pouŸíván pro DVD. PCM zvuk mùŸe být rovnìŸ pouŸitý pro DVD, ale vìt¹inou je to velké plýtvání místem. Poznamenejme, Ÿe MP3 není sluèitelné s Ÿádným z tìchto formátù, ale pøehrávaèe s jeho pøehrátím obvykle nemají problém. </para></listitem> <listitem><para> <emphasis role="bold">abitrate</emphasis>: 224 pro VCD; do 384 pro SVCD; do 1536 pro DVD, ale obvykle se hodnoty pohybují od 192 kbps pro stereo do 384 kbps pro 5.1 kanálový zvuk. </para></listitem> <listitem><para> <emphasis role="bold">vcodec</emphasis>: <option>mpeg1video</option> pro VCD; <option>mpeg2video</option> pro SVCD; <option>mpeg2video</option> je obvykle pouŸitý pro DVD, ale mùŸete pouŸít také <option>mpeg1video</option> pro CIF rozli¹ení. </para></listitem> <listitem><para> <emphasis role="bold">keyint</emphasis>: PouŸitý pro nastavení velikosti GOP. 18 pro 30fps materiál, nebo 15 pro 25/24 fps materiál. Zdá se, Ÿe komerèní producenti preferují interval mezi klíèovými snímky 12. Je moŸné pouŸít vy¹¹í hodnotu a stále být kompatibilní s vìt¹inou pøehrávaèù. <option>keyint</option> na 25 by nemìla nikdy zpùsobit potíŸe. </para></listitem> <listitem><para> <emphasis role="bold">vrc_buf_size</emphasis>: 327 pro VCD, 917 pro SVCD a 1835 pro DVD. </para></listitem> <listitem><para> <emphasis role="bold">vrc_minrate</emphasis>: 1152, pro VCD. MùŸe být vynecháno pro SVCD a DVD. </para></listitem> <listitem><para> <emphasis role="bold">vrc_maxrate</emphasis>: 1152 pro VCD; 2500 pro SVCD; 9800 pro DVD. Pro SVCD a DVD, mùŸete pouŸít niŸ¹í hodnoty v závislosti na va¹ich osobních preferencích a potøebách. </para></listitem> <listitem><para> <emphasis role="bold">vbitrate</emphasis>: 1152 pro VCD; do 2500 pro SVCD; do 9800 pro DVD. Pro dva poslední formáty by mìlo být vbitrate nastaveno podle vlastního uváŸení. Napøíklad pokud trváte na umístìní asi 20 hodin na DVD, mohli byste pouŸít vbitrate=400. Výsledná kvalita bude nejspí¹ hrozná. Pokud se pokou¹íte dosáhnout maximální moŸné kvality na DVD, pouŸijte vbitrate=9800, ale pak se vám nevejde ani celá hodina záznamu na jednovrstvé DVD. </para></listitem> </itemizedlist> </sect3> <sect3 id="menc-feat-vcd-dvd-lavc-examples"> <title>Pøíklady</title> <para> Toto je typická minimální sada <option>-lavcopts</option> pro enkódování videa: </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>Pokroèilé volby</title> <para> Pro vy¹¹í kvalitu enkódování mùŸete také pøidat kvalitu zlep¹ující volby do lavcopts, jako je <option>trell</option>, <option>mbd=2</option> a dal¹í. Poznamenejme, Ÿe <option>qpel</option> a <option>v4mv</option>, které jsou èasto dobré pro MPEG-4, nejsou pouŸitelné s MPEG-1 nebo MPEG-2. Pokud se snaŸíte vytvoøit DVD s velmi vasokou kvalitou, mùŸe být vhodné pøidat <option>dc=10</option> do lavcopts. Takto to mùŸete pomoci omezit obìvování blokù ve stálobarevných plochách. PodtrŸeno seèteno, zde máte pøíklad nastavení lavcopts pro DVD s vy¹¹í kvalitou: </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>Enkódování zvuku</title> <para> VCD a SVCD podporují zvuk MPEG-1 layer II. PouŸít mùŸete <systemitem class="library">toolame</systemitem>, <systemitem class="library">twolame</systemitem>, nebo MP2 enkodér z <systemitem class="library">libavcodec</systemitem>u. MP2 libavcodecu je dalek toho, aby byl stejnì dobrý jako druhé dvì knihovny, av¹ak mìl by být vŸdy po ruce. VCD podporuje pouze zvuk s konstantním datovým tokem (CBR), zatímco SVCD podporuje také promìnný datový tok (VBR). PouŸívejte VBR opatrnì, jelikoŸ nìkteré mizerné stolní pøehrávaèe jej nemusí dobøe podporovat. </para> <para> Pro DVD zvuk se pouŸívá AC3 kodek z <systemitem class="library">libavcodec</systemitem>. </para> <sect3 id="menc-feat-vcd-dvd-audio-toolame"> <title>toolame</title> <para> Pro VCD a SVCD: <screen> -oac toolame -toolameopts br=224 </screen> </para> </sect3> <sect3 id="menc-feat-vcd-dvd-audio-twolame"> <title>twolame</title> <para> Pro VCD a SVCD: <screen> -oac twolame -twolameopts br=224 </screen> </para> </sect3> <sect3 id="menc-feat-vcd-dvd-audio-lavc"> <title>libavcodec</title> <para> Pro DVD s 2 kanálovým zvukem: <screen> -oac lavc -lavcopts acodec=ac3:abitrate=192 </screen> </para> <para> Pro DVD s 5.1 kanálovým zvukem: <screen> -channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384 </screen> </para> <para> Pro VCD a SVCD: <screen> -oac lavc -lavcopts acodec=mp2:abitrate=224 </screen> </para> </sect3> </sect2> <sect2 id="menc-feat-vcd-dvd-all"> <title>Spojení v¹eho dohromady</title> <para> Tato sekce obsahuje kompletní pøíkazy pro vytvoøení VCD/SVCD/DVD kompatibilních videí. </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>film.mpg</replaceable> <replaceable>film.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>film.mpg</replaceable> <replaceable>film.avi</replaceable> </screen> </para> </sect3> <sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy"> <title>PAL AVI obsahující AC3 zvuk do DVD</title> <para> Pokud jiŸ má zdroj AC3 zvuk, pouŸijte -oac copy místo reenkódování. <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>film.mpg</replaceable> <replaceable>film.avi</replaceable> </screen> </para> </sect3> <sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy"> <title>NTSC AVI obsahující AC3 zvuk do DVD</title> <para> Pokud jiŸ má zdroj AC3 zvuk a video je 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>film.mpg</replaceable> <replaceable>film.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>film.mpg</replaceable> <replaceable>film.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>film.mpg</replaceable> <replaceable>film.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>film.mpg</replaceable> <replaceable>film.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>film.mpg</replaceable> <replaceable>film.avi</replaceable> </screen> </para> </sect3> </sect2> </sect1> </chapter>
participants (1)
-
syncmail@mplayerhq.hu