Hailstorm - Netflix在Android TV上的扩展解决方案

19-04-15 banq
    

Hailstorm是由Netflix设计的Android TV缩放程序,旨在减少Android TV平台上合作伙伴的Netflix集成工作。它旨在缩短合作伙伴的上市时间,并释放更多付费电视运营商的设备覆盖机会,使Netflix更容易被全球会员所接受。截至今天,我们已经观察到我们的试点项目最初将认证时间从3个月减少到1个星期。

了解硬件开发过程

由于我们希望我们的认证设备(Netflix Ready Device)能够为我们的会员提供最佳的流媒体和浏览体验,因此我们在关键设备指标中设定了高质量标准:

  • 播放质量:以最佳质量呈现我们的内容
  • 图形性能:提供最佳的UI浏览和发现体验
  • 网络性能:提供最高比特率/质量的流
  • 安全性:保持我们的内容密钥和成员的凭据安全
  • 系统稳定性:优化应用程序正常运行时间和上下文切换性能

这些指标高度依赖于BSP(板级支持包)的质量,其包括硬件(电气+机械)设计和系统软件(中间件+操作系统+硬件驱动器)。在典型的开发过程中,SoC(芯片上硅)提供商将发布ODM(原始设备制造商)和(SI)系统集成商使用的参考BSP来构建他们自己的产品。产品BSP应在所有认证发生的设计验证阶段锁定,例如UL,CE,WIFI,Google CTS,GTSNetflix NTS

一个零碎的硬件和软件世界

尽管Android在整合中间件堆栈方面做得很好,但很难通过传统的设备开发模型锁定每个组件(BSP)。通过将Netflix与我们的合作伙伴整合的多年经验,我们已经学到了各种教训,导致产品BSP碎片化,难以从基线SoC BSP扩展。

  • 硬件组件根据每个供应商的库存/成本而有所不同
  • 不同的ODM或系统集成商可能在Android版本的不同阶段拥有零碎的软件分支
  • 最终客户(运营商/ OEM)可能会引入自己的软件堆栈,这可能会影响系统性能。
  • 运营商/ OEM大量定制Android框架,系统应用程序和后端服务

这些只是导致开发开销的几个例子,导致开发过程中的所有各方(从硅供应商,ODM,系统集成商到Netflix)必须为其缴税,原因很简单,因为我们无法保证所有产品的一致认证结果源自相同的SoC BSP。

为了对BSP进行碎片整理,我们引入了Netflix OTT BSP模型,以整合可能影响上述Netflix质量标准的一系列功能。我们首先投资SoC(芯片上硅)供应商,以获得SoC参考BSP的资格,该参考BSP占最终产品中核心系统设计的大部分。

上图使用Amlogic s905x开发板作为示例,突出显示可能影响Netflix的关键硬件组件:

  • Wifi /以太网:网络
  • SoC:全部(图形,播放,安全性,稳定性,网络)
  • DRAM:系统稳定性
  • eMMC:存储,系统和稳定性能
  • HDMI:视频/音频渲染和安全性

请注意,Wifi,DRAM和HDMI都带有高频信号,通常需要在布局和软件设计方面进行大量调整。ODM或系统集成商通常会将SoC BSP引用到他们的产品设计中。

Hailstorm BSP模型还引入了认证检查点,以验证SoC和ODM BSP以及最终的运营商产品。我们与SoC合作伙伴合作审查其源代码并确保每个芯片的单一源代码分支,以消除软件碎片。此外,SoC将负责审核其客户的BSP,以确保完整性并了解变更风险。目标是减少ODM和运营商所需的集成工作量。您可以在下面找到各方的工作流程和R&R(角色与责任)。

点击这里见Hailstorm OTT BSP模型

  1. SoC为ODM 提供基线SW / HW(CTS和GTS验证)
  2. ODM应用其他硬件/软件更改来构建ODM参考,该参考将成为ODM BSP
  3. Netflix认证ODM BSP(蓝色)
  4. 运营商采用ODM BSP并根据下面的Netflix指南修改(或要求ODM修改)它成为最终产品
  5. Netflix认证最终产品(蓝色+黄色)。我们预计最终产品认证将基于经过认证的ODM BSP 进行非常低的努力

ODM可以为运营商定制以下内容

  • Launcher UI apk
  • 预加载第三方应用

ODM BSP获得认证后:

  1. Sideload第三方应用程序与Netflix应用程序的资源冲突或导致安全问题。例如

  • 当Netflix处于前台时,不应使用视频/音频解码器或图形(GL)内存
  • 不应与访问Widevine L1 DRM资源发生冲突
  • 不应影响CPU带宽或任何显着的I / O吞吐量影响
  • 不应允许任何非法内容或服务进入平台

2.一旦设备通过Netflix认证,修改硬件PCB /组件(例如DDR RAM)

3.修改任何Android OS / Linux / Drivers / BSP代码可能会影响CTS / GTS / NTS结果

一旦SoC BSP通过NTS认证,ODM可以选择直接应用BSP或定制以形成其参考产品。我们对运营商产品制定了非常严格的变更规则(见上文),以扩展SoC / ODM BSP。运营商可以将参考作为交钥匙产品,或者可以在OS框架和硬件之外进行最少的定制。

Hailstorm视图

OTT BSP模型是封装Netflix核心功能的基线。这将提供一种解决方案,以降低合作伙伴的开发成本并缩短产品上市时间。此模型的直接好处是可以启用更多Android TV交钥匙产品。此外,我们的愿景不仅可以使单个BSP受益,而且可以基于一系列硅基衍生出一系列BSP解决方案。