Opus (Audioformat) - Opus (audio format)

Opus
Opus logo2.svg
Dateinamenerweiterung
.Opus
Internet-Medientyp audio/ogg
audio/opus (RTP)
Entwickelt von IETF- Codec- Arbeitsgruppe
Erstveröffentlichung 11. September 2012 ( 2012-09-11 )
Formattyp Audio
Enthalten von Ogg , Matroska , WebM , MPEG-TS
Verlängert von SEIDE , CELT
Standard RFC 6716
Offenes Format ? Jawohl
Webseite opus-codec .org
libopus
Libopus 1.3.1 screenshot.png
Entwickler Xiph.Org-Stiftung
Erstveröffentlichung 26. August 2012 ( 2012-08-26 )
Stabile Version
1.3.1 / 12. April 2019 ; vor 2 Jahren ( 2019-04-12 )
Geschrieben in C89
Plattform Plattformübergreifend
Typ Audio-Codec , Referenzimplementierung
Lizenz 3-Klausel BSD-Lizenz
Webseite Opus-Codec-Downloads

Opus ist ein verlustbehaftetes Audioformat Codierung durch die entwickelte Xiph.Org Stiftung und durch die standardisierte Internet Engineering Task Force , zur effizienten Code Sprache und allgemeinen Audio in einem einzigen Format, während der übrigen Low-Latency genug für interaktive Echtzeit - Kommunikation und niedrigen -Komplexität genug für Low-End-Embedded-Prozessoren. Opus ersetzt sowohl Vorbis als auch Speex für neue Anwendungen, und mehrere Blindhörtests haben es als qualitativ höherwertig eingestuft als jedes andere Standard-Audioformat bei jeder gegebenen Bitrate, bis Transparenz erreicht ist, einschließlich MP3 , AAC und HE-AAC .

Opus kombiniert den sprachorientierten LPC- basierten SILK- Algorithmus und den MDCT- basierten CELT- Algorithmus mit geringerer Latenz und schaltet zwischen ihnen um oder kombiniert sie nach Bedarf für maximale Effizienz. Bitrate, Audiobandbreite, Komplexität und Algorithmus können in jedem Frame nahtlos angepasst werden. Opus hat die niedrige algorithmische Verzögerung (standardmäßig 26,5 ms), die für die Verwendung als Teil einer Echtzeit-Kommunikationsverbindung, vernetzter Musikaufführungen und Live- Lippensynchronisation erforderlich ist ; durch Abstriche bei Qualität oder Bitrate kann die Verzögerung auf 5 ms reduziert werden. Seine Verzögerung ist im Vergleich zu konkurrierenden Codecs, die weit über 100 ms benötigen, außergewöhnlich gering, dennoch schneidet Opus mit diesen Formaten in Bezug auf die Qualität pro Bitrate sehr konkurrenzfähig ab.

Als offenes Format, standardisiert durch RFC 6716, steht eine Referenzimplementierung namens libopus unter der New BSD License zur Verfügung . Die Referenz enthält sowohl Festkomma- als auch Gleitkomma- Optimierungen für Low- und High-End-Geräte, mit SIMD- Optimierungen auf Plattformen, die sie unterstützen. Alle bekannten Softwarepatente , die Opus abdecken, werden unter gebührenfreien Bedingungen lizenziert . Opus wird häufig als Voice-over-IP (VoIP)-Codec in Anwendungen wie WhatsApp und der PlayStation 4 verwendet .

Merkmale

Mögliche Kombinationen von Bitrate und Latenz im Vergleich zu anderen Audioformaten

Opus unterstützt Codierung mit konstanter und variabler Bitrate von 6  kbit /s bis 510 kbit/s (oder bis zu 256 kbit/s pro Kanal für Mehrkanalspuren), Framegrößen von 2,5 ms bis 60 ms und fünf Abtastraten von 8 kHz (bei 4 kHz Bandbreite) bis 48 kHz (bei 20 kHz Bandbreite der menschliche Hörbereich ). Ein Opus-Stream kann bis zu 255 Audiokanäle unterstützen und ermöglicht die Kanalkopplung zwischen Kanälen in Zweiergruppen mit Mid-Side-Codierung.

Opus hat eine sehr kurze Latenz (26,5 ms mit den standardmäßigen 20-ms-Frames und der Standardanwendungseinstellung), wodurch es für Echtzeitanwendungen wie Telefonie , Voice over IP und Videokonferenzen geeignet ist ; Forschungen von Xiph führten zum CELT- Codec, der höchste Qualität bei gleichzeitig geringer Verzögerung ermöglicht. In jedem Opus-Stream können Bitrate, Bandbreite und Verzögerung kontinuierlich variiert werden, ohne dass Verzerrungen oder Diskontinuitäten auftreten; sogar das Mischen von Paketen aus verschiedenen Streams führt zu einer sanften Änderung und nicht zu der in anderen Codecs üblichen Verzerrung. Im Gegensatz zu Vorbis benötigt Opus keine großen Codebücher für jede einzelne Datei, was es für kurze Audioclips effizienter und widerstandsfähiger macht.

Als offener Standard werden die Algorithmen offen dokumentiert und eine Referenzimplementierung (inklusive des Quellcodes ) veröffentlicht. Broadcom und die Xiph.Org Foundation besitzen Softwarepatente für einige der CELT-Algorithmen und Skype Technologies /Microsoft besitzen einige für die SILK-Algorithmen; jeder bietet eine gebührenfreie unbefristete Lizenz zur Nutzung mit Opus an und behält sich nur das Recht vor, seine Patente zur Abwehr von Verletzungsklagen Dritter zu verwenden. Qualcomm , Huawei , France Telecom und Ericsson haben behauptet, dass ihre Patente gelten könnten, was Xiphs Rechtsbeistand bestreitet, und keiner hat rechtliche Schritte eingeleitet. Die Opus-Lizenz endet automatisch und rückwirkend für jedes Unternehmen, das versucht, eine Patentklage einzureichen.

Das Spektrogramm von Opus-kodiertem Audio bei steigender Bitrate (~32 bis ~160 kbit/s) zeigt deutlich das Tiefpassverhalten und eine bessere Erhaltung der Bandenergie mit CELT (vergleiche Original, Vorbis, MP3, AAC ).

Das Opus-Format basiert auf einer Kombination aus dem CELT- Format mit voller Bandbreite und dem sprachorientierten SILK- Format, beide stark modifiziert: CELT basiert auf der modifizierten diskreten Kosinustransformation (MDCT), die die meisten Musik-Codecs verwenden, unter Verwendung von CELP- Techniken in der Frequenzbereich für eine bessere Vorhersage, während SILK Linear Predictive Coding (LPC) und einen optionalen Long-Term Prediction Filter verwendet, um Sprache zu modellieren. In Opus wurden beide modifiziert, um mehr Frame-Größen sowie weitere algorithmische Verbesserungen und Integrationen zu unterstützen, wie zum Beispiel die Verwendung des Range-Encoders von CELT für beide Typen. Um den Overhead bei niedrigen Bitraten zu minimieren, wenn die Latenz nicht so dringend ist, bietet SILK Unterstützung für das Zusammenpacken mehrerer 20-ms-Frames, die gemeinsame Nutzung von Kontext und Headern; SILK ermöglicht auch Low Bit-Rate Redundancy (LBRR)-Frames, was eine Wiederherstellung von Paketverlusten mit geringer Qualität ermöglicht. CELT umfasst sowohl spektrale Replikation als auch Rauscherzeugung, ähnlich wie SBR und PNS von AAC, und kann weiter Bits sparen, indem alle Harmonischen von tonalen Klängen vollständig herausgefiltert und dann im Decoder repliziert werden. Eine bessere Tonerkennung ist ein fortlaufendes Projekt zur Verbesserung der Qualität.

Das Format hat drei verschiedene Modi: Sprache, Hybrid und CELT. Beim Komprimieren von Sprache wird SILK für Audiofrequenzen bis 8 kHz verwendet. Wenn eine größere Bandbreite gewünscht wird, verwendet ein Hybridmodus CELT, um den Frequenzbereich über 8 kHz zu codieren. Der dritte Modus ist pure-CELT, der für allgemeines Audio entwickelt wurde. SILK ist von Natur aus VBR und kann kein Bitratenziel erreichen, während CELT immer auf eine bestimmte Anzahl von Bytes codiert werden kann, wodurch der Hybrid- und CELT-Modus aktiviert wird, wenn CBR erforderlich ist.

SILK unterstützt die Framegrößen 10, 20, 40 und 60 ms. CELT unterstützt Framegrößen von 2,5, 5, 10 und 20 ms. Somit unterstützt der Hybridmodus nur Framegrößen von 10 und 20 ms; Frames, die kürzer als 10 ms sind, verwenden immer den CELT-Modus. Ein typisches Opus-Paket enthält einen einzelnen Frame, aber Pakete von bis zu 120 ms werden durch Kombinieren mehrerer Frames pro Paket erzeugt. Opus kann auf Paketbasis transparent zwischen Modi, Framegrößen, Bandbreiten und Kanalzahlen wechseln, obwohl bestimmte Anwendungen dies möglicherweise einschränken.

Die Referenzimplementierung ist in C geschrieben und kompiliert auf Hardwarearchitekturen mit oder ohne Gleitkommaeinheit , obwohl Gleitkomma derzeit für die Erkennung der Audiobandbreite (dynamisches Umschalten zwischen SILK, CELT und Hybridcodierung) und die meisten Geschwindigkeitsoptimierungen erforderlich ist.

Behälter

Opus-Pakete sind nicht selbstbegrenzend, sondern für die Verwendung in einem Container konzipiert, der dem Decoder die Länge jedes Pakets liefert. Opus wurde ursprünglich für die Kapselung in Ogg- Containern angegeben, angegeben als audio/ogg; codecs=opus, und für Ogg Opus-Dateien wird die .opusDateinamenerweiterung empfohlen. Opus-Streams werden auch in Matroska , WebM , MPEG-TS und MP4 unterstützt .

Alternativ kann jedes Opus-Paket in ein Netzwerkpaket verpackt werden, das die Paketlänge liefert. Opus-Pakete können über ein geordnetes Datagramm-Protokoll wie RTP gesendet werden .

Ein optionales selbstbegrenztes Paketformat ist in einem Anhang zur Spezifikation definiert. Dies verwendet ein oder zwei zusätzliche Bytes pro Paket, um die Paketlänge zu codieren, sodass Pakete ohne Kapselung verkettet werden können.

Bandbreite und Abtastrate

Opus lässt beim Encoding folgende Bandbreiten zu. Die Opus-Komprimierung hängt nicht von der Eingangs-Samplerate ab; Zeitstempel werden in 48-kHz-Einheiten gemessen, auch wenn nicht die volle Bandbreite genutzt wird. Ebenso kann die Ausgabeabtastrate frei gewählt werden. Audio kann beispielsweise mit 16 kHz eingegeben werden, jedoch so eingestellt werden, dass nur Schmalband-Audio kodiert wird.

Abkürzung Audio -
Bandbreite
Effektive
Abtastrate
Hinweis (schmalbandig) 04 kHz 08 kHz
MB (Mittelband) 06 kHz 12 kHz
WB (Breitband) 08 kHz 16 kHz
SWB (Superbreitband) 12 kHz 24 kHz
FB (Vollband) 20 kHz 48 kHz

Geschichte

Opus wurde für die Standardisierung eines neuen Audioformats bei der IETF vorgeschlagen, das schließlich von der Codec- Arbeitsgruppe akzeptiert und genehmigt wurde . Es basiert auf zwei zunächst getrennten Standardvorschlägen der Xiph.Org Foundation und Skype Technologies SA (jetzt Microsoft ). Die Hauptentwickler sind Jean-Marc Valin (Xiph.Org, Octasic, Mozilla Corporation ), Koen Vos (Skype) und Timothy B. Terriberry (Xiph.Org, Mozilla Corporation). Beteiligt waren unter anderem Juin-Hwey (Raymond) Chen ( Broadcom ), Gregory Maxwell (Xiph.Org, Wikimedia ) und Christopher Montgomery (Xiph.Org).

Die Entwicklung des CELT-Teils des Formats geht auf Überlegungen zu einem Nachfolger für Vorbis unter dem Arbeitsnamen Ghost zurück . Als neuerer Sprachcodec der Xiph.Org Foundation ersetzt Opus Xiphs älteren Sprachcodec Speex , ein früheres Projekt von Jean-Marc Valin. An CELT wird seit November 2007 gearbeitet.

Der SILK-Teil wird seit Januar 2007 bei Skype als Nachfolger von SVOPC entwickelt , einem internen Projekt, um das Unternehmen unabhängig von Drittanbieter-Codecs wie iSAC und iLBC und entsprechenden Lizenzzahlungen zu machen.

Im März 2009 schlug Skype die Entwicklung und Standardisierung eines Breitband-Audioformats innerhalb der IETF vor. Fast ein Jahr verging mit vielen Diskussionen über die Bildung einer entsprechenden Arbeitsgruppe . Vertreter mehrerer Unternehmen, die an der Standardisierung patentbelasteter konkurrierender Formate beteiligt waren, darunter Polycom und Ericsson – die Schöpfer und Lizenzgeber von G.719 – sowie France Télécom , Huawei und die Orange Labs (Abteilung von France Télécom), die an der Erstellung von G.718 beteiligt waren, Einwände gegen den Beginn des Standardisierungsprozesses für ein lizenzfreies Format. (Einige der Einsprechenden würden später Patentrechte geltend machen, die Xiph verwarf; siehe oben.) Die Arbeitsgruppe wurde schließlich im Februar 2010 gebildet, und sogar die entsprechende Studiengruppe 16 der ITU-T sagte zu, ihre Arbeit zu unterstützen.

Im Juli 2010 wurde ein Prototyp eines Hybridformats vorgestellt, das die beiden vorgeschlagenen Formatkandidaten SILK und CELT kombiniert. Im September 2010 wurde Opus als Vorschlag zur Standardisierung bei der IETF eingereicht. Kurzzeitig firmierte das Format unter dem Namen Harmony, bevor es im Oktober 2010 seinen heutigen Namen erhielt. Anfang Februar 2011 wurde das Bitstream- Format vorbehaltlich der letzten Änderungen vorläufig eingefroren. Ende Juli 2011 wurde Jean-Marc Valin von der Mozilla Corporation eingestellt , um die Arbeit an Opus fortzusetzen.

Abschluss (1.0)

Im November 2011 veröffentlichte die Arbeitsgruppe den letzten Aufruf zur Änderung des Bitstream-Formats. Der Bitstream ist seit dem 8. Januar 2012 eingefroren. Am 2. Juli 2012 wurde Opus von der IETF zur Standardisierung zugelassen. Die Referenzsoftware trat am 8. August 2012 in den Release Candidate-Status ein. Die endgültige Spezifikation wurde am 10. September 2012 als RFC 6716 veröffentlicht. Am Tag darauf wurden die Versionen 1.0 und 1.0.1 der Referenzimplementierung libopus freigegeben.

Am 11. Juli 2013 brachte libopus 1.0.3 Fehlerbehebungen und eine neue Surround-Sound- API, die die Kanalzuweisung und -qualität insbesondere für LFE verbessert .

1.1

Am 5. Dezember 2013 wurde libopus 1.1 veröffentlicht, das allgemeine Geschwindigkeitsverbesserungen und signifikante Verbesserungen der Encoder-Qualität beinhaltet: Die Tonalitätsschätzung erhöht die Bitrate und Qualität für zuvor problematische Samples wie Cembalo; automatische Sprach-/Musikerkennung verbessert die Qualität bei gemischtem Audio; Mid-Side-Stereo reduziert den Bitratenbedarf vieler Songs; Bandpräzisionsanhebung für verbesserte Transienten; und Gleichstromunterdrückung unter 3 Hz. Zwei neue VBR- Modi wurden hinzugefügt: Uneingeschränkt für eine konsistentere Qualität und temporärer VBR, der lautere Frames verstärkt und die Qualität allgemein verbessert.

libopus 1.1.1 wurde am 26. November 2015 und 1.1.2 am 12. Januar 2016 veröffentlicht, beide fügen Geschwindigkeitsoptimierungen und Fehlerbehebungen hinzu. Am 15. Juli 2016 wurde die Version 1.1.3 veröffentlicht und enthält Fehlerbehebungen, Optimierungen, Dokumentationsaktualisierungen und experimentelle Arbeiten von Ambisonics .

1,2

libopus 1.2 Beta wurde am 24. Mai 2017 veröffentlicht. libopus 1.2 wurde am 20. Juni 2017 veröffentlicht. Verbesserungen in 1.2 ermöglichen es, Vollbandmusik mit Bitraten von nur 32 kbit/s und Breitbandsprache mit nur 12 kbit/s zu erstellen. S.

libopus 1.2 bietet optionale Unterstützung für die Decoder-Spezifikationsänderungen, die in Entwürfen von RFC 8251 vorgenommen wurden, wodurch die Ausgabequalität von solchen Streams mit niedriger Rate verbessert wird.

1.3

libopus 1.3 wurde am 18. Oktober 2018 veröffentlicht. Die Hauptversion von Opus 1.3 bringt erneut Qualitätsverbesserungen, neue Funktionen und Fehlerbehebungen. Zu den Änderungen seit 1.2.x gehören:

  • Verbesserungen bei der Sprachaktivitätserkennung (VAD) und der Sprach-/Musikklassifizierung mithilfe eines rekurrenten neuronalen Netzes (RNN)
  • Unterstützung für Ambisonics-Codierung mit den Channel-Mapping-Familien 2 und 3
  • Verbesserungen bei der Stereosprachcodierung bei niedriger Bitrate
  • Breitband-Sprachkodierung bis zu 9 kb/s verwenden (Mittelband wird nicht mehr verwendet)
  • Ermöglicht die Verwendung von SILK bis hin zu Bitraten von etwa 5 kb/s
  • Geringfügige Qualitätsverbesserung bei Tönen
  • Aktivieren der Spezifikationskorrekturen in RFC 8251 standardmäßig
  • Sicherheits-/Härtungsverbesserungen

Bemerkenswerte Fehlerbehebungen umfassen:

  • Korrekturen an der CELT- SPS
  • Fehlerbehebungen bei der Bandbreitenerkennung

1.3.1

libopus 1.3.1 wurde am 12. April 2019 veröffentlicht. Diese Nebenversion von Opus 1.3.1 behebt ein Problem bei der Analyse von Dateien mit digitaler Stille (alle Nullen), insbesondere bei x87- Builds (betrifft hauptsächlich 32-Bit-Builds). Es enthält auch zwei neue Funktionen:

  • Eine neue OPUS_GET_IN_DTX-Abfrage, um zu wissen, ob sich der Encoder im DTX-Modus befindet (letzter Frame war entweder ein Comfort-Noise-Frame oder überhaupt nicht codiert)
  • Ein neues (und immer noch experimentelles) CMake- basiertes Build-System, das schließlich das VS2015-Build-System ersetzen soll (das Autotools-System wird bleiben)

Qualitätsvergleich und Leistung mit geringer Latenz

Vergleich der Codierungseffizienz zwischen Opus und anderen gängigen Audioformaten

Opus schneidet sowohl bei niedrigen als auch bei hohen Bitraten gut ab .

In Hörtests um 64 kbit/s zeigt Opus eine überlegene Qualität im Vergleich zu HE-AAC- Codecs, die bisher aufgrund ihrer patentierten Spectral Band Replication (SBR)-Technologie dominant waren . In Hörtests um 96 kbit/s zeigt Opus eine etwas bessere Qualität im Vergleich zu AAC und eine deutlich bessere Qualität im Vergleich zu Vorbis und MP3 .

Opus hat eine sehr geringe algorithmische Verzögerung, eine Notwendigkeit für den Einsatz als Teil einer Kommunikationsverbindung mit geringer Audio-Latenz , die natürliche Gespräche, vernetzte Musikdarbietungen oder Lippensynchronisation bei Live-Events ermöglichen kann. Gesamt algorithmische Verzögerung für ein Audioformat ist die Summe der Verzögerungen , die unabhängig in dem Codierer und den Decoder eines Live - Audio - Stream anfallen muss die Verarbeitungsgeschwindigkeit und die Übertragungsgeschwindigkeit, wie Puffer Audioabtastwerte in Blöcke oder Rahmen, so dass für Fenster überlappen und möglicherweise ein rauschformendes Look-Ahead in einem Decoder und beliebige andere Formen von Look-Ahead oder für einen MP3-Codierer die Verwendung des Bit-Reservoirs .

Die unidirektionale Gesamtlatenz unter 150 ms ist das bevorzugte Ziel der meisten VoIP- Systeme, um eine natürliche Konversation mit wenig durch Verzögerungen beeinflusstem Abbiegen zu ermöglichen. Musiker fühlen sich in der Regel mit einer Audiolatenz von bis zu etwa 30 ms in der Zeit, was ungefähr der Fusionszeit des Haas-Effekts entspricht , obwohl auch die Anpassung der Wiedergabeverzögerung des eigenen Instruments jedes Benutzers an die Round-Trip-Latenz hilfreich sein kann. Für die Lippensynchronisation wird empfohlen, dass etwa 45–100 ms Audiolatenz akzeptabel sind.

Opus erlaubt den Kompromiss bei reduzierter Qualität oder erhöhter Bitrate, um eine noch kleinere algorithmische Verzögerung (mindestens 5,0 ms) zu erreichen. Während der Standard-Opus-Frame der Referenzimplementierung 20,0 ms lang ist, benötigt die SILK-Schicht weitere 5,0 ms Lookahead plus 1,5 ms für das Resampling, was eine Standardverzögerung von 26,5 ms ergibt. Wenn die CELT-Schicht aktiv ist, benötigt sie 2,5 ms Lookahead für die Fensterüberlappung, zu der standardmäßig eine Anpassungsverzögerung von 4,0 ms hinzugefügt wird, um mit der SILK-Schicht zu synchronisieren. Wenn der Codierer im speziellen eingeschränkten Niedrigverzögerungsmodus instanziiert wird , wird die Anpassungsverzögerung von 4,0 ms entfernt und die SILK-Schicht deaktiviert, wodurch die minimale algorithmische Verzögerung von 5,0 ms ermöglicht wird.

Unterstützung

Das Format und die Algorithmen sind offen dokumentiert und die Referenzimplementierung wird als freie Software veröffentlicht . Die Referenzimplementierung von Xiph heißt libopus und ein Paket namens opus-tools bietet Befehlszeilen-Encoder- und Decoder-Dienstprogramme. Es wird unter den Bedingungen einer BSD-ähnlichen Lizenz veröffentlicht . Es ist in C geschrieben und kann für Hardwarearchitekturen mit oder ohne Gleitkommaeinheit kompiliert werden . Das begleitende Diagnosetool opusinfo meldet detaillierte technische Informationen zu Opus-Dateien, einschließlich Informationen zur Standardkonformität des Bitstream-Formats. Es basiert auf ogginfo aus den vorbis-tools und ist daher – anders als Encoder und Decoder – unter den Bedingungen der Version 2 der GPL verfügbar .

Implementierungen

RFC  6716 enthält einen vollständigen Quellcode für die in C geschriebene Referenzimplementierung. RFC 8251 enthält Errata.

Das FFmpeg- Projekt enthält Encoder- und Decoderimplementierungen, die nicht aus der Referenzbibliothek stammen.

Die libopus-Referenzbibliothek wurde im Rahmen eines Projekts namens Concentus sowohl auf C# als auch auf Java portiert . Diese Ports opfern die Leistung, um sich leicht in plattformübergreifende Anwendungen integrieren zu lassen.

Software

Digital Radio Mondiale  – ein digitales Radioformat für AM-Frequenzen – kann Opus-Audio (wenn auch nicht im offiziellen Standard anerkannt) mit dem softwaredefinierten Radio von Dream senden und empfangen .

Die Wikimedia Foundation hat einen kostenlosen Open-Source-Online- JavaScript- Opus-Encoder für Browser gesponsert, die die erforderlichen HTML5- Funktionen unterstützen.

Seit 2016 verwendet WhatsApp Opus als Audiodateiformat.

Das Signal wurde Anfang 2017 von Speex auf Opus Audiocodec umgestellt, um eine bessere Audioqualität zu erzielen.

Betriebssystemunterstützung

Die meisten Endbenutzer-Software basiert auf Multimedia-Frameworks, die vom Betriebssystem bereitgestellt werden . Die native Opus-Codec-Unterstützung ist in den meisten großen Multimedia-Frameworks für Unix-ähnliche Betriebssysteme implementiert, einschließlich GStreamer- , FFmpeg- und Libav- Bibliotheken.

Google hat die native Unterstützung für die Opus-Audiowiedergabe in Android 5.0 "Lollipop" hinzugefügt . Es war jedoch auf Opus-Audio beschränkt, das in Matroska- Containern wie .mkvund .webm-Dateien gekapselt war . Android 7.0 "Nougat" führte die Unterstützung für Opus-Audio ein, das in .oggContainern gekapselt ist . Android 10 hat endlich native Unterstützung für .opus Erweiterungen hinzugefügt .

Aufgrund der zusätzlichen WebRTC- Unterstützung in der WebKit- Rendering-Engine von Apple bieten macOS High Sierra und iOS 11 native Wiedergabeunterstützung für Opus-Audio, das in Core Audio Format- Containern gekapselt ist .

Unter Windows 10 , Version 1607 , bietet Microsoft native Unterstützung für Opus-Audio, das in Matroska- und WebM- Dateien gekapselt ist . In Version 1709 wurde die Unterstützung für in .oggContainern gekapseltes Opus-Audio durch ein vorinstalliertes Add-On namens Web Media Extensions bereitgestellt. Unter Windows 10 Version 1903 wurde die native Unterstützung für den .opusContainer hinzugefügt. Unter Windows 8.1 und älter sind Decoder von Drittanbietern wie LAV-Filter verfügbar, um das Format zu unterstützen.

Opus-Unterstützung durch verschiedene Betriebssysteme
Fenster Mac OS Linux Android iOS
Codec-Unterstützung Ja
Teilweise : Win 10 v1607, 1709, 1809
Vollständig : Win 10 v1903
Ja
(eingeschränkte Containerunterstützung)
Jawohl Ja
Teilweise : Android 5, 6, 7
Voll : Android 10
Ja
(eingeschränkte Containerunterstützung)
Containerunterstützung Unter Windows 10 Anniversary Update (1607) :
WebM (.webm wird nicht erkannt; erfordert Pseudo-Erweiterung)
Matroska (.mka, .mkv)

Unter Windows 10 Fall Creators Update (1709) mit Add-On für Web Media Extensions :
Ogg (.opus wird nicht erkannt; erfordert Pseudo-Erweiterung)

Unter Windows 10. Oktober 2018 Update (1809) :
WebM (.webm wird offiziell anerkannt)

Unter Windows 10. Mai 2019 Update (1903) :

Ogg (.opus ist offiziell anerkannt)

Unter macOS High Sierra :
Core-Audioformat (.caf)
Ogg (.opus)
WebM (.webm)
Matroska (.mka, .mkv)
MPEG-TS (.ts)
Auf Android 5 :
WebM (.webm)
Matroska (.mka, .mkv)

Auf Android 7 :
Ogg (.opus wird nicht erkannt; erfordert Pseudo-Erweiterung)

Unter Android 10 :

Ogg (.opus ist offiziell anerkannt)

Unter iOS 11 :
Core-Audioformat (.caf)
Anmerkungen Unter Windows 10 :
- Beim Jubiläums-Update (1607) ist eingeschränkter Support in Microsoft Edge (nur über MSE ) und Apps für die universelle Windows-Plattform verfügbar . Windows Media Player unterstützt Ogg nicht; nur WebM und Matroska.
- Im April 2018 Update (1803) mit vorinstallierten Web Media Extensions unterstützt Microsoft Edge (EdgeHTML 17) Opus-Audio eingebettet in <audio>-Tags.
- Bis zum Update Oktober 2018 (1809) wurde die Dateinamenerweiterung .opus nicht erkannt. (ersetzen Sie durch eine Pseudo-Dateierweiterung wie .m4a)

Unter Windows 8.1 und älter :
- Erfordert die Installation eines Multimedia-Frameworks eines Drittanbieters, LAV Filters .

Nur Opus-Audio in einem CAF-Container wird unterstützt. - Bis Android 9 wurde die Dateinamenerweiterung .opus nicht erkannt (ersetzen durch eine Pseudo-Dateierweiterung wie .ogg oder .m4a) Nur Opus-Audio in einem CAF-Container wird unterstützt.

Unterstützung für Mediaplayer

Während die Unterstützung in Multimedia-Frameworks automatisch die Opus-Unterstützung in Software ermöglicht, die auf solchen Frameworks aufbaut, haben mehrere Anwendungsentwickler zusätzliche Anstrengungen unternommen, um das Opus-Audioformat in ihrer Software zu unterstützen. Diese Unterstützung wurde AIMP , Amarok , cmus , Music Player Daemon , foobar2000 , Mpxplay , MusicBee , SMplayer , VLC Media Player , Winamp und Xmplay Audio Playern hinzugefügt . Icecast , Airtime (Software) Audio-Streaming-Software; und Asunder Audio-CD-Ripper, CDBurnerXP CD-Brenner, FFmpeg, Libav und MediaCoder Mediencodierungstools. Streaming Icecast Radio-Testversionen sind seit September 2012 und Januar 2013 live. SteamOS verwendet Opus oder Vorbis für das Audio-Streaming.

Browser-Unterstützung

Opus-Unterstützung ist für WebRTC- Implementierungen obligatorisch . Opus wird in Mozilla Firefox , Chromium und Google Chrome , Blink- basiertem Opera sowie allen Browsern für Unix-ähnliche Systeme unterstützt, die auf GStreamer zur Unterstützung von Multimediaformaten angewiesen sind . Obwohl Internet Explorer keine native Opus-Wiedergabe bietet, ist die Unterstützung für das Format zusammen mit VP9 in den Edge-Browser integriert , um eine vollständige WebM- Unterstützung zu gewährleisten . Safari unterstützt Opus ab iOS 11 und macOS High Sierra.

VoIP-Unterstützung

Aufgrund seiner Fähigkeiten hat Opus schon früh das Interesse von Voice-over-IP (VoIP)-Softwareanbietern geweckt. Mehrere SIP- Clients, darunter Acrobits Softphone , CSipSimple (über zusätzliches Plug-In), Empathy (über GStreamer), Jitsi , Tuenti , Line2 (derzeit nur auf iOS ), Linphone , Phoner und PhonerLite , SFLphone , Telefon , Mumble , Discord und TeamSpeak 3 Voice-Chat-Software unterstützt auch Opus. TrueConf unterstützt Opus in seinen VoIP-Produkten. Asterisk hatte aus rechtlichen Gründen keine integrierte Opus-Unterstützung, aber ein Drittanbieter-Patch war zum Download verfügbar und offizieller Support über einen binären Blob wurde im September 2016 hinzugefügt. Die Tox P2P-Videokonferenzsoftware verwendet ausschließlich Opus. Die verteilte Messaging-App für Kleinanzeigen sendet in ihrer VoIP-Implementierung rohe Opus-Frames innerhalb des TLS-Sockets.

Opus wird häufig als Sprachcodec in WhatsApp verwendet , das weltweit über 1,5  Milliarden Nutzer hat. WhatsApp verwendet Opus mit Abtastraten von 8-16 kHz , mit dem Real-time Transport Protocol (RTP). Die PlayStation 4- Videospielkonsole verwendet auch den CELT/Opus-Codec für ihren PlayStation Network- Systemparty-Chat. Es wird auch in der Zoom-Videokonferenz-App verwendet.

Hardware

Seit Version 3.13 ermöglicht Rockbox die Wiedergabe von Opus auf unterstützten tragbaren Mediaplayern , darunter einige Produkte der iPod- Serie von Apple , Geräten von iriver , Archos und Sandisk sowie auf Android- Geräten mit "Rockbox als Anwendung". Alle neueren Grandstream IP-Telefone unterstützen Opus Audio sowohl für die Kodierung als auch für die Dekodierung. OBihai OBi1062, OBi1032 und OBi1022 IP-Telefone unterstützen alle Opus. Neuere kabellose BlueSound-Lautsprecher unterstützen die Opus-Wiedergabe. Geräte mit Hiby OS, wie der Hiby R3, sind in der Lage, Opus-Dateien nativ zu decodieren.

Viele Broadcast-IP-Codecs enthalten Opus, wie die von Comrex , GatesAir und Tieline hergestellten .

Anmerkungen

Verweise

Zitate

Quellen

Externe Links

Siehe auch