Opus: часто задаваемые вопросы

Дата обновления: 01 Июня 2014
2014-06-01T15:53
Audiophile's Software

Содержание

Что такое Opus? Кто его создал?

Opus — это полностью свободный, бесплатный универсальный аудио кодек. Прежде всего он разработан для интерактивной передачи голоса и музыки через интернет, но также применим для целей хранения и потоковой передачи (стриминга). Он совмещает в себе технологии кодека SILK из Skype и кодека CELT от Xiph.Org. Opus стандартизирован Internet Engineering Task Force (IETF) как RFC 6716.

Как Opus показывает себя в сравнении с другими кодеками?

Opus выделяется среди других форматов высококачественного аудио (AAC, Vorbis, MP3) благодаря низкой задержке, от других же кодеков с низкой задержкой (G.711, GSM, Speex) его отличает поддержка высокого качества кодирования. Качество его кодирования сопоставимо либо даже превышает качество существующих кодеков в широком диапазоне битрейтов, в то же время он обладает задержками меньшими, чем практически у любого существующего формата сжатия. Кроме того, сам по себе формат Opus, а также его базовая реализация доступны под свободной бесплатной лицензией, что упрощает адаптацию кодека, делает его совместимым с бесплатным ПО и пригодным для использования в качестве части базовой инфраструктуры интернета. Более детальную информацию вы найдёте на странице сравнения.

Способен ли Opus заменить все другие кодеки?

Теоретически, да. С технической точки зрения (потери, задержка, битрейты, etc.) он может заменить и Vorbis, и Speex, и даже существующие проприетарные кодеки.

Заменит ли Opus Vorbis в видео файлах?

Это возможно для OGG Theora видео файлов, однако результирующая экономия места будет минимальной, и при этом теряется поддержка с существующими плеерами.

Для WebM видео файлов такое применяется, но требует дополнительных изменений в спецификации, так как её текущая версия позволяет использовать только кодеки VP8 и Vorbis для видео и аудио соответственно.

Как мне использовать Opus? Какие программы поддерживают Opus?

Поддержка декодирования Opus на данный момент включена во многие программы, в частности Firefox, foobar2000, а также во фреймворки вроде Gstreamer и FFmpeg. Лучшим способом кодирования будет использование консольного приложения opusenc из пакета opus-tools. Для приложений реального времени поддержка Opus вскоре будет доступна на базе Google WebRTC.

Поддерживает ли Opus высокие частоты дискретизации — 96, 192 кГц?

И да, и нет. Программы кодирования вроде opusenc с легкостью закодируют файлы, имеющие частоту дискретизации 96 или 192 кГц. Однако входные файлы будут на лету преобразованы в 48 кГц, после чего закодированы будут только частоты до 20 кГц. Смысл этих манипуляций легко объяснить: lossy кодеки призваны сохранить детализацию звука и в то же время отбросить лишнюю информацию. Так как ухо человека способно слышать только частоты ниже 20 кГц (в лучшем случае), более высокие частоты — первое, что необходимо исключить. Подробнее читайте в статье Загрузки в формате 24/192 — почему они не имеют смысла.

Каковы лицензионные требования?

Оригинальный исходный код Opus распространяется под трехпунктовой лицензией BSD, имеющей весьма разрешительный характер. Коммерческое использование и распространение (включение в проприетарное ПО) разрешено при условии выполнения некоторых базовых требований, указанных в данной лицензии.

Также на Opus распространяются некоторые патенты, для которых бесплатное использование гарантировано при выполнении условий, которые по мнению автора совместимы с большинством open-source лицензий, включая GPL (v2 и v3). Детальней смотрите на странице лицензии.

Почему Opus создан бесплатным?

В сети интернет стандарты протоколов и кодеков являются частью общей инфраструктуры, на основе которой строится всё остальное. Большую часть стандартов высокого качества составляют инновации и взаимодействие, обеспечиваемое построенными на них системами. Кода несколько участников имеют монополию на монетизацию стандарта, инфраструктура становится менее распространенной — ведь для остальных появляется больше оснований использовать собственное решение, что увеличивает стоимость и снижает эффективность. Представьте себе дорожную систему, где каждый автомобиль может ездить только по дороге собственного производителя. Мы все выиграем, если будем жить в мире, где все дороги соединены меж собой. Вот, почему Opus, в отличие от многих кодеков, является бесплатным.

Является ли SILK составляющая в Opus совместимой с реализацией SILK в Skype?

Нет. Кодек SILK, переданный Skype в IETF, в процессе интеграции в Opus был в значительной степени модифицирован. Изменения настолько значительны, что невозможно просто написать «транслятор»; даже взаимная замена частей кода между Opus и «старым SILK» — процесс далеко не тривиальный.

Почему бы не разрабатывать кодеки SILK и CELT отдельно?

Opus — это больше, чем два независимых кодека с переключением. Вдобавок к режиму SILK с линейным предсказанием и MDCT режиму CELT существует также гибридный режим, в котором голосовые частоты до 8 кГц кодируются с линейным предсказанием, а частоты выше — с использованием MDCT. Именно поэтому Opus показывает такие хорошие результаты для голоса на битрейте около 32 кбит/с. Другим преимуществом интеграции является возможность мгновенного переключения между этими режимами, без каких-либо артефактов и искажений частотного диапазона.

Теперь, когда Opus стандартизирован, остановится ли его разработка или в дальнейшем он будет совершенствоваться?

В отличие от большинства ITU-T кодеков, Opus определен лишь в плане декодирования. Кодер может продолжать развиваться сколько угодно, пока закодированный им поток сможет декодироваться референтным декодером. Именно этот момент позволил MP3 кодерам в значительной степени продвинуться относительно первых реализаций l3enc и dist10. Хоть и маловероятно, что Opus ждет такая же потрясающая революция, всё же мы надеемся, что последующие версии будут в значительной степени превосходить первый релиз. На деле — уже в libopus 1.1 мы видим значительные улучшения качества.

Будут ли все последующие релизы Opus совместимы со спецификацией Opus?

Да.

Каким образом Opus оптимизирован для интернета?

Оптимизация Opus для интернета, очевидно, означает, что он имеет хорошую устойчивость к потере пакетов, однако это еще не всё. Первой целью, которой мы задались при разработке Opus, было получение действительно адаптируемой скорости потока, так как мы никогда не знаем, какая скорость будет доступна. Это требует не только наличия широкого диапазона битрейтов, но также и возможности точной регулировки (с небольшими приращениями). Вот, почему Opus покрывает диапазон от 6 до 512 кбит/с с шагом в 0.4 кбит/с (надбавка в 1 байт для 20-милисекундных фреймов). Причина, по которой Opus имеет более 1200 возможных битрейтов, затрачивая 11 бит на указание битрейта, в том, что UDP уже кодирует размеры пакетов. Последним аспектом является простота передачи через RTP, как это видно из Opus RTP payload format. Например, можно декодировать RTP пакеты без SDP и телефонной сигнализации (out-of-band signaling).

Какие приложения Android могут воспроизводить Opus?

На данный момент их не много, однако список быстро пополняется. Просим ознакомиться с этим вопросом на android.stackexchange.com. Вы можете предлагать и свои приложения.

Когда выйдет следующая версия?

Когда она будет готова. Серьёзно. Мы не знаем. Opus не является большим проектом с фиксированной периодикой релизов. Наши предварительные релизы и даже версии из git репозитория являются вполне стабильными, пригодны для целей тестирования и распространения. Однако обратите внимание: API нового функционала (который еще не был включен в стабильные релизы) может меняться.


Информация от спонсора

IT-TERRITORY: новости высоких технологий. Здесь Вы можете бесплатно скачать Говорилку на русском языке. Программа «Говорилка» использует голосовой движок Windows для чтения любых произвольных текстов. Поддерживается запись голоса в MP3.

Часто задаваемые вопросы о новом современном аудио кодеке Opus (разработка Xiph.Org).
 
   
Категория: Кодирование аудио | Автор: | Добавил: Audiophile
Просмотров: 31995| Рейтинг: 5.0/5, голосов: 2
Комментариев: 3
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
0   Спам
[3] Z0000M (19 Августа 2016 19:07)

Если режет частоты - поверни вилку в розетке.
0   Спам
[1] kit (04 Марта 2015 02:21)
Глупый вопрос, возможно: если кодирую из 44.1, то нужно ресемплером SoX повышать частоту, или это не требуется?
+1  
[2] Audiophile (11 Марта 2015 15:36)
Audiophile
Не нужно, кодер всё сам делает, ресемплер в нём качественный.