Ogg Media

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 13. ledna 2018; ověření vyžaduje 1 úpravu .
Ogg Media
Rozšíření .ogm
Typ formátu formát popisu kontejneru [d]
Rozšířeno z Ogg

Ogg Media (OGM) je formát, kontejner pro ukládání datových toků , jako je video, zvuk a titulky. Poskytuje nezbytné prostředky pro spolehlivou přepravu souborů, kontrolu integrity souborů, minimalizaci počtu přesunů souborů během přehrávání více streamů (prokládání).

Kontejner Ogg Media je modifikací kontejneru Ogg od třetí strany , která se zaměřuje na bezplatné kodeky podporované Xiph.Org , aby podporovala nesvobodné kodeky běžně používané s kontejnerem AVI pomocí DirectShow . Ogg Media vznikla v roce 2002 nezávisle na Xiph.Org , která v roce 2004 vydala žádost o odstranění zavádějícího „Ogg“ z názvu kontejneru. [jeden]

Formát OGM

Každý datový tok z hlediska ogg se nazývá logický tok ( angl.  logical bitstream ), několik logických toků je sloučeno do fyzického toku ( angl.  Physical bitstream ).

Existují následující metody pro kombinování logických toků do jednoho fyzického:

Každý logický proud je rozdělen na pakety ( anglicky  packets ). Formát paketu je určen použitým kodekem . Pakety jsou rozděleny do segmentů , velikost  každého segmentu nepřesahuje 255 bajtů . Segmenty jsou sloučeny do stránek ( anglicky  pages ), každá stránka obsahuje maximálně 255 segmentů (celková velikost dat na jedné stránce nikdy nepřesáhne 64 Kb). Balíček může být obsažen na více než jedné stránce (tj. být větší než 64 KB), v takovém případě je pro stránku obsahující pokračování balíčku nastaven speciální příznak "pokračování balíčku" ( anglicky  continue_packet_flag ).

Struktura balíčku

offset ( hexadecimální ) velikost Typ titul popis
0x0 čtyři FOURCC zachytit_vzor vždy rovno 'OggS', 0x4f 0x67 0x67 0x53
0x4 jeden BYTE stream_structure_version struct verze, by měla být 0
0x5 jeden bitové pole header_type_flag 0x1 continue_packet_flag stránka obsahuje pokračování balíčku
Stránka 0x2 begin_of_stream je první stránkou streamu
0x4 end_of_stream page je poslední stránka streamu
0x6 osm INT64 absolutní_pozice_granule číslo posledního snímku nebo vzorku (vzorku) zakódovaného jako celek v tomto paketu. Rámce, které se nevejdou do paketu jako celku, se neberou v úvahu, pokud neexistují žádné rámce, které se do paketu jako celku nevejdou, je uvedena hodnota -1
0xE čtyři INT32 sériové_číslo_stránky číslo logického streamu (v rámci daného fyzického streamu), do kterého obsah stránky patří. Musí být jedinečné v rámci jednoho fyzického streamu.
0x12 čtyři INT32 page_sequence_no číslo stránky v logickém vláknu
0x16 čtyři UINT32 kontrolní_součet stránky CRC32 - kód stránky
0x1A jeden BYTE segmenty_stránky počet segmentů na stránku. Platí číslo [0-255], čísla 0 a 255 (s číslem 0 stránka neobsahuje žádné segmenty (a informace) a měla by být jednoduše přeskočena).
0x1B segmenty_stránky BYTE [] tabulka_segmentů tabulka velikostí segmentů stránky. Počet položek v tabulce je určen page_segment, v případě null neexistuje žádná tabulka segmentů

Podstatnou vlastností formátu je absence společné hlavičky pro fyzický stream. Například binárním zřetězením dvou souborů vznikne pracovní soubor. V souborech OGM neexistuje žádný index pro tok videa (což zvyšuje stabilitu formátu během přenosu dat, ale ztěžuje přehrávání).

Každá stránka obsahuje CRC kód pro kontrolu správnosti dat během přenosu a přehrávání.

Viz také

Poznámky

  1. OGM archivováno 30. ledna 2009.