NOVINKY:

30. dubna 2009 (09:00)
Vyšla jarní verze distribuce Mandriva Linux 2009.1. Nově nasazené graficke prostředí KDE 4 je na rozdíl od předchozí verze mnohem dál, posunulo se od hezkého experimentu k plně použitelnému systému. Česká knižní edice k této verzi nebude, takže nezbývá, než stahovat a s problémy se obrátit na fórum.
[Všechny informace v češtině] [Představení hlavních novinek] [Poznámky k vydání]
[Download] [Errata] [Errata česky]

další novinky >>

Novinky jinde:
Root | Abclinuxu | Linuxsoft

Vyhledávání:

 


Proč používat Linux  Wikipedie - největší otevřená encyklopedie na internetu v češtině.
 MENU: Články a návody | Jak na to | Překlady | Odkazy | Obrázky z Linuxu  | Download |

Nastavujeme XviD

Other languages:
Russian / Russian (PDF)
Somebody with nick "Lao" translated
my text to Russian. Thanks!
(Found by Google at lafox.net.)

V běžném počítačovém životě potřebujete nastavovat XviD, když komprimujete nějaké video. Většinou to bývá DVD film, který se snažíte dostat na určitý počet obyčejných CD disků. Jako vždy samozřejmě platí, že dobré nastavení znamená dobré výsledky. Rozčilování nad nízkou kvalitou, trhaným obrazem nebo spoustou kostiček si můžete ušetřit. Malý a užitečný prográmek xvid4conf od Tilmanna Bitterberga používám hlavně ve spojení s tandemem transcode+dvd::rip, kde je možno ukládat konfigurace zvlášť pro každý zpracovávaný film, ale určitě se hodí i uživatelům mencoderu.

 

Instalace xvid4conf

Oficiální RPM balíček xvid4conf pro Mandrake asi nenajdete. Kompilace je ovšem docela jednoduchá:

  1. Z jeho stránek stáhneme soubor se zdrojovými kódy (momentálně xvid4conf-1.12.tar.gz, cca 140 kB).
  2. Rozbalíme např. pomocí Krusaderu, nebo tar xfvz.
  3. Přejdeme do adresáře s rozbalenými soubory a pokud v ní ještě nejsme, otevřeme konzolu (v Krusaderu F2).
  4. Přečteme soubor Install a zadáme ./configure [Enter]. Spustí se kontrolní script. Pokud skončí chybovou hláškou "No package 'gtk+-2.0' found", musíme dodat balíček libgtk+2.0-devel a jeho závislosti. Potom by configure už měl projít.
  5. Jako root zadáme make [Enter] a potom make install [Enter]. Namísto make install doporučuji za účelem udržení pořádku použít program checkinstall (viz popis na tomto webu).
  6. Odhlásíme roota (exit [Enter]) a spustíme xvid4conf [Enter].

Poznámky:

  • Jestli nechcete nebo nemůžete kompilovat, zkuste použít můj balíček v sekci Download. Je vyrobený za pomoci checkinstallu a nezkoušel jsem ho na jiném systému, než na svém vlastním, ale měl by fungovat, vzhledem k tomu, že jde o velmi jednoduchý program.
  • Jestli nechcete kupovat zajíce v pytli, můžete nejdříve zkouknout screenshoty v sekci Obrázky.

 

Jednotlivá nastavení kodeku XviD

Volný překlad z nápovědy programu xvid4conf je vyznačen kurzivou. Komentáře a poznámky jsou směsí mých zkušeností a různých názorů posbíraných po celém internetu. Názory na některé funkce z různých zdrojů se ale někdy dost liší a občas si odporují. Vybral jsem, co se mi zdálo nejpravděpodobnější. Vysvětlení k některým volbám rozhodně není dostatečné. Snad k tomu v budoucnu ještě něco najdu.

 

Features - General Settings
(Vlastnosti - obecná nastavení)

Quant Type
(Typ kvantizace)

MPEG4 umožňuje kompresi obrazu dvěma metodami. První je odvozená od h263 a druhá vychází z kvantizační matice MPEG2. Pokud používáte vlastní matici, musíte použít mpeg.

Hodnoty:

  • h263
  • mpeg

Při použití MPEG zachováte více detailů (obraz je ostřejší), ale při nízkém datovém toku se objevují kostičky, čili artefakty. Metoda h263 (nebo H.263) obraz mírně rozmaže, ale nepotřebuje tak velký datový tok. h263 se většinou doporučuje, pokud komprimujete na jedno CD, MPEG pro dvě a více. Zkrátka, když MPEG, tak s pořádným datovým tokem.

 

Motion
(Motion search precision / Přesnost vyhodnocování pohybu)

Tato volba ovládá podsystém vyhodnocování pohybu. Čím vyšší hodnota, tím přesnější bude vyhodnocení. Čím lepší je vyhodnocování, tím více bitů se ušetří. Přesnost vyhodnocení je vyvážena nároky na výkon procesoru, takže pokud potřebujete kódovat v reálném čase, snižte tuto hodnotu.

Hodnoty:

  • 0 - None (nic)
  • 1 - Very Low (velmi nízká)
  • 2 - Low (nízká)
  • 3 - Medium (střední)
  • 4 - High (vysoká)
  • 5 - Very High (velmi vysoká)
  • 6 - Ultra High (extrémně vysoká)

Pokud preferujete kvalitu, použijte 5 nebo 6. Hodnota 6 - Ultra High je také všeobecně doporučována a nižší jsou použitelné snad jen pro kódování v reálném čase, s čímž nemám žádné zkušenosti.

 

VHQ

Algoritmus pro vyhodnocování pohybu je založen na vyhledávání v běžné barevné oblasti, kde se snaží najít vektor pohybu, který minimalizuje rozdíl mezi referenčním a kódovaným snímkem. Pokud je aktivována možnost VHQ, bude XviD pro vyhledávání pohybového vektoru používat také frekvenční oblast (DCT), což minimalizuje nejen prostorový rozdíl, ale také zakódovanou velikost bloku. Čím vyšší hodnota, tím vyšší zátěž procesoru.

Hodnoty:

  • 0 - Disabled (zakázáno/nefunkční)
  • 1 - Mode Selection (výběrový režim (?))
  • 2 - Limited Search (omezené vyhledávání)
  • 3 - Medium Search (střední hodnota vyhledávání)
  • 4 - Wide Search (rozsáhlé vyhledávání)

Vyšší hodnota VHQ umožňuje snížit kvantizér a tím zvýšit kvalitu. Obecně se má za to, že zvýšení kvality není tak podstatné, aby se vyrovnalo zpomalení kódování. Podstatně se ale zvýší komprese. Hodnota 4 je doporučená pro filmy na jedno CD a dlouhé filmy, aby se nemusela použít tři CD. Pro vysoké datové toky (bitrate) by se měla používat nízká hodnota (1), pro nízké toky zase vyšší 2 - 4.

Několikrát se mi stalo, že výsledný film byl nečekaně menší, než udávala předem vypočtená velikost souboru. Podezřívám z toho právě VHQ = 4. Ale nejsem si jist.

 

Chroma ME
(Chroma Motion Estimation)

Algoritmus pro vyhledávání pohybu k hledání nejlepšího pohybového vektoru běžně používá jen informaci o jasu (luminance). U některých video nahrávek však může k nalezení lepších vektorů pomoci použití barevných (chromatic) úrovní. Tato volba zapíná, nebo vypíná, použití těchto barevných úrovní pro odhad pohybu.

Chroma ME zahrnuje do výpočtu pohybových vektorů také údaje o barvě. Tím se ještě zvýší přesnost vyhodnocení pohybu, takže je ještě lepší než "Motion Ultra High". Používat tuto volbu je dobrý nápad, když se chcete zbavit kostiček.

 

HighQ AC

Aktivuje vysoce kvalitní AC koeficientové předvídání (predikci) ze sousedních bloků.

 

Trellis Quantizer

Mřížková (trellis) kvantizace je jednou z adaptivních kvantizačních metod, která šetří bity změnami kvantizovaných koeficientů, aby se daly více zkomprimovat pomocí entropického enkoderu. Má dobrý vliv na kvalitu a pokud se vám zdá, že VHQ spotřebuje příliš mnoho procesorového výkonu, je to dobrá alternativa, pomocí níž ušetříte nějaké bity (a získáte na kvalitě při pevné vzorkovací frekvenci) při minimální zátěži CPU.

 

Cartoon Mode
(Kreslený film)

Aktivujte tuto volbu, pokud kódujete animovaný film. Mění se tím některé vnitřní prahové hodnoty, takže XviD lépe rozhoduje o typech snímků a pohybových vektorech v plochých animovaných filmech.

 

Greyscale
(Černobílý film)

XviD zruší bity popisující barevnost, takže zkódované video bude jen v odstínech šedi. Vezměte na vědomí, že to nijak neurychlí kódovací proces, jen se zabrání zápisu údajů o barvě v poslední fázi kódování. Tato volba povolí Chroma color discarding.

 

Interlaced
(Prokládáno)

Používá se na prokládané video záznamy. Berte na vědomí, že tato volba nezruší prokládání, ale překóduje ho metodou "field-based".

Prokládané (rozřádkované) video bývá určeno pro televizi. U filmů se s tím nesetkáte (ledaže by byl ripnutý právě z televize). Spíš u koncertů nebo různých bonusových materiálů na DVD. Tato volba nezruší prokládání (neprovede deinterlacing), měla by jen zlepšit výkon kódovacího procesu. Deinterlacing (česky se tomu někdy říká hrozným slovem "rozprokládání") musíte provést pomocí nějakého filtru.

 

Turbo Mode

Vyhodnocování pohybu zahrnuje spoustu kroků, které vylepšují a zpřesňují výsledek. Pomocí těchto kroků se většinou dosahuje lepší kvalita, ale vylepšení není zase tak významné a vyžaduje pořádnou porci systémového výkonu. Pokud chcete vyhodnocování pohybu zrychlit vynecháním některých zpřesňovacích kroků a použít zjednodušené vyhodnocovací funkce, můžete aktivovat turbo režim.

Zrychlit by se mělo hlavně dvouprůchodové zpracování při druhém průchodu.

 

Features - Advanced Simple Profile Specific Settings
(Nastavení pro pokročilý jednoduchý profil MPEG)

Max B-Frames

B-snímky jsou třetím typem snímků obsažených v MPEG4. Jsou předvídány s ohledem na 2 referenční snímky a obvykle pomohou ve dvou případech:

  • úspora datového toku bez ztráty kvality
  • zvýšení kvality při stejném datovém toku

Toto nastavení určuje kolik B-snímků za sebou může XviD použít. Musíte si uvědomit, že vyšší maximální povolené množství B-snímků znamená větší vzdálenost mezi referenčními snímky. Předvídání referenčních snímků tak bude obtížnější a výsledná kvalita bude nižší. Když jsou referenční snímky nekvalitní, musí být nekvalitní i B-snímky. Prakticky vzato, toto nastavení musí být vyladěno podle vašich konkrétních potřeb. Obecně se dá říct, že hodnoty mezi 0 a 2 se hodí pro "přírodní" filmy a o něco vyšší hodnoty pro animované filmy s velkým množstvím stejnobarevných ploch.

DivX údajně neumí vyšší hodnotu, než 1. Obecně se nedoporučuje jít přes 3.

 

B-Quant Ratio

Jak už bylo vysvětleno, B-snímky mají velmi úzký vztah ke svým referenčním snímkům a jejich kvantizér se vypočítává vzhledem k referenčnímu kvantizéru. Tato dvě nastavení umožňují vyladění vzorce.

(Těmi dvěma nastaveními se pravděpodobně myslí B-Quant Ratio a B-Quant Offset.)

B-Frames Quantizer ratio je poměr dodatečné komprese B-snímků v porovnání s P-snímky.

 

B-Quant Offset

Nápověda neexistuje.

Quantizer offset vyjadřuje kompenzaci přidanou ke každé kvantizaci. Jestliže okolní P-snímky mají kvantizér roven 2 a oba koeficienty, ratio i offset, se rovnají 1, bude mít výsledný B-snímek hodnotu kvantizéru 3.

 

B-Frame Threshold

V některých případech B-snímky nevypadají dobře a obsahují artefakty (čtverečky), pokud je většina snímku statická a některé malé oblasti se hodně pohybují (statická scéna s hovořícím člověkem, jehož ústa budou pravděpodobně vypadat špatně, pokud všechno, co je kolem člověka a jeho úst, je zcela statické). Toto nastavení dovoluje upřednostňovat nebo neupřednostňovat použití B-snímků. Čím vyšší hodnota, tím větší je pravděpodobnost použití B-snímků.

 

Packed

V závislosti na kontajneru a vnějším aplikačním rozhraní je někdy dobré nařídit XviDu sloučit první B-snímek ze skupiny s jeho dopředným referenčním snímkem, což zabrání nesynchronnímu zvuku (rozjetý obraz a zvuk). Toto nastavení se hodí, pokud se používají VFW enkodéry (Windows), protože jejich API nedovoluje audio contention (přiřazování zvuku k obrazu), když na výstupu nejsou žádné video snímky. Transcode ale těmito potížemi netrpí a modul xvid4 mu hlásí, pokud je třeba snímky pozdržet. S transcode tedy tato volba většinou není potřebná.

Poznámka: Tuto volbu byste měli aktivovat, pokud vám vadí konzolové hlášky "vop not coded". Jestli jsem to ale dobře pochopil, tak by vám vadit nemusely, protože jsou to jen hlášky a nemají vliv na funkci.

 

Closed Gop

GOP znamená Group Of Pictures = skupina obrázků. GOP je omezen dvěma klíčovými (intra) snímky. Tato volba umožňuje nastavit, jestli XviD musí uzavřít skupinu, což znamená, že jedna skupina snímků je nezávislá na další skupině. To má za následek jen to, že poslední snímek ve skupině je buď P-snímek nebo S-snímek (switch frame), ale nikoliv B-snímek. Zaškrtnout tuto možnost je většinou dobrý nápad .

 

Quarterpel
(Quarter Pixel nebo také jen Qpel)

MPEG4 standardně používá pro vyhledávání pohybu půlpixelovou přesnost i když standard počítá s režimem, kdy je enkodérům dovoleno použít čtvrtpixelovou přesnost. Tato možnost většinou produkuje ostřejší obraz, ale má značný dopad na datový tok. Pokud je datový tok pevný, nemusí to znamenat zvýšení kvality. Lepší je zkusit kódovat s použitím quarterpel i bez něj a teprve potom si vybrat.

Quarter Pixel by měl dále zlepšovat odhad pohybových vektorů a má opět značný dopad na snížení rychlosti procesu kódování (údajně až 25% zpomalení). Je vhodný spíše pro filmy s nízkým rozlišením a výsledkem je ostřejší obraz bez kostiček i když v některých případech má za následek více šumu. Podmínkou jeho použití je dostatečný datový tok v hodnotách vyšších než 900 kb/s, některé zdroje uvádějí raději 1200 kb/s. Pokud si tolik nemůžete dovolit, protože prostě potřebujete napěchovat film na jedno CD, raději ho nepoužívejte, protože byste kvalitu spíš snížili.

 

GMC
(Global Motion Compensation)

Přiměje XviD, aby generoval "Sprite" (trpasličí?) snímky, které popisují nejlepší nastavení panorama/zvětšení/otočení obrázku. Rozhodnutí o použití této volby značně závisí na druhu video materiálu.

GMC pomáhá, pokud se objekty na záznamu přibližují, vzdalují nebo jinak pohybují bez toho, že by se nějak měnily. Příkladem takového videa jsou třeba takové ty "real life" filmy točené z ruky, jako je Blair Witch nebo amatérské videozáznamy, kdy kameraman chaoticky švenkuje a nepřetržitě zoomuje, co to dá. Jestliže se používá GMC, doporučuje se nastavit VHQ na hodnotu 4. Za GMC opět zaplatíte nějakým procesorovým časem navíc.

 

Features - Other Settings
(Další nastavení)

Frame Drop Tolerance
(Vypouštění, vynechávání snímků)

XviD si udržuje přehled o typu kódování bloku (vynechané, předvídané, klíčové). Vypouštění bloků může být použito, jestliže snímek je tak podobný své referenci, že může být _zcela_ vynechán. Tato volba umožňuje zvolit prahovou hodnotu (0-100) pro vynechávání snímků.

Pravděpodobně totéž jako "Frame drop ratio". Většinou chceme, aby se zpracovaly všechny snímky, takže nulová hodnota je jasná volba. Je ale možné, že vyhazováním snímků, které jsou vlastně zbytečné, by se dalo dosáhnout nějaké datové úspory.

 

Debug - Output average PSNR
(Ladění, hledání chyb)

Pro účely testování nebo měření kvality může XviD poskytovat statistiku o překódovaných snímcích. Tato volba aktivuje PSNR měření. Průměr PSNR se zobrazí na konci kódovacího procesu. Tato volba je z těch, které Frantovi uživateli mohou být ukradené a také poněkud zpomaluje proces kódování.

 

Quantizers
(Kvantizéry)

Nápověda neexistuje.

Na této kartě se nastavují rozsahy kvantizérů pro I, P a B snímky a můžete definovat vlastní kvantizační matici (matrix). Za tím účelem můžete použít Matrix Editor, pokud ovšem víte, co děláte.

Minimální kvantizaci se doporučuje nechat na výchozí hodnotě. Pokud byste nastavili hodnotu 1, značně by se zvětšila velikost výsledného souboru.

 

Single Pass
(Jeden průchod)

Reaction Delay Factor
(Činitel reakční prodlevy)

Tento parametr nastavuje zpoždění snímků před tím, než řadič CBR poměru zareaguje na změnu datového toku a pokusí se změnu vyrovnat získáním stálého bytového toku prostřednictvím průměrného rozsahu snímků (viz níže). Hodnota musí být větší nebo rovná nule, výchozí je 16. Nula má zvláštní význam, kdy XviD použije svoje vlastní výchozí hodnoty.

 

Averaging Period
(Průměrná/vyrovnávací perioda)

Dosažení skutečného CBR (Constant Bitrate = stálý/pevný datový tok) je těžká záležitost. V závislosti na video materiálu muže být datový tok proměnlivý a těžko se předvídá. To je důvod, proč XviD používá vyrovnávací periody, pro které je (s malými odchylkami) zaručeno dané množství bitů. Tato volba vyjadřuje "počet snímků" pro které XviD průměruje datový tok a snaží se dosáhnout CBR. Hodnota musí být větší nebo rovná nule, výchozí je 100. Nula má zvláštní význam, kdy XviD použije svoje vlastní výchozí hodnoty.

 

Buffer
(Vyrovnávací pamět)

Nápověda neexistuje.

 

Two Pass
(Dva průchody)

Keyframe Boost
(nebo I-frame boost - Zvýhodňování klíčových snímků)

Toto nastavení udává předpokládané dodatečné množství bitů, které mají dostat klíčové snímky. (Tento zvýšený (boossting) příděl bytů je vyrovnáván odejmutím stejného množství bitů jiným typům skupin snímků.) Hodnota může být od 0 do 100.

 

Overflow Control Strength

Nápověda neexistuje.

Udává procento rozdělení nadstandardního datového toku na snímek v rozsahu ohraničeném hodnotami Max Overflow Improvement a Max Overflow Degradation. Nebo-li jak hodně datového toku může být přidáno či odejmuto na jeden snímek.

 

Curve Compression High

Tato volba určuje míru přiblížení horní části křivky průměrné hodnotě datového toku. Horní část křivky je soubor hodnot, které jsou vyšší než křivkový průměr. Je vyjádřena v procentech. O tého volbě je možno uvažovat jako o faktoru zmenšení horní části křivky.

 

Curve Compression Low

Tato volba určuje míru přiblížení dolní části křivky průměrné hodnotě datového toku. Dolní část křivky je soubor hodnot, které jsou nižší než křivkový průměr. Je vyjádřena v procentech. O tého volbě je možno uvažovat jako o faktoru zvětšení nebo růstu dolní části křivky.

 

Max Overflow Improvement
(Povolené procento nadměrného přídělu datového toku)

Mechanismus přetékání může během bitové alokace zvýšit velikost snímku. Tento parametr určuje míru, jakou může kontrolní mechanismus přetékání zvětšit snímek v procentech v porovnání s ideální křivkovou alokací.

"Přetékáním" se myslí navýšení objemu dat v závislosti na druhu scény (části videa). Pokud je scéna statická (obsahuje jen málo pohybu), enkodér jí odebere datový tok a dynamickým scénám ho přidává. Právě rozdíl mezi ideálním vypočítaným datovým tokem a skutečně použitým vylepšeným, je ono přetečení (overflow).

 

Max Overflow Degradation
(Povolené procento odebrání datového toku)

Mechanismus přetékání může během bitové alokace snížit velikost snímku. Tento parametr určuje míru, jakou může kontrolní mechanismus přetékání snížit velikost snímku v procentech v porovnání s ideální křivkovou alokací.

 

Key Frame Reduction

Tento redukční faktor je maximální povolené znevýhodnění použité na klíčový snímek v sekvenci. Čím více je snímek v následující sekvenci klíčových (ivop) snímků vzdálen od posledního klíčového snímku, tím větší znevýhodnění je použito. Zaručuje to maximální příděl datového toku poslednímu klíčovému snímku, takže upřednostňuje dobrý referenční snímek pro další P/S/B snímky.

 

Key Frame Threshold

Vzdálenost mezi dvěma klíčovými snímky, u které ještě není snížen příděl bitů pomocí mechanismu redukce klíčových snímků.

 

Container Overhead per Frame
(Datová spotřeba kontajneru na snímek)

Uživatelé většinou zadávají požadovaný datový tok bez toho, aby se starali o spotřebu (režii) kontajneru [*]. Tato malá, ale (většinou) stálá spotřeba může způsobit, že cílová velikost souboru není dodržena (soubor je příliš velký). Rozhodli jsme se dovolit uživatelům nastavit výši spotřeby, kterou kontajner generuje pro každý snímek (zadejte jen průměr na snímek) Hodnota musí být větší nebo rovná nule, výchozí je 24 (průměrná snímková režie AVI v bytech). Nula má zvláštní význam, kdy XviD použije svoje vlastní výchozí hodnoty.

[*] Poznámka: AVI, Ogg, MOV, ASF, MATROSKA, ... jsou kontajnery. Kontajner je obálka, která může obsahovat několik datových stop, kódovaných různými algoritmy (kodeky). Většinou se jedná o jednu video stopu a jednu nebo více audio stop.

 

Save/Load
(Uložení a načtení)

Nápověda neexistuje.

Na této kartě můžete určit umístění konfiguračních souborů a nastavení ukládat nebo načítat.

 


» [Celá sekce VIDEO]

Verze tohoto dokumentu:

  • 30.06.2004 - původní verze

 


© Aleš Tošovský - linux.tosovsky.info