返回 登录
0

爱奇艺视频社交Hydra架构:WebRCT+MCU+VCA实现百万级QPS

爱奇艺公司正在打造一个覆盖安卓、iOS终端和浏览器的多路视频社交应用(泡泡),其底层是一个称为Hydra的平台,由爱奇艺和英特尔联合开发。在2016年英特尔信息技术峰会(IDF2016)上,爱奇艺与英特尔签署了这项合作备忘录。英特尔公司数据中心事业部副总裁、产品协作与系统部总经理Albert D. Diaz,英特尔公司软件和服务事业部研发总监张琦,以及爱奇艺副总裁刘文峰接受记者采访,介绍了Hydra技术架构、预期性能,以及Hydra背后的WebRCT、MCU(多点控制单元)和VCA(视觉计算加速卡)等技术。

刘文峰:Hydra技术架构

Hydra技术架构用来支持爱奇艺泡泡社区的高并发(多路视频聊天)、快速处理、高清晰度的需求(泡泡社区目前日活用户1000万,预计未来能到5000万甚至1亿的级别,刘文峰希望“支持到毛孔级别的在线实时聊天”)。

图片描述

Hydra的后端是MCU服务器,包括网络、存储和视频处理能力,通过MCU使得各个安卓、iOS终端、浏览器不需要安装任何东西可以使用它。

图片描述

使用WebRTC的初衷是减少对手机性能的依赖,把复杂度放在云端,做多路流的合成(最大可以支持几十万甚至上百万同时在线),通过更强大的云端打造更好的用户体验。同时,考虑终端设备性能,爱奇艺目前也还没有采用H.265编解码方案,因为70%的爱奇艺用户的手机还没有办法进行H.265的解码,而通过软件解码可能造成耗电的问题。

Hydra软件架构中,英特尔和爱奇艺各自贡献其中的一部分,信令服务、账号认证等和爱奇艺相关,MCU、终端编解码等是英特尔贡献。

图片描述

谈到为什么没有选择开源的WebRTC技术,而是与英特尔联合开发,刘文峰给出的理由如下:

  1. 最主要的原因是希望能和浏览器有很好的兼容,因为浏览器的用户数量非常多,这种兼容可以使得开发的门槛降得更低。
  2. 性能。选择英特尔的方案,能使得在爱奇艺的英特尔服务器上达到非常好的性能和非常好的扩展性,与英特尔技术人员合作能够将至强处理器的性能发挥到极致,并且能把稳定性做得更好。
  3. 快速地进行产品化、进行快速的迭代是爱奇艺的诉求,项目人手不足时,联合开发是很好的选择,利用商业方案而不是不开源也是一样的道理。

Hydra预计将支持几十万甚至上百万视频聊天或视频通信服务的并发,其性能、可扩展性来自英特尔的通用CPU和VCA专用硬件以及面向WebRTC的协同通信开发套件(3.1版新增分布式会议服务器和视觉计算加速卡的支持),通过服务器端功能和客户端编程接口,该开发套件可以为用户的应用或服务快速添加实时通信功能,同时通过硬件加速和软件优化提升实时通信体验,实现高可靠、可扩展的通信解决方案。

图片描述

张琦:面向WebRTC的英特尔协同通信开发套件3.1

面向WebRTC的英特尔协同通信开发套件面向物联网时代的高带宽、高可靠性、低延迟音视频通讯需求开发,已经迭代7个版本,此次正式发布的是3.1版,着眼于如下需求:

  • 不同的客户端平台(Windows、Linux、安卓、iOS等);
  • 多样的终端设备(手机、平板电脑、PC、可穿戴设备等);
  • 复杂的网络状况(LAN、Wi-Fi、VPN、3G/4G LTE、运营商、NAT、防火墙);
  • 广泛的用途(视频聊天、视频会议、远程教育、远程医疗、在线客户服务、咨询、在线直播)。

面向WebRTC的英特尔协同通信开发套件3.1涵盖三大功能:

  1. 会议服务器

    • 涵盖全功能可扩展的MCU服务器
    • VP8/H.264实时转码(支持视频流的融合)
    • 智能QoS控制(各种不同的网络环境下实现有效音视频通信的关键)
    • Trickle-ICE联通
  2. WebRTC网关

    • 支持多种RTC系统,例如:基于SIP的IMS
    • 协议转换
    • 实时转码
    • 高QoS保证
  3. 客户端SDK

    • JavaScript SDK(支持Web程序员在网页中嵌入音视频的通信功能)
    • Android SDK
    • iOS native SDK
    • Windows SDK(C++的开发包,主要是面向嵌入式市场)
    • IE浏览器插件(让IE内核浏览器也能支持WebRTC,需要IE8以上)

该新版本的开发套件可以实现的完整功能包括:

  1. Windows版本软件开发工具包(SDK)实现图形处理单元(GPU)加速的H.264编码;
  2. 为iOS SDK添加直接基于帧的音频/视频输入接口,同时将iOS SDK的聊天体验提升至高清720p级别;
  3. 支持分布式MCU服务器(包括跨数据中心),支持灵活可配置的节点调度策略框架,帮助MCU更好地实现大规模部署;
  4. 与英特尔最新发布的VCA集成,将其图像处理能力扩展到其E5主机之外,为MCU集群中的所有节点共享。

Albert D.Diaz:英特尔视觉计算加速卡

VCA包含3颗支持英特尔锐炬Pro图形处理单元的至强E3处理器,通过PCI的交换进行连接,它暴露出来的接口是X16的接口,可以扣在E5服务器的槽位上,通过相应虚拟的网络接口进行连接,以IP协议进行相应的通信,将媒体图像处理和E5处理器有机结合,可用于HD和UHD流媒体转码市场的高密度的传输图像处理解决方案。

爱奇艺用户量快速增长背后的挑战,是如何让现有的技术架构更加有效地服务客户群,但在现有的服务器架构体系上简单地插入VCA的卡,利用WebRTC的应用,就可以实现每一块板支持50路视频流,在1U服务器里最高能提供200路的视频流,无需改变数据中心架构就能达到更高性能的流媒体处理能力。

评论