Problematika konverze AVI do MPEG-1

[strana 1] [strana 2] [strana 3]

Tak jak na to?

Ani jeden z výše uvedených testovaných programů není to pravé ořechové. Protože je pro mne důležitá především výsledná kvalita obrazu, zvítězil u mne MainConceptovic MainActor Video Editor.

Rychlost renderování není nijak závratná, ale to je holt daň za "vyhlazování" snímků.

MainActor VE prodělává postupný vývoj, naposledy (konec roku 1999) jsem zkoumal verzi 3.04 (a tuto verzi ještě i s patchem opravující, cituji: "This update fixes some bugs in the MPEG Modules"), v září 2000 už je ve verzi 3.55 a na Webu se mluví o připravované verzi 4.0.

Jasný (?) vítěz: MainConceptojc MainActor Video Editor

Zcela náhodně jsem zjistil, jak MAVE donutit, aby mi neměnil 368x280 případně 384x288 na 352x288 (368x280 roztáhne na 368x288, 384x288 nechá jak je):

MainConcept's MainActor Video Editor MPEG-I module options

V dialogovém okně skrytém pod tlačítkem Module Options se MUSÍ zafajfkovat Ignore MPEG-I VideoLimit. V helpu je k tomu tato nápověda:
Pressing the Module Options ... button will pop up The Module GUI Interface of the currently selected saver module (if any).
Bohužel celý help je ve stejném duchu - když zmáčknete tohle objeví se onohle - tedy namísto vysvětlení, k čemu daná funkce slouží, případně jak dosáhnout nějakého cíle, jsou popsány položky v menu a jednotlivé čudlíky, což v podstatě není potřeba, protože co způsobí stisknutí čudlíku Open a Save chápou i ti méně zdatní.

Další takovou lahůdkou MAVEsu je to, že výsledný MPEG soubor je zbytečně veliký (obsahuje "jalová" data), ale i s tím si lze poradit.

Jak to vypadá v praxi

Pro názornost popíši, jak by se vyrobil MPEG s jednou epizodou s OFF (Our Favorite Family není nikdo jiný než rodinka Simpsonových):

AV Masterem nasnímám AVI (368x280 nebo 384x288 s kompresí 1:4,5) a protože se mi nikdy nemůže povést chytit přesně na 1 snímek začátek a konec, musím "surové" AVI v Media Studiu sestříhat a opět vyrenderovat AVI. Pokud použiji kodek FAST AV Master MJPEG Codec, tak se výsledné video znovu nerenderuje (snímky se jen kopírují), což je:
  a) rychlé
  b) nedegraduje se kvalita (neprovádí se ztrátová komprese snímků ztrátovou kompresí již zkomprimovaných)
Pokud použiji nějaké efekty (například stmívačka, titulky, ...), tak se snímky, kterých se efekty týkají renderují (pochopitelně).

AVI Options
Volby pro Create Video File
(všimněte si, že v rozbalovacím menu není vidět celý popis kodeku a není žádná možnost, jak si celou informaci zobrazit, pominu-li změnu velikosti systémového fontu a restart těch zasraných neuvěřitelně blbě naprogramovaných Windóz)

Výsledné "očištěné" video načtu do MAVE a dám uložit jako MPEG-I PAL.

S výsledným MPG souborem z MAVE je vhodné učinit ještě další dva kroky:

  1. rozdělit MPEG soubor (system stream) do dvou samostatných souborů na VIDEO a AUDIO část (video a audio stream);
  2. tyto dva soubory spojit do jednoho výsledného MPEG souboru;

Smyslem těchto úkonů je MPEG soubor zmenšit. MPEG stream vyprodukovaný programem MAVE má totiž délku audio sub-streamu nastavenu na 224000 bit/sec bez ohledu na skutečný datový tok. MPEG soubor je tak zaplněn jalovými daty, která ho prodlužují.

mpegprop System mpegprop Video mpegprop Audio
mpegprop

Na obrázcích je vidět, že celkový datový tok (bitrate) je větší než součet video a audio toků. Bez jalových dat by měl 1.253 Mbit/s.

MpegRepair Configure Menu
MpegRepair

Demultiplexaci a multiplexaci lze provést mnoha různými programy, mě se osvědčili MpegRepair (PixelTools Corp) [demultiplexor], MPLEX (freeware) a DvMuxOne (Darim Vision Co.) [multiplexor]. DvMuxOne nabízí uložit výsledný soubor jako:

Pokud se zvolí nevhodný formát, DvMuxOne buď odmítne pracovat (incompatible parameters) nebo bude výsledný MPEG výrazně větší než MPEG původní.

DvMuxOne
MuxOne

O produktech firmy Darim je obecně známo, že mají problémy se synchronizací obrazu a zvuku, takže pokud bych měl 650 MB MPEG s 64000 bit/sec zvukem (cca 73 minut), vzniklý spojením V+A za pomoci DvMuxOne, je na konci zvuk zpožděn za obrazem o cca 3 sec. U MPEGů se zvukem 224000 bit/sec tento problém nenastává. Proto na MPEGy s nižším datovým audio tokem používám MPLEX.

Velká potíž s MPLEXem je ta, že po dlouhé analýze vstupních souborů chce zadat příliš mnoho parametrů, u kterých netuším co znamenají (defaulty jsou nabídnuty jen u některých položek, nápověda neexistuje). Pokud se zadají špatně, výsledek nelze přehrát, pokud se trefím, tak je výsledný soubor naprosto v pořádku, je výrazně menší než původní a lze jej přehrát bez jakýchkoli potíží.

A jak je to tedy s velikostmi?

"Očištěný" AVI měl 21 minut 46,68 sekund. Konvertoval se necelých 7 hodin (video: 1 151 200 bit/sec, audio: 128 000 bit/sec). Po rozdělení výsledného MPG souboru na video a audio vznikly soubory o velikosti 179 MB (188 002 304 bytes) a 19,9 MB (20 907 156 bytes), dohromady 199 MB. MPLEX i DvMuxOne je spojili do přibližně stejně velikých souborů, které byly o 6 MB větší, než součet video a audio (205-199 = 6 MB "hmoty" spojující video a audio streamy, jestli jalové, to nevím). Tabulka obsahuje přesné počty:

zdrojMBbytesposlední
snímek
AVI1792,51 879 548 24532667
MAVE217227 784 64432665
MPLEX205215 690 59732665
DvMuxOne205215 516 14032654

Snímek č. 32654 v MPEGu z DvMuxOne byl shodný se snímkem č. 32665 z origináního AVI. Tzn. že přehrávač někde "cestou" ztratil 11 snímků a proto se zvuk s obrazem na konci MPEGu rozcházeli o necelou půl sekundu. U MPLEXu nic takového nenastalo.

Všechno je jinak?

Bohužel (ale spíš bohudík) se software neustále vyvíjí a zdokonaluje. V oblasti MPEG-1 se toho sice zas tak mnoho neděje, svět multimédií pravděpodobně míří k DVD (MPEG-2), MPEG-4, MPEG-7, WMV, WMA, ... co já vím, ale i to málo, co se v roce 2000 pro MPEG-1 urodilo, stojí za to. Zde bych chtěl zmínit především TMPGEnc, který, byť je stále ve fázi vývoje (všechny dostupné verze byly beta), mi umožnil zapomenout na MAVE (umí renderovat "hezčí" MPEG-1) a všechny složité (de)multiplexovací procedůry (umí to také a mnohem lépe).


Poznámka: oblíbený seriál Simpsonovi jsem použil pouze pro demonstrační účely - dnes je "dělám" úplně jiným způsobem, kdy se mi namísto 3 epizod na 1 CD vejde epizod 10 v lepší kvalitě než dává MPEG-1.


Pokračování na straně 3.

[strana 1] [strana 2] [strana 3]


Announcement:
o všech informacích zde uvedených platí, že nutně nemusí být 100% správné.
Stránka byla vytvořena pomocí programu NOTEPAD.EXE, což je jediná správná cesta, jak tvořit HTML.
Obrázky obrazovek byly nasnímány za prostého užití čudlíku [PrintScreen], následně byly zpracovány a případné ostatní obrázky i namalovány v programu Corel PhotoPaint.

Home


© 1999-2001, K5