Расширение имени файла | .ogg, .ogv, .oga, .ogx, .ogm, .spx, .opus |
---|---|
Тип интернет-СМИ | видео/ogg, аудио/ogg, приложение/ogg |
Магическое число | ОггС |
Разработано | Фонд Xiph.Org |
Первоначальный выпуск | Май 2003 ( 2003-05 ) |
Тип формата | Формат контейнера |
Контейнер для | Vorbis , Theora , Speex , Opus , FLAC , Dirac и другие. |
Открытый формат ? | Да |
Свободный формат ? | Да [1] |
Разработчик(и) | Фонд Xiph.Org |
---|---|
Первоначальный выпуск | 22 сентября 2004 г. ( 2004-09-22 ) |
Стабильный релиз | 1.3.5 / 4 июня 2021 г. ( 2021-06-04 ) |
Тип | Референтная реализация ( мультиплексор / демультиплексор ) |
Лицензия | Лицензия в стиле BSD [2] |
Веб-сайт | downloads.xiph.org/releases/ogg/ |
Ogg — это свободный , открытый формат контейнера , поддерживаемый фондом Xiph.Org . Авторы формата Ogg заявляют, что он не ограничен патентами на программное обеспечение [3] и разработан для обеспечения эффективной потоковой передачи и обработки высококачественных цифровых мультимедиа . Его название происходит от «ogging», жаргона из компьютерной игры Netrek . [4]
Формат контейнера 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. [5]
По состоянию на 7 ноября 2017 года текущей версией эталонной реализации Xiph.Org Foundation является libogg 1.3.3. [6] Другая версия, libogg2, находится в разработке, но ожидает переписывания по состоянию на 2018 год. [7] Обе программные библиотеки являются свободным программным обеспечением , выпущенным под лицензией New BSD . Эталонная реализация Ogg была отделена от Vorbis 2 сентября 2000 года. [8]
Различные кодеки Ogg были включены в ряд различных бесплатных и фирменных медиаплееров , как коммерческих, так и некоммерческих, а также в портативные медиаплееры и GPS- приемники различных производителей.
Проект Ogg Vorbis стартовал в 1993 году. Первоначально он назывался «Squish», но это название уже было запатентовано, поэтому проект претерпел изменение названия. Новое название «OggSquish» использовалось до 2001 года, когда оно было снова изменено на «Ogg». С тех пор Ogg стало обозначать формат контейнера , который теперь является частью более крупного мультимедийного проекта Xiph.org. Сегодня «Squish» (теперь известный как «Vorbis») относится к определенному формату кодирования звука, обычно используемому с форматом контейнера Ogg.
Ogg происходит от «ogging», жаргона из компьютерной игры Netrek , который стал означать делать что-то с усилием, возможно, без учета истощения будущих ресурсов. [4] [ проверка не удалась ] В начале авторы считали проект Ogg довольно амбициозным, учитывая ограниченную мощность аппаратного обеспечения ПК того времени. Хотя название «Ogg» не связано с персонажем « Няня Огг » из романов Терри Пратчетта о Плоском мире , «Vorbis» назван в честь другого персонажа Терри Пратчетта из книги « Маленькие боги» . [9]
Формат потока битов «Ogg» , разработанный в первую очередь фондом Xiph.Org, был разработан в качестве основы более крупной инициативы, направленной на создание набора компонентов для кодирования и декодирования мультимедийных файлов, которые доступны бесплатно и могут быть свободно повторно реализованы в программном обеспечении и оборудовании.
Формат состоит из фрагментов данных, каждый из которых называется " Ogg page ". Каждая страница начинается с символов "OggS", что позволяет идентифицировать файл как формат Ogg.
«Серийный номер» и «номер страницы» в заголовке страницы идентифицируют каждую страницу как часть серии страниц, составляющих поток битов . Несколько потоков битов могут быть мультиплексированы в файле, где страницы из каждого потока битов упорядочены по времени поиска содержащихся данных. Потоки битов также могут быть добавлены к существующим файлам, процесс, известный как «цепочка», чтобы заставить потоки битов декодироваться последовательно.
Библиотека с лицензией BSD , называемая "libvorbis", доступна для кодирования и декодирования данных из потоков "Vorbis". Независимые реализации Ogg используются в нескольких проектах, таких как RealPlayer и набор фильтров DirectShow . [10]
Mogg (Multi-Track-Single-Logical-Stream Ogg-Vorbis) — многоканальный или многодорожечный формат файла Ogg.
Ниже приведена структура полей заголовка страницы Ogg:
Кусочек | Ценить | Флаг | Тип страницы |
---|---|---|---|
0 | 0x01 | Продолжение | Первый пакет на этой странице является продолжением предыдущего пакета в логическом потоке битов. |
1 | 0x02 | БОС | Начало потока. Эта страница является первой страницей в логическом потоке битов. Флаг BOS должен быть установлен на первой странице каждого логического потока битов и не должен быть установлен на любой другой странице. |
2 | 0x04 | ЭОС | Конец потока. Эта страница является последней страницей в логическом потоке битов. Флаг EOS должен быть установлен на последней странице каждого логического потока битов и не должен быть установлен на любой другой странице. |
Сегменты предоставляют способ группировать сегменты в пакеты, которые являются значимыми единицами данных для декодера. Когда длина сегмента указана как 255, это означает, что следующий сегмент должен быть объединен с этим и является частью того же пакета. Когда длина сегмента составляет 0–254, это означает, что этот сегмент является последним сегментом в этом пакете. Если длина пакета кратна 255, последний сегмент имеет длину 0.
Если последний пакет продолжается на следующей странице, конечное значение сегмента равно 255, а на следующей странице устанавливается флаг продолжения, указывающий, что начало новой страницы является продолжением предыдущей страницы.
VorbisComment — это базовый формат метаданных, изначально созданный для использования с Ogg Vorbis. С тех пор он был принят в спецификациях инкапсуляций Ogg для других кодеков Xiph.Org, включая Theora , Speex , FLAC и Opus . VorbisComment — это самый простой и широко поддерживаемый механизм хранения метаданных с кодеками Xiph.Org. [11]
Примечательно, что [ attribution needed ] один или несколько METADATA_BLOCK_PICTURE=... в VorbisComment для миниатюр и обложек имеют значения Base64 соответствующего FLAC METADATA_BLOCK_PICTURE . Другими словами, FLAC хранит миниатюры и обложки в двоичных блоках — вне тегов FLAC в порядке от младшего к старшему METADATA_BLOCK_VORBIS_COMMENT . [12] [13]
Другие существующие и предлагаемые механизмы: [14]
Проект Ogg начался с простого пакета сжатия аудио как части более крупного проекта в 1993 году. [9] Первоначально программное обеспечение называлось Squish, но из-за существующей торговой марки оно было переименовано в OggSquish . Это название позже использовалось для всего проекта Ogg. В 1997 году Xiphophorus OggSquish был описан как «попытка как создать гибкий сжатый аудиоформат для современных аудиоприложений, так и предоставить первый аудиоформат, который будет распространен на любой современной компьютерной платформе». [16] В 2000 году OggSquish называли «группой из нескольких связанных проектов в области мультимедиа и обработки сигналов». В 2000 году два проекта находились в активной разработке для запланированного выпуска: формат Ogg Vorbis и libvorbis — эталонная реализация Vorbis. Исследования также включали работу над будущим видео и аудиокодированием без потерь. [9] [17] [18] [19] [20] В 2001 году OggSquish был переименован в Ogg и был описан как «зонтик для группы нескольких связанных проектов в области мультимедиа и обработки сигналов». [21] Ogg стал обозначать формат файла , как часть более крупного проекта Xiph.org по мультимедиа. Squish стал просто названием одного из кодеков Ogg. [9] В 2009 году Ogg был описан как «формат контейнера мультимедиа, а также собственный формат файла и потока для кодеков мультимедиа Xiph.org». [22]
Реализация Ogg была отделена от Vorbis 2 сентября 2000 года. [8]
В мае 2003 года были опубликованы два интернет- RFC, касающихся этого формата. Битовый поток Ogg был определен в RFC 3533 (который классифицируется как «информативный»), а его интернет-тип содержимого ( application/ogg
) — в RFC 3534 (который по состоянию на 2006 год является [обновлять]предлагаемым стандартным протоколом). В сентябре 2008 года RFC 3534 был отменен RFC 5334, который добавил типы содержимого video/ogg
и audio/ogg
расширения имен файлов .ogx, .ogv, .oga, .spx.
В 2002 году отсутствие формальной поддержки видео в Ogg привело к разработке формата файла OGM , взлома Ogg, который позволял встраивать видео из фреймворка Microsoft DirectShow в оболочку на основе Ogg. Первоначально OGM поддерживался только закрытыми исходными кодами только для Windows, но впоследствии кодовая база была открыта. Позже поддержка видео (и субтитров) была официально указана для Ogg, но несовместимым с OGM образом. Независимо от этого, формат контейнера Matroska достиг зрелости и предоставил альтернативу для людей, заинтересованных в объединении аудио Vorbis и произвольных видеокодеков. В результате OGM больше не поддерживается и не разрабатывается и официально не рекомендуется Xiph.org. [23] Сегодня видео в Ogg можно найти с расширением файла .ogv, которое официально указано и поддерживается. Программное обеспечение и кодеки, поддерживающие файлы .ogm, доступны бесплатно. [24]
Хотя Ogg и не достиг повсеместного распространения стандартов MPEG [25] (например, MP3 / MP4 ), по состоянию на 2006 год [обновлять]он широко использовался для кодирования свободного контента (такого как бесплатная музыка, мультимедиа в проектах Wikimedia Foundation и файлы 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 , а также аудиофайлы игры на основе Java , Minecraft . Более популярный кодек Vorbis имел встроенную поддержку во многих программных проигрывателях, а для почти всех остальных были доступны расширения.
16 мая 2007 года Free Software Foundation начал кампанию по расширению использования Vorbis «как этически, юридически и технически превосходящей аудиоальтернативы фирменному формату MP3». [26] Людей также призывали поддержать кампанию, добавив кнопку веб на свой веб-сайт или блог . Для тех, кто не хотел загружать и использовать предложенный FSF Ogg-плеер ( VLC ), у Xiph.Org Foundation был официальный кодек [27] для приложений на базе QuickTime в Windows и Mac OS X , таких как плееры iTunes и приложения iMovie ; а пользователи Windows могли установить кодек Windows Media Player Ogg. [28]
К 30 июня 2009 года контейнер Ogg, благодаря использованию Theora и Vorbis, был единственным форматом контейнера, включенным в реализацию HTML5 и элементов веб-браузера Firefox 3.5 . [29] [30] Это соответствовало первоначальной рекомендации, изложенной в проекте спецификации HTML5, но позднее удаленной из него (см. споры об Ogg ). <video>
<audio>
3 марта 2010 года технический анализ разработчика FFmpeg подверг критике универсальные возможности Ogg как формата мультимедийного контейнера. [31] Позднее автор Ogg ответил на эти заявления в своей собственной статье. [32]
Ogg — это всего лишь формат контейнера. Фактическое аудио или видео, закодированное кодеком, хранится внутри контейнера Ogg. Контейнеры Ogg могут содержать потоки, закодированные несколькими кодеками; например, видеофайл со звуком содержит данные, закодированные как аудиокодеком, так и видеокодеком.
Будучи форматом-контейнером, Ogg может встраивать аудио и видео в различных форматах [33] [34] (таких как Dirac , MNG , CELT , MPEG-4 , MP3 и других), но Ogg был предназначен и обычно используется со следующими бесплатными кодеками Xiph.org :
Аудионоситель Ogg зарегистрирован как тип носителя IANA с расширениями файлов , , и . Это собственное подмножество типа видеоносителя Ogg с расширением файла . Другие приложения Ogg используют тип носителя с расширением файла ; это надмножество . [34] Тип носителя Opus с расширением файла был зарегистрирован позже в RFC 7587 и 7845 . audio/ogg.oga.ogg.spxvideo/ogg.ogvapplication/ogg.ogxvideo/oggaudio/opus.opus
3.3 Ogging: Это искусство уничтожения носителя или потенциального носителя с помощью самоубийственного забега.
Эта библиотека никогда не была выпущена и теперь выглядит так, будто ее нужно переделать.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка )