Toto je příšernost. Článek, který se snaží něco říci laikům a okamžitě na začátku jim nasype úplně chybné, špatně vysvětlené a pomíchané pojmy. Takže začátečník je na tom hůř než kdyby to nečetl.
Za prvé MPEG-4 je standard obsahující spoustu dílů, které popisují různé formáty. Jeho součástí je například MPEG-4 ASP (formát využívaný kodeky DivX a XviD), MPEG-4 AVC (dle ISO normy, H.264 dle ITU-T normy), AAC, TTXT (titulky) nebo třeba MP4 kontejner.
H.264 rozhodně není kodek, ale formát. Kodek je kodér+dekodér, jedná se o konkrétní implementaci nějakého standardu. Typický kodek je třeba XviD (implemetující standard MPEG-4 ASP) nebo lame (implementující MP3).
V článku naprosto chybí informace o tom, k čemu vlastně kontejner slouží. Pro laika je potom nepochopitelné, proč by se tím měl zabývat. Hlavním smyslem kontejneru jsou následující věci:
1) Spojit obraz, zvuk a titulky do jednoho souboru. Uvnitř jsou v podstatě jednotlivé elementární streamy, které se dají uložit i jako samostatné soubory. Kontejner se tedy dá připodobnit k RARu nebo ZIPu.
2) Kontejner se stará o synchronizaci zvuku a obrazu. Matroška umí přizpůsobit rychlost videa rychlosti zvukové stopy, což jedna z klíčových a nejužitečnějších vlastností tohoto formátu. HD filmy se totiž vydávají se snímkovou frekvencí 24 (přesněji 23,976, ještě přesněji 24000/1001). Tomu odpovídá i rychlost anglického dabingu. Česká DVD oproti tomu mají snímkovou frekvenci 25, takže video je zrychlené. Matroška může obsahovat zvukové stopy patřící k 24 i 25 verzi filmu a podle rychlosti zvuku přizpůsobí přehrávač rychlost videa.
3) Třetí klíčovou vlastností kontejneru je uložení metadat. Tedy především tagy, kapitoly, obal alba atd. Do Matrošky tak můžu uložit celé CD s obalem, stopami (kapitolami) a správně otagované.
Pokud bych chtěl představit čtenáři kontejnery, tak bych se rozhodně zmínil o těch, které může laik potkat – AVI, MP4 (3GP je ořezaná verze MP4), MOV, ASF (koncovky WMV, WMA), MPEG-TS (koncovky TS, MTS, M2TS) nebo MPEG-PS (koncovky MPG, MPEG, VOB). QuickTime je přehrávač a multimediální framework, žádný kontejner s takovým jménem neexistuje. QuickTime používá jako výchozí kontejner MOV.
Je to parametr „stretch“, čili natažení. Pokud máš například anglické 24 fps video a dodáváš českou zvukovou stopu z 25fps DVD, tak té české stopě (která je kratší) nastav natažení 25/(24000/1001) = 1.04271. Při přehrávání to většina přehrávačů udělá tak, že místo aby natahovaly zvuk (což je složitější a horší), tak zrychlí video na 25fps.
Aha :), o tom parametru jsem věděl. Jen mi nedošlo, že přehrávače v reálu místo zpomalení audia zrychlí video… Díky. A to funguje, i když mezi těmi stopami přepínám v průběhu? Jako když se rozhodnu v půlce videa přepínat stopy, tak přehrávač bude plynule přecházet mezi 24 a 25 snímky za sekundu? To jsou mi věci…
fakt? sox resample je celkem rychly…
asi se podivam, co rika mplayer, kdyz prepinam stopy…
zase zmena FPS zmeni delku videa, ne?
tak ted koukam, ze mplayer asi presampluje audio a ma stejny FPS, jiny prehravace to asi delaji jinak
mimochodem pry popcorn ma problemy s natazenym/zkracenym audiem a pry je daleko lepsi rucne audio presamplovat (treba soxem) a prekomprimovat, je to pravda?
Jasně, že to přesamplovat jde. Ale je to zbytečně složitý a horší řešení řešení než změna rychlosti filmu. To se používá zcela běžně. Podívej se, jak se liší délka identických filmů vydaných v USA a Evropě. Ty Evropské jsou zrychlené, v televizi taky.
Pointa je v tom, že zrychlení obrazu nikdo nezaznamená, u zvuku to už je znát, protože to je skoro o půltón. Navíc každý resamplování vnáší nějakou ztrátu kvality. Další prolbém nastává, pokud máš připojený digitálně zesilovač a používáš SPDIF. Potom by se ještě musel zvuk realtime překomprimovat.
Já mám zkušenosti s VLC, MPC-HC a Haaliho splitterem pro DirectShow přehrávače. Ty mění rychlost videa. MPlayer musím vyzkoušet…
O problémech Popcornu vím. Kdysi jsme to řešili na fóru na tvfreak.sk. Nevím jaká je současná situace, jestli už opravili firmware. Každopádně překomprimovávat a přesamplovávat zvuk kvůli špatnýmu firmwaru jednoho přístroje se mi nezdá jako optimální řešení. Pokud vlastníš Popcorn a nefunguje to, tak Ti samozřejmě nic jinýho nezbývá.
Pokud resampluji zvuk 48 kHz na 47 kHz a pak jej pustím s frekvencí 48 kHz, tak se zvuk zrychlí a současně se zvýší výška tónu. Takže zrychlení nebo zpomalení zvuku je totožný proces jako resamplování.
Time stretch je trošku něco jiného. Většinou se tímto pojmem označuje změna délky zvuku bez změny ladění (výšky tónu). K tomu je už zapotřebí opravdu poměrně složitý výpočet přes Fourierovy řady a tato metoda se na kvalitě zvuku projeví ještě víc než přesamplování.