七牛云音视频新功能:音频支持AAC_HE

科技 作者:七牛云 2016-02-29 02:39:06
1 与大家所熟知的MP3一样,AAC也是一种常见的音频格式。现如今常见的 AAC规格有三种:LC-AAC(最基本的),HE-AAC(AACPlus v1),HE-AAC v2。 HE:“High Efficiency”(高效性)。HE-AAC(又称AACPlus v1,SBR),用容器的方法实现了AAC(LC)和SBR(频段复制)技术。SBR把频谱切割开来,低频单独编码保存主要成分,高频单独放大编码保存音质,在减少文件大小的情况下还保存了音质。 HEv2:用容器的方法包含了HE-AAC和PS(参数立体声)技术。PS技术存储了一个声道的全部信息,然后,花很少的字节用参数描述另一个声道和它不同的地方。 在低码率的情况下,HE-AAC,HE-AAC v2编码后的音质要明显好于LC-AAC。 HE-AAC被广泛的应用于电视广播系统,智能电视。现在很多主流流媒体平台也开始支持HE-AAC,如苹果HLS、微软Smooth Streaming。在运营七牛云的过程中,我们发现很多音频直播、点播类的客户需要对音质进行高保真存储,同时将数据大小缩减至合理范围。为了满足这类客户的需求,协助他们输出高品质的声音,七牛云在原有音视频处理的基础上新增了音频对HE-AAC的支持。 通过调用七牛云 avthumb 接口,并设定 /audioProfile 参数来启用 AAC_HE 压缩算法,即可将MP3或者AAC音频文件转制成具有更高压缩比的音频文件。 现在,你可以参照下面的方法进行测试: 上传原始音频
  • 打开 <https://portal.qiniu.com/signin>,登录七牛账号;
  • 创建空间,并上传资源:
1、添加对象存储资源 2 2、创建公开空间,并留意空间访问域名 3 3、进入内容管理页面,进行文件的管理 4 4、选择上传文件,上传原始音频文件 5
  • 返回内容管理页面,确认资源上传成功,并能成功获取资源外链并访问成功:
搜索文件名前缀,查找具体文件名,并获取音频外链地址 6 进行 AAC_HE 的转码 对原始音频进行转码操作需要触发七牛的音视频服务接口,七牛的各服务端语言的SDK都直接封装好了转码的接口,参考对应[SDK的文档]即可触发对应的转码操作; 这里介绍下如何使用七牛的 [qrsctl 命令行工具]、[Qiniulab 图形化界面工具]直接进行 AAC_HE 的转码,以便在正式接入七牛各语言SDK前,也能进行无开发工作量的转码测试。 qrsctl 工具执行转码
  • 在用户管理界面找到账号的密钥对信息
1、进入账号管理 7 2、获取密钥对(AccessKey/SecretKey) 8
  • 检查本地系统的对应版本,在 <http://developer.qiniu.com/docs/v6/tools/qrsctl.html#download> 中下载对应系统版本的 qrsctl 工具压缩包,并在本地解压;
  • 打开命令行,切换到工具解压目录下,进行转码
使用账号密钥对执行登陆操作: 9 生成预期处理资源另存为结果参数,用于转码参数中的 saveas 操作: 10 获取命令行处理返回结果字符串 `YWFjLWhlLXRlc3Q6SnVwaXRlci5hYWNfaGUuYWFj`。(其中,`aac-he-test` 为转码结果音频目标空间名,`Jupiter.aac_he.aac` 为转码结果目标文件名。 执行转码操作命令: 11 其中 `aac-he-test` 为原始音频所在空间名,`Jupiter.mp3` 为原始音频完整文件名(key);`avthumb/aac/acodec/libfdk_aac/audioProfile/aac_he|saveas/YWNjLWhlLXRlc3Q6SnVwaXRlci5hYWNfaGUuYWFj` 为将原始音频转换为 AAC_HE 编码的必选转码参数;`saveas/YWFjLWhlLXRlc3Q6SnVwaXRlci5hYWNfaGUuYWFj` 为处理结果文件另存为的空间名和文件名参数(`EncodedEntry`) 。 执行转码操作命令后,得到一个形如 `https://api.qiniu.com/status/get/prefop?id=z0.56ca10937823de318868f33b` 的 URL,在浏览器中打开这个链接,打开链接获取一个 json 串,当 json 串中 `code` 字段为0时,获取 `key` 字段的值,即为处理结果的文件名: 12 再次进入空间的内容管理界面,搜索处理结果的文件名,即可获取处理结果的外链地址,在播放器中直接播放: 13 QiniuLab 工具执行转码 QiniuLab 做为 Windows 下的图形化测试工具,可以给不熟悉命令行操作的 Windows 用户提供另一种界面友好的选择。
  • 下载 <http://qdisk.qiniudn.com/QiniuLab_alpha.zip> 并解压;
  • 打开 QiniuLab,进行密钥对设置,密钥对获取方式可参考 qrsctl 工具:
14
  • 生成预期处理资源另存为结果参数,用于转码参数中的 saveas 操作
15 选择工具选项卡中的Url安全的Base64选项,输入` aac-he-test Jupiter.aac_he.aac `,获取字符串 `YWFjLWhlLXRlc3Q6SnVwaXRlci5hYWNfaGUuYWFj`。(其中,`aac-he-test` 为转码结果音频目标空间名,`Jupiter.aac_he.aac` 为转码结果目标文件名。
  • 选择持久化选项卡,进行转码:
填写转码参数,其中 `Bucket` 填写原始音频所在空间(例子中是 aac-he-test),`key` 为原始音频完整文件名(例子中为 Jupiter.mp3),`Fops` 为将原始音频转换为 AAC_HE 编码的必选转码参数(其中`saveas/YWFjLWhlLXRlc3Q6SnVwaXRlci5hYWNfaGUuYWFj` 为处理结果文件另存为的空间名和文件名参数)。 16 查询转码处理结果: 17 当 `code` 字段为0时,`key` 字段的值即为处理结果的文件名;
  • 再次进入空间的内容管理界面,搜索处理结果的文件名,即可获取处理结果的外链地址,在播放器中直接播放:
18 AAC_HE 转码效果实测报告   我们挑选了一首音域较广、声音元素较为复杂的曲子《行星组曲之木星》,通过测试后发现: * MP3: https://itisatest.qnssl.com/Jupiter.mp3,7297149 字节 * AAC: https://itisatest.qnssl.com/Jupiter.aac,5698336 字节 * AAC_HE: https://itisatest.qnssl.com/Jupiter.aac_he.aac, 3657703 字节 以 MP3 为基准,AAC 相对于 MP3 减小了 21.91% 的大小,而 AAC_HE 相对于 MP3 减小了近 50%,而实际声音效果几乎完全一致。

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接