Opus es un formato de codificación de audio con pérdida desarrollado por la Fundación Xiph.Org y estandarizado por el Grupo de Trabajo de Ingeniería de Internet , diseñado para codificar de manera eficiente el habla y el audio general en un solo formato, al mismo tiempo que mantiene una latencia lo suficientemente baja para la comunicación interactiva en tiempo real y una complejidad lo suficientemente baja para procesadores integrados de gama baja. [4] [5] Opus reemplaza tanto a Vorbis como a Speex para nuevas aplicaciones, y varias pruebas de escucha a ciegas lo han clasificado como de mayor calidad que cualquier otro formato de audio estándar en cualquier tasa de bits determinada hasta que se alcanza la transparencia , incluidos MP3 , AAC y HE-AAC . [6] [7]
Opus combina el algoritmo SILK basado en LPC orientado al habla y el algoritmo CELT basado en MDCT de menor latencia , alternando entre ellos o combinándolos según sea necesario para lograr la máxima eficiencia. [4] La tasa de bits, el ancho de banda de audio, la complejidad y el algoritmo se pueden ajustar sin problemas en cada cuadro. Opus tiene el bajo retraso algorítmico (26,5 ms por defecto) [8] necesario para su uso como parte de un enlace de comunicación en tiempo real, presentaciones musicales en red y sincronización de labios en vivo ; al intercambiar calidad o tasa de bits, el retraso se puede reducir a 5 ms. Su retraso es excepcionalmente bajo en comparación con los códecs de la competencia, que requieren más de 100 ms, pero Opus tiene un rendimiento muy competitivo con estos formatos en términos de calidad por tasa de bits. [9]
Como formato abierto estandarizado a través de RFC 6716, una implementación de referencia llamada libopus está disponible bajo la Licencia New BSD . La referencia tiene optimizaciones de punto fijo y de punto flotante para dispositivos de gama baja y alta, con optimizaciones SIMD en plataformas que las admiten. Todas las patentes de software conocidas que cubren Opus están licenciadas bajo términos libres de regalías . [10] Opus se usa ampliamente como un códec de voz sobre IP (VoIP) en aplicaciones como Discord , [11] WhatsApp , [12] [13] [14] y PlayStation 4. [ 15]
Opus admite codificación de tasa de bits constante y variable de 6 kbit /s a 510 kbit/s (o hasta 256 kbit/s por canal para pistas multicanal), tamaños de cuadro de 2,5 ms a 60 ms y cinco frecuencias de muestreo de 8 kHz (con un ancho de banda de 4 kHz) a 48 kHz (con un ancho de banda de 20 kHz, el rango de audición humana ). Una secuencia Opus puede admitir hasta 255 canales de audio y permite el acoplamiento de canales entre canales en grupos de dos mediante codificación mid-side.
Opus tiene una latencia muy corta (26,5 ms utilizando los cuadros predeterminados de 20 ms y la configuración de aplicación predeterminada), lo que lo hace adecuado para aplicaciones en tiempo real como telefonía , voz sobre IP y videoconferencia ; la investigación de Xiph condujo al códec CELT , que permite la más alta calidad manteniendo un bajo retraso. En cualquier flujo de Opus, la tasa de bits, el ancho de banda y el retraso se pueden variar continuamente sin introducir ninguna distorsión o discontinuidad; incluso mezclar paquetes de diferentes flujos provocará un cambio suave, en lugar de la distorsión común en otros códecs. A diferencia de Vorbis, Opus no requiere grandes libros de códigos para cada archivo individual, lo que lo hace más eficiente para clips cortos de audio y más resistente.
El formato Opus se basa en una combinación del formato CELT de ancho de banda completo y el formato SILK orientado al habla , ambos muy modificados: CELT se basa en la transformada de coseno discreta modificada (MDCT) que utilizan la mayoría de los códecs de música, utilizando técnicas CELP en el dominio de la frecuencia para una mejor predicción, mientras que SILK utiliza codificación predictiva lineal (LPC) y un filtro de predicción a largo plazo opcional para modelar el habla. En Opus, ambos se modificaron para admitir más tamaños de trama, así como otras mejoras algorítmicas e integración, como el uso del codificador de rango de CELT para ambos tipos. Para minimizar la sobrecarga a bajas tasas de bits, si la latencia no es tan apremiante, SILK tiene soporte para empaquetar múltiples tramas de 20 ms juntas, compartiendo contexto y encabezados; SILK también permite tramas de redundancia de baja tasa de bits (LBRR), lo que permite una recuperación de pérdida de paquetes de baja calidad. CELT incluye tanto replicación espectral como generación de ruido, similar a SBR y PNS de AAC, y puede ahorrar aún más bits filtrando por completo todos los armónicos de los sonidos tonales y luego replicándolos en el decodificador. [16] Una mejor detección de tonos es un proyecto en curso para mejorar la calidad.
El formato tiene tres modos diferentes: voz, híbrido y CELT. Al comprimir voz, SILK se utiliza para frecuencias de audio de hasta 8 kHz. Si se desea un ancho de banda más amplio, un modo híbrido utiliza CELT para codificar el rango de frecuencia por encima de los 8 kHz. El tercer modo es CELT puro, diseñado para audio general. SILK es inherentemente VBR y no puede alcanzar un objetivo de tasa de bits, mientras que CELT siempre se puede codificar a cualquier número específico de bytes, lo que permite el modo híbrido y CELT cuando se requiere CBR.
SILK admite tamaños de trama de 10, 20, 40 y 60 ms. CELT admite tamaños de trama de 2,5, 5, 10 y 20 ms. Por lo tanto, el modo híbrido solo admite tamaños de trama de 10 y 20 ms; las tramas de menos de 10 ms siempre utilizarán el modo CELT. Un paquete Opus típico contiene una sola trama, pero se producen paquetes de hasta 120 ms combinando varias tramas por paquete. Opus puede cambiar de forma transparente entre modos, tamaños de trama, anchos de banda y recuentos de canales por paquete, aunque algunas aplicaciones específicas pueden optar por limitar esto.
La implementación de referencia está escrita en C y se compila en arquitecturas de hardware con o sin una unidad de punto flotante , aunque actualmente se requiere punto flotante para la detección de ancho de banda de audio (conmutación dinámica entre SILK, CELT y codificación híbrida) y la mayoría de las optimizaciones de velocidad.
Los paquetes Opus no se autodelimitan, sino que están diseñados para usarse dentro de un contenedor de algún tipo que proporciona al decodificador la longitud de cada paquete. Opus se especificó originalmente para la encapsulación en contenedores Ogg , especificados como audio/ogg; codecs=opus
, y para los archivos Opus Ogg .opus
se recomienda la extensión del nombre de archivo. [2] Los flujos Opus también son compatibles con Matroska , [17] WebM , [18] MPEG-TS , [19] y MP4 . [20]
Como alternativa, cada paquete Opus puede envolverse en un paquete de red que proporciona la longitud del paquete. Los paquetes Opus pueden enviarse a través de un protocolo de datagrama ordenado, como RTP . [21]
En un apéndice de la especificación se define un formato de paquete autodelimitado opcional. [22] Este utiliza uno o dos bytes adicionales por paquete para codificar la longitud del paquete, lo que permite concatenar los paquetes sin encapsulación.
Opus permite los siguientes anchos de banda durante la codificación. La compresión Opus no depende de la frecuencia de muestreo de entrada; las marcas de tiempo se miden en unidades de 48 kHz incluso si no se utiliza el ancho de banda completo. Asimismo, la frecuencia de muestreo de salida se puede elegir libremente. Por ejemplo, el audio se puede introducir a 16 kHz pero se puede configurar para codificar solo audio de banda estrecha. [23]
Opus fue propuesto para la estandarización de un nuevo formato de audio en la IETF, que finalmente fue aceptado y concedido por el grupo de trabajo de códecs . Se basa en dos propuestas de estándares inicialmente separadas de la Fundación Xiph.Org y Skype Technologies SA (ahora Microsoft ). Sus principales desarrolladores son Jean-Marc Valin (Xiph.Org, Octasic, Mozilla Corporation , Amazon), Koen Vos (Skype) y Timothy B. Terriberry (Xiph.Org, Mozilla Corporation, Amazon). Entre otros, también participaron Juin-Hwey (Raymond) Chen ( Broadcom ), Gregory Maxwell (Xiph.Org, Wikimedia ) y Chris Montgomery (Xiph.Org).
El desarrollo de la parte CELT del formato se remonta a la idea de un sucesor para Vorbis bajo el nombre provisional Ghost . Como códec de voz más reciente de la Fundación Xiph.Org, Opus reemplaza al códec de voz más antiguo de Xiph , Speex , un proyecto anterior de Jean-Marc Valin. Se ha trabajado en CELT desde noviembre de 2007.
La parte SILK ha estado en desarrollo en Skype desde enero de 2007 como sucesora de SVOPC , un proyecto interno para hacer que la empresa sea independiente de los códecs de terceros como iSAC e iLBC y los respectivos pagos de licencias.
En marzo de 2009, Skype sugirió el desarrollo y la estandarización de un formato de audio de banda ancha dentro del IETF. Pasó casi un año con mucho debate sobre la formación de un grupo de trabajo apropiado . [24] Los representantes de varias empresas que participaban en la estandarización de un formato competidor sujeto a patentes, incluidas Polycom y Ericsson (los creadores y licenciatarios de G.719 ), así como France Télécom , Huawei y Orange Labs (departamento de France Télécom), que participaron en la creación de G.718 , manifestaron objeciones contra el inicio del proceso de estandarización para un formato libre de regalías. (Algunos de los oponentes reclamarían más tarde derechos de patente que Xiph desestimó; véase más abajo). [25] El grupo de trabajo finalmente se formó en febrero de 2010, e incluso el correspondiente Grupo de Estudio 16 de la UIT-T se comprometió a apoyar su trabajo.
En julio de 2010 se presentó un prototipo de formato híbrido que combinaba los dos formatos propuestos, SILK y CELT. En septiembre de 2010, Opus se presentó a la IETF como propuesta de estandarización. Durante un breve período, el formato se denominó Harmony antes de recibir su nombre actual en octubre de 2010. [26] A principios de febrero de 2011, el formato bitstream se congeló provisionalmente, sujeto a los últimos cambios. [27] A finales de julio de 2011, Jean-Marc Valin fue contratado por Mozilla Corporation para seguir trabajando en Opus. [28]
En noviembre de 2011, el grupo de trabajo emitió la última convocatoria de cambios en el formato de flujo de bits. El flujo de bits ha estado congelado desde el 8 de enero de 2012. [29] El 2 de julio de 2012, Opus fue aprobado por la IETF para su estandarización. [30] El software de referencia entró en estado de candidato de lanzamiento el 8 de agosto de 2012. [31] La especificación final se publicó como RFC 6716 el 10 de septiembre de 2012. [32] [33] y las versiones 1.0 y 1.0.1 de la implementación de referencia libopus se publicaron al día siguiente.
El 11 de julio de 2013, libopus 1.0.3 trajo correcciones de errores y una nueva API de sonido envolvente que mejora la asignación y la calidad de los canales, especialmente para LFE . [34]
El 5 de diciembre de 2013, se lanzó libopus 1.1, [34] que incorpora mejoras generales de velocidad y mejoras significativas en la calidad del codificador: la estimación de tonalidad aumenta la tasa de bits y la calidad para muestras previamente problemáticas, como los clavicémbalos; la detección automática de voz/música mejora la calidad en audio mixto; el estéreo medio-lateral reduce las necesidades de tasa de bits de muchas canciones; aumento de precisión de banda para mejorar los transitorios; y rechazo de CC por debajo de 3 Hz. Se agregaron dos nuevos modos VBR : sin restricciones para una calidad más consistente y VBR temporal que aumenta los cuadros más fuertes y, en general, mejora la calidad.
El 26 de noviembre de 2015 se lanzó la versión 1.1.1 de libopus y el 12 de enero de 2016 la 1.1.2. Ambas versiones incorporan optimizaciones de velocidad y correcciones de errores. El 15 de julio de 2016 se lanzó la versión 1.1.3, que incluye correcciones de errores, optimizaciones, actualizaciones de la documentación y trabajo experimental con Ambisonics .
La versión beta de libopus 1.2 se lanzó el 24 de mayo de 2017. La versión 1.2 se lanzó el 20 de junio de 2017. [35] Las mejoras introducidas en la versión 1.2 permiten crear música de banda completa a velocidades de bits tan bajas como 32 kbit/s y voz de banda ancha a solo 12 kbit/s. [36]
libopus 1.2 incluye soporte opcional para los cambios en la especificación del decodificador realizados en los borradores de RFC 8251, mejorando la calidad de salida de dichos flujos de baja velocidad. [37]
El 18 de octubre de 2018 se lanzó libopus 1.3. [38] La versión principal de Opus 1.3 nuevamente trae mejoras de calidad, nuevas características y correcciones de errores. [39] Los cambios desde 1.2.x incluyen:
Las correcciones de errores notables incluyen:
El 12 de abril de 2019 se lanzó libopus 1.3.1. [40] Esta versión menor de Opus 1.3.1 corrige un problema con el análisis de archivos con silencio digital (todos ceros), especialmente en compilaciones x87 (afecta principalmente a compilaciones de 32 bits). También incluye dos nuevas características:
libopus 1.4 se lanzó el 20 de abril de 2023. [41] Opus 1.4 trae las siguientes mejoras y correcciones:
libopus 1.5 se lanzó el 4 de marzo de 2024. [44] Agregó las siguientes mejoras de compatibilidad con versiones anteriores:
El códec está en desarrollo activo. [45] El enfoque actual está en agregar un codificador de redundancia basado en aprendizaje profundo que mejora la ocultación de pérdida de paquetes al incorporar un segundo de datos de recuperación en cada paquete codificado. El algoritmo de redundancia profunda (DRED) fue desarrollado por, entre otros, Jean-Marc Valin, Ahmed Mustafa, Jan Büthe, Timothy Terriberry, Chris Montgomery , Michael Klingbeil y Paris Smaragdis de Amazon Web Services [46] con el patrocinio para abrir el código fuente del algoritmo y posteriormente extender el estándar IETF de Sid Rao. [47] Este codificador es un cambio compatible con versiones anteriores del códec que permite a los clientes actualizar fácilmente las aplicaciones para aprovechar esta capacidad de aprendizaje automático. Se está preparando un borrador de RFC para estandarizar la nueva capacidad. [48] Este RFC es uno de los primeros intentos de estandarizar un algoritmo de aprendizaje profundo en el IETF.
Opus funciona bien tanto con tasas de bits bajas como altas . [9]
En pruebas de escucha alrededor de 64 kbit/s, Opus muestra una calidad superior en comparación con los códecs HE-AAC , que anteriormente eran dominantes debido a su uso de la tecnología patentada de replicación de banda espectral (SBR). [49] [6] En pruebas de escucha alrededor de 96 kbit/s, Opus muestra una calidad ligeramente superior en comparación con AAC y una calidad significativamente mejor en comparación con Vorbis y MP3 . [7] [50]
Opus tiene un retardo algorítmico muy bajo, [4] una necesidad para su uso como parte de un enlace de comunicación de baja latencia de audio , que puede permitir una conversación natural, presentaciones musicales en red o sincronización de labios en eventos en vivo. El retardo algorítmico total para un formato de audio es la suma de los retrasos que se deben incurrir en el codificador y el decodificador de una transmisión de audio en vivo independientemente de la velocidad de procesamiento y la velocidad de transmisión, como el almacenamiento en búfer de muestras de audio en bloques o cuadros, lo que permite la superposición de ventanas y posiblemente permite una mirada anticipada de modelado de ruido en un decodificador y cualquier otra forma de mirada anticipada, o para un codificador de MP3, el uso de un reservorio de bits . [51]
La latencia total unidireccional por debajo de 150 ms es el objetivo preferido de la mayoría de los sistemas VoIP , [52] para permitir una conversación natural en la que los turnos de escucha se vean poco afectados por el retraso. Los músicos suelen sentirse a tiempo con una latencia de audio de hasta unos 30 ms, [53] aproximadamente de acuerdo con el tiempo de fusión del efecto Haas , aunque hacer coincidir el retraso de reproducción del instrumento de cada usuario con la latencia de ida y vuelta también puede ayudar. [54] Se sugiere que para la sincronización de labios puede ser aceptable una latencia de audio de alrededor de 45 a 100 ms. [55]
Opus permite compensar una calidad reducida o una tasa de bits mayor para lograr un retardo algorítmico aún menor (5,0 ms mínimo). [56] Mientras que el marco Opus predeterminado de la implementación de referencia tiene una duración de 20,0 ms, la capa SILK requiere 5,0 ms de anticipación adicionales más 1,5 ms para el remuestreo, lo que da un retardo predeterminado de 26,5 ms. Cuando la capa CELT está activa, requiere 2,5 ms de anticipación para la superposición de ventanas a la que se agrega un retardo de coincidencia de 4,0 ms de manera predeterminada para sincronizar con la capa SILK. Si el codificador se instancia en el modo especial de retardo bajo restringido , se elimina el retardo de coincidencia de 4,0 ms y se deshabilita la capa SILK, lo que permite el retardo algorítmico mínimo de 5,0 ms. [8]
El formato y los algoritmos están documentados abiertamente y la implementación de referencia se publica como software libre . La implementación de referencia de Xiph se llama libopus y un paquete llamado opus-tools proporciona utilidades de codificador y decodificador de línea de comandos. Se publica bajo los términos de una licencia similar a BSD . Está escrito en C y se puede compilar para arquitecturas de hardware con o sin una unidad de punto flotante . La herramienta de diagnóstico que lo acompaña, opusinfo, informa sobre información técnica detallada sobre los archivos Opus, incluida información sobre la conformidad estándar del formato de flujo de bits. Se basa en ogginfo de vorbis-tools y, por lo tanto, a diferencia del codificador y el decodificador, está disponible bajo los términos de la versión 2 de la GPL .
RFC 6716 contiene un código fuente completo para una versión anterior de la implementación de referencia escrita en C. RFC 8251 contiene erratas. Libopus es la rama más actualizada pero no normativa de la implementación de referencia.
El proyecto FFmpeg [57] tiene implementaciones de codificador y decodificador que no se derivan de la biblioteca de referencia. La documentación lo describe como exclusivo de CELT y de peor calidad que la referencia. [58]
La biblioteca de referencia libopus se ha adaptado a C# y Java como parte de un proyecto llamado Concentus. Estas adaptaciones sacrifican el rendimiento a cambio de una fácil integración en aplicaciones multiplataforma. [59]
Digital Radio Mondiale , un formato de radio digital para frecuencias AM, puede transmitir y recibir audio Opus (aunque no reconocido en el estándar oficial) utilizando la radio definida por software Dream .
La Fundación Wikimedia patrocinó un codificador JavaScript Opus en línea, gratuito y de código abierto para navegadores que admitan las características HTML5 requeridas . [60]
Se puede encontrar una lista de estaciones de radio que transmiten utilizando el códec de audio Opus en el directorio Icecast de la Fundación Xiph.Org . [61]
A fines de 2014 y 2015, la plataforma de video de Google, YouTube, comenzó a ofrecer audio Opus junto con video VP9 en el formato de archivo WebM , a través de transmisión DASH . [62] En julio de 2024, YouTube lanzó una opción de formato de audio de alta calidad adicional, Opus de 256 kbit/s, para los suscriptores de YouTube Music Premium . [63]
Desde 2016, WhatsApp utiliza Opus como formato de archivo de audio. [64]
La señal cambió del códec de audio Speex a Opus para una mejor calidad de audio a principios de 2017.
En 2018, SoundCloud cambió de MP3 a Opus, reduciendo a la mitad el ancho de banda necesario para la transmisión de música. [65]
En enero de 2021, Vimeo introdujo Opus en su plataforma de vídeo. [66]
En 2021, el sitio web de periodismo danés Zetland cambió de MP3 a Opus para las grabaciones de audio de sus artículos, lo que logró una reducción del 35 por ciento en el ancho de banda y redujo la huella climática. [67] [68]
La mayoría del software para el usuario final depende de los marcos multimedia proporcionados por el sistema operativo . La compatibilidad nativa con el códec Opus está implementada en la mayoría de los marcos multimedia principales para sistemas operativos tipo Unix , incluidas las bibliotecas GStreamer , FFmpeg y Libav . [69] [70] [71]
El contenedor WebM.webm
se utiliza principalmente en plataformas de vídeo en línea (por ejemplo, YouTube ) y los sistemas operativos y reproductores multimedia suelen tratarlo como un archivo de vídeo. Incluso si un archivo WebM contiene solo audio Opus y ningún vídeo, algunos reproductores de música no reconocen los archivos WebM como archivos de audio y no admiten la lectura de metadatos de archivos. [72]
El contenedor Ogg.opus
es el preferido para archivos de solo audio, y la mayoría de los reproductores multimedia admiten metadatos de archivos de audio etiquetados en el formato de comentarios Vorbis .
Google agregó soporte nativo para reproducción de audio Opus en Android 5.0 "Lollipop" . [73] Sin embargo, estaba limitado al audio Opus encapsulado en contenedores Matroska y WebM , como archivos , y . .mkv
[ .mka
74 ] [75] Android 7.0 "Nougat" introdujo soporte para audio Opus encapsulado en contenedores Ogg . [76] Android 10 finalmente agregó soporte nativo para extensiones . [77].webm
.opus
Debido a la incorporación de compatibilidad con WebRTC en el motor de renderizado WebKit de Apple , macOS High Sierra e iOS 11 se lanzaron con compatibilidad de reproducción nativa para audio Opus encapsulado en contenedores Core Audio Format . [78] macOS Sonoma agregó compatibilidad con audio Opus mono y estéreo encapsulado en contenedores MPEG-4 y WebM en Safari . [79] [80]
En Windows 10 , versión 1607 , Microsoft proporcionó soporte nativo para audio Opus encapsulado en contenedores Matroska y WebM . [81] En la versión 1709 , el soporte para audio Opus encapsulado en contenedores Ogg se puso a disposición a través de un complemento preinstalado llamado Web Media Extensions. [82] En Windows 10, versión 1903.opus
, se agregó soporte nativo para la extensión. [77] En Windows 8.1 y anteriores, los decodificadores de terceros, como LAV Filters , están disponibles para brindar soporte para el formato. [83] Una actualización de enero de 2024 para Windows 10 y 11 provocó que el Explorador de archivos se congelara al cambiar el nombre o eliminar archivos Ogg (incluidos .oga, .ogg, .ogm, .ogv, .ogx, .opus), debido a errores que involucraban la extensión de shell MF Media Source Pack Property Handler de Microsoft y el paquete Web Media Extensions en Windows, que no se parchearon antes de que se implementaran las actualizaciones de Windows. [84]
iOS 17 incluye soporte para codificar y decodificar de forma nativa el códec Opus a través del marco AudioToolbox del sistema operativo. La reproducción de archivos Ogg.opus
en el contenedor es compatible a través de la aplicación Archivos . Opus también es compatible dentro del contenedor Core Audio Format , el contenedor QuickTime y el contenedor de formato de archivo ISOBMFF o MP4 . [nota 3] Como el marco AudioToolbox se comparte con macOS , debería haber un soporte similar en ambos sistemas operativos a medida que sigan desarrollándose. [86].caf
.mov
.mp4
Aunque el soporte en los marcos multimedia habilita automáticamente el soporte de Opus en el software que se construye sobre dichos marcos, varios desarrolladores de aplicaciones hicieron esfuerzos adicionales para soportar el formato de audio Opus en su software. Dicho soporte se agregó a AIMP , [93] Amarok , [94] cmus , Music Player Daemon , foobar2000 , [95] Mpxplay , MusicBee , [96] SMplayer , VLC media player , [97] Winamp [98] y reproductores de audio XMPlay ; Icecast , [99] Airtime (software) [100] software de transmisión de audio; y Asunder audio CD ripper, CDBurnerXP CD burner, FFmpeg, Libav y herramientas de codificación de medios MediaCoder . Las pruebas de transmisión de radio Icecast están activas desde septiembre de 2012 y enero de 2013. [101] [102] SteamOS usa Opus o Vorbis para la transmisión de audio. [103]
El soporte de Opus es obligatorio para las implementaciones de WebRTC . [104] Opus es compatible con Mozilla Firefox , [105] Chromium y Google Chrome , [106] Opera basado en Blink , [107] [108] así como con todos los navegadores para sistemas tipo Unix que dependen de GStreamer para la compatibilidad con formatos multimedia. Aunque Internet Explorer no proporcionará reproducción de Opus de forma nativa, el soporte para el formato está integrado en el navegador Edge , junto con VP9 , para una compatibilidad total con WebM . [109] [110] Safari es compatible con Opus a partir de iOS 11 y macOS High Sierra. [111]
Debido a sus capacidades, Opus ganó el interés temprano de los proveedores de software de voz sobre IP (VoIP). Varios clientes SIP , incluidos Acrobits Softphone , CSipSimple (a través de un complemento adicional), Empathy (a través de GStreamer), Jitsi , [112] Tuenti , [113] Line2 (actualmente solo en iOS ), [114] Linphone , [115] Phoner y PhonerLite , [116] SFLphone , [117] Telephone , Mumble , Discord [11] y el software de chat de voz TeamSpeak 3 también son compatibles con Opus. [118] [119] [120] TrueConf es compatible con Opus en sus productos VoIP. [121] Asterisk carecía de soporte integrado para Opus por razones legales, [122] pero había un parche de terceros disponible para descargar [123] y se agregó soporte oficial a través de un blob binario en septiembre de 2016. [124] El software de videoconferencia P2P de Tox utiliza Opus exclusivamente. [125] La aplicación de mensajería distribuida de anuncios clasificados envía marcos de Opus sin procesar dentro del socket TLS en su implementación de VoIP. [126]
Opus se usa ampliamente como códec de voz en WhatsApp , [12] [14] [13] que tiene más de 1.500 millones de usuarios en todo el mundo. [127] WhatsApp usa Opus a frecuencias de muestreo de 8 a 16 kHz , [12] [13] con el Protocolo de transporte en tiempo real (RTP). [14] La consola de videojuegos PlayStation 4 también usa el códec CELT/Opus para el chat grupal de su sistema PlayStation Network . [15] Source Engine usa Opus para su sistema de chat de voz . [128] También se usa en la aplicación de videoconferencia Zoom. [129]
Desde la versión 3.13, Rockbox permite la reproducción de Opus en reproductores multimedia portátiles compatibles , incluidos algunos productos de la serie iPod de Apple , dispositivos fabricados por iriver , Archos y Sandisk , y en dispositivos Android que utilicen "Rockbox como aplicación". [130] [131] Todos los teléfonos IP Grandstream recientes admiten audio Opus tanto para codificación como para decodificación. Los teléfonos IP OBihai OBi1062, OBi1032 y OBi1022 admiten Opus. Los altavoces inalámbricos BlueSound recientes admiten la reproducción de Opus. [132] Los dispositivos que ejecutan Hiby OS, como el Hiby R3, son capaces de decodificar archivos Opus de forma nativa.
Muchos códecs IP de transmisión incluyen Opus, como los fabricados por Comrex , GatesAir y Tieline. [133]
La Sony PlayStation 5 admite la captura de imágenes de 1080p y 2160p utilizando video VP9 y audio Opus en un contenedor WebM. [134] [135]
Android 13 es compatible con Opus como códec de auriculares Bluetooth (A2DP), debido a su baja latencia, que es importante para el audio espacial con seguimiento de la cabeza. Los Pixel Buds Pro de Google son compatibles con este códec A2DP. [136]
Como estándar abierto, los algoritmos están documentados abiertamente y se publica una implementación de referencia (incluido el código fuente ). Broadcom y la Fundación Xiph.Org poseen patentes de software sobre algunos de los algoritmos CELT, y Skype Technologies / Microsoft poseen algunas sobre los algoritmos SILK; cada uno ofrece una licencia perpetua libre de regalías para su uso con Opus, reservándose solo el derecho a hacer uso de sus patentes para defenderse contra demandas por infracción de terceros. Qualcomm , Huawei , France Telecom y Ericsson han afirmado que sus patentes pueden aplicarse, lo que el asesor legal de Xiph niega, y ninguno ha iniciado ninguna acción legal. [10] [137] La licencia de Opus termina automática y retroactivamente para cualquier entidad que intente presentar una demanda de patentes.
.m4a
extensión, [85] relegándolos .mp4
a los de vídeo, por lo que la reproducción presentará una pista de vídeo en blanco incluso si no hay ninguna dentro del contenedor. Sin embargo, cambiar el nombre de un .mp4
archivo a .m4a
funcionará como se espera..opus
no reconocen la extensión del nombre de archivo . Se requiere una pseudoextensión de otro formato de audio (como o ) para detectar y reproducir archivos. [76] [87].ogg
.m4a
{{cite web}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )El tiempo de anticipación de CELT es de 2,5 ms, mientras que el de SILK es de 5 ms, más 1,5 ms para el remuestreo (incluido el remuestreo del codificador y del decodificador). Por este motivo, la ruta CELT en el codificador agrega un retraso de 4 ms. Sin embargo, una aplicación puede restringir el codificador a CELT y omitir ese retraso. Esto reduce el tiempo de anticipación total a 2,5 ms.
{{cite book}}
: |journal=
ignorado ( ayuda ){{cite web}}
: |author=
tiene nombre genérico ( ayuda ){{cite web}}
: |author=
tiene nombre genérico ( ayuda )disponible en Safari en macOS High Sierra, iOS 11, (…) Safari admite códecs de audio modernos como Opus
{{cite web}}
: |author=
tiene nombre genérico ( ayuda )