Konvertování MPEG animací na Amize aneb jak ušetřit 8$MAREK SOCHŮREK
K napsáni tohoto článku mi dala podnět recenze programu MPEG to ANIM
V1.4 v AR 9/99. Tento program konvertuje MPEG animace (i tzv. SYSTEM MPEG se
zvukem) do na Amize velmi často používaného formátu ANIM. Neregistrovaná
verze má však dost drastické omezení v rozměrech obrázků převedené
animace. Co s tím? Jedna možnost je zaplatit registrační poplatek 8$. Když
je jedna možnost, tak obvykle existuje i druhá a ta vám ušetří výše zmíněný
poplatek. Jat zvědavostí jsem začal zkoumat tento konvertor a co jsem
nezjistil. Celý program je pouhá grafická nadstavba (GUI). Samotnou konverzní
práci obstarávají externí programy, které jsou součástí archívu. Je zajímavé,
že autor požaduje registrační poplatek za grafickou nadstavbu a přitom
samotné konverzní programy, které jsou mnohem složitější a odvádějí větší
kus práce jsou většinou volně šiřitelné. My se však soustředíme na
samotnou konverzi MPEG souborů a jako prémii vám poradím jak vytvářet
animace včetně zvuku.
Jako příklad si vezmeme MPEG animaci se zvukem umístěnou na pozici
WORK:MPG/TEST.MPG, která má 25 snímků za vteřinu, 50 oken, 24-bitovou
hloubku (16,8 mil. barev) a grafické rozlišení 320x200. V první řadě musíme
z MPEG souboru dostat 24-bitové obrázky, které poskládáme do samotné
animace. To by vám u MPEG animací např. z AMlNETu nemělo činit větší
problémy. Pokud však budete chtít konvertovat MPEG SYSTEM animace se zvukem,
většina programů je vůbec odmítne jako MPEG soubor identifikovat (vadí jim
rozdílné uspořádání souboru). Řešením je rozdělení MPEG SYSTEMu do
dvou samostatných souborů AUDlO MPEG-layer2 a VlDEO MPEG-1. K tomu nám pomůže
program SPLlTMPEG (archív MPEG2AN114b.LHA, adresář ARCHlVE). Že ho nemůžete
najít? Ale ano, je tam, ale autor nám ho pro zábavu skryl. Nejen že se jinak
jmenuje, ale dokonce je i fikaně rozdělen na dva soubory. Nevadí, pomůže nám
dosovský příkaz:
JOIN MP2ANIMX MP2ANIMY TO C:SPLITMPEG
Nyní můžeme přistoupit k oddělení obrazové a zvukové složky:
SPLITMPEG WORK:MPG/TEST.MPG
V adresáři nám vzniknou nové soubory z nichž nás zajímají pouze
STM192.MPG (až STM223.MPG) pro zvuk a STM224.MPG (až STM239.MPG) pro video.
Pro pořádek je přejmenujeme na AUDlO.MPG a VlDEO.MPG. Ostatní soubory
STMXXX.MPG smažeme. Teď si připravíme program MP (MPEG PLAYER 1.03fixed) z
archívu MP103.LHA, který umístíme do adresáře C:. Nyní musíme dostat z
MPEG video proudu jednotlivé 24-bitové obrázky. Pro uložení těchto obrázků
použijeme např. adresář WORK:PlC. A teď samotná syntaxe:
MP -saveiff WORK:PIC/ PIC.%% WORK:MPG/VIDEO.MPG
(%-počet řádů pro číselné indexy).
V adresáři PIC by se mělo vytvořit 50 IFF ILBM souborů: PIC.01 až PIC.50.
Získané obrázky buď převedeme do formátu IFF ANlM nebo obrázků s nižším
počtem barev pro standardní zobrazovací módy AMlGY. K tomu nám poslouží
program REND24 (V1.05), který je součástí balíku MPEG2ANIM. Po rozbalení
archívu REND105.LHA nainstalujte pomocí přiloženého skriptu. Tento program
má přehledné GUI, takže si na chvíli odpočineme od SHELLovské dřiny. Do
prvního okna SOURCE IMAGE PATTERN zadáme název a cestu pro zdrojové obrázky
bez čísla indexu: WORK:PIC/PIC. Do pole SOURCE FRAME COUNT zadáme celkový počet
snímků:50. Do polí START (číslo prvního obr.) a SKIP (násobky přeskakovaných
snímků) zadáme 1. V první řadě se pokusíme vytvořit animaci bez zvuku,
takže zadáme název animace do DEST ANIMATION: WORK:TEST.ANIM. Zkontrolujeme
nastavení ostatních přepínačů: DEVICE=AMIGA, MNTR: DEFAULT (zobrazovací
režim), HOR: LORES (nízké rozlišení), FORMAT: HAM (4096 barev), COL: MAX
(počet barev, nelze volit pokud je nastaven HAM nebo HAM8), VER: NO LACE
(neprokládaný režim). Dále musí být zatrhnuty tyto poIožky: HlGH QUALlTY
(lepší kvalita převodu režimů HAM a HAM8), HIDE CONVERSION (program nebude
během konverze zobrazovat jednotlivé obrázky), DONT PAUSE (po konverzi obrázku
začne ihned převádět další). Položky X, Y-0. Teď už stačí pouze
stisknout BEGIN CONVERSION a program udělá veškerou dřinu za vás (což mu v
případě extrémě dlouhých animací může trvat i hodiny). Až se počítač
dolopotí, můžete směle shlédnout své dílko v jakémkoliv přehrávači,
který podporuje formát IFF ANIM5 (je jich celá řada, navíc máte k
dispozici i datatypy).
Něco tomu však chybí. Původní soubor TEST.MPG obsahoval i zvukovou stopu a
tak nás ten návrat k němému filmu příliš netěší. Co s tím? Samotný
formát IFF ANIM je velmi flexibilní a tak firmu VlRTUAL WORLS PRODUCTlONS (www.virtualworlds.se)
napadlo specifikovat rozšíření tohoto animačního formátu o zvukovou stopáž,
tak aby byla zachována zpětná kompatibilita. Samotné přidání zvuku do
animace umožňuje program WAVETRACER a přehrát si je můžete včetně zvuku
programem ANIMFX. Jelikož s těmito programy nemám zkušenosti, nechám to na
vaší zvídavosti.
Jak jsem vám však slíbil, existuje ještě jedna možnost-formát CDXL. Ano,
jedná se o dnes už prehistorický formát pro ukládání a čtení
videosekvencí ze CDROM jednotek u jehož zrodu stála firma COMMODORE AMIGA.
Tento formát neužívá žádný typ datové komprese a je velmi primitivní.
Jsou to v podstatě hrubá grafická a zvuková data uložená do jednoho
souboru. Z toho plyne velká spotřeba volného místa na disku a požadavek na
vysokou přenosovou rychlost zařízení. Dá se to však zredukovat volbou nižšího
rozlišení, počtu snímků a maximálním počtem barev. Takže směle do toho
a CDXL je hotovo! Vrátíme se k programu REND24. Vše uděláme jako v předchozím
případě akorát místo animace budeme vytvářet nové obrázky. Vytvoříme
adresář WORK:CDXL a do okna DEST PICTURE PATTERN zadáme: WORK:CDXL/*. Změňte
položky X:160 a Y:100. Po konverzi by vám v novém adresáři mělo vzniknout
50 HAM obrázků o rozměrech 160x100. Ještě potřebujeme zvuk ve formátu IFF
8SVX, který získáme s pomocí jednoduché konverzní utilitky FORREST (vyžaduje
MPEGA.LIBRARY)
FORREST WORK:MPG/AUDIO.MPG WORK:CDXL/AUDIO.IFF
Tak, zvukový samplík a obrázky máme, což nám bohatě stačí na vytvoření
CDXL souboru. Je čas sáhnout po XLTOOLS od COMMODORE, konkrétně příkazech
XLMAKE a XLAUDIO (pro tyto utilitky je na AMINETu k dispozici GUI). Nejdříve
si však trochu započítáme, protože je třeba stanovit datový tok CDXL, takže
kalkulačky do ruky a jdeme na to. Máme k dispozici 50 snímků o rozlišení
160x100 a bitové hloubce 6 (=HAM6, 4096 barev), zvukový sampl o vzorkovací
frekvenci 22050Hz MONO a chceme, aby se video přehrávalo rychlostí 25 snímků
za vteřinu.
XLSPEED =(((((160*100) /8)*6)+(22050/25)+32+32) *25)/2048.
Pro vysvětlenou:
XLSPEED=(((((Hroz*Vroz)/8)*bit. hloubka) + (sampl. frekvence/počet snímků za
vteřinu) + velikost hlavičky CDXL + (počet nastavitelných barev*2))*počet
snímků za vteřinu)/2048.
Výsledek je přibližně 158,032. Parametr XLSPEED by však měl být celé číslo,
aby byla dodržena korektní rychlost přehrávání. K tomu CDXL soubory používají
tzv. podložku (PAD). Pokud použijeme podložku (nebo výplň-jak chcete) o
velikosti 1390 BYTE a znovu vypočítáme XLSPEED (před závěrečným dělením
číslem 2048 přičteme k závorce:(velikost podložky*počet snímků za vteřinu))
vyjde nám 175. Teď už máme konečně všechno pro vytvoření CDXL souboru.
Začneme obrázkem:
XLMAKE -f1 -a882 -p1390 -b WORK:CDXL/PIC.Ol -h
WORK:CDXL/TEST.CDXL
(f-číslo prvního snímku, a-vzorkovací frekvence/počet snímků za vteřinu,
p-velikost podložky na snímek, b-název prvního snímku, h-HAM mód)
Přidáme zvuk:
XLAUDIO -a882 -i -e WORK:CDXL/AUDIO.IFF WORK:CDXL/TEST.CDXL
(i-vloží zvuk do existujícího souboru, e-ignoruje chyby v délce vloženého
zvuku)
Výsledek našeho snažení je na světě! Takže si ho přehrajeme:
CDGSXL FROM WORK:CDXL /TEST.CDXL VIEW BLIT MULTIPAL
XLSPEED=175 NOPOINTER DOSXL LMBABORT
(VlEW-centrování, BLlT-zobrazení přes BLITTER, MULTIPAL-paleta na snímek,
NOPOINTER-bez ukazatele myši, DOSXL- přehrává pomocí DOS ovladače,
LMBABORT-přehrávání ukončí tlačítko myši). Krása co?
Uvedený postup konvertování MPEG animací je jen jeden z mnoha dalších. Namátkou
uvedu programy: MAINACTOR BROADCAST, XANIM, WlLDFlRE nebo vynikající datatypy
od Rolanda Mainze (MPEGVIDEO, MPEGAUDIO, MPEGSYSTEM) a program DTCONVERT. Podobnými
způsoby lze konvertovat i animace AVI (RIFF) a QUICKTIME (MOV). V článku jsem
se záměrně vyhnul podrobnému popisu jednotlivých programů (jednak bych se
upsal k smrti a pak taky musím trochu radosti ze zkoumání přenechat vám).
Tento článek také předpokládá základní znalosti grafického a zvukového
HARDWARE AMIGY. Takže-návod máte, programy seženete a zbytek je už jen na vás.
Hodně štěstí!
Použité programy:
z archívu MPEG2ANI14B.LHA (gfx/conv) vybrány SPLITMPEG V1.0, MPEGPLAYER V1.03,
REND24 V1.05 dále XLMAKE V1.1 a XLAUDIO V1.1 z XLTOOLS (AMIGA DEVELOPER CD),
konvertor FORREST AMP V1.0 (mus/misc) a přehrávač CDGSXL V1.5 (gfx/show).
Pozn.: Program SPLITMPEG ve své ranné verzi neumí rozdělit všechny
MPEG SYSTEM soubory. Bohužel nevím, jestli je chyba v MPEG souborech nebo v
samotném programu. Jistě si říkáte, proč sem pro výsledný grafický režim
CDXL souboru nepoužil mód HAM8 (262144 barev) namísto HAM6 (4096 barev). Důvodem
je jednak to, že tento mód lze využít pouze na AGA čipsetu a také to, že
programy REND24 a XLMAKE malí s tímto grafickým režimem problémy.
e-mail: sma@volny.cz, marek.sochurek@czech-tv.cz Vytlačiť článok
Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
none
|