em tečka pé tečka

Pokud máte v poště informace privátního charakteru, smažte je!
(skok na navigaci)

ogg theora 10.09.2006, 20:59:00 (z hlavy)

Trochu techniky. Proč používám videa ve formátu .ogg, proč je nemůžete přehrát, jak je přehrát (koho nezajímají teoretické kecy, nechť si klikne), a proč mě ani nenapadne používat něco jiného.

Teoretický úvodíček

Video je vpodstatě řada obrázků za sebou, a k nim připojená zvuková stopa. Kdybychom ovšem chtěli video ukládat takhle, daleko bychom nedošli. Video by zabralo hrozně moc místa. Jedna vteřina videa má typicky 25 snímků, takže k uložení hodinového filmu bychom spotřebovali nějakých 90000 obrázků. Kdyby měl každý obrázek jen 50kB, zaplnili bychom takovým filmem DVD, a nebyl by příliš kvalitní. A beze zvuku.

Proto byla vynalezena komprese videa – spousty a spousty způsobů, jak využít faktu, že v jedné scéně se obrázky příliš neliší klidně třeba pět minut. Kdyby nám stačil jeden obrázek na pět minut, zabere nám hodina jen 600kB. Slušné zlepšení, že?

..no takhle idylické to samozřejmě není, ale chápete kam mířím.

V současné době nejoblíbenější komprese je MPEG2, která se používá na DVD, a MPEG4, která se používá prakticky všude jinde. MPEG4 je vpodstatě "jenom" vylepšený MPEG2, který se k videu umí chovat drsněji. Z DVDčka vám zmáčkne film klidně na jedno CD tak, že stále zůstane koukatelný. Na širokoúhlou televizi to už není, ale na monitoru počítače nemusíte ani poznat rozdíl.

V praxi ovšem nestačí video jen zkomprimovat, musíte k němu ještě přibalit zvuk a nějak úhledně to uložit do souboru. K tomu slouží formáty, z nichž nejrozšířenější je dnes AVI (Audio-Video Interleave, tedy proložení audia a videa). Nainstalujete si přehrávač AVI, a k němu spoustu kodeků. Přehrávač vám z AVI vybalí video, kodek vám z videa vybalí jednotlivé obrázky (i když jsou zkomprimované, pořád potřebujeme ukázat všech 25 za vteřinu).

...a praxe

Zkomprimovat video ovšem není úplně sranda. Je to náročný proces, který je sice v dnešní době už docela rychlý, ale pořád bez problémů vytíží váš 3GHz procesor na maximum, a ještě k tomu ukousne pěkné sousto z paměti. A nedá se to příliš dobře dělat v reálném čase – na většině počítačů pořád trvá zkomprimování videa déle, než jeho přehrání.

Video se dnes dá nahrávat na kdejakém digitálním foťáku, a digitální foťáky mají procesory ještě pořád dost pomalé. Takže komprese do MPEG2 nebo nedejbože dokonce MPEG4 se v nich ještě nějakou dobu odehrávat nebude. Namísto toho používají "kodek" MJPEG, tedy pohyblivý JPEG. JPEG určitě všichni znáte, to je formát obrázků. MJPEG je soubor triků, jak tyhle obrázky sestavit a zabalit do videa, aby se na tom ještě o trošku ušetřilo. Ovšem pořád je to v principu těch 25 (tedy u foťáků většinou 15) plných obrázků za vteřinu. Proto spousta foťáků umožňuje nahrávat třeba jen 30 vteřin, a proto se vám na gigovou kartu nevejde ani hodina videa.

Pak je samozřejmě veliká lahůdka nahrávání 20MB souboru na Internet, aby se kamarádi mohli pokochat tou minutou blbých keců, které jste pro ně v opilosti natočili.

jádro pudla

Ovšem když už máme video v počítači, proč ho napřed nezkomprimovat do nějakého toho MPEGu4, že?

Odpověď je prostá: protože ani to není žádná sranda. Dokonce je to poměrně komplikované, alespoň pokud mně je známo.

Jednak tu máme Windows Movie maker. V něm to zdánlivě i jednoduché je, má ovšem dvě nevýhody. Za Á je vázaný na Windows, za Bé produkuje soubory ve formátu WMV. Což je formát, se kterým se mimo Windows pracuje přinejmenším obtížně.

Pak existuje skvělý VirtualDub, který dokáže překomprimovat cokoliv z čehokoliv do čehokoliv jiného. Je tu ovšem potíž: takový XviD kodek má asi milion parametrů, od cílové bitrate do modulátoru kubické deformace (ať už to znamená cokoliv). Také mu nelze říci "chci slušný video", musíte si přesně nadiktovat, jak velké má být. Já sám z toho nedokážu uhodnout, jestli výsledné video bude "slušné", a co teprve chudák laik!

A dál nic. Případně nějaké zběsilé kravinky nalezené kdesi na netu.

ogg a theora

No, a pak je tu Theora.

Theora je komprese videa. Není to MPEG4, ale používá to podobné principy, takže dosahuje podobných výsledků. Minuta videa z foťáku, zkomprimovaná do Theory, zabere 1,5MB. A to už se na internet dá nahrát poměrně bez následků.

Ogg je formát, který se dosud používal hlavně pro ukládání zvuku. Je to ovšem stejně dobrý obalový formát jako AVI nebo wmv. Je zvykem Theoru balit právě do Oggu, protože je s ním spjata od narození.

Navíc Ogg a Theora jsou formáty otevřené, tedy nejsou zatížené žádnými patenty, a každý si může zdarma přečíst, jak uvnitř fungují.

Samotná komprese se provádí takhle:

ffmpeg2theora Video.avi

To je celé.

Kouzelné slovo ffmpeg2theora, a název souboru, který chcete zkomprimovat. Program ffmpeg2theora sám pozná, že chcete "slušný video", vypočte si velikost, bitrate i modulátor kubické deformace, a vyplivne úhledný malý balíček Video.ogg.

jenže jak to pak přehrát??

V linuxu je to jednoduché, tam to funguje samo od sebe.

Ve windows je to ovšem spjato s komplikacemi.

Zaprvé, rozhodně to nejde ve Winampu. Winamp si o oggu pořád ještě myslí, že to je jen muzika, takže se tak k němu chová.

Za druhé, musíte si napřed nainstalovat kodeky odtud. Je to na stránce označeno jako "latest ogg codecs". Ve chvíli, kdy toto nainstalujete, měl by váš oblíbený přehrávač (ať už BSPlayer, Windows Media Player, nebo třeba jamp) už umět takový ogg otevřít.

Pokud to nejde ani takhle (ahoj guano), existuje ještě VideoLanClient, přezdívaný familiérně VLC. Je to přehrávač, který nepotřebuje žádné kodeky a všechno umí sám. Stáhnout ho lze odtud.

A pokud nepomůže tohle, nepomůže už ani svěcená voda. Přejděte na Linux, nebo se mě pokuste přemluvit k tomu, abych videa komprimoval jinak. Ovšem pokud to bude o víc než tři kroky náročnější než Theora, tak na to můžete předem zapomenout.

a... ee ... jsem to nějak nepochopil/a, jak že se to teda komprimuje?

Pokud jsem někoho přesvědčil o skvělosti Theory, tak mi napište třeba do komentářů, a hodím detailní návod jak na to ;e)

Komentáře

[1] b.u.n.k.a. (10.09.2006, 21:07:18):
nechci navod, skacu do zdi!!!
[2] guano (10.09.2006, 22:13:06):
(ahoj)
[3] ag (11.09.2006, 10:05:05):
n1
[4] lukasek (11.09.2006, 11:45:20):
jako mam naky problemy seekovat video v theoře s mplayerem, pri seeku se obraz zastavi, ale zvuk jde dal :/
[5] matejcik (11.09.2006, 12:17:58):
[4] divné, reportni do bugzilly...
[6] lary (11.09.2006, 14:28:08):
fuj, to je první článek od tebe, co jsem nepřečetla celej. a přečíst odmítám!:)
[7] b.u.n.k.a. (11.09.2006, 18:01:59):
lary: presne tak. na skok do zdi stacilo prvnich par radek. hruuuuza
[8] lary (11.09.2006, 22:23:48):
bunko,
doufam, že to nebude nějaká lokální chyba.. jakože my jihočeši nejsme schopni tomu rozumět, nebo tak něco:))
[9] b.u.n.k.a. (11.09.2006, 22:34:32):
lary: rozhodne ne. to je primo globalni problem. mozna to ma neco spolecneho s nasim pohlavim (?)
[10] matejcik (11.09.2006, 23:14:33):
a to jsem se tak snažil o srozumitelnost! jestli to nebude spíš tím, že vás to totálně nezajímá? ;e))
[11] lary (11.09.2006, 23:48:13):
buňko,
nevím. já si své pohlaví denně omývám! ovšem jestli ty též, tak na tom možná něco bude.. (v tom případě jsou ale ostatní prasata.)

mateji,
hehm.. cože?:)
[12] b.u.n.k.a. (12.09.2006, 08:03:28):
lary: ano, ja tez. jsou to prasata.

matejcik: kdybych to chapala, mozna by me to zajimalo :p ale mozna mas pravdu (castecne) :p
[13] yška (19.09.2006, 15:20:14):
moc dlouhe
[14] peta (20.12.2007, 11:58:09): prehravani
Ono tech zpusobu bude vic. Treba mne ted napadli takove ty linuxove miniverze pro windows, jako dalsi moznost.
Jinak pod Vistami mam fullscreen mod pri pouziti DosBoxu (coz je jakasi mutace linuxu a dosu) a v nem teprve poustim dos program. Vidim to podobne i s tim videem, kdyby nezabrali zminene zpusoby.
[15] matejcik [OpenID] (20.12.2007, 13:49:47):
[14] peto, spíš si myslím, že meleš nesmysly. ale možná jsem tě jen nepochopil.








www.140.cz http://last.fm/ SomaFM commercial free internet radio