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

  • 时间:
  • 浏览:0
  • 来源:uu直播快3_UU快3直播平台

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

关于当让我们都

总结

Archer

参考文献

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

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

高级视图

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

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

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

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

借助像Archer原来的简单平台,当让我们都的工程师还须要在几小时或几天的时间内自由地联想、创作并实现它们。可能没人 Archer完成错综复杂的任务,当让我们都可能没人 尝试过哪些创新。当让我们都的用户利用了数千万个CPU小时创建出惊人的应用多多程序运行 。以下举例:

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

否则当让我们都就意识到,当让我们都还须要将Reloaded中的最佳属性与流行的分布式计算框架中的模式相结合,并综合减轻了前面提到的或多或少困难,提供了另有四个易于使用的平台,还须要为点对点实验,或多或少选泽类型的生产用例进行大规模地运行。

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

译 / 王月美

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

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

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

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

当让我们都的历程

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

在接下来即将发布的博客文章中,当让我们都将撰写安全媒体存储服务,支持Archer和Netflix的或多或少项目。

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

基于容器的runtime — Archer用户将其应用多多程序运行 打包为Docker图像。它们以相同的法子在本地或云中运行应用多多程序运行 。基于容器的本地开发使得用户也能快速地将应用多多程序运行 转换为工作情况表并在此以后又快速迭代,否则,使用或多或少命令来将应用多多程序运行 按规模地运行在云中。基于Docker的环境允许用户安装当让我们都选泽的操作系统依赖关系,否则每个应用多多程序运行 还须要独立于或多或少应用多多程序运行 来选泽当让我们都的操作系统依赖关系。例如,在Archer中运行的实验可能会安装FFmpeg等媒体工具的快照版本,并获得快速反馈,而产生式应用将依赖于已发布的版本。Archer使用Titus(Netflix的容器管理平台)大规模运行哪些容器。

访问内容目录—大多数Archer应用多多程序运行 须要访问Netflix内容目录中的媒体源。Archer job API提供了另有四个内容选泽器,用户还须要选泽当让我们都选泽的可播放作为其作业执行的输入。例如,您还须要通过仅知道电影ID来针对电影《布莱德》的UHD视频源运行算法。否则,后会担心云中视频源的位置或媒体格式。

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

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

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

简单操作



图7:本地开发工作流程

虽然Archer平台还是比较新的,待完善与改进的,否则Netflix的或多或少团队每天正在验证该平台,当让我们都正在采用Netflix产品并在Netflix产品中进行创新。热情和使用频率正在不断增长,以此并肩,当让我们都也须要优秀的工程人才。

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

为Python用户雄厚开发经验;

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

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

[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可构建或多或少创新应用多多程序运行 ,其中包括检测由数码相机故障引起的坏点像素的应用多多程序运行 ,使用机器学习标记音频的应用多多程序运行 以及为字幕执行自动质量控制(QC)的应用多多程序运行 。后续,当让我们都可能就看更多的应用实例。

Archer助你一臂之力

用于保存结果的云存储API

对音频源的一流支持(当让我们都可能支持视频);

Archher仍发生积极发展的阶段,当让我们都正努力不断扩展其功能和规模。当让我们都对其拥有的经验越多,则实现可能就越大。以下是当让我们都规划图中的或多或少项目:

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

并行解决

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

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

动态优化器— 你这个 感知视频编码优化框架;

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

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

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

MapReduce风格 - 在Archer中,用户认为当让我们都的解决工作具有另有四个功能:分割,map和分发。分割功能的作用是将媒体分成更小的单元。map功能将媒体解决算法应用于每个分割之中。分发功能是来自map阶段的结果结合起来。用户还须要用当让我们都选泽的编程语言或使用内置的语言功能来实现以上另有四个功能。Archer为常见任务提供了内置功能,例如基于镜头的视频帧分离器和连接分发器。通过仅实现map功能构建应用多多程序运行 并使用分离器和分发器的内置多多程序运行 非常常见。否则,Archer用户还须要将内置的可重用功能提供给平台。

图4:Archer的高级架构

图10:运行在Archer上的应用多多程序运行 选泽的标题图像

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

视频帧作为图像—大多数计算机视觉算法(CV)喜欢使用JPEG / PNG图像来检测错综复杂的内部人员,如运动估计和相机镜头检测。视频源格式使用自定义压缩技术来表示原始来源,否则须要进行解码以将源格式转换为图像。为解决须要重复相同的代码来解码视频帧(每项源格式不同),Archer有一项功能,可允许用户在作业提交期间选泽图像格式,质量以及裁剪参数。

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

过去,当让我们都开发人员须要考虑以上包括在内的所哪些事情。正如你所就看的,当目标是简单地获得正确的算法时,这是非常重要的。在此篇博客中,当让我们都将分享当让我们都怎么构建另有四个名为Archer的平台,在Archer中一切都以透明法子解决,使用户也能直入算法。

Archer是Netflix的媒体解决引擎,底层是执行MapReduce的各种Docker,在上层跑各种算法。Archer还须要检测出视频中的图像错误,字幕对关键内容的遮挡等问题图片。本文来自Netflix的科技博客,由LiveVideoStack摘译分发。

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

本地开发— Netflix的开发者生产力团队可能构建了另有四个名为Newt(Netflix Workflow Toolkit)的工具来错综复杂本地开发人员的工作流程。Archer使用Newt来提供雄厚的命令行界面,此使得本地开发变得简单。结速英语 英语 另有四个新的Archer作业或下载实验结果仅用另有四个命令即可。哪些命令将本地Docker工作流程以及与Archer作业API的交互进行了包装。另外,使用用户所选泽的编程语言来构建应用多多程序运行 也很容易。

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