Программирование PC Opus Interactive Audio Codec Wed, November 06 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Opus Interactive Audio Codec Печать
Добавил(а) microsin   

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

Opus может поддерживать сжатый звук во многих приложениях, включая Voice over IP (VoIP, IP-телефония), видеоконференции, общение в играх, и даже достаточно качественную передачу музыки. Параметры кодирования могут масштабироваться от узкополосной речи с низким битрейтом до высококачественной стерефонической музыки. Поддерживаются функции:

• Битрейт от 6 килобит/сек до 510 килобит/сек.
• Частота дискретизации от 8 кГц (узкополосный звук) до 48 кГц (максимальный частотный диапазон звука, который слышит человек).
• Частота кадров от 2.5 мс до 60 мс.
• Поддержка как постоянного битрейта (constant bitrate, CBR), так и переменного битрейта (variable bitrate, VBR).
• Подходит для голоса и музыки, для mono и stereo.
• Поддерживает до 255 каналов (мультипоточные кадры).
• Динамически подстраиваемые битрейт, полоса пропускания звука и размер кадра.
• Хорошая устойчивость к потере пакетов и функция маскировки потери пакетов (packet loss concealment, PLC).
• Реализации на математике чисел плавающей точки или фиксированной точки.

Полной спецификацией можно ознакомиться в RFC 6716 [2]. Свежая реализация стандарта Opus также доступна на страничке загрузки [3].

libopus 1.4 (20 апреля 2023)

Это основной релиз Opus 1.4, в котором внесены следующие улучшения и исправления:

- Улушена настройка Opus in-band FEC (LBRR).
- Добавлена опция OPUS_SET_INBAND_FEC(2), которая включает FEC, но не приводит к принудительному режиму SILK (FEC будет запрещено в режиме CELT).
- Улучшена ннастройка, исправления для DTX.
- Добавлена поддержка Meson, улучшена поддержка CMake.

Дополнительно к этим улучшениям в этом релизе было исправлено множество незначительных багов.

Начаты эксперименты с фичами маскирования потерь нейронных пакетов [4] и глубокой избыточности (deep redundancy, DRED) [5]. Хотя в релиз эти возможности не добавлены, вы можете просмотреть два IETF-проекта, описывающих предлагаемыех механизмы расширения [6] и резервирования [7]. Код также доступен в этой ветке разработки.

Исходный код: opus-1.4.tar.gz.

opusfile 0.12 (27 июня 2020)

Предоставлены функции позиционирования, декодирования и воспроизведения потоков Opus в контейнере Ogg (файлы .opus), включая передачу через http(s) на posix- и windows-системах.

Библиотека opusfile зависит от libopus и libogg. Добавленная библиотека opusurl для доступа через http(s) зависит от opusfile и openssl.

Изменения от релиза v0.11:

- Исправлено переполнение стека при буферизации потоков вне последовательности.
- Исправлено возможное деление на ноль.
- Исправлены проблемы с позиционированием (seeking) на win32 backend.
- Исправлена проблема, где алгоритм seek мог сбоить из-за изменений потока данных между чтениями.
- Подчищены предупреждения компилятора и сборки сканирования.
- Избегайте использования устаревшей функции ftime(), у которой имеется проблема Y2038.
- Устранено непредсказуемое поведение memcpy(NULL) в op_read_native().
- Файлы проекта Visual Studio обновлены для изменения имени библиотеки libogg 1.3.4.
- Различные обновления систем сборки.
- Различные интеграции и улучшения рабочего окружения тестирования.

Этот релиз обратно-совместим с предудыщим релизом. Разработчики рекомендуют всем пользователям выполнить обновление.

Обратите внимание, что из-за удаления хуков хранилища сертификатов в openssl 1.1.1 и более свежих версий, к сожалению нет поддерживаемых версий этой библиотеки, которые можно использовать вместе с opusurl для проверки https-ответов в обмене с хранилищем сертификатов на Windows. На других платформах использование системного доступа к по умолчанию к хранилищу сертификатов работает нормально.

Ичходный код: opusfile-0.12.tar.gz, opusfile-0.12.zip.

Контрольные суммы SHA-256:

118d8601c12dd6a44f52423e68ca9083cc9f2bfe72da7a8c1acb22a80ae3550b opusfile-0.12.tar.gz
7f44575596b78d7787c1865b9653e2a71546ff1ae77d87c53ab16dcc7af295ba opusfile-0.12.zip

Сборка на Windows для этого релиза недоступна. Разработчики должны интегрировать напрямую интегрировать исходный код библиотек в свои приложения.

Документация по программированию доступна онлайн и в PDF: https://opus-codec.org/docs/.

Эта библиотека функциональна, однако в ней возможны проблемы, которые не были обнаружены при тестировании. Сообщайте про обнаруженные баги в группу #opus на irc.libera.chat, opus@xiph.org, или на gitlab.

libopus 1.3.1 (12 апреля 2019)

Эта версия содержит незначительные исправления в анализе файлов с оцифрованной тишиной (все нули), особенно на сборках x87 (больше всего влияет на 32-разрядные сборки). Также добавлены две новые фичи:

- Новый запрос OPUS_GET_IN_DTX для проверки, находится ли кодировщик в режиме DTX (последний кадр был либо кадром комфортного шума, либо вообще не закодирован).
- Новая (и все еще экспериментальная) система сборки на базе CMake, которая потенциально должна заменить систему сборки VS2015 (останется только autotools).

Исходный код: opus-1.3.1.tar.gz.
Бинарники Win32: opus-tools-0.2-opus-1.3.1.zip.

libopus 1.3 (18 октября 2018)

Это основной релиз Opus 1.3, где добавлены улучшения качества, новые функции и исправления ошибок. Все подробности по этому релизу можно прочитать на демонстрационной странице. Изменения по сравнению с версией 1.2.x включают:

- Улучшения для VAD и классификации речь/музыка с использованием RNN.
- Поддержка ambisonics-кодирования с использованием отображения семейства каналов 2 и 3.
- Улучшения для кодирования голоса stereo с низким битрейтом.
- Использование широкополосного кодирования до 9 килобит/сек.
- Возможно использование SILK до скоростей битрейта 5 килобит/сек.
- Незначительные улучшения качества для тональных звуков.
- Включение исправлений спецификаций в RFC 8251 по умолчанию.
- Улучшение в области безопасности/надежности.

Важные исправления багов включают:

- Исправления для CELT PLC.
- Исправления детектирования полосы пропускания.

Исходный код: opus-1.3.tar.gz.
Бинарники Win32: opus-tools-0.2-opus-1.3.zip.

[Ссылки]

1. Opus Interactive Audio Codec site:opus-codec.org.
2. RFC 6716 Definition of the Opus Audio Codec site:ietf.org.
3. Opus downloads site:opus-codec.org.
4. Real-Time Packet Loss Concealment With Mixed Generative and Predictive Model site:arxiv.org.
5. Neural encoding enables more-efficient recovery of lost audio packets site:amazon.science.
6. Extension Formatting for the Opus Codec site:ietf.org.
7. Deep Audio Redundancy (DRED) Extension for the Opus Codec site:ietf.org.
8. 230626opus.zip - документация, архивы библиотеки Opus.

 

Добавить комментарий


Защитный код
Обновить

Top of Page