Opus (кодек)
Opus | |
---|---|
Расширение |
.opus |
MIME-тип | audio/opus[1] audio/ogg [2] |
Разработчик | рабочая группа IETF по кодекам |
Опубликован | 11 сентября 2012[4][5] |
Последний выпуск | 1.5.2 (2024-04-12) |
Тип формата | аудиоформат |
Содержится в | Ogg, Matroska, WebM |
Расширен из | SILK, CELT |
Стандарт(ы) | RFC 6716[3] |
Открытый формат? | Да |
Сайт | opus-codec.org (англ.) |
Медиафайлы на Викискладе |
Opus (ранее Harmony) — аудиокодек для сжатия с потерями, разработанный сообществом Internet Engineering Task Force (IETF) специально для применения в приложениях реального времени в Интернете[6]. Является открытым форматом, стандартизованным в RFC 6716, a эталонная реализация распространяется под трёхчастной лицензией BSD. Все известные патенты, под которые подпадает кодек Opus, доступны под лицензией royalty-free[6].
Основное преимущество данного кодека — низкая задержка кодирования (от 2,5 до 60 мс, настраиваемо), более сильное сжатие аудиоданных, поддержка многоканального звука (до 255 каналов).
Формат битового потока был зафиксирован 8 января 2012 года.
Основные возможности
[править | править код]Основные возможности Opus:
- Частота дискретизации от 8 до 48 кГц[7];
- Битрейт от 6 до 510 кбит/с[8];
- Поддерживаются режимы постоянного и переменного битрейта;
- Задержка кодирования от 2,5 до 60 мс, настраиваемо;
- Существуют реализации, использующие арифметику либо с фиксированной запятой, либо с плавающей запятой;
- Многие параметры (практически, все, за исключением частоты дискретизации и числа каналов) можно менять «на лету», без переинициализации и, следовательно, прерывания потока;
- При потере блока (например, при передаче посредством UDP) возможна попытка восстановления сигнала.
- Не является обязательной синхронизация настройки частоты дискретизации между кодером и декодером. Рекомендуется настраивать частоту дискретизации при декодировании, исходя из вычислительной мощности[9].
Opus продемонстрировал более высокое качество[10] на битрейте 64 кбит/с по сравнению c Nero HE-AAC, Vorbis и AAC LC, но несколько ниже, чем Apple HE-AAC.[11]
Частота дискретизации
[править | править код]Поддерживаемые частоты дискретизации были определены в RFC 6716RFC:[3]
Сокращение | Полоса пропускания звука, кГц | Эффективная частота дискретизации, кГц |
---|---|---|
NB (narrowband) | 4 | 8 |
MB (medium-band) | 6 | 12 |
WB (wideband) | 8 | 16 |
SWB (super-wideband) | 12 | 24 |
FB (fullband) | 20[12] | 48 |
Контейнеры
[править | править код]Звуковые данные кодека могут быть упакованы в контейнер Ogg. Содержимое такого Ogg Opus потока должно быть определено как audio/ogg; codecs=opus
с рекомендованным расширением файла .opus
.[2] Поддержка упаковки в контейнеры Matroska была реализована в MKVToolNix.[13] Opus также является зарегистрированным форматом MPEG-TS[14] и контейнеров MP4[15]. Спецификация медиаконтейнера WebM предусматривает использование кодека Opus для кодирования аудиоданных.
Ключевые особенности
[править | править код]Сравнение с аналогами
[править | править код]В 2011 году Яном Скёглундом из Google были проведены две серии тестов[17][18], в ходе которых было проведено сравнение кодирования и декодирования в Opus на основе оценки группы экспертов и неподготовленных слушателей. По его выводам, для стереомузыки Opus при 64 кбит/20 мс, 80 кбит/10 мс и 128 кбит/5 мс дает такое же качество, как MP3 128 кбит, AAC-LC 96 кбит и лучшее качество, чем G.719 64 кбит.
История появления
[править | править код]4 февраля 2013 года была анонсирована новость[19] о сеансе видеосвязи напрямую между браузерами Mozilla Firefox Nightly и Google Chrome Beta 25. Этот сеанс анонсировал поддержку обоими браузерами стандарта WebRTC, на основе которого и был совершен сеанс. Соединение осуществлялось с помощью дополнения RTCPeerConnection. Для передачи звука и видео используются свободные кодеки Opus и VP8, для шифрования — DTLS-SRTP, для поддержки NAT — ICE.
Использование
[править | править код]Черновик стандарта WebRTC «WebRTC Audio Codec and Processing Requirements» от 15 октября 2013 года содержит требование поддержки клиентами форматов Opus и G.711[20][21].
Поддерживается в разработанных Mozilla программах Firefox и Thunderbird с 15 версии[22].
Аудиоформат Opus поддерживают такие приложения, как GStreamer, FFMpeg, foobar2000, K-Lite Codec Pack, AIMP, LAVfilters, PotPlayer и VLC player (начиная с 2.0.4). Анонсированы работы по поддержке Opus в голосовом чате Mumble и прошивке для аудиоплееров Rockbox. Разработчики популярных приложений для голосового чата Discord и TeamSpeak 3[23] также внедрили поддержку кодека.
Популярный видеохостинг YouTube использует Opus для звуковых дорожек при воспроизведении любого видео.[24]
Патентные претензии
[править | править код]Компании Huawei и Qualcomm предъявили[25][26] претензии о нарушении собственных патентов, которые затем были отвергнуты как несостоятельные[27].
См. также
[править | править код]Примечания
[править | править код]- ↑ Network Working Group. RTP Payload Format and File Storage Format for Opus Speech and Audio Codec . Opus codec. IETF (4 июля 2011). Дата обращения: 26 октября 2011. Архивировано из оригинала 29 сентября 2012 года.
- ↑ 1 2 Ogg Encapsulation for the Opus Audio Codec . IETF (28 апреля 2015). Дата обращения: 30 июня 2015.
- ↑ 1 2 Valin, Jean-Marc; Vos, Koen; Terriberry, Timothy B. Definition of the Opus Audio Codec (11 сентября 2012). Дата обращения: 21 июня 2014. Архивировано 12 декабря 2015 года.
- ↑ https://lists.xiph.org/pipermail/opus/2012-September/001698.html
- ↑ https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/
- ↑ 1 2 "Newly standardized Opus audio codec fills every role from online chat to music". Ars Technica (англ.). Архивировано 7 июня 2017. Дата обращения: 31 мая 2018.
- ↑ Opus Codec . opus-codec.org. — «Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)». Дата обращения: 12 марта 2016. Архивировано 17 мая 2019 года.
- ↑ Opus Codec . opus-codec.org. — «Bitrates from 6 kb/s to 510 kb/s». Дата обращения: 12 марта 2016. Архивировано 17 мая 2019 года.
- ↑ OpusFAQ — XiphWiki . Дата обращения: 31 августа 2015. Архивировано 3 марта 2016 года.
- ↑ Raymond Chen et al. Opus Testing Архивная копия от 9 марта 2013 на Wayback Machine. IETF 80
- ↑ Maxwell, Greg 64kbit/sec stereo multiformat listening test - unofficial results page . Xiph.org Foundation (2011). Дата обращения: 19 июня 2011. Архивировано из оригинала 29 сентября 2012 года.
- ↑ Несмотря на то, что Теорема Котельникова лимитирует полосу пропускания половиной частоты дискретизации, Opus не кодирует аудио выше чем 20 кГц, общепринятым порогом человеческого восприятия звука.
- ↑ Bunkus, Moritz (2013-09-16). "MKVToolNix v6.4.0 released". Matroska users (Mailing list). Архивировано 25 декабря 2013. Дата обращения: 24 декабря 2013.
- ↑ SMPTE Registration Authority, LLC Registrations . SMPTE Registration Authority, LLC. Дата обращения: 31 мая 2018. Архивировано 13 октября 2014 года.
- ↑ The 'MP4' Registration Authority . Дата обращения: 31 мая 2018. Архивировано 28 августа 2004 года.
- ↑ Codec Landscape (англ.). opus-codec.org. Дата обращения: 12 апреля 2024.
- ↑ Архивированная копия . Дата обращения: 31 августа 2015. Архивировано 14 июля 2015 года.
- ↑ Архивированная копия . Дата обращения: 31 августа 2015. Архивировано 14 июля 2015 года.
- ↑ Hello Chrome, it's Firefox calling! (англ.). Mozilla Hacks – the Web developer blog. Дата обращения: 31 мая 2018. Архивировано 28 мая 2018 года.
- ↑ RFC 7874 - WebRTC Audio Codec and Processing Requirements (англ.). datatracker.ietf.org. Дата обращения: 31 мая 2018. Архивировано 24 марта 2016 года.
- ↑ Google proposes VP8 and Opus for WebRTC standard - The H Open: News and Features (англ.). www.h-online.com. Дата обращения: 31 мая 2018. Архивировано 28 мая 2018 года.
- ↑ Media formats supported by the audio and video elements . MDC. Дата обращения: 31 мая 2018. Архивировано 27 июня 2010 года.
- ↑ TeamSpeak 3 Client 3.0.10 released - TeamSpeak . Дата обращения: 3 февраля 2017. Архивировано 2 апреля 2016 года.
- ↑ encoding - What audio formats and codecs are used for YouTube videos? Sound Design Stack Exchange. Дата обращения: 27 июля 2020. Архивировано 27 июля 2020 года.
- ↑ Qualcomm Incorporated's Statement about IPR related to draft-ietf-codec-opus-05 (англ.). IPR Details. Дата обращения: 31 мая 2018. Архивировано 10 октября 2015 года.
- ↑ Huawei Technologies Co.,Ltd's Statement about IPR related to draft-ietf-codec-opus-11 (англ.). IPR Details. datatracker.ietf.org. Дата обращения: 31 мая 2018. Архивировано 14 декабря 2012 года.
- ↑ It's Opus, it rocks and now it's an audio codec standard! (англ.). Mozilla Hacks – the Web developer blog. Дата обращения: 31 мая 2018. Архивировано 2 июня 2017 года.
Ссылки
[править | править код]- opus-codec.org — официальный сайт Opus
- java version