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

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

继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!

    411 引用 • 3588 回帖 • 1 关注
  • opus
    1 引用
  • Linux

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

    952 引用 • 944 回帖

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 31 关注
  • 安全

    安全永远都不是一个小问题。

    203 引用 • 818 回帖 • 3 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    124 引用 • 74 回帖 • 1 关注
  • 浅吟主题

    Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper

    1 引用 • 28 回帖
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 67 回帖 • 452 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖 • 4 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    289 引用 • 4492 回帖 • 655 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3198 引用 • 8215 回帖
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 1 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 701 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    12 引用 • 5 回帖 • 635 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 3 关注
  • QQ

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

    45 引用 • 557 回帖 • 2 关注
  • AWS
    11 引用 • 28 回帖 • 11 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖 • 1 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    184 引用 • 1015 回帖
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    99 引用 • 367 回帖
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖 • 10 关注
  • Lute

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

    28 引用 • 197 回帖 • 33 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 492 关注
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    6 引用 • 141 回帖 • 1 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • Anytype
    3 引用 • 31 回帖 • 13 关注
  • B3log

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

    1063 引用 • 3455 回帖 • 161 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    12 引用 • 54 回帖 • 8 关注
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    76 引用 • 258 回帖 • 626 关注