热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Netflix:为什么建立专门的媒体数据库?

netflix,为什么,建立,专
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/83373969

本文解释了Netflix建立专门的媒体数据库的原因,包括精准的用户推荐,极致的编码以及更高效的实现创意。


文 / Rohit Puri

译 / 王月美

原文:https://medium.com/netflix-techblog/the-netflix-media-database-nmdb-9bf8e6d0944d


想象一下,我们正在研究下一代自适应视频流算法。我们的目标是最大限度地缩短全球数百万Netflix会员的播放启动时间。为此,我们需要收集ISO BMFF(基本媒体文件格式)格式化比特流的标题的聚合统计数据(包括最小值,最大值,中值,平均值,任意百分数)。Netflix转码集群为大量内容提供服务,并为每个内容生成大量的比特流(具有不同的编解码器+质量组合)。在过去,我们需要编写一次性脚本,以便在我们分析数据之前,以艰难的方式从比特流中抓取头部信息。很显然这种方法无法扩展——我们脚本中的软件错误会将导致重置整个工作。


此外,当分析我们的媒体数据的另一个完全不同的维度时,还需要一个新的“一次性”脚本来处理。对于来自不同域的问题多次重复这种方法使我们意识到这里存在一种模式,并让我们建立一个以可扩展的方式来解决这个问题的系统。


这篇博客文章介绍了Netflix媒体数据库(NMDB)——一种基于Netflix微服务平台构建的高度可查询的数据系统。NMDB用于在Netflix上持久保存有关各种媒体资产的技术元数据,并使用查找和运行时计算的组合近乎实时地提供查询。NMDB使得开发人员(如视频流研究人员)能够将时间集中在对媒体数据洞察的开发上,并制定出令人惊叹的数据驱动算法,而不用操心收集和组织数据的任务。


为何选择媒体数据库?


优化的用户界面,有意义的个性化推荐,高效的流媒体和大量内容是定义终端用户在Netflix体验效果的主要因素。需要将各种复杂程度的业务工作流程聚集在一起,以实现这种体验。


640?wx_fmt=png


与故事相关的艺术品图像和标题概要(见上图),以及富有洞察力的视频预览在帮助用户找到相关的节目和电影方面有很长的路要走。Netflix不断扩大的内容摄取量规模,要求开发能够帮助我们的创意团队及时合成高质量数字商品资产的系统。例如,这可以通过向它们提供有意义的原始图像和从源视频资产中自动(或通过算法)提取视频剪辑完成。这可以作为创建引人入胜的数字媒体资产的起点。


如下所示,内容推荐系统经济地表达了针对最终用户的内容偏好和品味。Netflix目录中内容紧凑且有效的特征表示对此功能是至关重要。例如,可以通过构建使用媒体文件(音频,定时文本,视频)以及标题元数据(类型标签,概要)作为其输入的机器学习模型。


640?wx_fmt=png


高效的音频和视频编码方式可以更有效的利用比特流。对视频时间和空间分析(例如,检测镜头时刻和场景变化)以及识别视频帧中的显著的部分和对象有助于为视频编码系统生成关键信息。


640?wx_fmt=png


最后,在Netflix上保持对源内容质量的高标准对于终端用户的体验非常重要。上图说明了一个这样的用例。该图像对应于来自西方古典类型的标题的视频帧。这种情况下,在视频中可以看到用于制作标题的相机。我们非常希望具有一种自动分析系统,该系统将检测和定位(可能通过矩形边界框)相机的存在。另一种这样的情况如下图所示。在该种情况下,字幕文本被放置在视频呈现的文本顶部,导致这两个文本都是不可读的。而视频文本检测算法以及字幕的定时和定位知识可以用于自动解决该问题。


640?wx_fmt=png


我们需要注意的是,以上说明的看似完全不同的用例实际上与核心组件算法的使用重叠。例如,镜头变化数据对视频编码用例起着至关重要的作用。不同的镜头具有不同的视觉特性并且具有不同的比特预算。出于同样的原因,镜头变化数据也是从源视频资产中生成各种原始图像和视频剪辑的基本要素。通过从每个镜头中选择最优秀的候选者,可以获得高质量的原始艺术品候选者的集合。同样,可以通过组合每个镜头表示来构造视频媒体的有意义的潜在表示。


作为另一个示例,虽然视频文本检测数据在内容质量控制中起着非常宝贵的作用,但是对于视频编码和艺术品自动化用例也是有益的—包含大量文本的视频帧通常不用作良好的艺术品图像候选者。


此外,许多这些分析在计算上代价往往非常昂贵——在处理不同的业务用例时重复相同的计算是非常低效的。总之,这些原因共同构成了一个数据系统的论据,该数据系统可以作为与媒体时间轴相关的任何分析的通用存储。换句话说,我们需要一个“媒体数据库”。


媒体数据库的特征


媒体数据库容纳对应于不同模态媒体的媒体分析数据——这些媒体分析数据包括音频,视频,图像和文本(例如:字幕)。期望在媒体时间轴上提供任意查询。例如,音轨的时间线中的什么时间间隔包含音乐,或者包含文本的视频中的视频帧列表,或者对应于对话的字幕文件中的时间间隔的集合。 鉴于其范围的广度,我们认为以下是媒体数据库的重要特征:


1、对结构化数据的亲和力:具有模式的数据适用于基于机器的处理,因此可用于大规模分析和消费。在我们的案例中,架构合规性允许我们索引数据,这反过来又可以实现数据搜索和挖掘机会。此外,这就把数据的创造者从需要高端服务的消费者中解脱出来了。


2、有效的媒体时间线建模:服务从周期性的面向样本的(例如,视频帧)到基于事件的(例如,定时文本间隔)的各种类型的媒体时间线数据的能力是媒体数据库的基本特征。


3、时空查询能力:媒体数据库本地支持媒体数据的时间(例如,音频轨道中的时间间隔)以及空间(例如,图像的部分)特征,并且在这些维度上提供高效查询能力。作为示例,媒体数据库使得检查连续的视频帧序列是否包含视频帧的特定空间区域(如左上角)中的文本变得容易。这样的查询可以用于检测视频和字幕中存在的文本之间的冲突。


4、多租户:精心设计的媒体数据库可以用作支持来自多个应用的多个分析数据的平台。 因此,它允许存储任意数据,只要它是结构化的。另外,如果该数据也可以与媒体资源的特定时间间隔相关联,则每个租户可以从我们系统的有效查询能力中受益。


5、可扩展性:可扩展的基于微服务的模型至关重要。这意味着系统必须解决各种负载情况下的可用性和一致性的相关问题。


NMDB介绍


上面概述的用例激发了我们构建NMDB——一种通用存储,用于与媒体时间轴相关的任何分析,可用于在媒体时间轴上大规模回答时空查询。Netflix目录包含大量不同形式的媒体资产——静态资产的示例包括图像,可播放资产的示例包括音频,文本和视频。如上所述,无数业务应用程序可以从访问与这些资产相关的深入语义信息中受益。 NMDB的主要目标是提供这些应用程序所需的必要数据—我们将NMDB视为构成各种Netflix媒体处理系统主干的数据系统。


媒体时间轴数据的高效建模是NMDB的核心特征。媒体时间轴的规范表示可以支持大量用例,同时有效地解决用户查询模式。这构成了本系列下一篇文章的主题。


推荐阅读
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
author-avatar
mobiledu2502912377
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有