Masová dezinformace na internetu nemá konce, a tak je třeba ujasnit si několik pojmů, jelikož nemalá část lidí v tom má evidentně hokej. Mluvím o přetrvávajícím zaměňování / komolení / chybné použití pojmů jako MKV, x264, AVC, MP4 apod. Zkusím to vysvětlit ve značně zjednodušené a v některých místech technicky ne zcela korektní formě, protože toto téma by jinak vydalo na desítky stran.

Teorie je taková: multimediální soubor je kontejner, který obsahuje zpravidla obrazovou a zvukovou komprimovanou stopu vytvořenou enkódérem, který se řídí kompresní specifikací.

Zjednodušeně: specifikace komprese > enkódér > komprimovaná stopa > kontejner.

Co je co?

Specifikace komprese je dokument standardizující formát komprimované stopy a metody, jakými má být vytvořena (komprimována). Pokud neprogramujete vlastní enkódér tohoto formátu, nemusíte se jejím obsahem jakkoliv zabývat. Hlavní je vědět, jak se jmenuje. Například H.264/MPEG-4 AVC nebo MPEG-1 Audio Layer 3.

Enkódér je aplikace, která komprimuje vstupní data v souladu se standardy užité kompresní specifikace, přičemž implementuje (neboli realizuje) více či méně vlastností definovaných touto specifikací. Takovouto aplikací je například x264 nebo Xvid.

Komprimovaná stopa (jinak také stream) je soubor vytvořený enkódérem a je ve formátu splňujícím standardy kompresní specifikace. Obsahuje čistá obrazová či zvuková data a málokdy se při běžném používání s tímto typem souboru setkáte, protože enkódéry vytvořené streamy automaticky vkládají (muxují) do nějakého kontejneru. Můžete si je ale z kontejneru vyjmout (demuxovat).

Kontejner je soubor, který obsahuje obrazové, zvukové, popřípadě jiné, doplňkové (třeba titulkové) stopy. Funguje navenek podobně jako ZIP archiv (až na to, že sám o sobě už nic nekomprimuje), který shromažďuje dohromady všechny potřebné stopy do jednoho souboru. Kontejnery jsou například MKV nebo AVI.

Nyní si udělejme malý přehled kompresních specifikací, ke kterým přiřadíme několik konkrétních aplikačních implementací.

  • H.264/MPEG-4 AVC
    x264, Elecard H.264, Ateme H.264
  • MPEG-1 Audio Layer III
    LAME, BladeEnc, Fraunhofer Encoders
  • MPEG-4 Part 2
    Xvid, DivX

A ve výčtu kompresních specifikací a jejich implementací by se dalo velmi dlouho pokračovat. Soubory, které tyto enkódéry vyprodukují, vkládáme do kontejnerů. Nejoblíbenějšími audiovizuální kontejnery jsou v současnosti MKV, MP4, AVI. (Milovníci DVD pak jistě důvěrně znají VOB.)

Přirovnání na závěr

Kompresní specifikace je jako česká gramatika. Když ji známe, můžeme napsat vzkaz na papír, jako když enkódér znalostí specifikace vytváří stream. Napsaný vzkaz vložíme do obálky (třeba s více jinými vzkazy) podobně jako vkládáme streamy do kontejneru. Tato obálka putuje po internetu jako dopis poštou a na druhém konci ji příjemce, který zná českou gramatiku, přečte podobně jako dekódér (ale to už je tak trochu jiný příběh).

Doufám, že je nyní všem jasné, nakolik nesmyslným  je prohlášením typu „převedeme Blu-ray do vysoce kvalitního MKV formátu pomocí MediaCoderu“, protože se zde míchá úložné médium s kontejnerem a enkódovacím automatem. Stejně jako jablko, hruškovice a likérníkova dcera.