Ogg Media (OGM) - ձայնային, վիդեո և ուղեկցող տեքստով տվյալների հոսքերի պահպանման համար կոնտեյներ ֆորմատ է։ Ապահովում է ֆայլի ապահով փոխադրման անհրաժեշտ միջոցները, ֆայլի ամբողջականության վերահսկողությունը, մի քանի հոսքի վերարտադրման ընթացքում (հերթագայում) ֆայլում տեղափոխման քանակի նվազեցումը։

Ogg Media

Ընդլայնում.ogm
Ֆորմատի տեսակմեդիայի պարունակիչ
ՀիմքOgg

Ogg Media կոնտեյները Ogg կոնտեյների կողմնակի վերափոխումն է, հաշվարկված է Xiph.Org-ով ընդունվող ազատ կոդեկների վրա, ստեղծված է ոչ ազատ կոդեկների ընդունման համար, սովորաբար օգտագործվում է DirectShow-ի միջոցով AVI կոնտեյների հետ։ Ogg Media ստեղծվել է 2002 թ.` անկախ Xiph.Org-ից, որը 2004 թ. հրապարակեց խնդրանք` հեռացնել կոնտեյների անունից մոլորության մեջ գցող «Ogg» բառը[1]։

OGM ֆորմատ խմբագրել

Ogg եզրում տվյալների յուրաքանչյուր հոսք կոչվում է տրամաբանական հոսք (անգլ.՝ logical bitstream), մի քանի տրամաբանական հոսքերը միավորվում են ֆիզիկական հոսքերի մեջ (անգլ.՝ physical bitstream

Գոյություն ունեն տրամաբանական հոսքերի մեկ ֆիզիկականի միավորման հետևյալ մեթոդները.

  • հաջորդական միավորում (անգլ.՝ chaining), առաջին տրամաբանական հոսքի բոլոր էջերը հաջորդում են մինչև երկրորդ տրամաբանական հոսքը,
  • խմբավորում (անգլ.՝ grouping), հոսքերի էջերը տեղաշարժվում են, տարբեր հոսքերից տվյալների միաժամանակյա ընթերցման հնարավորության ապահովման համար, առանց ֆայլում տեղաշարժի էական փոփոխությունների (RIFF կոնտեյների համար հոսքերի այսպիսի դիրքը կոչվում է հերթագայում)։

Յուրաքանչյուր տրամաբանական հոսք բաժանվում է փաթեթների (անգլ.՝ packets). Փաթեթի ֆորմատը որոշվում է օգտագործված կոդեկով։ Փաթեթները բաժանվում են սեգմենտների (անգլ.՝ segments), որոնցից յուրաքանչյուրի չափը չի գերազանցում 255 բայթը։ Սեգմենտները միավորվում են էջերով, յուրաքանչյուր էջը պարունակում է 255 սեգմենտից ոչ ավել (տվյալների ընդհանուր չափը մեկ էջում երբեք չի գերազանցում 64 ԿԲ)։ Փաթեթը կարող է պարունակվել ավելի քան մեկ էջում (այսինքն` 64 ԿԲ-ից ավելի մեծ չափով), այդ դեպքում փաթեթի շարունակություն պարունակող էջի համար դրվում է հատուկ դրոշակ` «փաթեթի շարունակություն» (անգլ.՝ continued_packet_flag

Փաթեթի կառուցվածքը խմբագրել

Միախառնում Չափ Տիպ Անվանում Նկարագրություն
0x0 4 FOURCC capture_pattern միշտ հավասար է 'OggS', 0x4f 0x67 0x67 0x53
0x4 1 BYTE stream_structure_version կառուցվածքի տարբերակը, պետք հավասար լինի 0-ի
0x5 1 բիթային դաշտ header_type_flag
0x1 continued_packet_flag էջը պարունակում է փաթեթի շարունակությունը
0x2 begin_of_stream էջը հոսքի առաջին էջն է
0x4 end_of_stream էջը հոսքի վերջին էջն է
0x6 8 INT64 absolute_granule_position այդ փաթեթում ամբողջովին կոդավորված շրջանակի համարը։ Փաթեթում ամբողջովին չտեղավորված շրջանակները հաշվի չեն առնվում, եթե փաթեթում ամբողջովին տեղավորվող շրջանաներ չկան, նշվում է 1 մեծությունը։
0xE 4 INT32 page_serial_number տրամաբանական հոսքի համարը (տրված ֆիզիկական հոսքի շրջանակներում), որին վերաբերվում է էջի բովանդակությունը։ Մեկ ֆիզիկական հոսքի շրջանակներում պետք է լինի ունիկալ։
0x12 4 INT32 page_sequence_no տրամաբանական հոսքում էջի կարգային համարը
0x16 4 UINT32 page_checksum էջի CRC32 կոդը
0x1A 1 BYTE page_segments էջի հատվածների քանակը։ [0-255]-ում թիվ, 0 և 255 թվեը թույլատրելի են (0-ի դեպքում էջը չունի հատվածներ և պետք բաց թողնվի)
0x1B page_segments BYTE segment_table էջում հատվածների չափերի աղյուսակ։ Աղյուսակում գրանցումների քանակը սահմանվում է page_segment-ով, զրոյական արժեքի դեպքում segment_table բացակայում է։

Տես նաև խմբագրել

Ogg

Ծանոթագրություններ խմբագրել

  1. «OGM». Արխիվացված է օրիգինալից 2012 թ․ մարտի 17-ին. Վերցված է 2016 թ․ հուլիսի 5-ին.