[转]AAC终结者——新一代音频格式霸主Opus完全使用指南!!

本贴最后更新于 4421 天前,其中的信息可能已经时移世异

继Beta版支持Opus音频格式后,Foobar2000 1.1.14正式版已经放出,我认为,Opus格式已经成熟,是时候让更多的人认识这个AAC终结者了。


一、Opus格式简介:

Opus是一款开源、免费、自由度高的有损音频编解码器,融合了Skype的SILK和XVID的CELT 技术,拥有比AAC、OGG等其它有损格式更大的压缩率。它已经被标准化互联网组织IETF认证通过,是AAC后新一代的编码格式,目前处在开放阶段就已经获得foobar、Skype、Firefox等的大力支持和推广,并且为HTML5标准加入了一股重要力量。
官方网站:opus-codec, 内有源代码下载。

二、特性


Opus的前身是celt编码器。在当今的有损音频格式争夺上,拥有众多不同编码器的AAC格式打败了同样颇有潜力的mpc、ogg等格式,而在Opus格式诞生后,情况似乎不同了,Opus单单是在目前的开发阶段就已经取得了技术上诸多的优势。通过诸多的对比测试,低码率下Opsu完胜曾经优势明显的HE AAC,中码率就已经可以媲敌码率高出30%左右的AAC格式,而高码率下更接近原始音频。
Opus的优势可以参看官方的测试对比:https://people.xiph.org/~greg/opus/ha2011/ 以及著名的hydrogenaudio论坛的公开测试:http://listening-tests.hydrogenaudio.org/igorc/results.html

三、播放


Opus格式音频可以使用gstreamer, libavcodec,Foobar2000,Firefox(15 Beta或更新)等播放,推荐Foobar2000 1.1.14 beta 1或者更新的版本播放。我这样的Firefox高度依赖者用Firefox播放也很爽,只是不能控制音量。

四、编码(含教程)


编码毫无疑问是重头戏,同AAC一样,Opus支持vbr cbr cvbr三种编码模式,vbr当然依旧是编码效率最高的模式。不同于Itunes AAC动不动就是20Kbps的码率估算差值,Opus的VBR码率控制的非常出色,平均码率和估算值一般只有4Kbps以内。
Opus的码率支持6 kbps到510 kbps,采样率支持8 kHz到48 kHz(这点和qtaac相似,但都比不上Nero aac最高的96kHz,不过一般的CD级别的足够了)最大支持255声道……
值得注意的是,普通的CD级音频所用的44.1kHz采样率通过Opus编码后会重采样到48kHz,至于为什么这么做OpusFAQ上有解释,下面的测试环节同样证明重采样到48kHz并无任何坏处。

http://www.saunalahti.fi/~cse/Opus/
有国外的网站出了一个相当详细的转换教程,不过适用于自定义编码需要输入命令行(用熟练了推荐命令行,非常方便)。附上命令行参数:

Quote:
Usage: opusenc [options] input_file output_file.opus

Encodes input_file using Opus. It can read the WAV, AIFF, or raw files.

General options:
-h, --help This help
-v, --version Version information
--quiet Quiet mode

input_file can be:
filename.wav file
- stdin

output_file can be:
filename.opus compressed file
- stdout

Encoding options:
--speech Optimize for speech
--music Optimize for music
--bitrate n.nnn Encoding bitrate in kbit/sec (6-256 per channel)
--vbr Use variable bitrate encoding (default)
--cvbr Use constrained variable bitrate encoding
--hard-cbr Use hard constant bitrate encoding
--comp n Encoding complexity (0-10, default: 10)
--framesize n Maximum frame size in milliseconds (2.5, 5, 10, 20, 40, 60, default: 20)
--expect-loss Percentage packet loss to expect (default: 0)
--downmix-mono Downmix to mono
--downmix-stereo Downmix to stereo (if >2 channels)
--max-delay n Maximum container delay in milliseconds (0-1000, default: 1000)

Diagnostic options:
--save-range file Saves check values for every frame to a file
--set-ctl-int x=y Pass the encoder control x with value y (advanced)
Preface with s: to direct the ctl to multistream s
This may be used multiple times
--uncoupled Use one mono stream per channel

Metadata options:
--comment Add the given string as an extra comment This may be used multiple times
--artist Author of this track
--title Title for this track

Input options:
--raw Raw input
--raw-bits n Set bits/sample for raw input (default: 16)
--raw-rate n Set sampling rate for raw input (default: 48000)
--raw-chan n Set number of channels for raw input (default: 2)
--raw-endianness n 1 for bigendian, 0 for little (defaults to 0)
--ignorelength Always ignore the datalength in Wave headers


新版的Foobar已经有了更简单的可视化转换界面,下面就分步骤详细讲解:
1、从http://opus-codec.org/downloads/下载最新版的Windows平台的opus工具包。



2、解压工具包,将其中的opusenc.exe程序放置到Foobar根目录下。





3、打开Foobar,打开转换器设置界面,在“输出格式”中打开“新建”。




4、在“编码器”中选择“Opus”,“比特率”选项中选择合适的码率(无损转换Opus推荐选择256,下面的对比测试中会解释的),“比特率管理”中用默认的VBR即可,“调整”选项中最好选择“音乐”





5、点击确定,你就可以在“选择输出格式”中看到“Opus”啦,然后转换即可。





五、对比测试


测试条件(都是些低端但有口碑的设备,见笑了):
声 卡——乐之邦 茉莉
耳 机——拜亚动力DT235
操作系统——Windows 7 Ultimate 32bit SP1
播放软件——Foobar2000 1.1.14a Final
音 源——无损音轨:
Coldplay - Viva La Vida《Greatest Hits》16Bit/44.1KHz
Coldplay - Yellow《Greatest Hits》16Bit/44.1KHz
Coldplay - Clocks《Greatest Hits》16Bit/44.1KHz
Vivaldi - 4 Seasons Spring Allegro《Gala Stradivarius Concert》16Bit/44.1KHz
Gamma Ray - My Temple《Majesty》16Bit/44.1KHz
Eric Clapton - Wonderful Tonight《Slowhand》(Stereo SACD) 24bit/88.2KHz
Hans Zimmer & James Newton Howard - Why So Serious《The Dark Knight OST》24bit/96kHz
所选曲目有流行、古典、民谣、金属等,覆盖范围较广。
测试方法——
44.1KHz采样的音源直接用Foobar转换成VBR模式的苹果Quciktime aac(简称qtaac)和opus,高于48KHz的音源SSRC重采样到16Bit/48KHz的Wave,再用生成的Wave用Foobar转换成VBR模式的qtaac和opus,进行盲听测试。

测试结果——
从听感来讲,256K的Opus让我虎躯一震,它蕴含的音频素质超过了我的预期,低频上同qtaac对比好不少,与Lame编码的MP3格式刻意下潜的低频不同,Opus饱满丰盈的低频与无损差别甚微,中频扎实,既没有Nero稍稍的刻意渲染也无削弱感,高频没有qtaac稍稍毛刺那样的感觉,干净利落,一句话概括,opus的特点就是扎实,还原度非常优秀。

频谱对比:
无损——



Opus 音乐优化——


Opus 默认——


qtaac——


对众多的频谱党来说,这才是他们关心的环节。我再次(也不知多少次)强调:频谱和听感是完全不同甚至多数时候是完全相反的!!无损的频谱好看,那是因为有充足的码率,对于码率有限的有损音频来说,频谱几乎是一无是处!!!同编码器、同码率的有损音频,频谱越好看听感其实越差,与其将码率用于人耳难以分辨的20KHz以上远远不如省下码率用在20KHz以下!
现在我还是要将无损、qtaac和Opus的频谱做对比,是用来解释为什么Opus的声音素质要强于qtaac,同时也能看到Opus令我极为惊讶的超强表现!!
频谱图赏析:
1、同码率下qtaac的范围到了22KHz,Opus到20KHz,Opus的实际听感更好。
2、Opus的音乐模式编码和默认模式编码的频谱看不出有丝毫的不同,但是用hash工具又能得出两个文件并不一样。
3、仔细对比一下,Opus的频谱图就像是无损的频谱图等比缩放到20KHz以内,强悍到令人震惊啊!!我捣鼓有损音频格式也有些年头了,还真是第一次见到和无损音频如此接近的频谱图,其它有损格式即使码开到最高,频谱图也有很大的改变。

再把无损转化为48K 80K 128K 192K 224K 288K 320K 512K,分析频谱图(不贴图了,所有原图可以在下面的链接中下载)+盲听可以得到三点结论:
1、频谱范围全在0-20KHz之间,可以说从频谱上看不出音质好坏。
2、从我的设备上讲192K以上的编码想要听出差别已经相当难了。
3、320K以下的编码在频谱上有些异同,而320K以上几乎没有异同了。
结论:码率选择最好在192K-320K之间,所以256K很合适。




再看看这两张频谱图,你能想像的到有一张是40K的码率一张是512K码率的吗?频谱党们开开眼界吧。

更多的频谱对比原图下载链接:http://dl.vmall.com/c01djlgha1


六、结束语
不可否认,在AAC已经很难有进步的现在,Opus格式的发展潜力是巨大的,虽然现在还处在开发阶段,目前很多移动设备和解码工具并不支持,但目前的形势相当乐观,无论是技术的先进性还是foobar、Skype、Firefox等的大力支持和推广,都昭示着新一代的音频格式Opus很有可能在未来替代AAC成为音频格式霸主。


:在mp3上,著名第三方rockbox固件已经支持opus格式。

http://www.erji.net/read.php?tid=1303405

  • 音频
    3 引用
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    415 引用 • 3601 回帖
  • opus
    1 引用
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    957 引用 • 944 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 837 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 71 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1251 回帖 • 391 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖 • 5 关注
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 668 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 24 关注
  • sts
    2 引用 • 2 回帖 • 247 关注
  • Word
    13 引用 • 41 回帖
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    7 引用 • 69 回帖 • 6 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    118 引用 • 54 回帖 • 8 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    27 引用 • 292 回帖
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 561 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    172 引用 • 1547 回帖
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    188 引用 • 3916 回帖 • 1 关注
  • abitmean

    有点意思就行了

    34 关注
  • gRpc
    11 引用 • 9 回帖 • 106 关注
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖 • 1 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 675 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 61 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 641 关注
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    79 引用 • 431 回帖 • 1 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 647 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    167 引用 • 597 回帖
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    554 引用 • 675 回帖 • 1 关注