Ogg

редактировать
Формат цифрового контейнера
Ogg
Расширение имени файла .ogg,.ogv,.oga,.ogx,. ogm,.spx,.opus
Тип интернет-носителя video / ogg, audio / ogg, application / ogg
Магическое число OggS
РазработаноXiph.Org Foundation
Тип форматаФормат контейнера
Контейнер для Vorbis, Theora, Speex, Opus, FLAC, Дирак и др.
Открытый формат ?Да
libogg
Ogg Logo.svg
Разработчик (и) Xiph.Org Foundation
Стабильный выпуск 1.3.4 / 31 августа 2019 г.; 13 месяцев назад (2019-08-31)
Тип Эталонная реализация (мультиплексор / демультиплексор )
Лицензия лицензия в стиле BSD
Веб-сайтскачивает.xiph.org / Release / ogg /

Ogg - это бесплатно, открытый формат контейнера, поддерживаемый Xiph.Org Foundation. Создатели формата Ogg заявляют, что он не ограничен патентами на программное обеспечение и предназначен для обеспечения эффективного потоковая передача и обработка высококачественного цифрового мультимедиа. Название происходит от «ogging», жаргон из компьютерной игры Netrek.

Формат контейнера Ogg может мультиплексировать несколько независимых потоков для аудио, видео, текста (например, субтитров ) и метаданные.

В мультимедийной структуре Ogg Theora предоставляет видеослой с потерями. Аудиослой чаще всего предоставляется музыкальными Vorbis формат или его преемник Opus. Форматы сжатия аудио без потерь включают FLAC и OggPCM.

. До 2007 года расширение имени файла.ogg использовалось для всех файлов, содержимое которых использовало Формат контейнера ogg. С 2007 года Фонд Xiph.Org рекомендует использовать.ogg только для аудиофайлов Ogg Vorbis. Фонд Xiph.Org Foundation решил создать новый набор расширений файлов и типов мультимедиа для описания различных типов контента, таких как.oga для аудиофайлов,.ogv для видео со звуком или без него (включая Theora) и.ogx для мультиплексированных файлов. Ogg.

По состоянию на 7 ноября 2017 г. текущей версией эталонной реализации Xiph.Org Foundation является libogg 1.3.3. Другая версия, libogg2, находится в разработке, но ожидает переписывания в 2018 году. Обе программные библиотеки являются бесплатными программами, выпущенными под Новой лицензией BSD. Эталонная реализация Ogg была отделена от Vorbis 2 сентября 2000 года.

Поскольку формат является бесплатным, а его эталонная реализация не подлежит ограничениям, связанным с авторским правом, различные кодеки Ogg были включены в ряд различных бесплатных и патентованных медиаплееров, как коммерческих, так и некоммерческих, а также портативных медиаплееров и GPS приемники разных производителей.

Содержание
  • 1 Именование
  • 2 Формат файла
    • 2.1 Структура страницы
    • 2.2 Метаданные
  • 3 История
    • 3.1 OGM
    • 3.2 2006
    • 3.3 2007
    • 3.4 2009
    • 3.5 2010
  • 4 кодека Ogg
    • 4.1 Типы носителей
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
Именование

Ogg получено из " ogging ", жаргон из компьютерной игры Netrek, который стал означать выполнение чего-то насильственного, возможно, без учета утечки ресурсов в будущем. Вначале проект Ogg считался несколько амбициозным, учитывая ограниченную мощность оборудования ПК того времени. Хотя иногда предполагается, что имя «Огг» происходит от персонажа няни Огг в романе Терри Пратчетта Discworld, разработчики формата говорят, что это не правда. Тем не менее, процитируем ту же ссылку: «С другой стороны, Vorbis назван в честь персонажа Терри Пратчетта из книги Маленькие боги ».

Проект Ogg Vorbis стартовал в 1993 году. Первоначально он назывался «Squish», но это имя уже было зарегистрировано как торговая марка, поэтому название проекта было изменено. Новое имя, «OggSquish», использовалось до 2001 года, когда оно снова было изменено на «Ogg». С тех пор Ogg стал ссылаться на формат контейнера , который теперь является частью более крупного мультимедийного проекта Xiph.org. Сегодня "Squish" (теперь известный как "Vorbis") относится к определенному формату кодирования звука, обычно используемому с форматом контейнера Ogg.

Формат файла

The " Ogg "формат битового потока, инициированный фондом Xiph.Org Foundation, был создан в качестве основы для более широкой инициативы, направленной на разработку набора компонентов для кодирования и декодирования мультимедийного контента, которые доступны бесплатно заряжать и свободно повторно реализовывать в программном обеспечении.

Формат состоит из блоков данных, каждый из которых называется «страница Ogg ». Каждая страница начинается с символов «OggS», чтобы идентифицировать файл как формат Ogg.

«Серийный номер» и «номер страницы» в заголовке страницы идентифицируют каждую страницу как часть серии страниц, составляющих битовый поток. Множественные потоки битов могут быть мультиплексированы в файле, где страницы из каждого потока битов упорядочены по времени поиска содержащихся данных. Битовые потоки также могут быть добавлены к существующим файлам, процесс, известный как "цепочка", чтобы заставить битовые потоки декодироваться последовательно.

A Библиотека с лицензией BSD, называемая «libvorbis», доступна для кодирования и декодирования данных из потоков «Vorbis». Независимые реализации Ogg используются в нескольких проектах, таких как RealPlayer и набор фильтров DirectShow.

Mogg, "Multi-Track-Single-Logical-Stream Ogg -Vorbis ", это формат файла многоканального или многодорожечного Ogg.

Структура страницы

Ниже представлена ​​структура полей заголовка страницы Ogg:

Макет поля заголовка страницы Ogg
Шаблон захвата - 32 бита
Шаблон захвата или код синхронизации - магическое число, используемое для обеспечения синхронизации при разборе файлов Ogg. Каждая страница начинается с четырехсимвольной последовательности ASCII, «OggS». Это помогает повторно синхронизировать синтаксический анализатор в случаях, когда данные были потеряны или повреждены, и является проверкой работоспособности перед началом синтаксического анализа структуры страницы.
Версия - 8 бит
В этом поле указывается версия Формат битового потока OGG для дальнейшего расширения. В настоящее время он должен быть 0.
Тип заголовка - 8 бит
Это 8-битное поле флагов, которое указывает тип следующей страницы.
БитЗначениеФлагТип страницы
00x01ПродолжениеПервый пакет на этой странице является продолжением предыдущего пакета в логическом потоке битов.
10x02BOSНачало потока. Эта страница является первой страницей в логическом битовом потоке. Флаг BOS должен быть установлен на первой странице каждого логического потока битов и не должен быть установлен на любой другой странице.
20x04EOSКонец потока. Эта страница является последней страницей в логическом битовом потоке. Флаг EOS должен быть установлен на последней странице каждого логического потока битов и не должен устанавливаться ни на какой другой странице.
Положение гранулы - 64 бита
Положение гранулы - это маркер времени в файлах Ogg. Это абстрактное значение, значение которого определяется кодеком. Это может быть, например, подсчет количества выборок, количества кадров или более сложная схема.
Серийный номер битового потока - 32 бита
Это поле представляет собой серийный номер, который идентифицирует страницу как принадлежащий определенному логическому потоку битов. Каждый логический поток битов в файле имеет уникальное значение, и это поле позволяет реализациям доставлять страницы соответствующему декодеру. В типичном файле Vorbis и Theora один поток - это звук (Vorbis), а другой - видео (Theora)
Порядковый номер страницы - 32 бита
Это поле является монотонно увеличивающимся полем для каждого логический битовый поток. Первая страница - 0, вторая 1 и т. Д. Это позволяет реализациям определять, когда данные были потеряны.
Контрольная сумма - 32 бита
Это поле предоставляет CRC32 контрольная сумма данных на всей странице (включая заголовок страницы, вычисленная с полем контрольной суммы, установленным на 0). Это позволяет проверить, не были ли данные повреждены с момента создания. Страницы, не прошедшие контрольную сумму, следует отбрасывать. Контрольная сумма генерируется с использованием полиномиального значения 0x04C11DB7.
Сегменты страницы - 8 бит
В этом поле указывается количество сегментов, существующих на этой странице. Он также указывает, сколько байтов находится в таблице сегментов, следующей за этим полем. На любой странице может быть максимум 255 сегментов.
Таблица сегментов
Таблица сегментов представляет собой массив 8-битных значений, каждое из которых указывает длину соответствующего сегмента в теле страницы. Количество сегментов определяется из предыдущего поля «Сегменты страницы». Каждый сегмент имеет длину от 0 до 255 байтов.

Сегменты обеспечивают способ группировки сегментов в пакеты, которые являются значимыми единицами данных для декодера. Когда указано, что длина сегмента равна 255, это означает, что следующий сегмент должен быть объединен с этим и является частью того же пакета. Когда длина сегмента составляет 0–254, это означает, что этот сегмент является последним сегментом в этом пакете. Если длина пакета кратна 255, длина последнего сегмента равна 0.

Если последний пакет продолжается на следующей странице, значение последнего сегмента равно 255, и на следующей странице устанавливается флаг продолжения. чтобы указать, что начало новой страницы является продолжением последней страницы.

Метаданные

VorbisComment - это формат метаданных базового уровня, изначально созданный для использования с Ogg Vorbis. С тех пор он был принят в спецификациях инкапсуляции Ogg для других кодеков Xiph.Org, включая Theora, Speex, FLAC и Opus. VorbisComment - это самый простой и наиболее широко поддерживаемый механизм для хранения метаданных с кодеками Xiph.Org.

Примечательно, что один или несколько METADATA_BLOCK_PICTURE =… в VorbisComment для эскизов и обложек имеют Base64 -кодированные значения соответствующего FLAC METADATA_BLOCK_PICTURE. Другими словами, FLAC хранит эскизы и обложки в двоичных блоках - вне тегов FLAC в little-endian METADATA_BLOCK_VORBIS_COMMENT.

Другие существующие и предлагаемые механизмы:

История
Воспроизвести ogg.png Веб-кнопка Play Ogg

Проект Ogg начался с простого пакета сжатия аудио, как часть более крупного проекта в 1993 году. Программное обеспечение первоначально называлось Squish, но из-за существующей торговой марки оно было переименовано в OggSquish. Это имя позже использовалось для всего проекта Ogg. В 1997 году Xiphophorus OggSquish был описан как «попытка создать гибкий сжатый аудиоформат для современных аудиоприложений, а также предоставить первый аудиоформат, который является общим на любой современной компьютерной платформе». В 2000 году OggSquish называли «группой из нескольких связанных проектов мультимедиа и обработки сигналов». В 2000 году два проекта находились в активной разработке для запланированного выпуска: формат Ogg Vorbis и libvorbis - эталонная реализация Vorbis. Исследования также включали работу над будущим кодированием видео и аудио без потерь. В 2001 году OggSquish был переименован в Ogg и был описан как «зонтик для группы нескольких связанных проектов мультимедиа и обработки сигналов». Ogg стал обозначать формат файла как часть более крупного мультимедийного проекта Xiph.org. Squish стало просто названием одного из кодеков Ogg. В 2009 году Ogg описывался как «формат мультимедийного контейнера и собственный формат файлов и потоков для мультимедийных кодеков Xiph.org».

Эталонная реализация Ogg была отделена от Vorbis 2 сентября 2000 года.

В мае 2003 г. были опубликованы два Интернет-документа RFC, касающиеся этого формата. Битовый поток Ogg был определен в RFC 3533 (который классифицируется как «информативный»), а его тип содержимого Интернета (application / ogg) - в RFC. 3534 (который по состоянию на 2006 г. является предложенным стандартным протоколом). В сентябре 2008 года RFC 3534 был заменен на RFC 5334, в котором были добавлены типы контента video / ogg, audio / oggи расширения файлов..ogx,.ogv,.oga,.spx.

OGM

В 2002 году отсутствие формальной поддержки видео в Ogg привело к созданию формата файла OGM, взлома Ogg, позволившего встраивать видео из Microsoft DirectShow фреймворк в оболочку на основе Ogg. Первоначально OGM поддерживался только инструментами с закрытым исходным кодом, предназначенными только для Windows, но впоследствии была открыта база кода. Позже поддержка видео (и субтитров) была официально указана для Ogg, но несовместима с OGM. Независимо от этого контейнерный формат Matroska достиг зрелости и стал альтернативой для людей, заинтересованных в сочетании аудио- и произвольных видеокодеков Vorbis. В результате OGM больше не поддерживается и не разрабатывается, и Xiph.org официально не одобряет его. Сегодня видео в Ogg встречается с расширением файла.ogv, которое официально указано и официально поддерживается. Программное обеспечение и кодеки, поддерживающие файлы.ogm, доступны бесплатно.

2006

Хотя Ogg еще не достиг почти повсеместного распространения стандартов MPEG (например, MP3 / MP4 ), с 2006 года он обычно использовался для кодирования бесплатного контента (например, бесплатную музыку, мультимедиа в проектах Wikimedia Foundation и файлы Creative Commons ) и начали поддерживаться значительным меньшинством цифровых аудиоплееров. Также формат Ogg поддерживался многими популярными движками для видеоигр, включая Doom 3, Unreal Tournament 2004, Halo: Combat Evolved, Jets n Guns, Мафия: Город затерянных небес, Myst IV: Revelation, StepMania, Серьезный Сэм: Вторая встреча, Lineage 2, Vendetta Online, Battlefield 2 и движки Grand Theft Auto, а также аудиофайлы с Игра на основе Java, Minecraft. Более популярный кодек Vorbis имел встроенную поддержку многих программных проигрывателей, а расширения были доступны почти для всех остальных.

2007

16 мая 2007 года Фонд свободного программного обеспечения начал кампанию по увеличению использования Vorbis "как этически, юридически и технически превосходной аудио альтернативы собственный формат MP3 ». Людей также побуждали поддержать кампанию, добавив веб-кнопку на свой веб-сайт или блог. Для тех, кто не хочет загружать и использовать предлагаемый FSF проигрыватель Ogg (VLC ), у Xiph.Org Foundation был официальный кодек для QuickTime. приложения в Windows и Mac OS X, такие как проигрыватели iTunes и приложения iMovie ; и пользователи Windows могли установить кодек Windows Media Player Ogg.

2009

К 30 июня 2009 г. контейнер Ogg с использованием Theora и Vorbis, был единственным форматом контейнера, включенным в реализацию веб-браузера Firefox 3.5 элементов HTML 5 и . Это соответствовало исходной рекомендации, изложенной в черновике спецификации HTML 5, но позже удаленной из нее (см. Противоречие Ogg ).

2010

3 марта 2010 года разработчик FFmpeg в техническом анализе критически оценил универсальные возможности Ogg как формата мультимедийного контейнера. Позднее создатель Ogg ответил на эти утверждения в своей статье.

Кодеки Ogg

Ogg - это всего лишь контейнерный формат. Фактическое аудио или видео, закодированное кодеком, хранится внутри контейнера Ogg. Контейнеры Ogg могут содержать потоки, закодированные с помощью нескольких кодеков, например, видеофайл со звуком содержит данные, закодированные как аудиокодеком, так и видеокодеком.

Будучи контейнерным форматом, Ogg может встраивать аудио и видео в различных форматах (например, Dirac, MNG, CELT, MPEG-4, MP3 и другие), но Ogg предназначался и обычно используется со следующими бесплатными кодеками Xiph.org :

  • Audio
    • Lossy
      • Speex : обрабатывает голосовые данные с низкой скоростью передачи данных (~ 2,1–32 кбит / с / канал)
      • Vorbis : обрабатывает общие аудиоданные со средним и высоким переменным битрейтом (≈16–500 кбит / с на канал)
      • Opus : обрабатывает голос, музыку и общий звук с низким и высоким переменным битрейтом (≈6–510 кбит / с на канал)
    • Без потерь
      • FLAC обрабатывает архивные и высококачественные аудиоданные.
      • OggPCM позволяет хранить стандартный несжатый звук PCM в контейнере Ogg
  • Video
    • Lossy
      • Theora : на основе VP3 On2, он нацелен на конкуренцию с видео MPEG-4 (например, закодированным с помощью DivX или Xvid ), RealVideo или Windows Media Video.
      • Daala : формат кодирования видео в стадии разработки.
      • Tarkin: экспериментальный и ныне устаревший видеокодек, разработанный в 2000, 2001 и 2002 годах с использованием дискретных вейвлет-преобразований в трех измерениях ширины, высоты и времени. Он был приостановлен после того, как Theora стала основным центром кодирования видео (в августе 2002 г.).
      • Dirac : бесплатный и открытый видеоформат, разработанный BBC. Использует вейвлет-кодирование.
    • Lossless
      • Dirac : часть спецификации dirac охватывает сжатие без потерь.
      • Daala : разрабатываемый формат кодирования видео.
  • Текст
    • Непрерывный Язык разметки мультимедиа : кодек текста / приложения для синхронизированных метаданных, субтитров и форматирования.
    • Annodex : бесплатный набор стандартов с открытым исходным кодом, разработанный CSIRO для аннотирования и индексации сетевые носители.
    • OggKate: оверлейный кодек, изначально разработанный для караоке и текста, который может быть мультиплексирован в Ogg.

Типы носителей

Аудио-носители Ogg зарегистрированы как IANA тип носителя audio / oggс расширениями файлов .oga, .oggи .spx . Это подходящее подмножество типа видео Ogg video / oggс расширением файла .ogv. Другие приложения Ogg используют тип носителя application / oggс расширением файла .ogx, это надмножество video / ogg. Opus тип носителя audio / opusс расширением файла .opusбыл зарегистрирован позже в RFC 7587 и 7845.

См. Также
Ссылки
Внешние ссылки
На Wikimedia Commons есть материалы, связанные с Формат Ogg.
Найдите Ogg в Wiktionary, бесплатном словаре.
Найдите ogg в Викисловарь, бесплатный словарь.
Последняя правка сделана 2021-06-01 08:46:50
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте