一个你绝对不知道的AAC编码神级功能-深度干货分享

来源:互联网 发布:7.1声道测试软件 编辑:程序博客网 时间:2024/06/05 11:05

摘要:在视频直播中,类似多语种这样的“一视轨多音轨”输出是比较常用的一个功能。而市面上的编码器大部分只支持“一视轨一音轨”输出,如果你正需要这样的功能,而手里的编码器也只支持“一视轨一音轨”,你就只能去开发或者采购昂贵的新设备吗?观止云GG告诉你,NO,不需要!因为,今天就要分享给你一个AAC的神级功能可以完美解决该问题。


近期观止云一客户的体育赛事直播中需要使用到多语种输出功能,观止云编码器研发团队就在客户已经在使用的观止云编码器上面简单开发,支持了客户新需求,并将方法无私地分享给大家。

一、使用场景



  • 远端编码器接收卫星信号,编码后RTMP推送给本地编码器;

  • 本地编码器以SDI信号输出给审核设备进行内容审核;

  • 本地编码器将审核后的SDI信号编码,以RTMP推送给直播服务器供用户观看直播。

二、客户需求

节目需要支持中文、英文、西班牙文三种语言的3路音频流同步输出。

三、问题解决

首先我们来看看应用最普遍的“一视轨一音轨”是个什么样子:


观止云编码器研发团队拿到需求后,经过分析快速给出了两种解决方案:

1开发升级,支持多音轨

升级编码器,使其支持多个音频track。该方案一是涉及到开发量,更麻烦的是客户的业务流程中有审核过程,如何将多个音频track输出SDI会是个头疼的问题,SDI的音频没有track的概念,只有声道,可支持2816声道。这就需要将多个音频track合在一起输出到SDI,审核后再做拆分,整体来说比较麻烦。



2利用AAC巧妙支持多音轨 

一般我们使用AAC都只用到了左、右两个声道,但其实AAC 7.1环绕是可以支持8声道的,如下图所示。

基于这个8声道能力,观止云编码器研发团队将多种语言的每个声道,依次放在这8个声道上,这样就只用一个音频track输出。同时也完美的支持了SDI输出时,直接将解码后的音频输出到审核设备即可。

 


最终观止云编码器研发团队选择了第二种解决方案。如果大家对各种音频编码不是那么有经验的话,在测试时一定还会遇到一个大坑:AAC4声道的声音,无论编码前数据如何,编码后总是一片低沉的轰鸣。


其实,AAC  7.1环绕音的四个声道,指的是低音炮。AAC在编码第四个声道时,按照低音炮的频率,将该声道上的声音进行了低音处理。

你肯定又会问了,那如何解决呢?好,那小编告诉你,没法解决!如果非要,就是想办法避开第四个声道。如此一来,最多支持7个声道,即3个音频track。同时,需要对声道进行重新排序。远端编码器将需要编码的3个音频track,即6个声道,放在aac125678声道上,避开34声道。然后在本地编码器输出SDI时,将声道顺序调整为12567834,将有用的6个声道放在前六个即可。如下图所示:


四、效果验证

效果,还说啥。什么话都是废话,什么语言都不如无言,观止云编码器web管理界面中有编码过程所有的实时数据汇总,一张实时跑分数据即能看出效果。

 

观止云编码器采用Intel QSV硬件加速编码,性能是传统基于CPU编码器的8~10倍,一台1U的编码器即可支持输出121080p25fps,性价比超级高。

1 0