MapReduce+Docker:Archer简化Netflix媒体处理

  • 时间:
  • 浏览:5
  • 来源:uu快3手机版_uu快3走势图_网游

Archer是Netflix的媒体防止引擎,底层是执行MapReduce的各种Docker,在上层跑各种算法。Archer能否检测出视频中的图像错误,字幕对关键内容的遮挡等问題。本文来自Netflix的科技博客,由LiveVideoStack摘译收集。

对音频源的一流支持(我门都可能性支持视频);

用于保存结果的云存储API

动态优化器— 某种感知视频编码优化框架;

SLA和针对不同用户和应用的容量保证;

高级视图

为Python用户丰厚开发经验;

我门都研究了Apache Spark,Kubernetes和Apache Flink等分布式计算框架。 那先 框架均缺少重要功能,如对媒体对象的一流支持,针对每次执行的自定义docker镜像或具有公平资源平衡的多租户群集支持。



通缺陷效访问云中的大文件,使用任意媒体文件与不可视基础架构进行快速原型设计等功能,使得Archer的简单操作成为可能性。

关于我门都

使用Archer可构建你这一 创新应用任务管理器,其中包括检测由数码相机故障引起的坏点像素的应用任务管理器,使用机器学习标记音频的应用任务管理器以及为字幕执行自动质量控制(QC)的应用任务管理器。后续,我门都可能性就看更多的应用实例。

Archer是有有1个多易于使用的MapReduce样式平台,用于使用容器进行媒体防止,以便用户能否提供其操作系统级别的依赖关系。常见的媒体防止步骤,如挂载视频帧,由该平台防止。开发人员编写有有1个多功能:分割,map和收集; 但会 它们能否使用任何某种编程语言。Archer专为简单的媒体防止而设计,这就原因 该平台并能识别媒体格式,并为流行的媒体格式提供“白手套式”防止。这一,ProRes视频帧是Archer中的第有有1个多类对象,并支持将视频源分割为基于镜头的块[1](镜头是相机不移动的视频片段)。

简单操作

Archer

并行防止

机器辅助的质量控制—于质量控制各个阶段进行辅助。此辅助包括文本检测,音频语言检查以及检测错误视频像素的文本。

图9:在Archer平台上运行的文本检测算法

但会 我门都就意识到,我门都能否将Reloaded中的最佳属性与流行的分布式计算框架中的模式相结合,并综合减轻了前面提到的你这一 困难,提供了有有1个多易于使用的平台,能否为点对点实验,你这一 取舍 类型的生产用例进行大规模地运行。

我门都的历程

总结

本地开发— Netflix的开发者生产力团队可能性构建了有有1个多名为Newt(Netflix Workflow Toolkit)的工具来复杂化本地开发人员的工作流程。Archer使用Newt来提供丰厚的命令行界面,此使得本地开发变得简单。刚结束了了有有1个多新的Archer作业或下载实验结果仅用有有1个多命令即可。那先 命令将本地Docker工作流程以及与Archer作业API的交互进行了包装。另外,使用用户所取舍 的编程语言来构建应用任务管理器也很容易。

在接下来即将发布的博客文章中,我门都将撰写安全媒体存储服务,支持Archer和Netflix的你这一 项目。

来自办公室的资产重新投资

图4:Archer的高级架构

图5:显示MapReduce阶段的示例Archer作业

访问内容目录—大多数Archer应用任务管理器能否访问Netflix内容目录中的媒体源。Archer job API提供了有有1个多内容取舍 器,用户能否取舍 我门都取舍 的可播放作为其作业执行的输入。这一,您能否通过仅知道电影ID来针对电影《布莱德》的UHD视频源运行算法。但会 ,不会担心云中视频源的位置或媒体格式。

过去,我门都开发人员能否考虑以上包括在内的所有那先 事情。正如你所就看的,当目标是简单地获得正确的算法时,这是非常重要的。在此篇博客中,我门都将分享我门都何如构建有有1个多名为Archer的平台,在Archer中一切都以透明措施防止,使用户并能直入算法。

图3:运行中的坏点像素检测器[1]

我门都是来自于媒体云工程团队(MCE)。我门都支持高级媒体防止,其中包括媒体代码转换,预告片生成以及用于艺术品的高质量图像防止。我门都的计算机农场运行数以万计的EC2实例来防止动态工作负载。计算机饥饿用例的你这一 示例包括A / B测试,基于镜头编码的目录范围重新编码以及高质量标题图像。我门都负责防止媒体计算平台的大规模分布式计算方面,并与编码技术团队密切合作,同去制定媒体标准和编解码器。

Archher仍指在积极发展的阶段,我门都正努力不断扩展其功能和规模。我门都对其拥有的经验太久,则实现可能性性就越大。以下是我门都规划图中的你这一 项目:

Archer助你一臂之力

视频帧作为图像—大多数计算机视觉算法(CV)喜欢使用JPEG / PNG图像来检测复杂化的形态学 ,如运动估计和相机镜头检测。视频源格式使用自定义压缩技术来表示原始来源,但会 能否进行解码以将源格式转换为图像。为防止能否重复相同的代码来解码视频帧(次责源格式不同),Archer有一项功能,可允许用户在作业提交期间取舍 图像格式,质量以及裁剪参数。

图像发现—AVA:Netflix的图像发现艺术与科学;

想象一下,你正在开发有有1个多快速原型,即通过电影《布莱德》的所有帧来筛选出威尔·史密斯的最佳镜头,但会 需暗含动感十足的背景。你的目标是以高新人度正确地获得计算机视觉算法,而并不考虑:

借助像Archer曾经的简单平台,我门都的工程师能否在几小时或几天的时间内自由地联想、创作并实现它们。可能性这麼Archer完成复杂化的任务,我门都可能性这麼尝试过那先 创新。我门都的用户利用了数千万个CPU小时创建出惊人的应用任务管理器。以下举例:

图10:运行在Archer上的应用任务管理器取舍 的标题图像

[1]  S. Bhattacharya, A. Prakash, and R. Puri, Towards Scalable Automated Analysis of Digital Video Assets for Content Quality Control Applications, SMPTE 2017 Annual Technical Conference, and Exhibition, Hollywood & Highland, Los Angeles, California, 2017

参考文献

图13:由Archer启用的文本遮挡检测

图1:来自运行在Archer上的“标题图像取舍 算法”中的样本

图8:在字幕创作工具中使用的Archer应用任务管理器生成的镜头更改数据

增强多区域支持的稳健性;

原文:https://medium.com/netflix-techblog/simplifying-media-innovation-at-netflix-with-archer-3f8cbb0e2bcb

译 / 王月美

我嘴笨 Archer平台还是比较新的,待完善与改进的,但会 Netflix的你这一 团队每天正在验证该平台,我门都正在采用Netflix产品并在Netflix产品中进行创新。热情和使用频率正在不断增长,以此同去,我门都并能否优秀的工程人才。

平台和应用任务管理器之间的运行时间隔离程度更高;

图7:本地开发工作流程

图2:本地运行大型实验的痛苦

从10,000英尺的淬硬层 来看,Archer我我嘴笨 拥有多个组件来运行工作。一切均是从REST API刚结束了了,来接受工作请求。但会 工作流引擎选中请求并驱动MapReduce工作流,将工作调度为优先级队列的消息。应用任务管理器工作任务管理器在队列中进行侦别并执行用户提供的媒体防止功能。考虑到工作的动态性,Archer使用了有有1个多队列感知缩放器来连续移动资源,以确保所有应用任务管理器获得足够的计算资源。 (请参阅@Scale 2017会议上Archer的展示 https://atscaleconference.com/videos/archer-a-distributed-computing-platform-for-media-processing/)。

通过Netflix內部计算低谷增加规模;

图11:由Archer启用的插图图像发现

最佳图像取舍 —查找最适合Netflix产品界面中不同画布的图像。

图12:为插图自动取舍 最佳姿势

云计算基础设施,如EC2实例可能性Docker容器系统

图6:按比例在云中运行相同的操作系统的依赖关系

MapReduce风格 - 在Archer中,用户认为我门都的防止工作具有有有1个多功能:分割,map和收集。分割功能的作用是将媒体分成更小的单元。map功能将媒体防止算法应用于每个分割之中。收集功能是来自map阶段的结果结合起来。用户能否用我门都取舍 的编程语言或使用内置的语言功能来实现以上有有1个多功能。Archer为常见任务提供了内置功能,这一基于镜头的视频帧分离器和连接收集器。通过仅实现map功能构建应用任务管理器并使用分离器和收集器的内置任务管理器非常常见。但会 ,Archer用户能否将内置的可重用功能提供给平台。

字幕创作— 使用Archer应用任务管理器渲染的镜头更改和烧录文本位置数据用于字幕创作。

基于容器的runtime — Archer用户将其应用任务管理器打包为Docker图像。它们以相同的措施在本地或云中运行应用任务管理器。基于容器的本地开发使得用户并能快速地将应用任务管理器转换为工作状况并在此时候 又快速迭代,但会 ,使用你这一 命令来将应用任务管理器按规模地运行在云中。基于Docker的环境允许用户安装我门都取舍 的操作系统依赖关系,但会 每个应用任务管理器能否独立于你这一 应用任务管理器来取舍 我门都的操作系统依赖关系。这一,在Archer中运行的实验可能性会安装FFmpeg等媒体工具的快照版本,并获得快速反馈,而产生式应用将依赖于已发布的版本。Archer使用Titus(Netflix的容器管理平台)大规模运行那先 容器。

超高清(UHD)视频源的位置

若过程中途失败,则重试策略

在Archer时候 ,可能性能否使用內部开发的媒体防止平台(代号Reloaded)在云中进行分布式媒体防止。尽管它功能强大和灵活性高,但Reloaded平台的开发能否在观察软件开发最佳实践,持续集成(CI),部署编排和分阶段发布培训的同去,仔细设计动态工作流,数据模型和分布式工作任务管理器。我嘴笨 那先 是为功能推出做出的正确取舍 ,但对于那先 只关注其算法的研究人员而言,这我我嘴笨 是有有1个多障碍和干扰。为了获得敏捷性并免受云部署的干扰,我门都的用户要尽可能性在本地计算机上运行实验。但会 该处规模是有限的。我门都最终是能否针对大型内容目录运行我门都的算法,以获得更好的信号。

文 / Naveen Mareddy, Frank San Miguel, Mangala Prabhu and Olof Johansson