用于使用服务器生成的清单的视频回放的系统

文档序号:1802516 发布日期:2021-11-05 浏览:26次 >En<

阅读说明:本技术 用于使用服务器生成的清单的视频回放的系统 (System for video playback using server generated manifest ) 是由 伊斯梅勒·R·哈里塔奥卢 厄兹坦·哈尔曼哲 阿尔珀·图尔古特 于 2017-05-10 设计创作,主要内容包括:公开了用于使用服务器生成的清单的视频回放的系统。公开了一种装置和方法,用于使用服务器生成每用户清单文件用于提供独特的观看体验和局部化于接收清单文件的视频播放器的代理模块以用于测量具有帧准确度的视频回放事件。在一个方面,服务器可以被用于生成清单文件,用于引导视频播放器播放视频流中的被请求视频内容连同广告或其他可能期望的备选内容。局部化于所述视频播放器的代理模块可以解析所述视频流以将触发器注入在可能期望测量的帧准确位置处,诸如在其中备选内容相对于被请求视频内容的开始、停止和/或到达中点的精确帧处。(A system for video playback using a server-generated manifest is disclosed. An apparatus and method are disclosed for generating per-user manifest files for providing a unique viewing experience and a proxy module localized to a video player receiving the manifest files for measuring video playback events with frame accuracy using a server. In one aspect, a server may be used to generate a manifest file for directing a video player to play requested video content in a video stream along with advertisements or other alternative content that may be desired. A proxy module localized to the video player may parse the video stream to inject triggers at frame-accurate locations where measurements may be desired, such as at precise frames where alternative content relative to the start, stop, and/or midpoint of requested video content.)

用于使用服务器生成的清单的视频回放的系统

本申请是分案申请,原案的申请号是201780011328.5,申请日是2017年5月10日,发明名称是“用于使用服务器生成的清单的视频回放的系统”。

技术领域

本文所公开的主题涉及一种用于在视频流期间可以对于每个用户独特的测量视频回放事件的方法。更特别地,公开了一种用于使用服务器生成用于提供独特的观看体验的每用户清单文件和本机于接收清单文件的视频播放器的代理模块以用于测量具有帧准确度的视频回放事件的方法和装置。

背景技术

视频流允许视频内容经由因特网被递送到视频播放器。视频内容是由内容提供者所生成以用于分布到视频消费者的视频信号。视频信号可以以诸如串行数字接口(SDI)格式的未压缩文件格式或者以诸如运动图像专家组(MPEG)文件格式或者传输流(TS)文件格式的压缩格式提供。视频信号被发送到编码器,其将文件转换为直播流信号。直播流信号优选地是可以使用标准超文本传输协议(HTTP)通过因特网传送的分段数据流。直播流信号可以包括多个流,其中,每个流可以具有不同的数据率和/或不同的分辨率。

用于直播流信号的两个通用格式包括由所实现的HTTP Live Streaming(HLS)和由例如由诸如Microsoft的网络浏览器所实现的MPEG-基于HTTP的动态自适应比特率流(MPEG-Dynamic Adaptive bitrate Streamingover HTTP、MPEG-DASH)。除分段数据流之外,编码器生成清单文件。清单文件包含诸如每个流的数据率和分辨率的用于视频播放器播放分段数据流的信息和提供视频内容可以从其检索的地址的播放清单。在历史上,编码器已经生成用于每个编码视频信号的单个清单文件,其中,清单文件连同流信号一起被分布。

直播流信号和清单文件被存储在一个或多个内容分发网络(CDN)中。每个CDN包括多个边缘服务器,其存储流信号和清单文件直到由视频播放器请求。当流信号被提供到多个CDN时,CDN可以在不同的地理位置中,诸如西海岸、东海岸或者中西部地区。除了其他方面,每个视频播放器可以基于其地理接近度而选择CDN以便减少传输延时。

视频播放器可以是接收流信号的任何适合的电子设备,诸如台式计算机、电视、膝上型计算机、平板电脑、或者移动电话。用户发起请求以察看视频播放器上的期望的视频内容。视频播放器包括在视频播放器上执行的视频管理软件,其具有CDN的地址的知识并且其可以将被存储在CDN上的视频内容的列表提供给用户。在用户已经选择期望的视频之后,视频播放器进而请求视频内容从CDN被传送。

如本领域的技术人员进一步已知的,将广告或者其他备选内容与被请求视频内容集成以便例如产生可以最终支持被请求视频内容的收入常常是期望的。为了确保这样的备选内容的有效性,要求视频播放器测量正被显示的备选内容的各方面常常是备选内容的产生者期望的。这可以例如经由被提供有用于命令视频播放器的备选内容的元数据完成。用于测量的这样的方面可以包括例如其中备选内容相对于被请求视频内容开始、停止和/或到达中点的精确时间、用于视频播放器的统一资源定位符(URL)地址等。用于服务器与用于测量备选内容的这样的方面的视频播放器之间的通信的标准的一个示例是由互动广告局((Interactive Advertising Bureau)IAB)发布的视频广告服务模板(Video Ad ServingTemplate(VAST))。

另外,如本领域的技术人员进一步已知的,将独特的观看体验提供给观看相同的被请求视频内容的用户常常是期望的。例如,虽然不同的用户可以请求观看相同的视频内容——诸如电视节目或者电影的片段,但是用户可能在完全地不同的地理位置中和/或可能具有完全地不同的观看历史。这样的差异可以使某个备选内容的显示比其他备选内容期望得多。为用户提供独特的观看体验同时还通过测量正被显示的备选内容的各方面来确保备选内容的有效性的创建了重大的技术挑战。

另外,视频内容的所有者或者分发者可能期望向用户提供其他信息,诸如节目标题、程序变更信息、突发新闻等。然而,这样的信息可以是地理特定的并且将视频流内的内容提供给所有用户可能是不期望的。其他信息也可能未直接地可用于内容提供者。代替将这样的信息包括在视频流中,触发器被嵌入视频内容内,警告视频播放器这样的内容的存在。在接收到触发器时,视频播放器对视频流外部或者带外的内容服务器进行拉取请求。内容服务器返回用于视频播放器连同视频流显示的适当的内容。

然而,由单独的视频播放器进行的带外请求导致元数据相对于被递送的视频内容在不同的时间处被显示。不同的视频播放器经由具有导致变化的传输延迟的不同的带宽、不同的开关设备等的网络被连接到CDN。类似地,视频播放器经由具有导致变化的传输延迟的不同的带宽、不同的开关设备等的网络被连接到内容服务器。因此,来自CDN的视频内容的递送和从元数据所指示的递送异步发生,并且因此,由元数据所指示的内容不能与视频传输的特定帧同步被显示。因此,提供具有元数据的帧准确回放的系统将是期望的。

在历史上,元数据已经在很大程度上用于标识节目制作、视频片段、商业广告等。这些插入数据基于在其中被动用户观看由内容提供者所呈现的视频的电视模型。然而,流视频服务提供更交互性的体验。视频内容可以被提供在计算机、移动电话或者提供用户输入的其他设备上。因此,提供允许要求或者请求来自视频设备的用户的响应的交互式元数据的插入的系统将是期望的。

发明内容

本文所公开的主题描述了一种用于使用服务器生成用于提供独特的观看体验的每用户清单文件和本地于接收清单文件的视频播放器的代理模块以用于测量具有帧准确度的视频回放事件的方法和装置。在一个方面,服务器可以被用于生成用于引导视频播放器播放视频流中的被请求视频内容连同广告或其他可能期望的备选内容的清单文件。局部化于视频播放器的代理模块可以解析视频流以将触发器注入在可以被期望用于测量的帧准确位置处,诸如在其中备选内容相对于被请求视频内容开始、停止和/或到达中点的精确帧处。代理模块可以将视频播放器重定向到经解析和经注入的(经修改的)视频流,使得视频播放器在可以由服务器测量的每个触发器处产生可检测事件。

还公开了一种能够用于元数据的帧准确回放并且允许将交互式元数据插入在视频流中的装置或者方法。视频管理器与编码器通信以将元数据注入在视频流中。在一个实施例中,视频管理器可以通过内容提供者接收被插入在视频流中的触发器,并且从内容服务器检索对应于触发器的元数据。在另一实施例中,视频管理器还可以包括用户接口,其可操作以从第三方接收元数据。视频管理器可以然后在期望的帧位置处将元数据插入视频流中,用于递送到视频播放器。

在一个实施例中,一种用于管理视频回放的系统可以包括:清单服务器,其被配置成与视频播放器和内容分发网络通信,所述清单服务器执行被存储在非暂时性介质中的程序,其可操作以:(a)从用于播放包括被请求内容的视频流的视频播放器接收请求;(b)在接收到所述请求时:(i)与第一内容分发网络通信,以获得包含用于允许视频播放器播放被请求内容的信息的第一清单文件;和(ii)与第二内容分发网络通信,以获得用于允许视频播放器播放备选内容并且产生与所述备选内容相关的可检测事件的信息;和(c)修改第一清单文件以产生对于具有请求的视频播放器唯一的第二清单文件,第二清单文件包含用于允许视频播放器播放被请求内容和备选内容并且产生可检测事件的信息。

根据另一实施例,一种用于使用被配置成与视频播放器和内容分发网络通信的清单服务器管理视频回放的方法可以包括:(a)从用于播放包括被请求内容的视频流的视频播放器接收请求;(b)在接收到请求时:(i)与第一内容分发网络通信,以获得包含用于允许视频播放器播放被请求内容的信息的第一清单文件;和(ii)与第二内容分发网络通信,以获得用于允许视频播放器播放备选内容并且产生与备选内容相关的可检测事件的信息;和(c)修改第一清单文件以产生对于具有请求的视频播放器唯一的第二清单文件,第二清单文件包含用于允许视频播放器播放被请求内容和备选内容并且产生可检测事件的信息。

根据另一实施例,一种用于管理视频回放的系统可以包括:编码器,其被配置成将来自内容提供者的视频内容转换为用于递送到视频播放器的分段视频流;和视频管理器,其与编码器通信,视频管理器执行被存储在非暂时性介质中的程序,可操作以:(a)接收用于插入视频流中的元数据;和(b)将元数据插入在视频流内的期望的帧位置处。

本公开的这些和其他目标、优点和特征从以下描述和附图对于本领域的技术人员而言将变得明显。然而,应当理解,虽然指示本公开的各种实施例,但是详细描述和附图将以图示而非限制的方式给定。可以在本公开的范围内做出许多改变和修改而不脱离其精神,并且本公开包括所有这样的修改。

附图说明

本文所公开的主题的各种实施例被图示在附图中,其中,相同附图标记自始至终表示相同部件,并且其中:

图1是包含用于使用由本公开的服务器所生成的清单文件测量视频回放的方法的环境的块图表示;

图2是根据本公开的一个实施例的图示使用由服务器所生成的清单文件测量视频回放的流程图;

图3A是被划分为视频分段的视频信号,并且图3B是缝合以包括各自根据本公开的实施例的备选内容分段的经修改的视频信号;

图4是根据本公开的一个实施例的描述用于流视频内容的可用流的带宽和每个流的位置的清单文件的分段;

图5是根据本公开的一个实施例的包括播放清单的一部分的清单文件的分段;

图6是用于利用每用户清单生成递送流视频的环境的块图表示;

图7是图示每用户视频清单生成和回放的流程图;以及

图8是根据本公开的一个实施例的在用于选择元数据以插入视频流中的视频管理器上执行的用户接口的屏幕截图。

在描述被图示在附图中的本公开的各种实施例中,特定术语将诉诸于清晰的缘故。然而,本公开不旨在限于这样选择的特定术语,并且应理解,每个特定术语包括以类似的方式操作以完成类似的目的的所有技术等同物。例如,常常使用词语“连接”、“附接”或者类似于其的术语。其不限于直接连接而是包括通过其他元件的连接,其中,这样的连接由本领域的技术人员被认为是等效的。

具体实施方式

本文所公开的主题的各种特征和有利细节参考在以下描述中详细描述的非限制性实施例更充分地解释。

首先看图1,图示了用于使用由服务器所生成的清单文件测量视频回放的一个环境。内容提供者110生成待分布到视频消费者的视频信号112。视频信号可以以诸如SDI格式的未压缩文件格式或者以诸如MPEG或者TS文件格式的压缩格式提供。视频信号112被发送到编码器114,其将文件转换为直播流信号116。直播流信号116优选地是可以通过因特网使用标准HTTP或者HTTPS协议传送的分段数据流。直播流信号116可以包括多个流,其中,每个流可以具有不同的数据率和/或不同的分辨率。直播流信号的格式可以是但不限于HLS或者MPEG-DASH。诸如来自或者Smooth Streaming等的HTTP DynamicStreaming(HDS)的其他协议可以被使用而不脱离本公开的范围。

除分段数据流之外,编码器生成清单文件(manifest file)。清单文件包含诸如每个流的数据率和分辨率的用于视频播放器122播放分段数据流和提供地址的播放清单的信息,从地址可检索视频内容。编码器114生成用于每个编码视频信号的单个清单文件,其中,清单文件连同流信号116一起被分布并且被存储在CDN 118上。每个CDN 118包括多个边缘服务器120,其存储编码视频信号116和清单文件直到视频内容的回放由视频播放器122请求。虽然在图1中所图示的实施例示出了单个CDN 118,但是应预期到,编码视频信号116可以被存储在多个CDN 118上。清单文件可以包括每个CDN的地址,使得回放可以从CDN 118中的任一个发生。

如在图1中进一步所图示的,环境包括清单服务器124。清单服务器124被用于把唯一性清单文件——在本文中还被称为每用户清单文件——提供给用于每个被请求视频内容的每个视频播放器122。每个视频播放器122包括本机视频播放器模块128,其向用户提供接口并且其管理视频播放器122上的视频回放。每个视频播放器122还包括代理模块129。代理模块129可以是在视频播放器122上执行的插件或者其他软件模块,其补充(即,添加附加能力)或者替换(即,添加附加能力并且包含视频接口和回放能力)本机视频播放器模块128。如下面将更详细地描述的,在一个方面中,当用户125请求用于在视频播放器122上回放的视频内容时,本机视频播放器模块128可以与代理模块129并且进而与清单服务器124(而不是CDN 118)通信以获得用于视频回放的清单文件。清单服务器124管理由编码器114所生成的清单文件的检索和递送,以将唯一性清单文件提供给每个视频播放器122。

如在图1中进一步图示的,环境还可以包括一个或多个备选内容网络(ACN)123和/或备选内容测量器127。诸如商业广告等的备选内容可以被存储在ACN 123中。虽然在图1中所图示的实施例示出了单个ACN 123,但是应预期到,备选内容可以被存储在不同的地理位置中的多个ACN 123上。每个ACN 123可以包括许多边缘服务器121,其可以存储用于备选内容的流信号,直到由清单服务器124请求。除了其他方面,清单服务器124可以基于其地理接近度而选择ACN 123以便减少传输延时。备选内容测量器127可以与用于测量由视频流中的视频播放器122报告的可检测事件——诸如相对于用于测量服务器的备选内容注入的触发器——的视频播放器122通信。

然后转到图2,图示了使用由服务器所生成的清单文件测量视频回放所执行的操作。在块130,编码器114接收初始视频信号112。应预期到,该视频信号112可以是预记录信号——诸如电视节目或者电影的片段,或者视频信号112可以是例如体育事件、音乐会或者新闻馈给的直播流。编码器114将原始视频信号转换为适于经由(一个或多个)HTTP递送的直播流信号116。在转换视频信号中的一个操作是将视频信号划分为分段。分段可以在长度方面是例如10秒。可选地,例如从1秒直到10秒的其他分段长度可以被选择。视频分段的长度必须小于用于HTTP数据分组的最大有效载荷。简单地参考图3A,通过示例所示的来自编码器114的视频信号116可以由被划分为被请求视频内容的九个分段的视频内容构成,被图示为“c1”、“c2”、“c3”等,每个分段针对90秒的净内容长度在长度方面是10秒。在将视频信号116生成为分段(还被称为被请求视频内容)之后,视频信号和清单文件被传送到CDN 118用于存储在边缘服务器120中的一个中,如在块132中所示。

在块134,用户125然后经由本机视频播放器模块128请求在视频播放器122上的期望的视频分段的回放。视频播放器122可以是接收流信号116的任何适合的电子设备,诸如台式计算机、电视、膝上型计算机、平板电脑、连接到视频屏幕的启用Wi-Fi的设备、或者移动电话。在块136,本机视频播放器模块128进而从代理模块129请求清单文件,以便检索播放被请求视频内容必要的信息。

在块138,代理模块129进而从清单服务器124请求清单文件。当视频播放器122从清单服务器124请求清单文件时,连接在设备之间被建立。会话标识符还可以被生成以标识连接。会话标识符可以由视频服务器122或者清单服务器124生成。出于说明的目的,可以假定会话标识符可以由视频播放器122生成。当请求清单文件时,会话标识符可以由视频播放器122传送到清单服务器124。

由于清单服务器124已经与视频播放器122建立连接,因而其可以在将清单文件返回到视频播放器122之前定制清单文件,并且将唯一性清单文件提供给每个视频播放器122。在没有清单服务器124的情况下,视频播放器122直接地从CDN 118检索清单文件并且清单文件的内容对于所有用户相同。然而,由于清单服务器124将唯一性清单文件提供到每个播放器,清单文件可以包括视频播放器122、视频播放器的用户125、或其组合的标识信息。进一步地,清单文件可以被修改以包括特定于用户125的内容。

在块140,清单服务器124与ACN 123通信以请求可以应用到用户125和/或视频播放器122的备选内容(alternative content)。除了其他方面,这样的备选内容可以例如取决于用户125和/或视频播放器122的地理位置和/或观看历史。备选内容可以例如被用于在被请求视频内容的开始或者结束或者在中断分段期间提供广告或者其他备选内容。清单服务器124可以针对每个用户会话并且针对每个显示机会从ACN123请求备选内容。在块142,ACN 123返回备选内容,其可以最终被缝合在用于视频播放器122的视频流中。

为了确保备选内容的有效性,备选内容可以包括包含特定事件触发器的有效载荷(备选内容有效载荷信息)和/或针对用于测量视频播放器122处的备选内容的对应的用户会话特定数据的请求。这可以例如经由被提供有用于命令视频播放器122作出反应的备选内容的元数据完成。这样的事件触发器可以包括例如在其中备选内容的帧相对于被请求视频内容的开始、停止和/或到达中点的精确时间处作出反应,来响应用于视频播放器122的URL地址等。

然后,在块144,清单服务器124与CDN 118通信,并且在块146,对应于特定用户的请求的最新清单文件从CDN 118被加载。清单服务器124可以周期性地加载如可以要求的来自CDN 118的清单文件的更新。在块146,CDN 118将清单文件和/或更新提供到清单服务器124。进而,清单服务器124处理来自CDN 118的清单文件以确定用于缝合备选内容的适合的位置。在一个方面中,这样的位置可以由编码器114在清单文件中被预定。

因此,清单服务器124更新清单文件以酌情将备选内容分段包括在视频流中。例如,简单地参考图3B,利用所生成的定制清单文件,视频信号116可以针对回放被重新配置为包括备选内容的两个分段的经修改的视频信号116',被图示为“a1”和“a2”,之后是被请求视频内容的四个分段,被图示为“c1”、“c2”、“c3”和“c4”,之后是备选内容的另一两个分段,被图示为“a2”和“a3”,并且之后是被请求视频内容的另一四个分段,被图示为“c5”、“c6”、“c7”和“c8”。在分段在长度方面是10秒的情况下,经修改的视频信号116'可以然后具有130秒的总内容长度。该缝合的视频流可以通过要求用于视频播放器122处的被请求视频内容的第一次观看的第一广告的初始观看和第二广告的中流观看的清单服务器124来反映例如逻辑规则的实施。每次用户125播放视频,视频播放器122可以从清单服务器124获得更新的清单文件。清单服务器124可以单独地测量视频播放器122的状态和用户观看体验。

还参考图4和图5,图示了清单文件的分段,这些分段示出可以在清单文件中可用的内容的一部分。清单文件是文本文件并且文本文件的每行上的特定内容由该行的开始处的指示标识。例如,图4标识流新信号116中的不同流,其中,每个流具有不同的带宽。用于各流的播放清单的位置也被包括在清单文件中。图5是包含视频分段的播放清单的一部分的另一清单文件。每行可以标识1与5(即,在.ts文件扩展名之前“-1”、“-2”等)之间的特定视频分段,并且提供CDN118中的视频分段的位置。清单文件可以包括对应于视频流的任何信息,诸如用于视频流的元数据信息。

另外,在清单文件的分段被更新以提供备选内容的同时,用于测量的前述备选内容有效载荷也可以被添加到清单文件。再次参考图2,在块148,清单服务器124将更新的清单文件传送到代理模块129。

然后,在块150,代理模块129解析更新的清单文件并且提取用于测量的备选内容有效载荷信息并且将该信息存储在存储器中。代理模块129然后确定用于每个备选内容分段的开始的帧位置。因此,代理模块129可以利用更新的清单文件修改视频流,诸如通过利用由代理模块129所提供的视频分段的代理位置(TS代理文件位置)替换清单文件中的视频分段(TS文件位置)。因此,当视频播放器122进行用于视频流的请求时,在代理位置处的视频分段可以被提供。另外,当替换视频分段时,用于测量的备选内容有效载荷信息——包括元数据、位置信息等或者对这样的信息的参考——也可以被包括。由代理模块129利用视频分段在代理位置处所操纵的该新更新的清单文件然后被发送到本机视频播放器模块128。

在块152,在按照其请求接收清单文件时,本机视频播放器模块128可以然后请求视频分段显示。由于清单文件现在包括用于视频分段的代理位置,因而本机视频播放器模块128将从代理模块129请求视频分段。

在块154,代理模块129与CDN 118通信以请求视频内容分段;并且在块156,代理模块129加载来自CDN 118的视频内容分段。在视频内容分段被发送到本机视频播放器模块128之前,代理模块129可以将视频内容分段与备选内容分段重新打包并且可以注入帧准确触发器——诸如根据用于元数据的ID3标准——以形成视频流。这些触发器可以被设定用于通过在诸如视频播放器122显示备选分段的开始、停止和/或中点帧的事件上触发来测量具有备选内容有效载荷信息的备选内容分段、或者对备选内容分段的引用。因此,代理模块129可以加载具有视频内容分段、备选内容分段和对应于备选内容有效载荷信息的帧准确触发器的视频流(TS文件)。

在块158,代理模块129将视频流提供到本机视频播放器模块128,其进而将视频流播放给用户125。在回放时,视频播放器122将在已经根据备选内容有效载荷信息注入的预定帧触发器上触发。这些触发器可以导致可以由用于测量关于播放视频流的视频播放器122的信息的服务器来测量的可检测事件。

在块160,视频播放器122经由本机视频播放器模块128可以播放用于用户125的视频流。用户125进而还可以与视频播放器122交互,诸如在视频流中向前或者向后搜索、请求新视频内容等。另外,在块162,当视频流正被播放时,视频播放器122经由代理模块129可以在可检测事件——诸如对应于备选内容有效载荷内容的帧准确触发器——上触发。这样的可检测事件可以由一个或多个服务器或者其他实体——诸如备选内容测量器127——测量。

然后转到图6,根据本公开的另一方面,内容提供者210生成待分布到视频消费者的视频信号212。视频信号可以以诸如SDI格式的未压缩文件格式或者以诸如MPEG或者TS文件格式的压缩格式提供。视频信号212被发送到编码器214,其将文件转换为直播流信号216。直播流信号216优选地是可以通过因特网使用标准HTTP或者HTTPS协议传送的分段数据流。直播流信号216可以包括多个流,其中,每个流可以具有不同的数据率和/或不同的分辨率。直播流信号的格式可以是但不限于HLS或者MPEG-DASH。然而诸如来自或者Smooth Streaming等的HTTP Dynamic Streaming(HDS)的其他协议可以被使用而不脱离本公开的范围。

除分段数据流之外,编码器生成清单文件。清单文件包含诸如每个流的数据率和分辨率的用于视频播放器播放分段数据流和提供地址的播放清单的信息,从地址可检索视频内容。编码器214生成用于每个编码视频信号的单个清单文件,其中,清单文件连同流信号216一起被分布并且被存储在CDN218上。应注意到,“单个”清单文件是指用于每个编码信号的公共或者相同清单文件。清单文件可以包括被存储在CDN上的多个数据文件,其中,每个清单文件包含回放流信号所要求的数据的一部分。进一步地,对于直播流视频而言,当新内容从直播事件被添加时,清单文件可以以周期性间隔被更新和重新传送。虽然多个文件被使用,但是由编码器214生成用于递送到每个视频播放器222的内容相同。每个CDN 218包括许多边缘服务器220,其存储编码视频信号216和清单文件直到视频内容的回放由视频播放器222请求。虽然在图6中所图示的实施例示出了单个CDN 218,但是应预期到,编码视频信号216可以被存储在多个CDN 218上。清单文件可以包括每个CDN的地址,使得回放可以从CDN 218中的任一个发生。

如在图6中进一步所图示的,示例性环境包括清单服务器224。清单服务器224被用于将唯一性清单文件——在本文中还被称为每用户清单文件——提供给用于每个被请求视频内容的每个视频播放器222。每个视频播放器222包括本机视频播放器模块228,其向用户提供接口并且其管理设备222上的视频回放。一些视频播放器222还可以包括被图示为图6中的可选模块的增强型视频播放器模块229。增强型视频播放器模块229可以是在视频播放器222上执行的插件或者其他软件模块,其补充(即,添加附加能力)或者替换(即,添加附加能力并且包含视频接口和回放能力)本机视频播放器模块228。如下面将更详细地描述的,当用户225请求用于在视频设备222上回放的视频内容时,本机或者增强型视频播放器模块229与清单服务器224而不是CDN 218通信以获得用于视频回放的清单文件。清单服务器224管理由编码器214所生成的清单文件的检索和递送以将唯一性清单文件提供给每个视频播放器222。

示例性实施例还包括与编码器214通信的视频管理器215。视频管理器215从内容提供者接收被包括在视频信号212中的触发器。视频管理器215还与内容服务器217和清单服务器224通信,其中,内容服务器217可存储由内容提供者210所生成的元数据并且其先前地通过视频播放器222经由带外方法来检索。根据本公开的一个实施例,视频管理器215和清单服务器214被实现在单个服务器上。根据本公开另一实施例,视频管理器215和清单服务器224被实现在单个服务器上。由于清单服务器224已经与每个视频播放器222建立每用户连接,如下文更详细讨论的,因而视频管理器215能够基于每用户连接来标识旨在用于单独的视频播放器222的内容。在检测到视频信号212中的触发器时,视频管理器215联系内容服务器217以检索对应于将以其他方式需要由视频播放器222带外(out-of-band)请求的触发器的元数据。元数据可以对于所有视频播放器222通用或者可以被裁剪例如为地理区域或者特定视频播放器222。已检索了信息,视频管理器将信息通信到编码器214,其中,其可以被包括在用于直接地递送到视频播放器的传输流内。下文更详细地讨论了将信息插入视频流中。

然后转到图7,图示了创建、递送和回放每用户清单文件所执行的操作。在块230,编码器214接收初始视频信号212。应预期到,该视频信号212可以是预记录信号——诸如一集电视节目或者电影或者视频信号212可以是例如体育事件、音乐会或者新闻馈给的直播流。编码器214将原始视频信号转换为适于经由一个或多个HTTP递送的直播流信号216。在转换视频信号中的一个操作是将视频信号分为分段。分段可以在长度方面是例如10秒。可选地,例如从1秒直到10秒的其他分段长度可以被选择。视频分段的长度必须小于用于HTTP数据分组的最大有效载荷。

在将视频信号212转换为分段之后,编码器214可以将视频信号212加密以防止视频内容的未授权观看。在块232,编码器214与密钥服务器226建立通信并且请求密钥用于将分段视频信号212加密。密钥服务器226将密钥返回到编码器214,如在块234中所示。被用于加密分段视频信号212的密钥在本文中将被称为内容加密密钥。编码器214可以使用任何适合的加密协议,诸如高级加密标准(AES),以使用内容加密密钥对分段视频信号进行加密。密钥服务器的位置和被用于加密分段视频信号的加密密钥被包括在清单文件中。清单文件和加密的视频信号然后被传送到CDN 218用于存储在边缘服务器220中的一个中,如在块236中所示。

在块238,用户225然后请求在视频播放器222上回放期望的视频分段。视频播放器222可以是接收流信号216的任何适合的电子设备,诸如台式计算机、电视、膝上型计算机、平板电脑、连接到视频屏幕的启用Wi-Fi的设备或者移动电话。视频播放器222从清单服务器224请求清单文件以便检索播放被请求视频内容必要的信息。再次参考图4和图5,图示了图示可以在清单文件中可用的内容的一部分的示例性清单文件的分段。清单文件是文本文件并且文本文件的每行上的特定内容由该行的开始处的指示标识。例如,图4标识流信号216中的不同流,其中,每个流具有不同的带宽。用于各流的播放清单的位置也被包括在清单文件中。图5是包含加密视频分段的播放清单的一部分的另一清单文件。每行从密钥服务器的位置开始以将视频分段解密、标识1与5之间的特定视频分段(即,在.ts文件扩展名之前“-1”、“-2”等),并且提供CDN 218中的视频分段的位置。清单文件可以包括对应于视频流的任何信息,诸如用于视频流的元数据信息。

当视频播放器222从清单服务器224请求清单文件时,连接在设备之间被建立。会话标识符还被生成以标识连接。会话标识符可以由视频服务器222或者清单服务器224生成。出于说明的目的,将假定会话标识符由视频播放器222生成。当请求清单文件时,会话标识符由视频播放器222传送到清单服务器224。在块242,清单服务器224然后从CDN 218请求清单文件。在块244,CDN 218将清单文件返回到清单服务器224。

由于清单服务器224已经与视频播放器222建立连接,因而其可以在将清单文件返回到视频播放器222之前定制清单文件并且将唯一性清单文件提供给每个视频播放器222。在没有清单服务器224的情况下,视频播放器222直接地从CDN 218检索清单文件并且清单文件的内容对于所有用户相同。然而,由于清单服务器224将唯一性清单文件提供到每个播放器,清单文件可以包括视频播放器222的标识信息、视频播放器的用户225、或其组合。进一步地,清单文件可以被修改以包括特定于用户225的内容。

清单服务器224可以被配置成生成用于每个清单文件的加密密钥。加密密钥根据由视频播放器222当其请求期望的视频内容时所生成的唯一会话标识符被生成。可选地,加密密钥还可以被生成作为被请求视频内容的函数。因此,每个加密密钥对于与特定视频播放器的特定会话是独特的,这导致一次性使用唯一加密密钥。一次性使用唯一加密密钥在本文中将被称为清单加密密钥。在块246,清单服务器224将清单加密密钥传送到密钥服务器226,并且在块248,密钥服务器226确认清单加密密钥的接收。

可选地,密钥服务器226可以被配置成生成清单加密密钥。在块246,清单服务器224将会话标识符和对应于期望的视频内容的标识符传送到密钥服务器而不是传递清单加密密钥。密钥服务器226可以然后生成清单加密密钥,并且在块248,将清单加密密钥返回到清单服务器224。在生成或者获得清单加密密钥之后,清单服务器224在将清单文件传送到视频服务器222之前对清单文件进行加密。清单服务器224然后将加密的清单文件传送到视频播放器222,如在块250所示。

再次参考图6,如果视频播放器222包括来自清单服务器224的提供者的增强型视频播放器模块229,则增强型视频播放器模块229可以被配置成直接地对加密的清单文件进行解密。清单加密密钥以对于清单服务器224和增强型视频播放器模块229二者已知的方式来加密。因此,增强型视频播放器模块229首先将清单加密密钥解码并且然后使用清单加密密钥将清单文件的剩余部分解码。然而,如果视频播放器不包括来自清单服务器224的提供者的增强型视频播放器模块229,则清单服务器224可以包括到密钥服务器226的路径,与在图5中所示的类似,并且视频播放器222从密钥服务器226请求清单加密密钥,如在块252中所示。在块254,密钥服务器226将清单加密密钥返回到视频播放器222,并且视频播放器222对清单文件进行解密。已经解密清单文件,或者直接地在具有增强型视频播放器模块229的视频播放器222上或者通过从密钥服务器226请求清单加密密钥并且然后利用本机视频播放器模块228对清单文件进行解码,增强型视频播放器模块229或者本机视频播放器模块228然后需要对视频内容进行解码。

在一些实施例中,清单文件可以保持未加密。当清单文件保持未加密时,清单服务器224可以仍然生成用于与视频播放器222的会话的唯一性清单文件。图7中的操作如上文所讨论的从块230进行到块244。然而,代替编码清单文件,清单服务器224跳过块246和248,在块250将未加密的清单文件传送到视频播放器。视频播放器222读取清单文件并且确定视频内容已经被加密,并且因此必须仍然被解密。

视频播放器模块从清单文件读取用于内容加密密钥的密钥服务器226的位置。应预期到,单个密钥服务器226可以包含清单加密密钥和内容加密密钥二者。可选地,分离的密钥服务器226可以被用于加密密钥中的每个加密密钥。视频播放器222从在清单文件中所标识的密钥服务器226请求内容加密密钥,如在块256中所示。在块258,密钥服务器226将内容加密密钥返回到视频播放器222。清单文件将具有CDN 218的地址作为包含分段的视频内容。因此,视频播放器能够然后开始从CDN检索视频内容。视频播放器222从CDN 218重复地请求播放清单中的下一分段并且CDN返回所请求的分段,如块260和262所示。本机视频播放器模块228然后将来自加密视频分段的内容解码并且将被请求视频内容显示给用户225。

然后转到图8,可以提供在视频管理器215上执行的用户接口300。用户接口300接收对应于当视频内容正被呈现给视频播放器222时在视频播放器上采取的期望的控制或者动作的输入。用户接口300包括在逐帧基础上显示视频内容以便使元数据与视频内容的特定帧同步的帧查看器。用户接口300还包括标识在视频播放器222上待采取的期望的动作的事件选择器320。所选择的事件被编码作为元数据,例如,作为用于插入视频流中的ID3标记。

视频播放器22越来越作为交互设备——诸如膝上型或者平板计算机、移动电话等,而不作为被动观看设备——诸如传统电视。视频播放器222可以包括许多本机应用,诸如日历应用、网络浏览器、或者社交媒体插件。被选择用于包括作为元数据的事件可以激活用于增强型观众体验的本机应用中的一个。例如,节目制作改变可以发起日历应用并且创建用于日历的预约。预约可以利用允许观众接受用于插入其日历中的预约的对观众的提示来标识用于节目的新时间。作为另一示例,所选择的事件可以利用提供附加内容的窗口发起网络浏览器,诸如节目网站或者关于与纪录片有关的主题的网站的链接的列表。观众可以选择跟随所呈现的链接中的一个。作为又一示例,事件可以发起社交媒体插件,其让用户指示其是否喜欢节目或者在其社交媒体账户上提供节目的回顾。

根据本公开的另一方面,元数据可以与广告有关。代替简单地待显示在视频播放器222上的广告,广告可以是交互性的,要求观众点击广告内的一个或多个框、按钮等。对观众的提示需要被显示在广告内的正确帧内,因此观众理解什么正被请求。可选地,提示可以请求观众选择多个广告中的一个用于观看,分发对于观众更有吸引力的内容。元数据还可以包括到视频播放器222的指令,以将观众交互传送回到用户接口300用于测量。

根据本公开的又一方面,元数据可以与节目制作的内容有关。例如,观众可能想要观看直播体育事件。然而,许多回放规则可以相对于事件就位。回放规则可以包括例如诸如本地队的特定事件的地理停电限制或者地理传输。直播体育事件可以运行小于其规定时间或者超过其原始时间段。当回放规则可能已经最初根据原始时间表被传送时,规则可能需要被更新,例如,以当事件运行长时迫使超过时间表的停电或者如果事件运行短或者例如由于天气被取消则允许备选节目被观看。另外,在特定帧处迫使规则以提供至或自直播事件和备选节目的清楚转换是期望的。

根据本公开的又一方面,元数据可以被插入在包含视频内容的传输流(TS)文件内。当编码器214从内容提供者210接收视频信号212时,由内容提供者210插入在视频信号212内的任何触发器被检测。视频管理器215接收触发器并且标识对应于触发器的元数据内容。视频管理器215从内容服务器217检索视频内容。可选地,视频管理器215从用户接口300接收元数据和帧参考。视频管理器215可以根据其正被插入其中的传输流的要求将元数据编码,或者视频管理器215可以将元数据传送到其中其被编码的编码器214。传输流包括元数据流,其包括元数据的内容(例如,显示的文本或者图形、发起的应用、回放规则等)和在其处元数据将被显示或者激活的帧。元数据然后在传输流内被传送到视频播放器222,如上文所讨论的。

根据本公开的又一方面中,元数据被插入在用于传输到视频播放器的清单文件中。视频管理器215从视频信号212接收触发器或者从用户接口300接收元数据,如先前地讨论的。定制标记被定义用于插入清单文件中。定制标记包括元数据的内容和在其处元数据将被显示或者被激活的帧参考。定制标记被插入清单文件的播放清单中并且被传送到视频播放器222,如上文所讨论的。将定制标记插入清单文件中可以利用编码器214或者利用清单服务器224发生。根据一个实施例,当视频信号212正被编码时,视频管理器215将定制标记传送到编码器214。定制标记被插入由编码器214所生成的清单文件中并且被存储在CDN218中。清单服务器224在生成每用户清单文件之前最初从CDN读取清单文件,并且因此,定制标记将在清单文件中。根据另一实施例,元数据可以在递送时而不是原始视频流被编码时被提供。定制标记可以从视频管理器215被传送到清单服务器224并且由清单服务器224插入每用户清单文件中。

视频播放器222接收传输流和清单文件,该清单文件用于清单数据已经被插入其中的被请求视频内容。本机(native)视频播放器模块228或者增强型(enhanced)视频播放器模块229可以被用于提取或作用在嵌入的元数据。如果例如元数据被插入传输流中,则本机视频播放器模块228接收传输流并且处理元数据。然而,代替接收仅触发器,传输流包括元数据内容并且视频播放器222可以在不要求带外连接的情况下采取所请求的动作。类似地,如果元数据被插入具有定制标记的清单文件中,则增强型视频播放器模块229识别标记并且在视频播放器222内创建元数据流。增强型视频播放器模块229在正确的帧位置处将元数据流插入传输流中。无论元数据被插入传输流还是清单文件中,所请求的动作在视频内容的期望的帧处的视频播放器222上发生而不要求检索内容的带外连接。

在本公开的一个方面,提供方法以将用于广告的每用户每会话元数据或者从用于特定用户会话的备选内容服务器接收到的其他备选内容(用于测量)插入在用于递送到用户的视频播放器的清单文件中。

根据本公开的另一方面,提供方法用于从由每用户清单递送系统(清单服务器)注入清单文件中的元数据创建视频传输流中的帧准确触发器。这可以允许视频播放器利用每个元数据触发器事件、利用每帧准确度诸如向服务器提供通知。

根据本公开的另一方面,提供方法用于用户使用元数据触发器和可以由这样的元数据触发器引导的动作与广告或者其他备选内容(其可以与被请求视频内容缝合在一起)交互。在一个方面中,动作可以包括在用户能够通过当备选内容被显示时将其点击来触发动作时检索信息。

根据本公开的另一方面,提供方法使用由系统插入的帧准确触发器对服务器缝合的直播流测量广告或其他备选内容。

根据本公开的另一方面,提供系统,其可以解决当广告或者其他备选内容由分离的服务器缝合在一起时准确地测量广告或者其他备选内容的问题(在该情况下,视频播放器仅接收视频文件并且不测量被嵌入在原始广告或者其他备选内容中的信息)。

根据本公开的另一方面,硬件或者软件模块可以被实现在视频播放器中以便:处理从清单服务器加载的唯一性视频清单文件;解析清单文件,其包含备选内容测量信息;处理清单文件以获得用于每个备选内容分段的总净时间;并且经由帧准确触发器将测量能力注入用于备选内容测量信息的视频流(TS文件)中。以这种方式,经修改的视频流(TS文件)被提供到视频播放器,其可以允许视频播放器触发以产生在期望的时间处可以由服务器或者其他实体测量的可检测事件。

应当理解,本公开在其应用中不限于本文所阐述的部件的构建和布置的细节。本公开能够具有其他实施例并且以各种方式实践或者执行。前述内容的变型和修改在本公开的范围之内。还应理解到,在本文中所公开和所定义的本公开扩展到从文本和/或附图提到或者明显的单独特征中的两个或两个以上的所有备选组合。所有这些不同的组合构成本公开的各种备选方面。本文所描述的实施例解释对于实践本公开已知的最好模式并且将使得本领域的技术人员能够利用本公开。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:屏幕显示和图像处理方法以及嵌入式设备和云服务器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类