Opus被提出用于在IETF上标准化新的音频格式,最终被IETF编解码器工作组接受和授予。它基于Xiph.Org基金会和
Skype
技术公司两项最初分开的标准提案。其主要开发人员包括Jean-Marc Valin(Xiph.Org,Octasic,Mozilla Corporation),Koen Vos(Skype)和Timothy B. Terriberry(Xiph.Org,Mozilla Corporation)。其中包括Juin-Hwey(Raymond)Chen(Broadcom),Gregory Maxwell(Xiph.Org,Wikimedia)和Christopher Montgomery(Xiph.Org)也参与其中。
CELT的发展部分格式可以追溯到Vorbis的继任者的工作名称Ghost下。作为Xiph.Org基金会的新一代语音编解码器,Opus取代了Xiph的较早的语音编解码器Speex,该版本是Jean-Marc Valin先前的一个项目。CELT自2007年11月起开始工作。
SILK部分自2007年1月起一直在Skype开发,作为其SVOPC的继任者,该公司是一个内部项目,使公司独立于iSAC和iLBC等第三方编解码器和相应的许可证付款。
2009年3月,Skype建议在IETF内开发和规范宽带音频格式。近一年来,成立了一个适当的工作组,进行了大量辩论。参与专利保护竞争格式标准化的几家公司的代表表示反对开始免版税格式的标准化过程:Polycom和爱立信的代表(G.719的创始人和许可人)以及法国Télécom,华为和橙色实验室(法国Télécom部门),参与创建G.718。
2010年7月,提出了一种混合格式的原型,将两种提出格式的候选者SILK和CELT相结合。2010年9月,Opus作为标准化提案提交给IETF。在短时间内,格式在2010年10月获得现有名称之前,以Harmony的名义出现。2011年2月初,比特流格式暂时冻结,但有待最后更改。2011年7月底,Jean-Marc Valin被Mozilla公司雇用,继续从事Opus。[20] 2011年11月,工作组最近发出了关于比特流格式的更改的通知。比特流自2012年1月8日以来已被冻结。2012年7月2日,Opus被IETF批准用于标准化。参考软件中输入8月8日发布的候选状态最后的规范发布的RFC 6716于2012年9月10日,和版本为1.0和1.0.1 参考实现被释放一天之后。
2013年7月11日,Opus 1.0.3带来了错误修复和一个新的Surround声音API,可以提高音轨分配和质量,特别是低频音轨(LFE)。
2013年12月5日,Opus 1.1发布,整体速度提升和显著的编码器质量改进:调谐估计提高了以前有问题的样本的比特率和质量(如大键)、自动语音/音乐检测提高了混合音频的质量、中端立体声降低了许多歌曲的比特率需求、提高瞬态带宽精度、以及DC抑制低于3 Hz。增加了两种新的VBR模式:不受限制的更一致的质量以及时间VBR,可以提升响亮的画面,并通常提高清。
Opus 1.1.1于2015年11月26日发布,并于2016年1月12日发布了1.1.2,同时增加了速度优化和错误修复。2016年7月15日发布版本1.1.3,并包含错误修复、优化、文档更新和实验性的Ambisonics工作。
2017年6月26日,Opus 1.2.1版本发布,精简了音频文件体积,改善了音频质量,增强了部分情况下的安全性,编解码器效率提升。准备推动RFC 6716标准更新,标准未更新之前继续兼容RFC 6716。此版本也带来了面向VR的立体声音频解决方案。
Opus在更高的
比特率
下,已被证明具有优异的音质,而它的音频格式比
AAC
、HE-AAC和Vorbis更具有竞争力。
在64kbit / s的听力测试中,与HE-AAC编解码器相比,Opus表现出更优异的音质,HE-AAC由于使用了专利的频谱带复制(SBR)技术,这些编解码器在以前占主导地位。在96 kbit / s的听力测试中,Opus显示出比Vorbis略高的音质,与AAC和
MP3
相比音质明显更好。
Opus具有非常低的算法延迟,作为低音频延迟通信链路一部分的必要性,可以在现场活动中允许自然对话,
网络音乐
表演或
对嘴
表演。音频格式的总算法延迟是无论处理速度和传输速度如编码器和实况音频流的解码器必须承担的延迟的总和,例如将音频样本缓冲到块或帧中,允许窗口重叠和可能允许对噪声整形在解码器中先行和任何其他形式的先行的,或用于将MP3编码器,使用的比特存储器。
150毫秒以下的单向延迟是大多数VoIP系统的首选目标,使自然对话与转向受到延迟的影响很小。音乐家通常会感觉到高达约30毫秒音频延迟的时间,大致匹配Haas效果的融合时间,尽管将每个用户自己的乐器的播放延迟与往返延迟相匹配也可以有所帮助。音频/视频同步,约45-100毫秒的音频延迟可能是可以接受的。
Opus允许减少质量或提高比特率以实现更小的算法延迟(最小5.0 ms)。虽然参考实现的默认Opus帧为20.0 ms长,但SILK层需要进一步5.0 ms的前瞻加1.5 ms进行重采样,默认延迟为26.5 ms。当CELT层处于活动状态时,默认情况下,为了与SILK层同步,窗口重叠需要2.5 ms的前视,其中添加了4.0 ms的匹配延迟。如果编码器在特殊限制低延迟模式下实例化,则删除4.0 ms匹配延迟,并禁用SILK层,允许5.0 ms的最小算法延迟。
opus
实施
RFC 6716包含用C编写的参考实现的完整源代码。
FFmpeg
的项目和
GStreamer
的项目具有编码器和解码器的实现不是从参考库的。libopus引用库已作为名为Concentus的项目的一部分移植到
C#
和
Java
。这些端口牺牲了性能,以便轻松集成到跨平台应用程序中。
opus
软件
该GatesAir Intraplex IP Link和Tieline广播IP
音频编解码器
的梅林和向导族和Tieline报告-IT移动编解码器添加到嵌入式和移动设备的作品的支持。Digital Radio Mondiale - AM频率的数字无线电格式 - 可以使用Dream 软件定义的无线电广播和接收Opus音频(尽管在官方标准中未被识别)。在
维基媒体基金会
赞助的免费和开源的在线的JavaScript作品编码器,浏览器支持所需的HTML5功能。信号从Speex切换到Opus音频编解码器,在2017年初提供更好的音频质量。
操作系统支持
大多数最终用户软件依赖于操作系统提供的多媒体框架。Native Opus编解码器支持在类Unix操作系统的大多数主要多媒体框架中实现,包括GStreamer,FFmpeg和Libav库。
谷歌在Android 5.0(“Lollipop”)中添加了对Opus音频播放的原生支持。将载体限定,然而,对作品的音频包封在Matroska的容器,如.mkv和.webm文件。Android 6.0(“Marshmallow”)和Android 7.0(“Nougat”)增加了对封装在Ogg容器中的Opus音频的支持。
由于在Apple的
WebKit
渲染引擎
中增加了
WebRTC
支持,macOS High Sierra和iOS 11为封装在核心音频格式(Core Audio Format)容器中的Opus音频提供原生播放支持。
在Windows 10上,Microsoft为封装在Matroska中的 Opus音频和Windows 10周年更新(1607)设备的WebM文件提供本机支持。Web Media Extensions提供了对封装在Ogg容器中的Opus音频的支持,Web Media Extensions是Windows 10 Fall Creators Update(1709)设备的可选附件。在Windows 8.1及更早版本中,第三方解码器(如LAV过滤器)可用于提供有限的支持。
Opus支持不同的操作系统
|
|
|
|
|
|
编解码器支持
|
是
(有限文件扩展名识别)
|
是
(有限的容器支持)
|
是
|
是
(有限文件扩展名识别)
|
是
(有限的容器支持
|
容器支持
|
在Windows 10周年更新(1607)
:
在Windows 10 Fall Creators更新(1709)上使用Web Media Extensions附加组件
:
|
核心音频格式 (.caf)
|
MPEG-TS(.ts)
|
在
Android 5
:
在
Android 6
/
Android 7
:
|
核心音频格式 (.caf)
|
备注
|
在Windows 10上
:
- 需要Fall Creators Update(1709)并安装Web Media Extensions附加组件以支持Ogg容器。
- 在通用Windows平台应用程序(Groove Music,Microsoft Movies&TV)上受支持。Windows Media Player上不支持。
- 无法识别文件扩展名.opus(替换为.m4a)
在Windows 8.1及更早版本中
:
|
仅支持CAF容器中的Opus音频。
|
–
|
无法识别文件扩展名.opus。(用.ogg或.m4a代替)
|
仅支持CAF容器中的Opus音频。
|
媒体播放器支持
虽然多媒体框架中的支持自动支持Opus对基于此类框架构建的软件的支持,但是一些应用程序开发人员为在其软件中支持Opus音频格式做出了额外的努力。这种支持被添加到AIMP, Amarok,cmus,音乐播放器守护进程,foobar2000,Mpxplay,MusicBee,
SMplayer
,
VLC多媒体播放器
, Winamp和Xmplay音频播放器; Icecast,Airtime(软件)音频流软件; 和
Asunder
音频CD,CDBurnerXP
CD刻录机
,FFmpeg,Libav和MediaCoder媒体编码工具。流媒体Icecast无线电试验自2012年9月和2013年1月开始实施。SteamOS使用Opus或Vorbis进行流式音频。
浏览器支持
对于WebRTC实现,Opus支持是强制性的。Opus在Mozilla Firefox,
Chromium
和
Google Chrome
,基于Blink的Opera,以及依赖GStreamer支持多媒体格式的类Unix系统的所有浏览器中得到支持。虽然Internet Explorer不会本机提供Opus播放,但
Microsoft Edge
浏览器和
VP9
内置了对格式的支持,以提供完整的WebM支持。Safari支持iOS 11和MacOS High Sierra的Opus。
VoIP支持
参见:VoIP软件的比较
由于其能力,Opus从VoIP软件供应商那里获得了早期的兴趣。几个SIP客户端,包括Acrobits Softphone,Bria X-Lite,CSipSimple(通过附加插件),Empathy(通过GStreamer),Jitsi,Tuenti,Line2(目前仅在iOS上),Linphone,Phoner和PhonerLite,SFLphone,Mumble,Discord和TeamSpeak 3语音聊天软件也支持Opus。TrueConf在其VoIP产品中支持Opus。由于法律原因,Asterisk缺乏内置的Opus支持,但第三方补丁可供下载并且2016年9月增加了通过二进制blob的官方支持。Tox P2P视频会议软件使用Opus只。分类广告分布式消息传递应用程序在其VoIP实现中在TLS套接字内发送原始opus帧。的
PlayStation 4
游戏机也采用了CELT /电视剧编解码器,其系统党的聊天。
opus
硬件
从版本3.13开始,Rockbox在支持的便携式媒体播放器上播放Opus ,包括Apple的
iPod
系列产品,iriver,Archos和Sandisk制造的设备,以及使用“Rockbox as a Application”的Android设备。所有最近的Grandstream IP电话都支持Opus音频编码和解码。OBihai OBi1062,OBi1032和OBi1022 IP电话全部支持Opus。最近的BlueSound无线扬声器支持Opus播放。
YE, NONG, VAN CHEN, and TONI FARLEY. "Qos Requirements Of Multimedia Data On Computer Networks". Proceedings of the Second International Conference on Active Media Technology, Chongqing, PR China, 29–31 May 2003. World Scientific Publishing Company Incorporated. 2003: 183–189. ISBN 978-981-238-343-3.