Portál AbcLinuxu, 2. května 2025 16:59
Někdo mi tady navrhnul, abych svůj příspěvek z diskuse o rozdílu mezi video formáty a video software vydal knižně... Tedy v blogu. Protože je to téma věčně živé, tady je notně rozšířené vydání.
V oblasti multimédií a zejména digitálního videa se nejvíc daří bludům a mýtům. Ty jsou díky všeobecné neznalosti a nezájmu za ta léta ze všech stran šířeny tak masově, že zcela pokřivily vnímání základních termínů a principů a 99 procent lidí tento propagační newspeak přijalo jako normu. Značná skupina lidí se dokonce za svoje právo lidem o těchto věcech lhát pere do roztrhání těla a na podporu tohoto svého práva přináší jak tradiční donekonečna omílaná pomýlená technická vysvětlení (svědčící o tom, že se neorientují ani v základních věcech), tak neústupně opakované "ty vole, o co ti jde, takhle tomu říkají všichni, tak jdi s tím slovíčkařením..." Za klobouk.
Kdo za to může? Především lidská sobeckost, chamtivost a bezohlednost, ale po technické stránce historické prameny sahají k tomu, jak se vyvinulo multimediální rozhraní na platformě Windows s celou svojí proprietární kulturou, boom megapopulárního kodeku "DivX 3.11 Alpha", který tento trend před asi 8 lety nastartoval ve velkém (na čemž se pak mnozí přiživili), zejména to však umožňuje jedna věc: FourCC kodeku.
FourCC kodeku je bezplatná, ale extrémně účinná forma reklamy. Jsou to 4 znaky v AVI souboru, které říkají jakým kodekem video bylo zakódováno. Formát AVI je stavebním kamenem starého (ale dodnes používaného) frameworku Video for Windows, a FourCC (které se nepoužívá jen k identifikaci kodeku) je jedním ze stavebních kamenů kontejneru AVI, potažmo RIFF, na němž je AVI založeno. Sám Microsoft pak má svoji databázi FourCC, kde jsou zaregistrovaná FourCC pro jednotlivé (komerční, proprietární) výrobce kodeků. Softwarové nebo hardwarové přehrávače pak FourCC kodeku typicky použijí k volbě dekodéru, kterým se bude video dekódovat, tedy který bude použit k přehrávání. Kodek je softwarová knihovna či program, případně kus hardware, který kóduje/dekóduje data do/z nějakého formátu.
Například kodek DivX má své vlastní FourCC DX50, které se do AVI souboru zapisuje. Typický DirectShow přehrávač na Microsoft Windows, jako je Windows Media Player, zjistí značku DX50 a zkusí k přehrávání použít příslušný dekodér, tedy DivX. Pokud není nainstalovaný, přehrávač sdělí zhruba něco jako "soubor nelze přehrát, dekodér nenalezen". Jsou i konkurenční dekodéry, které se můžou ve Windows zmocnit dekódování videa s FourCC DX50 (např. ffdshow), ale to není předpokládaná cesta - typického uživatele to přiměje k instalaci kodeku DivX, protože se ve Windows běžně má za to, že video se má dekódovat kodekem, kterým bylo zakódováno, kterému to FourCC patří.
Proto taky firma DivX používá své FourCC - přivádí jim zákazníky, kteří si pak mohou i zakoupit jejich komerční produkty (jako je DivX Pro Codec). Hlavně to však propaguje značku DivX, což jim přináší nové příležitosti k růstu do dalších oblastí a peníze z jiných zdrojů jako jsou výrobci "DivX certified" stolních DVD přehrávačů, kteří platí firmě DivX za to, že jí mohou dělat bezplatnou reklamu umístěním loga DivX na své přehrávače (které se pak díky tomu lépe prodávají, protože DivX je módní slovo, i když skoro nikdo nezná jeho skutečný význam). Čímž pak sláva firmy DivX ještě víc roste a přináší jim ještě víc publicity, zákazníků a peněz.
Idylku narušuje to, že kodeky jako DivX nebo Xvid používají společné standardní formáty (které nijak "nerozšiřují", nejsou "na nich založeny", prostě jsou to ony). Tyto formáty jejich autoři nevyvinuli, přesto jsou tak bezostyšně prezentovány - a to nejen v médiích a armádou neznalých na internetu, ale i samotní autoři kodeků DivX a Xvid nazývají video vytvořené jejich softwarovými produkty "DivX video" a "Xvid video". Což je pouhý vychytralý marketingový výraz - oni vědomě využívají toho, že většina lidí má těmi léty šíření bludů a mýtů vymyty mozky, takže téměř nikdo nezná správné významy základních pojmů. Tento propagační newspeak pak lidé jako tupé stádo přejímají a když jim někdo řekne, že místo správných pojmů používají propagační newspeak, jen to znuděně odmávnou s dodatkem "no a co, v podstatě máš pravdu, ale lidi to nezajímá, tak budeme lhát dál". Bez ohledu na to, že lhaní má své následky, ať si to kdokoli uvědomuje či připouští, nebo ne. A toto lhaní napáchalo za ty roky velkou spoustu škod, férové lidi a softwarové produkty odstrčilo na dno nezájmu, stejně tak jako dopomohlo řadě vychytralých marketingových balamutilů k větší slávě a prosperitě.
Nikomu třeba nepřijde divné, že své FourCC nemají různé MPEG-2 kodeky, protože to je stará známá věc, každý zná DVD a spol. Tudíž jakákoli snaha parazitovat na tomto formátu tím, že by přes jeho název přelepili svoji firemní značku, by se minula účinkem. Ovšem u MPEG-4, to je jiná - tam mají vyšlapánu cestičku starým "DivX 3.11 Aplha" (hacknutý MSMPEG-4 - nebyl to produkt firmy DivX, ta si jen chytře vypůjčila jeho populární název a založila si na tom živnost), který byl ve své době jediný, navíc nepoužíval standardní MPEG-4, takže jej lidi automaticky brali jako formát - a tím pádem tak ze setrvačnosti začali být bráni i všichni jeho nástupci. Navíc celé to proprietární prostředí multimédií ve Windows automaticky předpokládá, že každý výrobce kodeku má svůj proprietární nestandardní formát, s existencí nějakého společného standardu se v tomto firemním světě proprietárního průmyslu nepočítalo. Proto i ty databáze FourCC, kde pro jeden a ten samý formát jsou zástupy různých FourCC, jen pokaždé pro implementaci od jiné firmy. Tudíž i uživatel, který si chce přehrát video ve formátu AB, si má nainstalovat asi 10 různých dekodérů tohoto formátu od 10 různých výrobců, protože se může setkat s 10 různými FourCC v AVI souboru, přestože je formát identický a jeden dekodér by stačil. To ale není v zájmu výrobců kodeků, kteří si používáním FourCC svého kodeku místo toho, aby používali FourCC video formátu, dělají reklamu. Proto taky jsou letitým evergreenem všech možných diskusních fór miliony nešťastníků s "mám video, které mi nejde přehrát!"
Jistě, starý linuxový harcovník namítne: "Ať si na Windows užijí, já mám MPlayer/xine/VLC a ten na FourCC nehledí a na všechno použije FFmpeg". Ale ony taky na FourCC hledí - jenom ten FFmpeg MPEG-4 použijí u těch několika (jim) známých FourCC, což není systémové řešení, pouhá obezlička. A potom, když si tím FFmpeg MPEG-4 zakódujete video třeba v MEncoderu, do souboru se zapíše FourCC FMP4 a jsme tam kde jsme byli. Uživatel Windows, který má nainstalovaný DivX nebo Xvid, případně uživatel stolního "DivX certified" přehrávače si to nepřehraje (což je další poddůvod, proč firma DivX používá své FourCC - lidé si pak myslí, že pro tyto přehrávače musí používat na kódování kodek DivX, netuší, že většinou stačí jen změnit FourCC na DX50). I když by si to, nebýt FourCC, klidně přehrál, protože FFmpeg MPEG-4 používá stejný formát jako DivX a Xvid, tedy MPEG-4 ASP, a je s nimi kompatibilní. Jenomže místo toho, aby to video bylo označeno jako MPEG-4 video (kterým ve skutečnosti je), je v duchu zažitých a zaužívaných vlastnických tradic multimédií ve Windows označeno jako "FFmpeg MPEG-4 video". A to je pak smůla, protože FFmpeg je světem ignorován, což je dáno právě i tím, že byl léta kamuflován jako "DivX". Navíc lidé, kteří šíří mýty o "formátech" DivX a Xvid dávají velikého majzla, aby tento duopol nesměla narušit nějaká konkurence. A tak samozřejmě jsou aplikace, které video kódované kodekem FFmpeg MPEG-4 skrzevá FourCC maskují jako "DivX" (nebo "Xvid") a v poradně na ábíčku není nouze o návody, jak i s tvrdohlavějšími programy, které to implicitně nečiní, udělat totéž. Dokonce jej pak i jako "DivX" prezentují - viz AVC - Audiovizuální Centrum Silicon Hill, které o video záznamech kódovaných kodekem FFmpeg MPEG-4 (což zatajuje, FourCC je taky maskované jako DivX, zjistit se to dá jen prozkoumáním binárního obsahu) na svých stránkách výslovně lže, že to je "DivX" (na moje e-mailové vysvětlení z roku 2005 dodnes nezareagovali, předpokládám tudíž, že jim lhaní vyhovuje). Což dále zvětšuje slávu, podporu a bohatství irelevantní firmy DivX a ignoraci, nepodporu a strádání relevantního FFmpegu (který by dnes mohl být mnohem dál, nebýt následků letitého proplachování mozků marketingovým newspeakem).
Samotní výrobci kodeků, např. firma DivX, pak tvrdí, že důvodem proč své MPEG-4 video prezentuje jako "DivX video" je to, že je to značkové video (DivX je její ochranná známka a sama firma DivX v pokynech pro její užívání výslovně zakazuje používání "DivX" jako obecného pojmenování), ne nějaké obecné MPEG-4 video, a chtějí, aby bylo bráno jako nějaká jeho lepší verze, která nemusí být s MPEG-4 kompatibilní, plus aby to bylo komfortnější pro uživatele. To schizofrenně kontrastuje jak s tím, že právě toto uživatelům problémy způsobuje, tak s tím, že opakovaně veškerá nařčení, že s MPEG-4 nejsou kompatibilní, odmítli s tím, že jsou 100% kompatibilní. Totéž autoři kodeku Xvid, jenž se na svých stránkách léta pyšnil tvrzením "Jediným naším cílem je kompatibilita se standardem" (od té doby, co stránky změnili, se na něm nic nezměnilo, kodek Xvid se v podstatě přestal vyvíjet, jeho kompatibilita s MPEG-4 je tedy stále platná). Což opět svědčí o tom, že cokoli co tito PR mluvčí řeknou, neříkají s čestným úmyslem mluvit pravdu, ale prostě proto, aby se pokaždé zavděčili tomu, kdo proti nim něco má (a klidně si v každém tvrzení protiřečili), a aby propagovali svůj produkt. Což je samozřejmě náplní práce PR mluvčích, divné je jen to, když jejich PR kecy lidé oficiálně přejímají a v článcích je prezentují jako oficiální status quo a přesný terminus technicus. To se ale v oblasti s vysokou koncentrací vymytých mozků, kterou je oblast multimédií, uchytává velmi snadno.
A budoucnost? Dnes frčí MPEG-4 AVC, známé jako H.264. A tak samozřejmě lidé, používající H.264 kodek x264, s nepoučitelným nadšením "kódují do x264", vytvářejí "x264 video"... Komerční firmy jako Nero pak mají svá propagační oddělení vycvičená ve schizofrenních marketingových blábolech jako "náš kodek Nero Digital plně vyhovuje standardu H.264 - tak vyzkoušejte skvělou kvalitu Nero Digital souborů!" Úplně stejné vyčůrané kecy šíří na svých stránkách i firma DivX, která stejně tak do videa dekódovaného svým kodekem umísťuje svoje logo, aby prý lidé viděli, že to je "pravé DivX video", ne nějaká generická MPEG-4 ASP náhražka. To, že to jejich "DivX video" je ve skutečnosti také generické MPEG-4 ASP video, už nezmíní, ani to, že když u videa zakódovaného FFmpeg MPEG-4 změníte FourCC na DX50, DivX jej rovněž slavnostně ohlásí jako "pravé DivX video". Místo toho se mistrně zaplétanými marketingovými kecy snaží navodit dojem, že jejich kodek je revoluční formát, který vymysleli, aniž by to však přímo výslovně řekli (protože by se hravě prokázalo, že lžou - ten formát vymyslel MPEG). Což po nich léta papouškovaly jak věci neznalí novináři celého světa ("tady ta fantastická firma vymyslela tento revoluční formát"), tak 99 procent uživatelů na celém světě ("každý ví, že DivX je nejlepší formát a nic jiného takového není, ostatní formáty jsou zastaralé" - přestože je spousta jiných, komaptibilních, srovnatelných, dokonce i modernějších a lepších produktů, které jenom nemají to štěstí, že by měly to slavné jméno). A tak svůj kodek prezentují jako "ekvivalent MP3 pro video" (čímž vzbuzují dojem, že jednak je to stejně jako MP3 formát, jednak že je tak ohromně populární a na svou dobu revoluční - což nikdy nebyl, průlomový byl "DivX 3.11 Alpha", který nebyl jejich, nicméně většího rozšíření na internetu pak dosáhlo spíš video kódované konkurenčním kodekem Xvid).
Naštěstí nějaké střípky rozumu zůstaly. Rozsáhlý standard MPEG-4 specifikuje i svůj kontejner MP4, což je formát, do kterého by se mělo ukládat MPEG-4 video - takto byl standard MPEG-4 vyvinut (jeho nepodpora v Microsoft Windows vedla k tomu, že se ukládá převážně do AVI kontejneru, který k tomu není vhodný). V MP4 není FourCC kodeku, které slouží jako sofistikovaná a oficiálně posvěcená forma parazitismu (ať MPEG vyvine ten formát, my pak budeme rafinovaně předstírat, že jsme jej vymysleli my a založíme si na tom úspěšný byznys hollywoodských rozměrů). Protože MPEG-4 byl postaven na principech společných standardů a interoperability, na rozdíl od sobeckých zájmů (výhodných pro výrobce kodeků, způsobujících problémy uživatelům), proprietarismu, lží a chamtivosti. Takže v MP4 je MPEG-4 video zakódované libovolným MPEG-4 kodekem (včetně DivX nebo Xvid) prostě MPEG-4 video, nikoli "DivX", "Xvid" atp. Snad i proto někteří z výrobců těchto kodeků nejeví o MP4 zájem - neumožňovalo by jim to tak snadno oblbovat lidi. Tím, že svůj produkt veřejně prezentují jako svoji značku a ne jen jako kodek, který kóduje do nějakého standardního fomátu, který je nedejbože kompatibilní s jinými kodeky (což by znamenalo, že by si snad nedejbože lidé uvědomili, že můžou nedejbože používat i jiné produkty), chytře přivazují zákazníky k celé paletě svých produktů. A lidé jim to naivně žerou, je jim to jedno. Nadšení firemní vůdcové pak radostně chřestí dolary vydělanými na lidské blbosti.
Kdo by byl řekl, že 4 znaky v souboru mají takovou moc...
Tiskni
Sdílej:
Mimochodem proč nezkusit Flash Video - FLV (h.263/mp3), jde to přehrát úplně všude ve webovém prohlížeči (jako přehrávač doporučuji FlowPlayer - http://flowplayer.sourceforge.net/).Jen to ne, pak to musí člověk převádět do něčeho použitelného.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.