Расширение имени файла | .опус [1] |
---|---|
Тип интернет-СМИ | audio/ogg [2]audio/opus (РТП) [3] |
Разработано | Рабочая группа кодеков IETF |
Первоначальный выпуск | 11 сентября 2012 г. ( 2012-09-11 ) |
Тип формата | Аудио с потерями |
Содержится в | Ogg , Матроска , WebM , MPEG-TS , ISOBMFF , CAF |
Расширенный от | ШЕЛК , КЕЛЬТ |
Стандарт | RFC6716 |
Открытый формат ? | Да |
Свободный формат ? | Да |
Веб-сайт | opus-codec.org |
Разработчик(и) | Фонд Xiph.Org |
---|---|
Первоначальный выпуск | 26 августа 2012 г. ( 2012-08-26 ) |
Стабильный релиз | 1.5.2 / 12 апреля 2024 г. ( 2024-04-12 ) |
Написано в | С89 |
Платформа | Кроссплатформенный |
Тип | Аудиокодек , эталонная реализация |
Лицензия | Лицензия BSD из 3 пунктов плюс патентная лицензия Opus License |
Веб-сайт | Загрузки кодеков Opus |
Opus — это формат кодирования звука с потерями, разработанный Xiph.Org Foundation и стандартизированный Internet Engineering Task Force , предназначенный для эффективного кодирования речи и общего звука в одном формате, при этом сохраняя достаточно низкую задержку для интерактивного общения в реальном времени и достаточно низкую сложность для низкоуровневых встраиваемых процессоров. [4] [5] Opus заменяет Vorbis и Speex для новых приложений, и несколько тестов слепого прослушивания оценили его как более качественный, чем любой другой стандартный аудиоформат при любом заданном битрейте, пока не будет достигнута прозрачность , включая MP3 , AAC и HE-AAC . [6] [7]
Opus объединяет ориентированный на речь алгоритм SILK на основе LPC и алгоритм CELT на основе MDCT с малой задержкой , переключаясь между ними или комбинируя их по мере необходимости для максимальной эффективности. [4] Битрейт, полоса пропускания звука, сложность и алгоритм могут быть легко скорректированы в каждом кадре. Opus имеет низкую алгоритмическую задержку (по умолчанию 26,5 мс) [8], необходимую для использования в качестве части канала связи в реальном времени, сетевых музыкальных представлений и синхронизации губ в реальном времени ; путем компромисса между качеством и битрейтом задержка может быть уменьшена до 5 мс. Его задержка исключительно мала по сравнению с конкурирующими кодеками, которым требуется более 100 мс, однако Opus работает очень конкурентоспособно с этими форматами с точки зрения качества на битрейт. [9]
Как открытый формат , стандартизированный через RFC 6716, эталонная реализация под названием libopus доступна под лицензией New BSD License . Эталон имеет как фиксированную , так и плавающую оптимизацию для устройств низкого и высокого класса, с оптимизацией SIMD на платформах, которые их поддерживают. Все известные патенты на программное обеспечение , которые охватывают Opus, лицензируются на условиях безвозмездной передачи . [10] Opus широко используется в качестве кодека для передачи голоса по IP (VoIP) в таких приложениях, как Discord , [11] WhatsApp , [12] [13] [14] и PlayStation 4. [ 15]
Opus поддерживает кодирование с постоянным и переменным битрейтом от 6 кбит /с до 510 кбит/с (или до 256 кбит/с на канал для многоканальных треков), размеры кадра от 2,5 мс до 60 мс и пять частот дискретизации от 8 кГц (с полосой пропускания 4 кГц) до 48 кГц (с полосой пропускания 20 кГц, диапазон человеческого слуха ). Поток Opus может поддерживать до 255 аудиоканалов , и он позволяет связывать каналы между каналами в группы по два с помощью кодирования mid-side.
Opus имеет очень короткую задержку (26,5 мс при использовании кадров по умолчанию 20 мс и настроек приложения по умолчанию), что делает его подходящим для приложений реального времени, таких как телефония , передача голоса по IP и видеоконференции ; исследования Xiph привели к созданию кодека CELT , который обеспечивает высочайшее качество при сохранении низкой задержки. В любом потоке Opus битрейт, полоса пропускания и задержка могут непрерывно изменяться без внесения каких-либо искажений или разрывов; даже смешивание пакетов из разных потоков приведет к плавному изменению, а не искажению, обычному для других кодеков. В отличие от Vorbis, Opus не требует больших кодовых книг для каждого отдельного файла, что делает его более эффективным для коротких аудиоклипов и более устойчивым.
Формат Opus основан на сочетании формата CELT с полной полосой пропускания и ориентированного на речь формата SILK , оба сильно модифицированы: CELT основан на модифицированном дискретном косинусном преобразовании (MDCT), которое используют большинство музыкальных кодеков, с использованием методов CELP в частотной области для лучшего прогнозирования, в то время как SILK использует линейное предсказательное кодирование (LPC) и дополнительный фильтр долгосрочного прогнозирования для моделирования речи. В Opus оба были модифицированы для поддержки большего количества размеров кадров, а также дальнейших алгоритмических улучшений и интеграции, таких как использование кодера диапазона CELT для обоих типов. Чтобы минимизировать накладные расходы при низких битрейтах, если задержка не так важна, SILK поддерживает упаковку нескольких кадров по 20 мс вместе, разделяя контекст и заголовки; SILK также допускает кадры с низкой избыточностью битрейта (LBRR), что позволяет восстанавливать низкокачественные потери пакетов. CELT включает в себя как спектральную репликацию, так и генерацию шума, аналогично SBR и PNS AAC, и может дополнительно экономить биты, полностью отфильтровывая все гармоники тональных звуков, а затем реплицируя их в декодере. [16] Улучшение обнаружения тона — это текущий проект по улучшению качества.
Формат имеет три различных режима: речевой, гибридный и CELT. При сжатии речи SILK используется для звуковых частот до 8 кГц. Если требуется более широкая полоса пропускания, гибридный режим использует CELT для кодирования диапазона частот выше 8 кГц. Третий режим — чистый CELT, предназначенный для общего аудио. SILK по своей сути является VBR и не может достичь целевого битрейта, в то время как CELT всегда можно закодировать в любое определенное количество байтов, что позволяет использовать гибридный и CELT-режимы, когда требуется CBR.
SILK поддерживает размеры кадров 10, 20, 40 и 60 мс. CELT поддерживает размеры кадров 2,5, 5, 10 и 20 мс. Таким образом, гибридный режим поддерживает только размеры кадров 10 и 20 мс; кадры короче 10 мс всегда будут использовать режим CELT. Типичный пакет Opus содержит один кадр, но пакеты до 120 мс производятся путем объединения нескольких кадров в пакете. Opus может прозрачно переключаться между режимами, размерами кадров, полосами пропускания и количеством каналов для каждого пакета, хотя определенные приложения могут ограничить это.
Эталонная реализация написана на языке C и компилируется на аппаратных архитектурах с модулем плавающей точки или без него , хотя в настоящее время плавающая точка требуется для определения полосы пропускания звука (динамическое переключение между SILK, CELT и гибридным кодированием) и большинства оптимизаций скорости.
Пакеты Opus не являются саморазграничивающими, а предназначены для использования внутри контейнера определенного типа, который предоставляет декодеру длину каждого пакета. Opus изначально был указан для инкапсуляции в контейнеры Ogg , указанные как audio/ogg; codecs=opus
, и для файлов Ogg Opus .opus
рекомендуется расширение имени файла. [2] Потоки Opus также поддерживаются в Matroska , [17] WebM , [18] MPEG-TS , [19] и MP4 . [20]
В качестве альтернативы каждый пакет Opus может быть упакован в сетевой пакет , который предоставляет длину пакета. Пакеты Opus могут быть отправлены по упорядоченному протоколу датаграмм, такому как RTP . [21]
Дополнительный формат саморазграниченного пакета определен в приложении к спецификации. [22] Он использует один или два дополнительных байта на пакет для кодирования длины пакета, что позволяет объединять пакеты без инкапсуляции.
Opus допускает следующие полосы пропускания во время кодирования. Сжатие Opus не зависит от входной частоты дискретизации; временные метки измеряются в единицах 48 кГц, даже если не используется полная полоса пропускания. Аналогично, выходная частота дискретизации может быть выбрана свободно. Например, аудио может быть входным на частоте 16 кГц, но при этом быть настроено на кодирование только узкополосного звука. [23]
Аббревиатура | Полоса пропускания аудиосигнала | Эффективная частота дискретизации |
---|---|---|
NB (узкополосный) | 0 4 кГц | 0 8 кГц |
MB (средний диапазон) [примечание 1] | 0 6 кГц | 12 кГц |
ШП (широкополосный) | 0 8 кГц | 16 кГц |
SWB (сверхширокополосный) | 12 кГц | 24 кГц |
FB (полный диапазон) [примечание 2] | 20 кГц | 48 кГц |
Opus был предложен для стандартизации нового аудиоформата в IETF, который в конечном итоге был принят и предоставлен рабочей группой кодеков . Он основан на двух изначально отдельных стандартных предложениях от Xiph.Org Foundation и Skype Technologies SA (теперь Microsoft ). Его основными разработчиками являются Жан-Марк Валин (Xiph.Org, Octasic, Mozilla Corporation , Amazon), Коэн Вос (Skype) и Тимоти Б. Терриберри (Xiph.Org, Mozilla Corporation, Amazon). Среди прочих также были задействованы Джуин-Хвей (Рэймонд) Чен ( Broadcom ), Грегори Максвелл (Xiph.Org, Wikimedia ) и Крис Монтгомери (Xiph.Org).
Разработка части формата CELT восходит к мыслям о преемнике Vorbis под рабочим названием Ghost . Как новый речевой кодек от Xiph.Org Foundation, Opus заменяет старый речевой кодек Xiph Speex , более ранний проект Жана-Марка Валена. Работа над CELT велась с ноября 2007 года.
Часть SILK разрабатывается в Skype с января 2007 года в качестве преемника SVOPC , внутреннего проекта, призванного сделать компанию независимой от сторонних кодеков, таких как iSAC и iLBC, и соответствующих лицензионных платежей.
В марте 2009 года Skype предложила разработку и стандартизацию широкополосного аудиоформата в рамках IETF. Почти год прошел в ходе многочисленных дебатов по формированию соответствующей рабочей группы . [24] Представители нескольких компаний, которые принимали участие в стандартизации конкурирующего формата, обремененного патентами, включая Polycom и Ericsson — создателей и лицензиаров G.719 — а также France Télécom , Huawei и Orange Labs (отделение France Télécom), которые были вовлечены в создание G.718 , высказали возражения против начала процесса стандартизации формата без уплаты роялти. (Некоторые из оппонентов позже заявили о своих патентных правах, которые Xiph отклонил; см. ниже.) [25] Рабочая группа окончательно сформировалась в феврале 2010 года, и даже соответствующая Исследовательская группа 16 из МСЭ-Т обязалась поддержать ее работу.
В июле 2010 года был представлен прототип гибридного формата, который объединил два предложенных формата-кандидата SILK и CELT. В сентябре 2010 года Opus был представлен в IETF в качестве предложения по стандартизации. Некоторое время формат носил название Harmony, прежде чем получил свое нынешнее название в октябре 2010 года. [26] В начале февраля 2011 года формат bitstream был временно заморожен с учетом последних изменений. [27] Ближе к концу июля 2011 года Жан-Марк Валин был нанят корпорацией Mozilla для продолжения работы над Opus. [28]
В ноябре 2011 года рабочая группа выпустила последний призыв к изменениям в формате битового потока. Битовый поток был заморожен с 8 января 2012 года. [29] 2 июля 2012 года Opus был одобрен IETF для стандартизации. [30] Эталонное программное обеспечение вошло в состояние кандидата на релиз 8 августа 2012 года . [31] Окончательная спецификация была выпущена как RFC 6716 10 сентября 2012 года. [32] [33] а версии 1.0 и 1.0.1 эталонной реализации libopus были выпущены на следующий день.
11 июля 2013 года libopus 1.0.3 принес исправления ошибок и новый API объемного звука , который улучшает распределение каналов и качество, особенно для LFE . [34]
5 декабря 2013 года был выпущен libopus 1.1, [34] включающий в себя общие улучшения скорости и значительные улучшения качества кодера: оценка тональности повышает битрейт и качество для ранее проблемных образцов, таких как клавесины; автоматическое обнаружение речи/музыки улучшает качество смешанного аудио; среднее стерео снижает потребности в битрейте для многих песен; повышение точности полосы для улучшения переходных процессов; и подавление постоянного тока ниже 3 Гц. Было добавлено два новых режима VBR : неограниченный для более постоянного качества и временный VBR, который повышает более громкие кадры и в целом улучшает качество.
libopus 1.1.1 был выпущен 26 ноября 2015 года, а 1.1.2 — 12 января 2016 года. В обеих версиях были добавлены оптимизация скорости и исправлены ошибки. 15 июля 2016 года вышла версия 1.1.3, включающая исправления ошибок, оптимизации, обновления документации и экспериментальную работу Ambisonics .
libopus 1.2 Beta был выпущен 24 мая 2017 года. libopus 1.2 был выпущен 20 июня 2017 года. [35] Улучшения, внесенные в 1.2, позволяют ему создавать полнополосную музыку с битрейтом всего 32 кбит/с и широкополосную речь всего со скоростью 12 кбит/с. [36]
libopus 1.2 включает дополнительную поддержку изменений спецификации декодера, внесенных в проекты RFC 8251, что улучшает качество вывода из таких низкоскоростных потоков. [37]
libopus 1.3 был выпущен 18 октября 2018 года. [38] Основной релиз Opus 1.3 снова приносит улучшения качества, новые функции и исправления ошибок. [39] Изменения по сравнению с 1.2.x включают в себя:
В число наиболее значимых исправлений ошибок входят:
libopus 1.3.1 был выпущен 12 апреля 2019 г. [40] Этот минорный релиз Opus 1.3.1 исправляет проблему с анализом файлов с цифровой тишиной (все нули), особенно в сборках x87 (в основном затрагивает 32-битные сборки). Он также включает две новые функции:
libopus 1.4 был выпущен 20 апреля 2023 года. [41] Opus 1.4 содержит следующие улучшения и исправления:
libopus 1.5 был выпущен 4 марта 2024 года. [44] Он добавил следующие обратно совместимые улучшения:
Кодек находится в стадии активной разработки. [45] В настоящее время основное внимание уделяется добавлению кодировщика избыточности на основе глубокого обучения , который улучшает сокрытие потери пакетов путем встраивания одной секунды данных восстановления в каждый закодированный пакет. Алгоритм глубокой избыточности (DRED) был разработан, в частности, Жаном-Марком Валином, Ахмедом Мустафой, Яном Бюте, Тимоти Терриберри, Крисом Монтгомери , Майклом Клингбайлом и Пэрис Смарагдис из Amazon Web Services [46] при спонсорской поддержке открытия исходного кода алгоритма и последующего расширения стандарта IETF от Сида Рао. [47] Этот кодировщик представляет собой обратно совместимое изменение кодека, позволяющее клиентам легко обновлять приложения, чтобы воспользоваться этой возможностью машинного обучения. В настоящее время разрабатывается проект RFC для стандартизации новой возможности. [48] Этот RFC является одной из первых попыток стандартизировать алгоритм глубокого обучения в IETF.
Opus хорошо работает как на низких, так и на высоких битрейтах . [9]
В тестах на прослушивание около 64 кбит/с Opus показывает превосходное качество по сравнению с кодеками HE-AAC , которые ранее доминировали из-за использования ими запатентованной технологии репликации спектральной полосы (SBR). [49] [6] В тестах на прослушивание около 96 кбит/с Opus показывает немного превосходное качество по сравнению с AAC и значительно лучшее качество по сравнению с Vorbis и MP3 . [7] [50]
Opus имеет очень низкую алгоритмическую задержку, [4] необходимость для использования в качестве части канала связи с низкой задержкой звука , который может обеспечить естественный разговор, сетевые музыкальные выступления или синхронизацию губ на живых мероприятиях. Общая алгоритмическая задержка для аудиоформата представляет собой сумму задержек, которые должны быть понесены кодером и декодером живого аудиопотока независимо от скорости обработки и скорости передачи, таких как буферизация аудиосэмплов в блоки или кадры, допускающая перекрытие окон и, возможно, допускающая упреждающий просмотр с формированием шума в декодере и любые другие формы упреждающего просмотра, или для кодера MP3, использование битового резервуара . [51]
Общая односторонняя задержка ниже 150 мс является предпочтительной целью большинства систем VoIP , [52] чтобы обеспечить естественный разговор с очередностью, мало подверженной задержке. Музыканты обычно чувствуют себя в такт с задержкой звука до 30 мс, [53] примерно в соответствии со временем слияния эффекта Хааса , хотя соответствие задержки воспроизведения собственного инструмента каждого пользователя задержке кругового обхода также может помочь. [54] Предполагается, что для синхронизации губ приемлемой может быть задержка звука около 45–100 мс. [55]
Opus позволяет компромисс между снижением качества и повышением битрейта для достижения еще меньшей алгоритмической задержки (минимум 5,0 мс). [56] В то время как стандартный кадр Opus в эталонной реализации имеет длину 20,0 мс, слою SILK требуется еще 5,0 мс просмотра вперед плюс 1,5 мс для повторной выборки, что дает задержку по умолчанию 26,5 мс. Когда слой CELT активен, ему требуется 2,5 мс просмотра вперед для перекрытия окон , к которому по умолчанию добавляется задержка соответствия 4,0 мс для синхронизации со слоем SILK. Если кодер инстанцируется в специальном ограниченном режиме низкой задержки , задержка соответствия 4,0 мс удаляется, а слой SILK отключается, что позволяет использовать минимальную алгоритмическую задержку 5,0 мс. [8]
Формат и алгоритмы открыто документированы, а эталонная реализация опубликована как свободное программное обеспечение . Эталонная реализация Xiph называется libopus , а пакет под названием opus-tools предоставляет утилиты командной строки кодировщика и декодера. Он опубликован на условиях лицензии типа BSD . Он написан на языке C и может быть скомпилирован для аппаратных архитектур с блоком плавающей точки или без него . Сопутствующий диагностический инструмент opusinfo сообщает подробную техническую информацию о файлах Opus, включая информацию о соответствии стандарту формата битового потока. Он основан на ogginfo из vorbis-tools и поэтому — в отличие от кодировщика и декодера — доступен на условиях версии 2 GPL .
RFC 6716 содержит полный исходный код для более старой версии эталонной реализации, написанной на языке C. RFC 8251 содержит исправления. Libopus — более современная, но ненормативная ветвь эталонной реализации.
Проект FFmpeg [57] имеет реализации кодера и декодера, не полученные из справочной библиотеки. Документация описывает его как CELT-only и худшего качества, чем справочная. [ 58]
Библиотека ссылок libopus была перенесена на C# и Java в рамках проекта Concentus. Эти порты жертвуют производительностью ради легкой интеграции в кроссплатформенные приложения. [59]
Digital Radio Mondiale — формат цифрового радио для частот AM — может транслировать и принимать аудио Opus (хотя и не распознаваемый в официальном стандарте) с помощью программно-определяемого радио Dream .
Фонд Викимедиа спонсировал бесплатный и открытый исходный код онлайн- кодировщика JavaScript Opus для браузеров, поддерживающих требуемые функции HTML5 . [60]
Список радиостанций, транслирующих потоковое вещание с использованием аудиокодека Opus, можно найти в каталоге Xiph.Org Foundation Icecast . [61]
В конце 2014 и 2015 годов видеоплатформа Google YouTube начала предлагать аудио Opus вместе с видео VP9 в формате файла WebM через потоковую передачу DASH . [62] В июле 2024 года YouTube представил подписчикам YouTube Music Premium дополнительную опцию высококачественного аудиоформата, 256 кбит/с Opus . [63]
С 2016 года WhatsApp использует Opus в качестве формата аудиофайлов. [64]
В начале 2017 года сигнал был переключен с аудиокодека Speex на Opus для улучшения качества звука.
В 2018 году SoundCloud перешел с MP3 на Opus, сократив вдвое необходимую полосу пропускания для потоковой передачи музыки. [65]
В январе 2021 года Vimeo представила Opus на своей видеоплатформе. [66]
В 2021 году датский журналистский сайт Zetland перешел с MP3 на Opus для аудиозаписей своих статей, что позволило сократить пропускную способность на 35 процентов и уменьшить воздействие на климат. [67] [68]
Большая часть программного обеспечения конечного пользователя опирается на мультимедийные фреймворки , предоставляемые операционной системой . Собственная поддержка кодека Opus реализована в большинстве основных мультимедийных фреймворков для Unix-подобных операционных систем, включая библиотеки GStreamer , FFmpeg и Libav . [69] [70] [71]
Контейнер WebM.webm
в основном используется на онлайн-видеоплатформах (например, YouTube ) и обычно рассматривается операционными системами и медиаплеерами как видеофайл. Даже если файл WebM содержит только аудио Opus и не содержит видео, некоторые музыкальные проигрыватели не распознают файлы WebM как аудиофайлы и не поддерживают чтение метаданных файла. [72]
Контейнер Ogg предпочтителен для файлов , .opus
содержащих только аудио, и большинство медиаплееров поддерживают метаданные аудиофайлов, помеченные в формате комментариев Vorbis .
Google добавила собственную поддержку воспроизведения звука Opus в Android 5.0 «Lollipop» . [73] Однако она была ограничена аудио Opus, инкапсулированным в контейнеры Matroska и WebM , такие как .mkv
, .mka
и .webm
файлы. [74] [75] В Android 7.0 «Nougat» появилась поддержка аудио Opus, инкапсулированного в контейнеры Ogg . [76] В Android 10 наконец-то добавлена собственная поддержка .opus
расширений . [77]
Благодаря добавлению поддержки WebRTC в движок рендеринга WebKit от Apple , macOS High Sierra и iOS 11 были выпущены с собственной поддержкой воспроизведения звука Opus, инкапсулированного в контейнеры Core Audio Format . [78] В macOS Sonoma добавлена поддержка моно- и стереозвука Opus, инкапсулированного в контейнеры MPEG-4 и WebM в Safari . [79] [80]
В Windows 10 версии 1607 компания Microsoft предоставила встроенную поддержку аудио Opus, инкапсулированного в контейнеры Matroska и WebM . [81] В версии 1709 поддержка аудио Opus, инкапсулированного в контейнеры Ogg, стала доступна через предустановленную надстройку под названием Web Media Extensions. [82] В Windows 10 версии 1903.opus
была добавлена встроенная поддержка расширения. [77] В Windows 8.1 и более ранних версиях доступны сторонние декодеры, такие как LAV Filters , для поддержки формата. [83] Обновление от января 2024 года для Windows 10 и 11 привело к зависанию Проводника файлов при переименовании или удалении файлов Ogg (включая .oga, .ogg, .ogm, .ogv, .ogx, .opus) из-за ошибок, связанных с расширением оболочки MF Media Source Pack Property Handler от Microsoft и пакетом Web Media Extensions в Windows, которые не были исправлены до выпуска обновлений Windows. [84]
iOS 17 включает поддержку собственного кодирования и декодирования кодека Opus через фреймворк AudioToolbox операционной системы. Воспроизведение файлов Ogg в .opus
контейнере поддерживается через приложение Files . Opus дополнительно поддерживается в контейнере Core Audio Format .caf
, контейнере QuickTime .mov
и контейнере формата файла ISOBMFF или MP4 . [примечание 3] Поскольку фреймворк AudioToolbox используется совместно с macOS , аналогичная поддержка должна присутствовать в обеих операционных системах по мере их дальнейшего развития. [86] .mp4
Окна | macOS | линукс | андроид | iOS | |
---|---|---|---|---|---|
Поддержка кодеков | Да Частичная : Win 10 v1607, 1709, 1809 Полная : Win 10 v1903 | Да Частичная : macOS High Sierra (10.13) Полная : macOS Sonoma (14.0) | Да | Да Частичная : Android 5, 6, 7 Полная : Android 10 | Да Частичная : iOS 11 Полная : iOS 17 |
Поддержка контейнеров | В Windows 10 Anniversary Update (1607) : WebM (.webm не распознается; требуется псевдорасширение) Matroska (.mka, .mkv) В Windows 10 Fall Creators Update (1709) с надстройкой Web Media Extensions : В Windows 10 October 2018 Update (1809) : В Windows 10 May 2019 Update (1903) : | В macOS High Sierra : основной аудиоформат (.caf) В macOS Monterey : В macOS Sonoma : | Ogg (.opus) WebM (.webm) Matroska (.mka, .mkv) MPEG-TS (.ts) | На Android 5 : WebM (.webm) Matroska (.mka, .mkv). На Android 7 : На Android 10 : | На iOS 17 и более поздних версиях : поддерживает воспроизведение через Файлы ; поддерживает Ogg как .opus; поддерживается в MP4 , автономно [примечание 3] или в сочетании с любым официально поддерживаемым видеокодеком; автономно и расширенные, но неофициально поддерживаемые комбинации в MOV ; автономная поддержка в CAF |
Примечания | В Windows 10 и Windows 11 : В Windows 10 : В Windows 8.1 и более ранних версиях : | В Safari 15 Apple добавила поддержку Opus audio в контейнерах WebM. Экспериментальная поддержка присутствует только в macOS. [91] | – | - До Android 9 расширение имени файла .opus не распознавалось (замените его псевдорасширением файла, например .ogg или .m4a) [76] | - Первоначально в iOS 11 поддерживался только звук Opus с постоянным битрейтом в контейнере CAF. - В Safari 15 Apple добавила поддержку Opus audio в контейнерах WebM. Однако в iOS 15 по состоянию на сентябрь 2021 года она не работает. [92] - В iOS 17 реализована встроенная поддержка воспроизведения многоканальных файлов .opus с переменным битрейтом через Quick Look в приложении «Файлы»; кодек также поддерживается встроенной поддержкой, если он инкапсулирован в ISOBMFF/MP4, CAF или MOV. - Начиная с iOS 17 поддержка WebM присутствует в Safari, но не в Файлах. - Opus можно дополнительно использовать в MP4 в сочетании с любым видеокодеком, поддерживаемым устройством. |
В то время как поддержка в мультимедийных фреймворках автоматически включает поддержку Opus в программном обеспечении, которое построено поверх таких фреймворков, несколько разработчиков приложений предприняли дополнительные усилия для поддержки аудиоформата Opus в своем программном обеспечении. Такая поддержка была добавлена в AIMP , [93] Amarok , [94] cmus , Music Player Daemon , foobar2000 , [95] Mpxplay , MusicBee , [96] SMplayer , VLC media player , [97] Winamp [98] и XMPlay аудиоплееры; Icecast , [99] Airtime (программное обеспечение) [100] программное обеспечение для потоковой передачи аудио; и Asunder audio CD ripper, CDBurnerXP CD burner, FFmpeg, Libav и MediaCoder инструменты для кодирования медиа. Пробные версии потокового радио Icecast доступны с сентября 2012 года и января 2013 года. [101] [102] SteamOS использует Opus или Vorbis для потоковой передачи аудио. [103]
Поддержка Opus обязательна для реализаций WebRTC . [104] Opus поддерживается в Mozilla Firefox , [105] Chromium и Google Chrome , [106] Opera на базе Blink , [107] [108], а также во всех браузерах для Unix-подобных систем, использующих GStreamer для поддержки форматов мультимедиа. Хотя Internet Explorer не будет изначально обеспечивать воспроизведение Opus, поддержка формата встроена в браузер Edge , вместе с VP9 , для полной поддержки WebM . [109] [110] Safari поддерживает Opus, начиная с iOS 11 и macOS High Sierra. [111]
Благодаря своим возможностям Opus привлек ранний интерес со стороны поставщиков программного обеспечения для передачи голоса по IP (VoIP). Несколько клиентов SIP , включая Acrobits Softphone , CSipSimple (через дополнительный плагин), Empathy (через GStreamer), Jitsi , [112] Tuenti , [113] Line2 (в настоящее время только на iOS ), [114] Linphone , [115] Phoner и PhonerLite , [116] SFLphone , [117] Telephone , Mumble , Discord [11] и программное обеспечение для голосового чата TeamSpeak 3 также поддерживают Opus. [118] [119] [120] TrueConf поддерживает Opus в своих продуктах VoIP. [121] В Asterisk отсутствовала встроенная поддержка Opus по юридическим причинам, [122] но сторонний патч был доступен для загрузки [123] и официальная поддержка через двоичный двоичный файл была добавлена в сентябре 2016 года. [124] Программное обеспечение для видеоконференций Tox P2P использует исключительно Opus. [125] Приложение для обмена сообщениями с классифицированными объявлениями отправляет необработанные кадры Opus внутри сокета TLS в своей реализации VoIP. [126]
Opus широко используется в качестве голосового кодека в WhatsApp , [12] [14] [13] у которого более 1,5 миллиарда пользователей по всему миру. [127] WhatsApp использует Opus с частотой дискретизации 8–16 кГц , [12] [13] с протоколом Real-time Transport Protocol (RTP). [14] Игровая консоль PlayStation 4 также использует кодек CELT/Opus для своего системного чата PlayStation Network . [15] Source Engine использует Opus для своей системы голосового чата . [128] Он также используется в приложении для видеоконференций Zoom. [129]
Начиная с версии 3.13, Rockbox позволяет воспроизводить Opus на поддерживаемых портативных медиаплеерах , включая некоторые продукты из серии iPod от Apple , устройства, производимые iriver , Archos и Sandisk , а также на устройствах Android с использованием «Rockbox как приложения». [130] [131] Все последние IP-телефоны Grandstream поддерживают аудио Opus как для кодирования, так и для декодирования. Все IP-телефоны OBihai OBi1062, OBi1032 и OBi1022 поддерживают Opus. Последние беспроводные динамики BlueSound поддерживают воспроизведение Opus. [132] Устройства под управлением Hiby OS, такие как Hiby R3, способны декодировать файлы Opus изначально.
Многие широковещательные IP-кодеки включают Opus, например, те, которые производятся Comrex , GatesAir и Tieline. [133]
Sony PlayStation 5 поддерживает захват видеоматериалов с разрешением 1080p и 2160p с использованием видео VP9 и звука Opus в контейнере WebM. [134] [135]
Android 13 поддерживает Opus как кодек для наушников Bluetooth (A2DP), что обусловлено его низкой задержкой, что важно для пространственного звука с отслеживанием головы. Pixel Buds Pro от Google поддерживает этот кодек A2DP. [136]
Как открытый стандарт, алгоритмы открыто документируются, и опубликована эталонная реализация (включая исходный код ). Broadcom и Xiph.Org Foundation владеют патентами на программное обеспечение для некоторых алгоритмов CELT, а Skype Technologies /Microsoft владеют некоторыми из алгоритмов SILK; каждая из них предлагает бесплатную бессрочную лицензию на использование с Opus, оставляя за собой только право использовать свои патенты для защиты от исков о нарушении прав третьих лиц. Qualcomm , Huawei , France Telecom и Ericsson заявили, что их патенты могут применяться, что отрицает юридический консультант Xiph, и никто из них не предпринял никаких юридических действий. [10] [137] Лицензия Opus автоматически и задним числом прекращается для любого субъекта, который пытается подать патентный иск.
.m4a
расширение, [85] относящееся .mp4
к видео, поэтому воспроизведение представит пустую видеодорожку, даже если в контейнере ее нет. Однако переименование файла .mp4
в .m4a
будет работать так, как и ожидалось..opus
расширение имени файла не распознается службой MediaScanner Android и приложениями Universal Windows Platform . Для обнаружения и воспроизведения файлов требуется псевдорасширение другого аудиоформата (например, .ogg
или ). [76] [87].m4a
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка )Упреждающий просмотр CELT составляет 2,5 мс, тогда как упреждающий просмотр SILK составляет 5 мс, плюс 1,5 мс для повторной выборки (включая повторную выборку как кодера, так и декодера). По этой причине путь CELT в кодере добавляет задержку в 4 мс. Однако приложение может ограничить кодер до CELT и опустить эту задержку. Это сокращает общее время упреждения до 2,5 мс.
{{cite book}}
: |journal=
проигнорировано ( помощь ){{cite web}}
: |author=
имеет общее название ( помощь ){{cite web}}
: |author=
имеет общее название ( помощь )доступно в Safari на macOS High Sierra, iOS 11, (…) Safari поддерживает современные аудиокодеки, такие как Opus
{{cite web}}
: |author=
имеет общее название ( помощь )