专栏首页泛互联网行业产品游戏多媒体引擎(GME)技术原理介绍
原创

游戏多媒体引擎(GME)技术原理介绍

游戏语音的处理有特定的门槛,除了采集、处理、编码、传输、解码、渲染等各个环节本身需要的技术能力和经验之外,还需要很强的工程实力,解决几千种机型的适配和音频兼容性问题,以及海量高并发的处理能力。面对这些问题,腾讯多媒体实验室在服务数个亿万用户量级产品的过程中已经积累了很多经验。基于腾讯多媒体实验室技术能力开发的游戏多媒体引擎(Game Multimedia Engine),相比于市面上同类产品,有显著的优势:

1. 功能全面完善,提供全方位语音体验

  • 支持平台涵盖主流游戏平台win,ios,android,mac+主机端,三大主流游戏引擎Unity
  • 3D、Unreal、Cocos等通用游戏框架全覆盖,四行代码极速接入;
  • 与WWise合作,GME和Wwise总线交互音频流,可以使游戏玩家的语音处理和实际游戏场景集合起来,使聊天更加沉浸。同时,完美解决了手机游戏开启语音后,音质下降的问题。
  • 支撑游戏产品特性功能:小队语音,语义消息,3d语音、语音鉴黄、录制、多国离线语音转文本等
  • 支持大房间10W+用户在同一房间

2. 游戏场景深度优化,关键技术指标业内领先

GME基于多媒体实验室自研的静音检测、自动增益控制、回声抵消、噪声抑制以及智能流控算法。针对游戏场景的音频编解码器进行深度优化在码率、延时、系统资源消耗等关键技术指标达到业界领先。

(1)GME体验为先,保证低延迟、高抗性、低消耗:

GME在不同场景下提供不同的音质体验和不同的抗网络损伤技术,力求给用户带来最佳的游戏体验,主要体现在:

  • 低延迟:实时语音音质在网络无损的场景下的平均MOS分达到4.38(满分5分),平均延时低于200ms。
  • 高抗性:通过先进的丢包恢复技术,丢包补偿算法以及优秀的网络抗性,即使在50%以上丢包、100ms的网络抖动下,也能保持顺畅的沟通和很好的音质。
  • 资源消耗低:例如MOBA类游戏中,在保证正常的语音沟通和良好的性能前提下,移动网络模式每分钟流量消耗低于500KB,CPU占用率平均在10% 以下等。

(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本身的易用性。

  • 硬件及编解码层,主要针对不同设备平台进行封装适配,并提供平台相关的编码器供上层使用。
  • 业务逻辑层,使用C++跨平台实现,对业务逻辑进行封装,包括网络与协议。
  • 适配层,提供了针对不同平台、不同程序语言和游戏引擎的适配封装,方便开发者调用。

3. 腾讯云顶级基础设施,为语音服务保驾护航

(1)稳定的云支撑环境

GME基于腾讯云自建万兆云机房,全球覆盖,配备20线BGP顶级网络,800+节点让玩家畅享稳定而极速的体验。

(2)灵活多层次的调度系统

GME后台调度支持系统,能支持:

  • 亿级用户在线,亿级群数规模;实时监控,异地容灾,智能调度,保证服务安全可靠
  • 专业网络接入:复用 QQ 接入部署和调度策略,有效解决弱网络环境下的连通问题,连通率高达 99.995% ;
  • 超强服务承载:承载 QQ 服务支撑能力,支持亿级用户在线,亿级群数规模;实时监控,异地容灾,智能调度,保证服务安全可靠;

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 腾讯云为小游戏开发者升级工具箱 小游戏联机对战引擎免费用

    12月23日,腾讯云宣布,除了给创意大赛的参赛者提供基础云资源,还将为参赛者提供更多工具支持。开发者在通过初赛后,可免费使用“小游戏联机对战引擎”。比赛结束后,...

    泛互联网行业产品团队
  • 仅有两名前端开发,联机小游戏一周内上线,如何做到?

    它在上线四小时内用户数激增60倍,获得新华社力荐,开发过程中仅投入2个前端开发+1个美术+1个策划,这款小游戏里,单机玩法、邀请好友对战、在线匹配对战、排行榜、...

    泛互联网行业产品团队
  • html5教程 第一节-video标签

    第一节,初识html5的video标签: video 元素支持三种视频格式: Ogg,带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件 ...

    web前端教室
  • 刚刚,无人驾驶公司Roadstar,发公告把联合创始人开除了

    今天(1月21日),无人驾驶公司星行科技(Roadstar.ai)发布公告称,由于联合创始人周光多个行为违法《公司法》及星行科技章程,所以决定:

    量子位
  • 供应链管理对SD-WAN至关重要

    SDNLAB
  • 团战开黑必备“良药”了解一下!

    第十八届亚运会在印度尼西亚首都雅加达进行得如火如荼,电子竞技作为2018亚运会的表演赛项目,首次登上亚运会的舞台。对于团队合作的电竞赛事来说,队友间的“语音”交...

    腾讯游戏云
  • 腾讯SNG设计市集精彩预告

    腾讯ISUX
  • 从刷机工具转型看互联网转型之道

    移动互联网市场可谓瞬息万变,每天都有新的机遇和挑战,以曾经红极一时的Android ROM市场为例,一边是腾讯紧锣密鼓研发TecentOS,一边是百度云OS宣布...

    罗超频道
  • jsx语法

    jsx = javascript XML jsx :facebook 提出的草案jsx规范:核心规范 https://facebook.github.io/...

    静心物语313
  • GCD队列、同步异步

    GCD的队列有两种,一种是串行队列,一种是并发队列。 串行队列: 任务按往队列里的添加先后顺序执行,先进先出(FIFO),前一个任务执行完再开始执行下一个任务。...

    清墨

扫码关注云+社区

领取腾讯云代金券