Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Filmy a seriály, streamovací služby
Televize  |  Projektory
Audio a domácí kina
Multimediální centra  |  Ostatní
Svět hardware  |  Digimanie
Svět mobilně

TMPG Encoder 2.0

23.11.2001, Radek Jahoda, návod
Těžko si lze představit populárnější enkoder MPEGů jiný než TMPG Encoder, který je již ve verzi 2.0. Jeho zkratka pochází z původního názvu Tsunami MPEG Encoder. Podívejme se, jak s ním pracovat.
1. Úvod

Za jeho úspěšností stojí fakt, že je jednak zadarmo, a má jednu z nejlepších kvalit enkódování do MPEGu nepočítaje Cinema Craft enkoder, za který se ale musí platit poměrně velká částka. Nevýhodou je pouze 30-denní trial funkčnost MPEG-2, jinak by totiž musel tvůrce platit licenční poplatky za technologii a to u freewarového productu prostě nejde.

Co tedy všechno TMPG Encoder umí?

    • převádí AVI soubory do formátů MPEG
    • podpora pro DV video (pouze type 2)
    • enkoder MPEG-1, MPEG-2 včetně specifikací VCD, SuperVCD a DVD, obě normy PAL/NTSC
    • lze volit strukturu streamu včetně složení IPB a kvantizační tabulky
    • obsahuje enkoder zvuku Layer-1 a 2
    • množství filtrů pro zlepšení kvality obrazu
    • optimalizace pro MMX, 3Dnow!, Enhanced 3Dnow!, SSE a SSE2
    • podpora pro systémy s více procesory
Pojďme se podívat na podrobnější funkci a nastavení všech parametrů.

2. Pracovní plocha

Ovládání je velice jednoduché a intuitivní. Po spuštění se objeví okno se základními informacemi a nastaveními - tlačítka pro spuštění/zastavení převodu (Start/Stop), Progress bar, který ukazuje stav a předpokládaný čas enkódování. Pod ním je plocha, kde se zobrazují právě zpracovávané snímky.



Ve spodní části zadáváme vstupní a výstupní soubory. Vstupní soubor zvuku je většinou stejný jako videa, lze ale zvolit i jiný WAV soubor. Výstupní soubor se automaticky nastaví na stejné jméno, pouze s příponou mpg apod., lze ho ale změnit na libovolný jiný. V pravé části zvolíme, jaký typ souboru se má vytvářet - zda pouze video, zvuk nebo obojí dohromady. Tlačítkem Load můžeme načíst přednastavenou konfiguraci (tzv. template), pomocí Save můžeme vytvořit vlastní.

3. MPEG Setting - Video

Klepnutím na tlačítko Settings se dostaneme na to nejdůležitější - nastavení parametrů videa a zvuku. Tato nastavení mají vliv na typ a kvalitu streamu, takže se jim budeme věnovat podrobněji. V okně je několik záložek rozdělující nastavení podle příslušnosti. V první nastavujeme parametry videa.



Zde najdeme tyto parametry:
  • Stream type - typ video streamu, buď MPEG-1 (pro VideoCD) nebo MPEG-2 (pro SuperVCD, DVD)
  • Size - rozlišení obrazu videa, nastavujeme podle požadovaného formátu, lze volit libovolně v krocích po 16, ale prakticky se používá 352x288 pro VideoCD, 480x576 pro SuperVCD a 720/704x576 pro DVD
  • Aspect ratio - poměr stran výsledného videa. Mějte na paměti, že nemá žádnou souvislost s rozlišením (size), TV formát je 4:3
  • Frame rate - počet snímků za vteřinu, pro PAL volíme 25fps
  • Rate control mode - určuje způsob rozdělování datového toku (bitrate) v čase:
      • Constant bitrate (CBR) - konstantní datový tok, který ale nemusí být dostatečný pro scény s větším množstvím pohybu, takže mohou vznikat poruchy v obraze (koskatění, šum apod.)
      • 2pass variable bitrate (VBR) - proměnlivý datový tok, který se snaží držet konstatní kvalitu při zachování nastaveného průměrného datového toku. Toto by měla být nejčastější volba. Enkódování probíhá ve dvou fázích - v první se analyzuje celé video a nároky na bitrate, ve druhém dochází k samotnému enkódování. Lze nastavit tři parametry - průměrný, maximální a minimální bitrate a tzv. padding, tedy přidání dat "navíc" (není v nic žádná informace) pro doplnění na minimální bitrate (pokud je výsledný bitrate nižší než nastavený minimální).
      • Manual VBR - tento mód používá konstantní bitrate pro zvolené scény. Tyto scény se stanovují pomocí Force picture type setting v záložce GOP Structure (viz níže)
      • Automatic VBR - stejné jako Manual VBR, ale jaký bitrate je použit se řídí automaticky podle nastavení Quality
      • Constant quality (CQ) - snaží se zachovat nastavenou kvalitu po celou dobu stejnou, chová se v podstatě jako Automatic VBR, ale zřejmně s jemnějším krokem a navíc lze hýbat s P a B framy.
      • Real-time CBR - jako Constant bitrate, ale zjednodušené kódování pro zvýšení rychlosti. Neleze změnit GOP strukturu, raději od toho pryč ...
      • Real-time CQ - jako Constant quality, platí to samé co pro předchozí.
  • Bitrate - zde se nastavuje bitrate, platí jen pro módy s konstantním bitratem
  • VBV Buffer Size - nastavuje buffer pro dekódování, pro MPEG-1 je 40, pro MPEG-2 112, příliš malý nebo velký buffer může způsobit škubání obrazu při přehrávní, takže doporučuji nechat na 0 (automaticky)
  • Profile&Level - toto nastavení určuje druh dekodéru, většina je Main profile&Main Level, takže je lepší to tam nechat - pouze pro MPEG-2
  • Video formát - formát videa PAL/NTSC/... - pouze pro MPEG-2
  • Encode mode - určuje způsob enkódování pro MPEG-2, Non-Interlace je pro video bez prokládání (film), Interlace pro prokládané video se dvěma půlsnímky (TV), 3:2 pulldown when playback je pro film, který má 24fps, ale má se přehrávat s 25fps a Inverse 3:2 pulldown je opakem.
  • YUV format - formát kódování obrazu, má co do činění s Profile&Level, čím více bitů, tím lépe, ale některé dekodéry je nemusí podporovat, pro MP@ML lze pouze 4:2:0.
  • DC component precession - určuje kvantizaci "stejnosměrné" složky, tedy složky důležité pro kódování jednolitých ploch apod., čím více, tím lepší a především hladší obraz, takže nejlépe nastavit na 10
  • Motion search precision - říká enkodéru jak do hloubky má hledat pohyb v obraze. Čím větší kvalitu nastavíme, tím více se hledá a tím déle (podstatně déle ....), nezdá se mi, že by to mělo velký vliv na kvalitu obrazu, takže nechávám Normal, můžete ale vyskoušet více

    4. MPEG Setting - Advanced

    Na další záložce Advanced najdeme nastavení pro zdrojové video.



    Tedy:
  • Video source type - říká, zda je zdroj prokládený nebo neprokládaný. Pokud enkódujete video z kamery, bude prokládaný, film z DVD bývá neprokládaný (pozor není pravidlem!)
  • Field order - určuje složení půlsnímků za sebe, zda je první půlsnímek s lichými nebo sudými řádkami, u DV jsou to sudé, tedy field B
  • Source aspect ratio - určuje poměr stran zdroje, i když je dost zavádějící. 1:1 (VGA) je pro počítačová/internetová videa, odpovídá to spíše pixel aspect ratio. Další položky s označením systému PAL/NTSC a počtu řádek mají být pro přehrávání na TV, liší se ale od pravého 4:3, jsou malinko užší. Správnou volbou se zdá být 4:3 Display, popř. 16:9 Display.
  • Video arrange method - jak je zdrojové video vloženo do požadované velikosti
      • Center - vloží video doprostřed a nezachovává poměr stran (tzv. pixel po pixelu)
      • Center (keep aspect ratio) - to samé, ale zachová poměr stran
      • Center (custom size) - vloží doprostřed do nastavené velikosti, vhodné pokud chceme ze 16:9 zdroje udělat 4:3 s černými pruhy nahoře a dole
      • Full screen - roztáhne do celé velikosti bez ohledu na poměr stran
      • Full screen (keep aspect ratio) - jako fullscreen, ale zachová poměr stran, zbytek zůstane černý (pokud tedy nastavíte poměr stran 4:3 625 Line PAL, tak budou po stranách úzké černé pruhy, je tedy nutné zvolit 4:3 Display)
      • Full screen (keep aspect ratio 2) - to mi nějak uniká, jestli někdo víte, ozvěte se
      • No margin (keep aspect ratio) - jako Full screen (keep aspect ratio), ale je roztaženo za okraj, takže část obrazu zmizí, vhodné pro změnu 16:9 na 4:3 - ořízne boky obrazu
    Dále lze nastavit filtraci obrazu nebo zvuku. Povolení filtru dosáhneme zaškrtnutím políčka a nastavení filtru dvojitým klepnutím myši:
  • Source range - můžeme zvolit jakou část videa chceme enkódovat
  • Inverse Telecine - udělá opak konverze fimového materiálu s 24fps na NTSC TV formát 30fps (tedy 30->24), čímž se uvolní část bitratu a tím i zlepší kvalita. Toto lze pouze pro zdroj videa bez prokládání, tedy neprokládané DVD apod.
  • Ghost reduction - odstraní duchy ze starčích VHS nahrávek, není vhodné pro duchy zapříčiněné špatným přispůsobením antény TV přijímače.
  • Noise reduction - odstraní šum a zrnění z analogových nahrávek, funguje docela dobře, ale zpomaluje rapidně celý proces
  • Sharpen edge - filtr pro zostření nebo rozmazání (blur) obrazu.
  • Basic color correction - korekce jasu, kontrastu a barev
  • Deinterlace - provádí odstranění prokládání, pokud chceme enkódovat pro přehrávání na PC prokládaný zdroj (kamera apod.)
  • Clip frame - dokáže oříznout okraje obrazu
  • 3:2 pulldown - převede filmový nepokládaný zdroj 24fps na prokládaný NTSC s 30fps
  • Do not frame rate conversion - nepřevede zdrojový framerate na požadovaný v MPEG, takže pokud se neshodují, dojde k posunutí obrazu a zvuku, asi to nikdy nikdo nepoužije
  • Audio effect - lze změnit hlasitost a náběh/doběh zvuku.

    5. MPEG Setting - GOP structure

    Na další záložce najdeme nastavení pro framovou structuru MPEGu - tzv. Group Of Pictures. Posloupnost framů se skládá ze tří typů snímků - I, P a B, co znamenají, se můžete dočíst v článku Jak funguje MPEG?.



    Zde tedy nastavujeme počet I snímků v GOPu (Number of I picture in GOP), dále počet P snámků mezi dvěma I snímky (Number of P picture in GOP) a počet B snímků mezi P snímky (Number of B picture in GOP). Nenechte se zmáct názvem položek, který požaduje počet v GOPu, vždy jde o počet B mezi P a P mezi I. Pro PAL se nastavuje 1-3-2, pro NTSC 1-5-2. Output interval of sequence header říká, jak často se má vyskytovat hlavička s informacemi o streamu vůči GOPům. Při nastavení 0 je to pouze na začátku (před prvním GOPem) a při 1 pokaždé.

    Nastavení Output bitstream for edit (Closed GOP) zakáže jakoukoliv návaznost mezi jednotlivými GOPy. To znamená že poslední P snímek GOPu nebude záviset na prvním I snímku GOPu následujícího, takže lze následně bezestrátově stříhat výsledný MPEG mezi jednotlivými GOPy. Pokud ale nehodláte výsledek stříhat (jde o finální verzi vašeho videa), toto nastavení nepoužívejte, může zvyšovat nároky na bitrate.

    Detect scene change povolí detekci změny scén. Např. při změně pohledu kamery nebo záběru úplně z jiného prostředí se vždy vloží snímek I, což zvyšuje kvalitu přechodu mezi oběma scénami. Rozhodně vždy použít.

    Force picture type setting nelze použít s předchozí položkou a umožňuje přesně zvolit typ snímku pro Vámi zvolené framy videa. Vše se nastavuje v dialogu po stisknutí tlašítka Setting. Auto setting projede celé video a detekuje změnu scén jako u Detect scene change a automaticky vloží I snímky, Vy si ale navíc můžete zvolit I framy na Vámi zvolené pozici nebo i P a B, del libosti. Je to velice zdlouhavé a asi ne příliš často používané. Hodí se, pokud chcete někde výsledek roztřihnout nebo nejste spokojeni s kvalitou výsledku (jsou ale jiné účinější metody, jak ji zvýšit).


    6. MPEG Setting - Quantize matrix

    Tato stránka definuje některé aspekty související přímo s principem formátu MPEG a způsobem enkódování. Quantize matrix neboli Kvantizační tabulka určuje způsob převodu originální informace do úspornějšího formátu. Je definován přímo standardem MPEG, ale lze ho měnit a přizpůsobit různým druhům videa. Co přesně znamená se vymyká tomuto článku a lze ho najít v popisu formátu MPEG. Ostatně předdefinované hodnoty jsou vpodstatě ideální a nevyplatí se je příliš měnit. Osobně nechávám nastavení na Default, pro kreslené video lze použít nebo spíše je vhodné použít CG/Animation.



    Ve spodní části najdeme nstavení Special settings. Obsahuje:
  • Output YUV data as Basic YCbCr not CCIR601 - určuje, jaký rozsah hodnot se má použít pro YUV kódování obrazu. Podle standardu se používá rozsah 8-235 (tzv. TV rozsah), zaškrtnutím této položky můžeme rozsah rozšířit na plných 0-255, které je vhodné pro přehrávání na monitoru, protože získáváme větší rozsah černá-bílá (v podstatě od úplně černé). Pokud ale plánujete přehrávání na DVD přehrávači, pak tuto volbu nepoužívejte.
  • Use floating point DCT - pro diskrétní kosinovou transformaci se použije výpočet s reálnými čísly (s pohyblivou řádovou čárkou), což je přesnější než s celými čísly, výpočet ale trvá déle.
  • No motion search for still picture part by half pixel - při zaškrtnutí se neprovádí hledání pohybu o půl pixelu v klidných částech obrazu. Tímto lze někdy zvýšit ostrost obrazu, velmi pomalé pohyby ale budou "škubat", popř. opožďovat se za zbytkem obrazu.
  • Soften block noise - pokud je bitrate příliš malý a redukce dat způsobuje ztrátu velké části informace, může docházet ke koskatění obrazu. Pomocí této volby TMPG Encoder sníží frekvenční rozsah původního obrazu, takže koskatění je eliminováno. Má to ale za následek rozmazání obrazu (hran). Používat je při enkodování do nízkého bitratu.

    7. MPEG Setting - Audio

    Co se nastavuje na této stránce je asi všem jasné - parametry zvuku.




    Stránka obsahuje:
  • Stream type - určuje způsob enkódování zvuku, buď standard Layer I nebo layer II
  • Sampling frequency - počet vzorků za sekundu, doporučuji nastavit na stejně jako má zdroj, což je nejkvalitnější, protože s enemusí provádět resampling, což také nějakou chvilku trvá
  • Channel mode - počet kanálů zvuku, asi není potřeba příliš vysvětlovat. Joint stereo je jako stereo, očekává se ale podobný průběh v obou kanálech a pak se kóduje rozdíl. Je většinou kvalitnější, může se ale ztratit fázová informace, která je důležitá pro dekodéry matrixových systému jako Dolby Surround apod.
  • Bitrate - přidělený datový tok, čím vyšší, tím lepší kvalita, pod 224kbps pro stereo a 112 pro mono kvalita rapidně klesá.
  • Error protection - zapne ochranu streamu pomocí CRC kódu, takže při přehrávač pozná, zda je zvuk neporušen
  • Original flag - určuje zda jde o originální zvuk nebo kopii
  • Copyright flag - označuje právně chráněnou nahrávku proti kopírování (samozřejmě nejde o žádné zabránění kopírování)
  • Private flag - "osobní" nahrávka ...
  • Emphasis - určuje kmitočtovou charakteristiku zvuku. Lidské ucho je citlivější na šum ve vyšších frekvencích, proto se tyto frekvence přenáší s vyšší amplitudou a při přehrávání opět potlačí. Tím je zlepšen odstup signálu od šumu.

    8. MPEG Setting - System

    Záložka System obsahuje jednu důležitou volbu Stream type, určující typ a způsob uložení videa ve streamu. Vždy musí odpovídat typu videa nastaveného v záložce Video, jinak nemusí jít přehrát. Dále zde lze přidat libovolný komentář nebo popis. Tím máme za sebou nastavení parametrů MPEG souboru, který chceme vytvořit. Klávesou OK se vrátíme do základní plochy a stiskem tlačítka Start spustíme převod.


    9. Principy nastavování

    Zkusme se teď podívat na způsob nastavování předchozích parametrů za účelem co nejvyšší kvality výsledného videa. Vezmeme to popořadě podle vlivu na kvalitu obrazu.
  • Bitrate - samozřejmě vyšší bitrate dosáhne vyšší kvality, takže pokud možno nastavovat co nejvyšší, většinou se ale budeme řídit dostupným místem na disku (CD?) a podle toho bitrate spočítáme (celkový pro video i zvuk): bitrate[kbps]=velikost[MB]/délka[s]*8*1024. Většinou ale nemá cenu jít při MPEG-2 720x576 pod 2500kbps (VBR), ideální je tak 3500kbps.
  • Rate control mode - je jisté, že některé části videa potřebují vyšší datový tok a jiné vyšší. Nejideálnější je nechat program detekovat potřebný bitrate automaticky a použít buď Constant Quality nebo 2 pass variable bitrate enkódování.
  • GOP Structure - jde ruku v ruce s bitratem. Je jasné, že I framy zabírají nejvíce dat, takže čím více vložíme P a B framů mezi I, můžeme si dovolit nižší bitrate. Ale pozor, toto platí pouze pro video s pomalými scénami. Při rychlých pohybech se nemusí vše vtěsnat do P a B framů a dojde k degradaci obrazu - vše má své meze.
  • Noise reduction - šum je pro enkodér složka stejná jako jakákoliv jiná a tak se ji také snaží zpracovat. Nepříjemností je, že se po diskrétní kosinové transformaci projeví na vyšších frekvencích (zrnění) a to má nepříznivý vliv především na Huffmanovo kódování (malá redukce dat). Také se v čase velice mění a ztěžuje vyhledávání pohybu v obraze.
  • Motion search quality - toto nastavení sice nemá až tak rapidní dopad na kvalitu, malý rozdíl tam ale je, takže v poslední době používám většinou nastavení na High quality. Je to jedna z věcí, která nemá dopad na ostatní parametry, takže tím nelze nic zkazit.

    Další parametry již nemají takový vliv, je třeba se jim ale věnovat. Jejich špatné nastavení může mnohé zhoršit.

  • Encode mode - pokud nastavíme Non-interlace a zdrojové video je prokládané (např. z kamery nebo TV), ztratíme snad třetinu bitratu na "zubatici". Pokud již požadujeme výsledek neprokládaný, musíme použít filtr Deinterlace.
  • Audio - nezapomínejme na zvuk. Pokud chcete nejlepší kvalitu, je možné enkódovat zvuk zvlášť do AC3 (např. Sonic Foundry Soft Encode) a teprve dodatečně ho multiplexovat do jednoho souboru. Většinou ale postačí MP2 s bitratem alespoň 224kbps. Škoda, že nelze použít MP3 formát ...
  • Stream type - nemá nic společného s kvalitou, pokud ho ale nastavíme špatně, video nepůjde přehrát. Pro SuperVCD je potřeba nastavit MPEG-2 Super VideoCD (VBR).

    10. Environmental settings

    Dále se zkusme podívat na globální nastavení TMPG Enkoderu. Dostaneme se tam výběrem z menu Option/Environmental settings. Jednotlivá nastavení jsou opět rozdělena do stránek, podívejme se některé z nich, nedůležité položky vynechávám

    General:

  • Enable multiplex with "mux://file name" for video/audio source - povolí použití jako zdroje nebo videa přímo již vytvořený MPEG audio nebo video soubor, který bude zmultiplexován s druhým zdrojem, který se enkóduje. Pokud tedy např. již máme zvuk převeden a chceme ho rovnou spojit s videem zároveň při enkódování, napíšeme jako zdroj mux://názevsouboru.mp2
  • Edit bitrate by bps not kbps - bitrate se bude zadávat přímo v bitech za vteřinu, ne v kilobitech
  • Do not us cache function by Operating system to acces file - vypne kešování dat při přístupu k souborům

    CPU:
    Zde můžeme zapnout/vypnout optimalizace (MMX, 3Dnow!, SSE, SSE2) pro náš procesor. Defaultně jsou všechny zapnuty a není důvod je vypínat. Pokud procesor některé instrukce nepodporuje, je volba automaticky vypnuta. Use multithread povolí rozdělení enkódování do více threadů. Rapidně zvedá rychlost na víceprocesorových systémech, ale i u jednoprocesorového dojde k nárustu o pár procent. Pokud tuto volbu použijeme, můžeme povolit Pipeline, čímž se redukuje čekání jednotlivých threadů na sebe (doporučuji použít, pokud máte dostatek paměti), a Prefetch video, což je to samé, ale pro čtení ze souboru.

    Sound:
    Zde lze nastavit zvuk, který se spustí po ukončení enkódování.

    External tool:
    V této záložce je možné nastavit externí enkodér zvuku pro Layer-2 a Layer-3. Nastavením Layer-3 enkodéru se také povolí použití zvuku MP3, výsledný soubor ale většinou nepůjde přehrát. Prý to umí akorát Xing MPEG player, stolní DVD a VCD přehrávače si s tím neporadí, takže raději nepoužívat. Dále lze nastavit externí konvertor frekvence (např. 48kHz na 44.1kHz).

    VFAPI plugin:
    Zobrazí seznam registrovaných pluginů pro frameserver. Jednotlivé lze také povypínat. Frame server se používá pro přenos dat z jednoho programu (např. i TMPG Enkoderu) do jiného, který umožní načíst AVI soubor, o tom ale jindy.


    11. MPEG Tools

    Další zajímavou věcičkou jsou MPEG Tools. Dostaneme se k nim vybráním z menu File/MPEG Tools a slouží k mutliplexování/demultiplexování streamů do/z MPEGu. Opět jsou jednotlivé nástroje rozděleny po stránkách.

    Simple Multiplex:
    Jak už název napovídá, jde o "jednoduché multiplexování" videa a zvuku do jednoho souboru.

    Simple De-multiplex:
    Opak Simple Multiplex, tedy rozdělí MPEG na dva video a audio streamy (soubory).

    Multiplex:
    Slouží opět k multiplexování, lze ale zadat několik různých streamů a ty spojit do jednoho souboru. Vhodné především pro více zvukových stop.

    De-multiplex:
    Z jednoho MPEG souboru lze "vytáhnout" jakýkoliv stream a uložit ho. Po načtení souboru se objeví seznam všech streamů, výběr se provede dvojitým kliknutím na požadovaný stream.

    Merge & Cut:
    Tento nástroj použijeme ke stříhání a spojování MPEGů. Do seznamu vložíme libovoný počet souborů, které chceme spojit, u každého můžeme vyříznout požadovanou část pomocí Edit. Vkládat musíme samozřejmě jen MPEGy stejného typu - MPEG-1/2, stejná velikost obrazu a framerate.

    To je asi tak k TMPG Enkoderu všechno, ještě mě ale napadá jedna věc - Batch encode. Slouží k enkódování více projektů najednou, takže pro všechny požadované převody vytvoříme projekt, vložíme do seznamu a vše se udělá najednou. Navíc lze zvolit vypnutí počítače po ukončení, čímž odpadá další starost navíc. Jak je vidět, i freewareový program může být velice kvalitní a autor Hiroyuki Hori si zaslouží úctu nás všech.