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

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

继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 引用 • 3598 回帖 • 1 关注
  • opus
    1 引用
  • Linux

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

    955 引用 • 944 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    22 引用 • 148 回帖 • 9 关注
  • Love2D

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

    14 引用 • 53 回帖 • 563 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    167 引用 • 408 回帖 • 482 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    375 引用 • 1859 回帖 • 1 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖 • 1 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    497 引用 • 934 回帖
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    5 引用 • 16 回帖
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 1 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 617 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 8 关注
  • OneNote
    1 引用 • 3 回帖
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1062 引用 • 3455 回帖 • 151 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    77 引用 • 37 回帖
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    108 引用 • 295 回帖 • 3 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    29 引用 • 202 回帖 • 31 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 185 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    19 引用 • 23 回帖 • 741 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 120 关注
  • 链书

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

    链书社

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

    14 引用 • 257 回帖 • 1 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    134 引用 • 1127 回帖 • 109 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 155 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 38 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    10158 引用 • 46151 回帖 • 62 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    948 引用 • 1460 回帖
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    17 引用 • 53 回帖 • 143 关注