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

  • 时间:
  • 浏览:1
  • 来源:大发5分快乐8_极速5分11选5

平台和程序运行运行之间的运行时间隔离程度更高;

图4:Archer的高级架构

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

在Archer事先,不可能 都需用使用内部人员开发的媒体处置平台(代号Reloaded)在云中进行分布式媒体处置。尽管它功能强大和灵活性高,但Reloaded平台的开发需用在观察软件开发最佳实践,持续集成(CI),部署编排和分阶段发布培训的共同,仔细设计动态工作流,数据模型和分布式工作程序运行。其实你你你你是什么是为功能推出做出的正确选着,但对于你你你你是什么只关注其算法的研究人员而言,这其实是十个 障碍和干扰。为了获得敏捷性并免受云部署的干扰,另一个人的用户要尽不可能 在本地计算机上运行实验。然后该处规模是有限的。另一个人最终是需用针对大型内容目录运行另一个人的算法,以获得更好的信号。

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

通过Netflix内部人员计算低谷增加规模;

其实Archer平台还是比较新的,待完善与改进的,然后Netflix的你你你你是什么团队每天正在验证该平台,另一个人正在采用Netflix产品并在Netflix产品中进行创新。热情和使用频率正在不断增长,以此共同,另一个人也需用优秀的工程人才。

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

简单操作

[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

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

关于另一个人

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

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

过去,另一个人开发人员需用考虑以上包括在内的所有你你你你是什么事情。正如你所想看 的,当目标是简单地获得正确的算法时,这是非常重要的。在此篇博客中,另一个人将分享另一个人怎么还可以构建十个 名为Archer的平台,在Archer中一切都以透明土土办法处置,使用户才能直入算法。

图7:本地开发工作流程

然后另一个人就意识到,另一个人都需用将Reloaded中的最佳属性与流行的分布式计算框架中的模式相结合,并综合减轻了前面提到的你你你你是什么困难,提供了十个 易于使用的平台,都需用为点对点实验,你你你你是什么选着类型的生产用例进行大规模地运行。

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

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

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

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

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

为Python用户丰沛 开发经验;

另一个人的历程

总结

基于容器的runtime — Archer用户将其程序运行运行打包为Docker图像。它们以相同的土土办法在本地或云中运行程序运行运行。基于容器的本地开发使得用户才能快速地将程序运行运行转换为工作情形并在此事先又快速迭代,然后,使用你你你你是什么命令来将程序运行运行按规模地运行在云中。基于Docker的环境允许用户安装另一个人选着的操作系统依赖关系,然后每个程序运行运行都需用独立于你你你你是什么程序运行运行来选着另一个人的操作系统依赖关系。类似,在Archer中运行的实验不可能 会安装FFmpeg等媒体工具的快照版本,并获得快速反馈,而产生式应用将依赖于已发布的版本。Archer使用Titus(Netflix的容器管理平台)大规模运行你你你你是什么容器。

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

高级视图

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

对音频源的一流支持(另一个人不可能 支持视频);

Archer

Archer助你一臂之力

参考文献

从10,000英尺的高度来看,Archer其实拥有多个组件来运行工作。一切均是从REST API开始英文,来接受工作请求。然后工作流引擎选中请求并驱动MapReduce工作流,将工作调度为优先级队列的消息。程序运行运行工作程序运行在队列中进行侦别并执行用户提供的媒体处置功能。考虑到工作的动态性,Archer使用了十个 队列感知缩放器来连续移动资源,以确保所有程序运行运行获得足够的计算资源。 (请参阅@Scale 2017会议上Archer的展示 https://atscaleconference.com/videos/archer-a-distributed-computing-platform-for-media-processing/)。

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

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

使用Archer可构建你你你你是什么创新程序运行运行,其中包括检测由数码相机故障引起的坏点像素的程序运行运行,使用机器学习标记音频的程序运行运行以及为字幕执行自动质量控制(QC)的程序运行运行。后续,另一个人不可能 想看 更多的应用实例。

并行处置

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

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

译 / 王月美

本地开发— Netflix的开发者生产力团队不可能 构建了十个 名为Newt(Netflix Workflow Toolkit)的工具来比较复杂本地开发人员的工作流程。Archer使用Newt来提供丰沛 的命令行界面,此使得本地开发变得简单。开始英文十个 新的Archer作业或下载实验结果仅用十个 命令即可。你你你你是什么命令将本地Docker工作流程以及与Archer作业API的交互进行了包装。另外,使用用户所选着的编程语言来构建程序运行运行也很容易。

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

图8:在字幕创作工具中使用的Archer程序运行运行生成的镜头更改数据

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

在接下来即将发布的博客文章中,另一个人将撰写安全媒体存储服务,支持Archer和Netflix的你你你你是什么项目。

MapReduce风格 - 在Archer中,用户认为另一个人的处置工作具十个 功能:分割,map和架构设计 。分割功能的作用是将媒体分成更小的单元。map功能将媒体处置算法应用于每个分割之中。架构设计 功能是来自map阶段的结果结合起来。用户都需用用另一个人选着的编程语言或使用内置的语言功能来实现以上十个 功能。Archer为常见任务提供了内置功能,类似基于镜头的视频帧分离器和连接架构设计 器。通过仅实现map功能构建程序运行运行并使用分离器和架构设计 器的内置程序运行非常常见。然后,Archer用户都需用将内置的可重用功能提供给平台。



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

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

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

用于保存结果的云存储API

Archer是Netflix的媒体处置引擎,底层是执行MapReduce的各种Docker,在上层跑各种算法。Archer都需用检测出视频中的图像错误,字幕对关键内容的遮挡等大间题。本文来自Netflix的科技博客,由LiveVideoStack摘译架构设计 。

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

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

图12:为插图自动选着最佳姿势

Archher仍发生积极发展的阶段,另一个人正努力不断扩展其功能和规模。另一个人对其拥有的经验不用 ,则实现不可能 性就越大。以下是另一个人规划图中的你你你你是什么项目:

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

字幕创作— 使用Archer程序运行运行渲染的镜头更改和烧录文本位置数据用于字幕创作。

访问内容目录—大多数Archer程序运行运行需用访问Netflix内容目录中的媒体源。Archer job API提供了十个 内容选着器,用户都需用选着另一个人选着的可播放作为其作业执行的输入。类似,您都需用通过仅知道电影ID来针对电影《布莱德》的UHD视频源运行算法。然后,不用担心云中视频源的位置或媒体格式。

图10:运行在Archer上的程序运行运行选着的标题图像

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

借助像Archer从前的简单平台,另一个人的工程师都需用在几小时或几天的时间内自由地联想、创作并实现它们。不可能 非要Archer完成比较复杂的任务,另一个人不可能 非要尝试过你你你你是什么创新。另一个人的用户利用了数千万个CPU小时创建出惊人的程序运行运行。以下举例: