Ogg Media

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 13. tammikuuta 2018 tarkistetusta versiosta . vahvistus vaatii 1 muokkauksen .
Ogg Media
Laajennus .ogm
Muototyyppi kontin kuvauksen muoto [d]
Laajennettu kohteesta Ogg

Ogg Media (OGM) on formaatti, säiliö datavirtojen , kuten videon, äänen ja tekstityksen, tallentamiseen . Tarjoaa tarvittavat välineet luotettavaan tiedostojen siirtoon, tiedostojen eheyden valvontaan, tiedostojen siirtojen määrän minimoimiseen useiden streamien toiston aikana (lomitus).

Ogg Media -säilö on kolmannen osapuolen muunnos Ogg - säilystä , joka on kohdistettu Xiph.Org:n tukemiin ilmaisiin koodekkeihin tukemaan ei-vapaita koodekkeja, joita käytetään yleisesti AVI -säilön kanssa DirectShown avulla . Ogg Media perustettiin vuonna 2002 riippumatta Xiph.Orgista , joka pyysi vuonna 2004 poistamaan harhaanjohtava "Ogg" säilön nimestä. [yksi]

OGM-muoto

Jokaista ogg-tietovirtaa kutsutaan loogiseksi virraksi ( eng.  logical bitstream ), useita loogisia virtoja yhdistetään fyysiseksi virraksi ( eng.physical  bitstream ).

On olemassa seuraavat menetelmät loogisten virtojen yhdistämiseksi yhdeksi fyysiseksi virtaukseksi:

Jokainen looginen virta on jaettu paketeiksi ( englanninkieliset  paketit ). Pakettimuoto määräytyy käytetyn koodekin mukaan . Paketit on jaettu segmentteihin , kunkin  segmentin koko ei ylitä 255 tavua . Segmentit yhdistetään sivuiksi ( englanninkieliset  sivut ), jokaisella sivulla on enintään 255 segmenttiä (yhden sivun tietojen kokonaiskoko ei koskaan ylitä 64 kt). Paketti voi sisältää useamman kuin yhden sivun (eli olla suurempi kuin 64 KB), jolloin paketin jatkon sisältävälle sivulle asetetaan erityinen lippu "paketin jatko" ( englanniksi  jatkuu_paketti_lippu ).

Paketin rakenne

offset ( heksa ) koko tyyppi otsikko kuvaus
0x0 neljä FOURCC capture_pattern aina yhtä kuin "OggS", 0x4f 0x67 0x67 0x53
0x4 yksi TAVU stream_structure_version struct-version pitäisi olla 0
0x5 yksi bittikenttä header_type_flag 0x1 jatkuu_paketti_lippu sivu sisältää paketin jatkon
0x2 begin_of_stream -sivu on streamin ensimmäinen sivu
0x4 end_of_stream -sivu on streamin viimeinen sivu
0x6 kahdeksan INT64 absoluuttinen_rakeen_sijainti viimeisen kehyksen tai näytteen (näytteen) numero, joka on koodattu kokonaisuudessaan tässä paketissa. Kehyksiä, jotka eivät mahdu pakettiin kokonaisuutena, ei oteta huomioon, jos ei ole kehyksiä, jotka mahtuvat pakettiin kokonaisuutena, ilmoitetaan arvo -1
0xE neljä INT32 sivun_sarjanumero sen loogisen virran numero (annetussa fyysisessä virrassa), johon sivun sisältö kuuluu. Sen on oltava ainutlaatuinen yhdessä fyysisessä streamissa.
0x12 neljä INT32 page_sequence_no sivunumero loogisessa säikeessä
0x16 neljä UINT32 sivu_tarkistussumma CRC32 - sivukoodi
0x1A yksi TAVU page_segments segmenttien määrä sivulla. Numero [0-255], numerot 0 ja 255 ovat kelvollisia (numerolla 0 sivu ei sisällä segmenttejä (ja tietoja) ja se tulee yksinkertaisesti ohittaa).
0x1B page_segments BYTE [] segmenttitaulukko sivusegmentin kokotaulukko. Taulukon merkintöjen määrä määräytyy sivusegmentin perusteella, jos arvo on null, segmenttitaulukkoa ei ole.

Muodon olennainen piirre on yhteisen otsikon puuttuminen fyysiselle streamille. Esimerkiksi kahden tiedoston binaarinen ketjuttaminen antaa toimivan tiedoston. OGM-tiedostoissa ei ole hakemistoa videovirralle (mikä lisää muodon vakautta tiedonsiirron aikana, mutta vaikeuttaa toistoa).

Jokainen sivu sisältää CRC -koodin tietojen oikeellisuuden tarkistamiseksi lähetyksen ja toiston aikana.

Katso myös

Muistiinpanot

  1. OGM arkistoitu 30. tammikuuta 2009.