Введение

Формат открытого контейнера, поддерживаемый Xiph.Org Foundation.

Ogg — это свободный, открытый контейнерный формат, поддерживаемый Xiph.Org Foundation. Авторы формата Ogg заявляют, что он не ограничен программными патентами и предназначен для эффективной потоковой передачи и обработки высококачественной цифровой мультимедиа. Его название происходит от термина "ogging", сленга из компьютерной игры Netrek. Контейнерный формат Ogg может мультиплексировать несколько независимых потоков для аудио, видео, текста (например, субтитров) и метаданных. В мультимедийном фреймворке Ogg Theora обеспечивает видеокодек с потерями. Аудиокодек чаще всего предоставляется музыкально-ориентированным форматом Vorbis или его преемником Opus. Форматы сжатия аудио без потерь включают FLAC и OggPCM. До 2007 года расширение файла .ogg использовалось для всех файлов, содержимое которых использовало формат контейнера Ogg. С 2007 года Xiph.Org Foundation рекомендует использовать .ogg только для аудиофайлов Ogg Vorbis. Xiph.Org Foundation приняла решение создать новый набор расширений файлов и типов медиа для описания различных типов контента, таких как .oga для аудиофайлов, .ogv для видео с или без звука (включая Theora) и .ogx для мультиплексированного Ogg. По состоянию на 7 ноября 2017 года текущая версия референсной реализации Xiph.Org Foundation — libogg 1.3.3. Другая версия, libogg2, находится в разработке, но её переписывание запланировано на 2018 год. Обе программные библиотеки являются свободным программным обеспечением, распространяемым по лицензии New BSD. Референсная реализация Ogg была отделена от Vorbis 2 сентября 2000 года. Различные кодеки Ogg были интегрированы во множество бесплатных и проприетарных медиаплееров, как коммерческих, так и некоммерческих, а также в портативные медиаплееры и GPS-приемники от различных производителей.

Именование

Ogg происходит от "ogging" – жаргона из компьютерной игры Netrek, который стал означать выполнение действия с силой, возможно, не задумываясь о последствиях для будущих ресурсов. Хотя иногда считают, что название "Ogg" связано с персонажем Нянюшки Огг из романов Терри Пратчетта "Плоский мир", разработчики формата утверждают, что это неправда.

Формат файла

Формат битового потока "Ogg", разработанный преимущественно Xiph.Org Foundation, был создан как основа более масштабной инициативы, направленной на разработку набора компонентов для кодирования и декодирования мультимедийных файлов, которые распространяются бесплатно и могут быть свободно реализованы в программном и аппаратном обеспечении. Формат состоит из блоков данных, каждый из которых называется "страницей Ogg". Каждая страница начинается с символов "OggS" для идентификации файла как формата Ogg. "Серийный номер" и "номер страницы" в заголовке страницы идентифицируют каждую страницу как часть последовательности страниц, составляющих битовый поток. В файле может быть мультиплексировано несколько битовых потоков, при этом страницы из каждого потока упорядочены по времени поиска содержащихся в них данных. Битовые потоки также могут быть добавлены к существующим файлам, процесс, известный как "связывание" (chaining), для последовательного декодирования этих потоков. Библиотека с лицензией BSD под названием "libvorbis" доступна для кодирования и декодирования данных из потоков "Vorbis". Независимые реализации Ogg используются в различных проектах, таких как RealPlayer и набор фильтров DirectShow. Mogg, "Multi Track Single Logical Stream Ogg Vorbis", представляет собой многоканальный или многотрековый формат файла Ogg.

История

Проект Ogg начался с простого пакета сжатия аудио в рамках более крупного проекта в 1993 году. В 2000 году OggSquish определялся как "группа нескольких взаимосвязанных мультимедийных и проектов по обработке сигналов". В 2000 году два проекта находились в активной разработке для запланированного выпуска: формат Ogg Vorbis и libvorbis — эталонная реализация Vorbis. Исследования также включали работу над будущими видео- и lossless-кодированием аудио. В 2001 году OggSquish был переименован в Ogg и описывался как "объединяющий зонт для группы нескольких взаимосвязанных мультимедийных и проектов по обработке сигналов". Ogg стал обозначать файловый формат, являясь частью более крупного мультимедийного проекта Xiph.org. Squish стал просто названием одного из кодеков Ogg. Эталонная реализация Ogg была отделена от Vorbis 2 сентября 2000 года. Сегодня видео в формате Ogg можно найти с расширением файла ogv, которое формально специфицировано и официально поддерживается. Программное обеспечение и кодеки, поддерживающие файлы ogm, доступны для бесплатного использования.

2006 год

Хотя Ogg и не достиг такой же распространенности, как стандарты MPEG (например, MP3/MP4), к 2006 году он широко использовался для кодирования свободного контента (такого как бесплатная музыка, мультимедиа в проектах Фонда Викимедиа и файлы Creative Commons) и начал поддерживаться значительным числом цифровых аудиоплееров. Многие популярные игровые движки также поддерживали формат Ogg, включая Doom 3, Unreal Tournament 2004, Halo: Combat Evolved, Jets'n'Guns, Mafia: The City of Lost Heaven, Myst IV: Revelation, StepMania, Serious Sam: The Second Encounter, Lineage 2, Vendetta Online, Battlefield 2 и движки серии Grand Theft Auto, а также аудиофайлы игры Minecraft, созданной на Java. Более популярный кодек Vorbis имел встроенную поддержку во многих программных плеерах, а для остальных были доступны расширения.

2007 год

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

2009 год

К 30 июня 2009 года контейнер Ogg, благодаря использованию кодеков Theora и Vorbis, был единственным форматом контейнера, поддерживаемым в веб-браузере Firefox 3.5 при реализации элементов HTML5 <video> и <audio>. Это соответствовало первоначальной рекомендации, содержавшейся в черновике спецификации HTML5, но впоследствии изъятой из него (см. раздел «Споры вокруг Ogg»).

2010 год

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

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

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