Ogg Media

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску
Ogg Media
Расширение.ogm
Тип форматаформат описания контейнеров[вд]
Расширен изOgg

Ogg Media (OGM) — формат,контейнер для храненияпотоков данных, таких как видео, аудио, и субтитры. Обеспечивает необходимые средства для надёжной транспортировки файла, контроля целостности файла, минимизации количества перемещений по файлу во время воспроизведения нескольких потоков (чередование).

Контейнер Ogg Media — сторонняя модификация контейнераOgg, рассчитанного на свободные кодеки, поддерживаемыеXiph.Org, сделанная для поддержки несвободных кодеков, обычно используемых с контейнеромAVI, с помощьюDirectShow. Ogg Media была создана в 2002 году независимо отXiph.Org, которая в 2004 году опубликовала просьбу убрать вводящее в заблуждение слово «Ogg» из названия контейнера.[1]

Содержание

Формат OGM

[править |править код]

Каждый поток данных в терминах ogg называетсялогический поток (англ. logical bitstream), несколько логических потоков объединяются вфизический поток (англ. physical bitstream).

Существуют следующие методы объединения логических потоков в один физический:

  • последовательное объединение (англ. chaining), всестраницы первого логического потока следуют до страниц второго логического потока
  • группировка (англ. grouping),страницы потоков перемешиваются для обеспечения возможности одновременно читать данные из разных потоков без существенного изменения смещения в файле (дляRIFF-контейнера такое положение потоков называется чередованием).

Каждый логический поток разбивается напакеты (англ. packets). Формат пакета определяется используемымкодеком. Пакеты делятся насегменты (англ. segments), размер каждого из сегментов не превышает 255 байт. Сегменты объединяются встраницы (англ. pages), каждая страница содержит в себе не более 255 сегментов (общий размер данных в одной странице никогда не превышает 64 Кб). Пакет может содержаться более чем в одной странице (то есть быть в размере больше 64 Кб), в этом случае для страницы содержащей продолжение пакета выставляется специальный флаг «продолжение пакета» (англ. continued_packet_flag).

Структура пакета

[править |править код]
смещение (hex)размертипназваниеописание
0x04FOURCCcapture_patternвсегда равен 'OggS', 0x4f 0x67 0x67 0x53
0x41BYTEstream_structure_versionверсия структуры, должна быть равна 0
0x51битовое полеheader_type_flag0x1 continued_packet_flag страница содержит продолжение пакета
0x2 begin_of_stream страница является первой страницей потока
0x4 end_of_stream страница является последней страницей потока
0x68INT64absolute_granule_positionномер последнего фрейма или семпла (отсчёта), закодированногоцеликом в этом пакете. Фреймы, не поместившиеся в пакет целиком не учитываются, если нет фреймов, поместившихся в пакет целиком, указывается величина -1
0xE4INT32page_serial_numberномер логического потока (в рамках заданного физического потока), к которому относится содержимое страницы. Должно быть уникальным в рамках одного физического потока.
0x124INT32page_sequence_noпорядковый номер страницы в логическом потоке
0x164UINT32page_checksumCRC32-код страницы
0x1A1BYTEpage_segmentsколичество сегментов в странице. Число [0-255], числа 0 и 255 допустимы (при числе 0 страница не содержит сегментов (и информации) и должна быть просто пропущена).
0x1Bpage_segmentsBYTE[]segment_tableтаблица размеров сегментов в странице. Количество записей в таблице определяется page_segment, в случае нулевого значения, segment_table отсутствует

Существенной особенностью формата является отсутствие общего заголовка для физического потока. Например, бинарное объединение двух файлов будет давать рабочий файл. В OGM-файлах отсутствует индекс у видеопотока (что увеличивает устойчивость формата при передаче данных, но затрудняет воспроизведение).

Каждая страница содержитCRC-код для проверки правильности данных при передаче и воспроизведении.

См. также

[править |править код]

Примечания

[править |править код]
  1. OGMАрхивировано 30 января 2009 года.
Информация должна бытьпроверяема, иначе она может быть удалена. Вы можетеотредактировать статью, добавив ссылки наавторитетные источники в видесносок.(19 октября 2024)
Перейти к шаблону «Медиаконтейнеры»
Видео/аудио
Аудио
Музыка
Растровые
Векторные
Комплексные
Источник —https://ru.wikipedia.org/w/index.php?title=Ogg_Media&oldid=140892745
Категории:
Скрытые категории: