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]
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 ).
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.
mediasäiliöt | |
---|---|
Video/ääni | |
Audio | |
Musiikki |
|
Raster | |
Vektori | |
Monimutkainen |