Все аудиокодеки работают, сжимая и распаковывая информацию. Хотя это не такой распространенный формат, как MP3, Opus является одним из самых популярных кодеков для аудио в Интернете.
Opus регулярно используется миллиардами пользователей. Он имеет встроенную поддержку в Windows 10, macOS, iOS, Android, и является частью основных мультимедийных систем Unix. Кроме того, поскольку Opus – это обязательная часть стандарта WebRTC для обмена данными в реальном времени, данный аудиокодек поддерживает каждый современный веб-браузер. Основные системы связи, такие как WhatsApp, Facebook Messenger и большинство мировых приложений для видеоконференций используют Opus – и это лишь малая часть.
Давайте посмотрим на кодек Opus более подробно: откуда он взялся, что в нем такого особенного, как он обычно используется, и что мы можем ожидать от аудиокодеков в будущем.
Как появился Opus
Данный аудиокодек стал результатом нескольких других проектов кодеков, над которыми работала Целевая группа по инженерным разработкам Интернета (IETF), целью которой было создание универсального аудиокодека для Интернета. Еще почти десять лет назад IETF признала, что Интернету нужен единый надежный аудиокодек, который можно было бы использовать для любых способов передачи звука через Интернет, начиная голосовым, и заканчивая распространением живой музыки.
Проекты-предшественники Opus – это кодеки CELT, Speex от Xiph.org и SILK от Skype. На самом деле Opus включает в себя основные части этих кодеков.
Opus был представлен в 2010 году, и стандартизирован, как RFC 6716 в 2012 г. В качестве интернет-стандарта ее поддерживали браузеры, операционные системы, а также наиболее популярное аудио/видео программное обеспечение. Место Opus в качестве кодека для связи в реальном времени де-факто было закреплено позже, когда его использование стало обязательным, как часть стандарта WebRTC.
Почему Opus?
Когда речь идет именно об аудиокодеках, Opus – безусловный лидер, объединяющий современный набор функций, предназначенных для работы в различных условиях и форматах. Интернет-стандарт, безусловно, поспособствовал его популярности, но кодек стал номером один, в первую очередь, благодаря своей производительности, уникальным функциям, отсутствию лицензионных отчислений, а также множеству ссылок с открытым исходным кодом.
Качество
Всем известно, что интернет-кодеки должны обеспечивать сжатие для минимизации полосы пропуска. Этот коэффициент должен быть сбалансирован с качеством выходного звука и его обработкой, необходимой для кодирования и декодирования данной аудиоинформации. Одной из основных причин успеха Opus является его превосходная производительность в самых разных условиях.
Аудиокодек Opus – лучший инструмент для видеостриминга и видеоконференцсвязи
Аудиокодек Opus прекрасно подходит для воспроизведения сигнала на скорости, как 6 кбит/с, так и 510 кбит/с. В любом случае сжатие выполняется с минимальными потерями, практически незаметными для человеческого уха. Этот кодек может динамически переключаться на сжатие с разным битрейтом, в зависимости от изменения пропускной способности той или иной полосы. На данный момент не появилось ни одного аналога, обеспечивающего лучшую производительность, спектр возможностей, а также качество звука и видео.
Основные характеристики и главные преимущества:
- поддержка любых частот дискретизации – от 8 до 48 кГц;
- битрейт от 6 до 510 Кбит/с;
- поддержка моно и стерео;
- поддержка как постоянной (CBR), так и переменной (VBR) скорости передачи данных;
- задержка всего 5 миллисекунд;
- легко масштабируемый аудиопоток с возможностью динамического изменения настроек
В результате многочисленных исследований и тестирований аудиокодек Opus был признан наиболее подходящим для компрессии речевого вопроизведения. Известно, что во время видеостриминга хорошее качество звука так же важно, как и видео.
В результате сравнения с другими популярными речевыми кодеками, Opus получил наивысшую производительность и возможность мгновенного переключения между различными механизмами шифрования. Это сделало его идеальным инструментом для передачи данных во время проведения видеостримингов. Все участники могут общаться друг с другом в максимально комфортной звуковой обстановке, причем даже при низкоскоростном интернет-соединении.
Комплексное сочетание характеристик производительности
Многие пользователи задаются вопросом: откуда у кодека Opus такая отличная производительность? Ответ простой – все дело заключается в специально разработанном наборе функций и возможностей:
Низкий уровень задержки
Промежуток времени между тем, когда пользователь говорит, и собеседник на другой стороне слышит его, называется задержкой звука. Чем она короче, тем лучше, и это особенно важно, когда вам нужна интерактивность в режиме реального времени. Конечно, физика и природа Интернета вносят некоторые присущие ему задержки, но в процессе кодирования и декодирования Opus длинных задержек не добавляет.
Данный кодек обеспечивает практически неощутимую задержку, а именно 26,5 мс, используя настройки по умолчанию (размер кадра 20 мс), что делает его идеально подходящим для передачи голоса по IP (VoIP).
От узкополосного к полнополосному
Одной из уникальных особенностей Opus является то, что он работает как для сэмплирования человеческого голоса, так и музыки. Когда человек говорит, большую часть времени используется относительно ограниченный диапазон частот, и поэтому его легче сжать до того – это называется узкополосным звуком. Он имеет тонкое, но заметное искажение, когда вы его слышите. Широкополосный звук, охватывающий весь диапазон человеческой речи – то, к чему стремится большинство кодеков, ориентированных на речь. С другой стороны, музыка охватывает весь спектральный диапазон того, что могут слышать наши уши. Кодирование этих дополнительных функций требует больше битов и обычно называется полнополосным.
Кодеки, обеспечивающие высокое сжатие при низком битрейте, оптимизированы для ограниченного диапазона частот. В отличие от них, Opus поддерживает голосовую связь с низкой пропускной способностью и полный спектр того, что мы слышим. Это, к примеру, музыка, поскольку она фактически объединяет части двух разных кодеков, а именно SILK для узкополосного и CELT для широкополосного. В самых последних версиях кодека алгоритм нейронной сети, основанный на глубоком обучении, фактически используется для определения того, какой именно вариант применять в данный момент времени. Именно по этой причине всегда автоматически выбирается оптимальный вариант, даже когда присутствуют и речь, и музыка.
Где используется?
Теперь давайте посмотрим, как Opus применяется в Интернете:
-
Типичные топологии
Opus обычно используется в приложениях для связи в реальном времени, прямых трансляций и просмотров видео в режиме онлайн. Это часто сопровождается видеопотоками, хотя и необязательно. Говоря о звуковой составляющей, следует помнить, что видео обычно следует параллельно аудио, что обеспечивает идеальное качество, как звука, так и картинки.
-
Звонки
Имея собственные интернет стандарты, Opus может работать без WebRTC, однако сам WebRTC не может работать без Opus. Поэтому кодек прекрасно передает звуковую часть интернет-вызовов.
-
Видеостриминг
Opus с помощью стандарта WebRTC также оказался очень полезным инструментом для проведения прямых трансляций. Вместо использования специализированного оборудования, установленного программного обеспечения или флэш-памяти, стримеры могут отправлять аудио (и видео) прямо из браузера, используя только микрофон (и/или веб-камеру).
Flussonic и OPUS
Начиная с версии 21.12 Flussonic Media Server поддерживает кодек OPUS. Документация