Opus (кодек)

Opus
Розширення файлу: .opus
MIME-тип: audio/opus[1]
Розробник: Jean-Marc Valin, Koen Vos
Тип ліцензії: 3-пунктова ліцензія BSD[2]
Рік випуску: вересень 2012
Остання версія: 1.5
Дата випуску останньої версії: 4 березня, 2024; 48 днів тому (2024-03-04)
Тип формату: аудіокодек
Міститься у: Ogg, Matroska, WebM, MPEG-TS
Розширений з: SILK, CELT
Стандарт(и): RFC 6716
Сайт: opus-codec.org

Opusвільний та відкритий звуковий кодек, прийнятий у вересні 2012 Internet Engineering Task Force (IETF) як стандартний аудіо-кодек для інтернет-застосунків[3] та стандартизований у RFC 6716.

Історія[ред. | ред. код]

Перший стабільний реліз кодека відбувся одночасно зі стандартизацією кодека комітетом IETF, що займаються розвитком протоколів і архітектури Інтернету. Кодек Opus та його еталонна реалізація стандартизовані у RFC 6716, в якому Opus першим визначений як стандартний аудіо-кодек для інтернету, що не вимагає ліцензійних відрахувань і не перетинається з запатентованими технологіями.

Формуванню RFC передував трирічний підготовчий етап, в рамках якого було випущено 16 попередніх варіантів специфікації. Наступною стадією розвитку стане додання RFC статусу чорнового стандарту (Draft Standard), що фактично означає повну стабілізацію протоколу та врахування всіх висловлених зауважень. На стадії чорнового стандарту перебуває більшість протоколів мережі, і лише одиниці після багатьох років існування досягають найвищого статусу — стандарт Інтернету (всього статус стандарту отримали близько 70 RFC).

Кодек створений шляхом комбінації найкращих технологій з розробленого організацією Xiph.org кодека CELT і відкритого компанією Skype кодека SILK. Крім Skype і Xiph.org в розробці Opus також взяли участь такі компанії, як Mozilla, Octasic, Broadcom і Google.

Ліцензування[ред. | ред. код]

Еталонні реалізації кодувальника і декодувальника Opus поширюються під 3-пунктовою ліцензією BSD. Повні специфікації формату загальнодоступні і безплатні. Всі використовувані в Opus патенти надані компаніями, котрі брали участь у розробці, для необмеженого користування без виплати ліцензійних відрахувань. Всі пов'язані з Opus інтелектуальні права і ліцензії на патенти автоматично делегуються для застосунків і продуктів, що використовують Opus, без необхідності додаткового погодження. Відсутні будь-які обмеження на область застосування і створення альтернативних сторонніх реалізацій. При цьому всі надані права відкликаються у разі розв'язування патентного розгляду, що зачіпає технології Opus, проти будь-якого користувача Opus.

Основні можливості[ред. | ред. код]

Кодек Opus відрізняється високою якістю кодування і мінімальною затримкою як при стисненні потокового звуку з високим бітрейтом, так і при стисненні голосу в обмежених за пропускною здатністю застосунках VoIP-телефонії.

Основні можливості Opus:

  • дискретизація від 8 до 48KHz;
  • бітова швидкість від 6 до 510 Kbit;
  • підтримка постійного (CBR) і змінного (VBR) бітрейтів;
  • підтримка вузькосмугового та широкосмугового звуку;
  • підтримка голосу і музики;
  • підтримка стерео і моно;
  • тривалість блоків даних від 2,5 до 60 мілісекунд;
  • підтримка динамічного налаштування бітової швидкості, пропускної здатності та розміру блоків даних;
  • можливість відновлення звукового потоку в разі втрати кадрів (PLC);
  • доступність реалізацій з використанням арифметики з рухомою і фіксованою комами.

Opus продемонстрував високу якість[4] та був визнаний найкращим кодеком при використанні бітрейта 64Kbit, обігнавши таких конкурентів, як Apple HE-AAC, Nero HE-AAC, Vorbis та AAC LC[5]. З теоретичної та технічної точок зору Opus має замінити інші звукові кодеки стиснення з втратами, включно з MP3, Vorbis і Speex і поширеними пропрієтарними кодеками[6], такими як AAC та іншими, як для музики, так і для мовлення[7].

Підтримування[ред. | ред. код]

Формат та алгоритм мають відкриту документацію, референсна реалізація опублікована як вільне програмне забезпечення. Референсна реалізація Xiph називається opus-tools, і складається з окремих кодера та декодера; вона опублікована на умовах BSD-подібної ліцензії. Кодек написаний на C і може бути зібраний для апаратних архітектур як з підтримкою обчислень з рухомою комою, так і без неї. Супровідний інструмент діагностики opusinfo надає докладну технічну інформацію про файли Opus, включаючи інформацію про відповідність стандарту формату бітового потоку. Він заснований на ogginfo з vorbis-tools і тому, на відміну від кодера та декодера, доступний на умовах 2-ї версії ліцензії GPL.

VoIP-програми[ред. | ред. код]

  • Голосовий чат Mumble у версії 1.2.4 підтримує Opus як свій основний кодек[8][9][10][11].
  • Програмні SIP-телефони Phoner і PhonerLite підтримують Opus: підтримка була забезпечена, коли Opus ще перебував на ранніх стадіях розробки.
  • SIP та IAX2 клієнти SFLphone забезпечені підтримкою Opus[12].
  • Інтеграція Opus у клієнти Skype завершена, хоча версія з підтримкою Opus досі не опублікована.
  • Відео конференція TrueConf підтримує Opus[13].
  • Jitsi підтримує Opus разом з VP8-відео[14][15] у релізі v2.0[16].
  • Empathy може використовувати будь-який формат, підтримуваний у GStreamer, включаючи Opus.
  • Line2 замінила свій власний кодек на Opus. Їхній iOS-застосунок став першим, хто реалізував Opus. Застосунок під Android має бути[17].
  • CSipSimple підтримує Opus через додатковий плагін
  • Голосовий чат TeamSpeak 3 підтримує Opus для голосу і музики з версії 3.0.7 і версії клієнта 3.0.10[18][19].
  • Bria X-Lite підтримує Opus.
  • Acrobits Softphone підтримує Opus.

Вебкаркаси і переглядачі[ред. | ред. код]

  • Підтримка Opus обов’язкова для реалізацій WebRTC[20].
  • Mozilla підтримує Opus починаючи з версії 15 своїх Firefox та Thunderbird[21].
  • Залежно від бекенду Opera підтримує відтворення вбудованих файлів Opus[22]. Офіційна підтримка Opus та WebRTC вписані в план розробки[23].
  • Chromium та Google Chrome повністю підтримують Opus з версії 26[24].

Потокове аудіо[ред. | ред. код]

  • Icecast[25]. Існують також стримові Icecast-радіостанції, які працюють у тестовому режимові з вересня 2012 року[26] та січня 2013 року[27].
  • Liquidsoap.
  • Airtime включає усталене підримування Opus з версії 2.4.0[28].

Операційні системи та настільні мультимедійні каркаси[ред. | ред. код]

  • У Debian GNU/Linux, Arch Linux та Ubuntu бібліотеки підтримки і інструменти розробника Opus можуть бути встановлені з перед-конфігурованих репозиторіїв[29].
  • Для Microsoft Windows існують фільтри DirectShow з підтримкою Opus, включаючи DC-Bass Source Mod та LAV Filters[30].
  • У GStreamer інтеграція підтримки Opus повна[31].
  • FFmpeg підтримує кодування та декодування Opus через зовнішню бібліотеку libopus з FFmpeg 1.1[32].

Підтримка у пристроях і вбудованих системах[ред. | ред. код]

  • Rockbox підтримує Opus, починаючи з версії 3.13[33]. Зокрема, підтримуються пристрої iPod від Apple, а також iriver, Archos і Sandisk. На пристроях з ОС Android opus підтримується при встановленні «Rockbox as an Application» (RaaA)[34].
  • Chromecast підтримує декодування Opus.
  • Harris Broadcast Intraplex IP Link підтримує Opus починаючи з версії 2.1.

Програмне забезпечення плеєрів[ред. | ред. код]

  • AIMP підтримує Opus з версії 3.20[35].
  • Amarok підтримує Opus з версії 2.8[36].
  • Audacious
  • Capriccio (музичний плеєр для iPhone) підтримує Opus у безплатній та платних версіях[37].
  • CMUS підтримує Opus з версії 2.5.0
  • foobar2000 має внутрішню підтримку формату починаючи з v1.1.14 beta 1[38].
  • mpv
  • Mpxplay підтримує Opus (використовує DLL для декодування) з v1.60 alpha 2
  • MusicBee має внутрішню підтримку Opus з версії 2.0[39].
  • VLC media player підтримує Opus з версії 2.0.4[40].
  • Winamp підтримує Opus (використовує сторонні DLL)[41].

Інші програми[ред. | ред. код]

Виноски[ред. | ред. код]

  1. Network Working Group (4 липня 2011). RTP Payload Format and File Storage Format for Opus Speech and Audio Codec. Opus codec. IETF. Архів оригіналу за 29 вересня 2012. Процитовано 26 жовтня 2011.
  2. Opus Codec. Архів оригіналу за 21 травня 2016. Процитовано 1 травня 2016.
  3. Публикация RFC ознаменовала первый стабильный релиз свободного аудиокодека Opus. Архів оригіналу за 19 вересня 2012. Процитовано 13 вересня 2012.
  4. Raymond Chen et al. Opus Testing [Архівовано 9 березня 2013 у Wayback Machine.]. IETF 80
  5. Maxwell, Greg (2011). 64kbit/sec stereo multiformat listening test - unofficial results page. Xiph.org Foundation. Архів оригіналу за 29 вересня 2012. Процитовано 19 червня 2011.
  6. Does Opus make all those other lossy codecs obsolete?. OpusFAQ. Архів оригіналу за 3 березня 2016. Процитовано 1 травня 2016.
  7. vorbis.com. Архів оригіналу за 22 квітня 2016. Процитовано 1 травня 2016.
  8. Kommentare zu: Was ich so höre ... Liste freier Musik. Natenom.name. 14 жовтня 2010. Процитовано 12 вересня 2012.{{cite web}}: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)
  9. 1.2.4 - Mumble. Mumble. Архів оригіналу за 9 липня 2014. Процитовано 12 вересня 2012.
  10. Mumble-Server (Murmur) Opus-Codec. Архів оригіналу за 9 липня 2014. Процитовано 27 вересня 2013.
  11. Mumble (Client) Next generation audio codec. Архів оригіналу за 9 липня 2014. Процитовано 27 вересня 2013.
  12. SFLphone — Task #14602: [Codec] Implement opus. Savoir-faire Linux. 13 серпня 2012. Архів оригіналу за 17 грудня 2012. Процитовано 12 вересня 2012.
  13. TrueConf supports Opus. Архів оригіналу за 29 травня 2014. Процитовано 27 вересня 2013.
  14. (SIP Communicator) | GSOC / Opus and CELT support in. Jitsi. Архів оригіналу за 20 травня 2012. Процитовано 12 вересня 2012.
  15. (SIP Communicator) | Development / Roadmap. Jitsi. Архів оригіналу за 27 жовтня 2012. Процитовано 12 вересня 2012.
  16. Архівована копія. Архів оригіналу за 29 квітня 2016. Процитовано 27 вересня 2013.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  17. A new Line2 for iOS experience with improved sound quality. Line2. 18 жовтня 2012. Архів оригіналу за 15 березня 2013. Процитовано 15 березня 2013.
  18. [Beta Channel] TeamSpeak 3 Client 3.0.10. TeamSpeak Forums. Архів оригіналу за 3 жовтня 2013. Процитовано 10 грудня 2012.
  19. [PreRelease] TeamSpeak 3 Server 3.0.7 PreRelease 2. TeamSpeak Forums. Архів оригіналу за 3 жовтня 2013. Процитовано 10 грудня 2012.
  20. Zwei Audio-Codecs für Echtzeit-Kommunikation im Browser. Heise.de. Архів оригіналу за 19 жовтня 2019. Процитовано 12 вересня 2012.
  21. Media formats supported by the HTML audio and video elements. Developer.mozilla.org. 3 вересня 2012. Архів оригіналу за 27 червня 2010. Процитовано 12 вересня 2012.
  22. Why no official mention of Opus support?. My.opera.com. 19 липня 2012. Архів оригіналу за 14 вересня 2013. Процитовано 12 вересня 2012.
  23. Shankland, Stephen (17 серпня 2012). How corporate bickering hobbled better Web audio. CNET News. Архів оригіналу за 19 жовтня 2019. Процитовано 12 вересня 2012.
  24. Архівована копія. Архів оригіналу за 1 липня 2014. Процитовано 27 вересня 2013.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  25. Icecast 2.4 beta release. Lists.xiph.org. Архів оригіналу за 1 вересня 2012. Процитовано 12 вересня 2012.
  26. Absolute Radio, Listen Labs. Opus Streaming Trial. Absolute Radio. Архів оригіналу за 11 вересня 2012. Процитовано 30 жовтня 2012.
  27. Radio Jackie, Listen Now. Opus Stream. Radio Jackie. Архів оригіналу за 12 жовтня 2013. Процитовано 14 травня 2013.
  28. Airtime, Changelog. Airtime/changelog at 2.4.x. Sourcefabric. Архів оригіналу за 17 лютого 2019. Процитовано 01 липня 2013.
  29. Debian Webmaster. Details of package opus-tools. packages.debian.org. Процитовано 7 травня 2013.
  30. lavfilters — Open-Source DirectShow Media Splitter and Decoders. Google Project Hosting. Архів оригіналу за 3 січня 2013. Процитовано 5 жовтня 2012.
  31. GStreamer: news. Gstreamer.freedesktop.org. Архів оригіналу за 5 жовтня 2012. Процитовано 5 жовтня 2012.
  32. Архівована копія. Архів оригіналу за 15 вересня 2013. Процитовано 27 вересня 2013.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  33. Rockbox Contributors (5 березня 2013). Release notes for Rockbox v.3.13. Rockbox. Архів оригіналу за 22 липня 2013. Процитовано 21 березня 2013.
  34. RockboxAsAnApplication2010 < Main < Wiki. Rockbox.org. Архів оригіналу за 21 жовтня 2012. Процитовано 5 жовтня 2012.
  35. AIMP: Home Page. Aimp.ru. Архів оригіналу за 6 жовтня 2012. Процитовано 5 жовтня 2012.
  36. Архівована копія. Архів оригіналу за 24 червня 2014. Процитовано 27 вересня 2013.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  37. Capriccio. Junho Choi, Seungjoon Lee. Архів оригіналу за 12 жовтня 2013. Процитовано 13 серпня 2013.
  38. foobar2000 v1.1.14 beta. Hydrogenaudio Forums. Архів оригіналу за 20 грудня 2013. Процитовано 5 жовтня 2012.
  39. MusicBee. MusicBee Forum. Архів оригіналу за 2 квітня 2015. Процитовано 17 серпня 2013.
  40. VLC 2.0.4 Twoflower. VideoLAN. Архів оригіналу за 2 листопада 2012. Процитовано 19 жовтня 2012.
  41. Winamp. Winamp Forums. Архів оригіналу за 6 червня 2013. Процитовано 4 січня 2013.

Посилання[ред. | ред. код]