游戏语音的处理有特定的门槛,除了采集、处理、编码、传输、解码、渲染等各个环节本身需要的技术能力和经验之外,还需要很强的工程实力,解决几千种机型的适配和音频兼容性问题,以及海量高并发的处理能力。面对这些问题,腾讯多媒体实验室在服务数个亿万用户量级产品的过程中已经积累了很多经验。基于腾讯多媒体实验室技术能力开发的游戏多媒体引擎(Game Multimedia Engine),相比于市面上同类产品,有显著的优势:
1. 功能全面完善,提供全方位语音体验
2. 游戏场景深度优化,关键技术指标业内领先
GME基于多媒体实验室自研的静音检测、自动增益控制、回声抵消、噪声抑制以及智能流控算法。针对游戏场景的音频编解码器进行深度优化在码率、延时、系统资源消耗等关键技术指标达到业界领先。
(1)GME体验为先,保证低延迟、高抗性、低消耗:
GME在不同场景下提供不同的音质体验和不同的抗网络损伤技术,力求给用户带来最佳的游戏体验,主要体现在:
(2)GME 音频处理流及SDK技术实现
a) GME中音频数据流处理流程,如下图所示:
A. 采集端的数据流: Cap负责采集音频数据 —-> EC节点负责回声消除和降噪 —-> 到Prep模块做AGC与VAD —-> Aux In模块混入伴奏 —-> Enc模块编码 —-> 包头和FEC 编码 —-> NetSink发送数据。
B. 接收端的数据流: NetSrc收到TRAE层的数据包 —-> DMX按UIN解析为多路不同的数据 —-> 每路数据都有解码链来处理(包含FEC解码、包头解码、Jitter缓存区中缓存)。
C. 播放端的数据流: Rnd负责拉取PCM数据播放 —-> 通过TEE节点把播放数据同步EC 的参考信号 —-> 通过mix混音拉取各路Jitter缓存的数据并解码 —-> 然后获取PCM数据进行混音。
D. 伴奏的数据流: 通过Aux Src从外部传入, 可以给到播放的Mix作为耳返播放, 也可以给到Aux In作为伴奏数据混音发送给远端其他用户。
b) GME 客户端SDK架构
GME为了支持多平台多引擎,故架构设计上考虑了跨平台通用业务逻辑以及平台相关处理逻辑以及针对不同平台和不同游戏引擎进行了针对性的接口封装,在提供了对多平台可支持性的同时增强了GME SDK本身的易用性。
3. 腾讯云顶级基础设施,为语音服务保驾护航
(1)稳定的云支撑环境
GME基于腾讯云自建万兆云机房,全球覆盖,配备20线BGP顶级网络,800+节点让玩家畅享稳定而极速的体验。
(2)灵活多层次的调度系统
GME后台调度支持系统,能支持:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。