用于流传输视频通道的清单重组器的制作方法

文档序号:12290295阅读:270来源:国知局
用于流传输视频通道的清单重组器的制作方法与工艺

视频在因特网上广泛地可获得并且可以使用超文本传输协议(HTTP)实时流传输(HLS)来播放。用户可以通过向因特网浏览器中输入与视频相关联的统一资源定位符(URL)并且使用HLS播放器播放视频来查看在因特网上可获得的视频。如果用户想要访问另一视频,则用户可以向因特网浏览器中输入与另一视频相关联的不同的URL。



技术实现要素:

在一些实现方式中,设备可以接收标识要在流传输视频通道上播放的内容资产的播放列表。每个内容资产可以包括分段。设备可以确定内容资产准备好用于处理。设备可以向队列中添加与内容资产相关联的分段地址。分段地址可以标识存储有内容资产中包括的分段的存储器位置。然而,分段本身可以不被设备存储或者被添加到队列。设备可以根据队列中的分段地址来生成批量分段地址。设备可以发布包括批量分段地址的用于流传输视频通道的通道清单。内容资产可以通过单个网络地址经由流传输视频通道可访问。设备可以基于队列中的分段地址来周期性地更新通道清单。

在一些实现方式中,计算机可读介质可以存储指令,这些指令在由设备的处理器执行时引起处理器接收标识要在流传输视频通道上显示的多个内容资产的播放列表。多个内容资产中的每个内容资产可以包括多个分段。指令可以引起处理器确定内容资产准备好在流传输视频通道上播放。指令可以引起处理器在内容资产被确定为准备好的情况下向队列中添加与内容资产相关联的多个分段地址。多个分段地址可以标识存储有内容资产中包括的多个分段的存储器位置。多个指令可以引起处理器根据队列中的多个分段地址来生成批量分段地址。多个指令可以引起处理器向服务器发送用于流传输视频通道的通道清单。通道清单可以包括批量分段地址,并且多个内容资产可以通过单个网络地址经由流传输视频通道可访问。指令可以引起处理器基于队列中的多个分段地址来连续地更新通道清单。

在一些实现方式中,方法可以包括由设备接收标识要在流传输视频通道上播放的多个内容资产的播放列表。多个内容资产中的每个内容资产包括多个分段。方法可以包括由设备基于与内容资产相关联的开始时间来确定内容资产准备好要在流传输视频通道上播放,内容资产被包括在多个内容资产中。方法可以包括由设备向队列中添加与内容资产相关联的多个分段地址。多个分段地址可以标识存储有内容资产中包括的多个分段文件的存储器位置。方法可以包括由设备根据队列中的多个分段地址来生成批量分段地址。方法可以包括由设备通过向服务器发送通道清单文件来发布包括批量分段地址的用于流传输视频通道的通道清单。多个内容资产可以通过网络地址经由流传输视频通道可访问。

附图说明

图1是本文中描述的示例实现方式的概述的示图;

图2是其中能够实现本文中描述的系统和/或方法的示例环境的示图;

图3是与图2的一个或多个设备对应的设备的示例部件的示图;

图4是用于生成用于通道的播放列表的示例过程的流程图;

图5是用于通道的播放列表的示例实现方式的示图;

图6A和图6B是用于基于播放列表来发布通道清单文件的示例过程的流程图;

图7是用于接收用于与图6A和图6B所示的过程有关的通道清单文件的分段地址的示例实现方式的示图;以及

图8A到图8C是与图6A和图6B所示的过程有关的示例实现方式的示图。

具体实施方式

示例实现方式的以下详细描述涉及附图。不同附图中的相同的附图标记可以标识相同或相似的元件。

内容保持器或操作者可能想要提供用户经由单个URL可以访问的通道,而不是提供与不同URL相关联的不同视频。通道可以以非常类似于TV频道的顺序方式播放多个视频并且使用HLS在用户设备上被播放。本文中描述的实现方式可以提供经由单个URL可访问的通道,并且可以使得通道的操作者能够创建标识先前记录的节目(例如,视频点播(VOD)节目、广告等)和/或要在通道上播放的实时节目的播放列表。

图1是本文中描述的示例实现方式100的概述的示图。假定操作者创建标识要在经由单个URL可访问的通道上播放的多个视频的播放列表。假定每个视频根据HLS协议被分为多个分段并且与内容资产清单文件相关联。另外,假定播放列表包括标识与每个视频相关联的内容资产清单文件的位置的清单地址,并且假定播放列表标识每个视频的开始时间。虽然播放列表可以包括标识多个视频的信息,但是播放列表可以不包括和/或存储用于视频的视频文件本身(例如,媒体文件)。操作者可以经由操作者操作的用户设备来向清单重组器(MRA)服务器发送播放列表。

MRA服务器可以接收播放列表并且存储播放列表。MRA服务器可以基于用于视频的开始时间和当前时间(例如,做出确定的时间)来确定由播放列表标识的视频是否准备好用于处理。如果视频准备好用于处理(例如,开始时间匹配当前时间),则MRA服务器可以使用播放列表中包括的清单地址来访问与视频相关联的内容资产清单文件。内容资产清单文件可以包括标识与视频的分段相关联的分段文件的位置的分段地址。分段文件可以是视频的分段本身。换言之,分段文件可以是HLS播放器实际上可以播放的媒体文件。MRA服务器可以获取视频的分段的分段地址并且向队列添加分段地址。可以在其他视频准备好用于处理(例如,用于视频的开始时间匹配当前时间)时针对在播放列表中标识的其他视频重复向队列添加分段地址的这一过程。

MRA服务器可以将来自队列的多个分段地址缝合在一起以生成用于视频的批量分段地址。MRA服务器可以基于批量分段地址来生成通道清单文件并且向内容递送网络(CDN)服务器发送通道清单文件。MRA服务器可以在生成批量分段地址之后等待某个时间量以生成另一批量分段地址,其将用于更新通道清单文件。

CDN服务器可以接收通道清单文件并且经由单个URL将通道清单文件暴露给用户设备。用户设备的用户可以经由单个URL来访问通道清单文件并且下载通道清单文件。用户设备可以具有HLS播放器,HLS播放器访问由通道清单文件中的分段地址标识的分段文件并且以连续方式播放分段文件。因此,用户设备的用户可以在通过单个URL访问的通道上一个接着一个查看多个视频。

通过此方式,操作者可以经由通过单个URL访问的通道向用户提供多个视频。

图2是其中可以实现本文中描述的系统和/或方法的示例环境200的示图。如图2所示,环境200可以包括用户设备210、操作者设备220、云计算环境230和/或网络280。

用户设备210可以包括能够与云计算环境230通信(例如,经由网络280)的设备。例如,用户设备210可以包括移动电话(例如,智能电话、无线电电话等)、计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持计算机、游戏设备、机顶盒等)、或类似设备。在一些实现方式中,用户设备210可以包括使得用户设备210能够从环境200中的设备接收信息和/或向环境200中的设备传输信息的通信接口。用户设备210可以由查看在通道上播放的内容的用户来使用。

操作者设备220可以包括能够与云计算环境230通信(例如,经由网络280)的设备。例如,操作者设备220可以包括移动电话(例如,智能电话、无线电电话等)、计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持计算机、游戏设备、机顶盒等)、或类似设备。在一些实现方式中,操作者设备220可以包括使得操作者设备220能够从环境200中的设备接收信息和/或向环境200中的设备传输信息的通信接口。操作者设备220可以由操作者用于创建用于通道的播放列表。

云计算环境230可以包括递送计算作为服务从而共享的资源、服务等可以被提供给用户设备210和/或操作者设备220的环境。云计算环境230可以提供计算、软件、数据访问、存储等服务,这些服务不需要物理位置的端用户(例如,用户设备210)知识以及递送服务的系统和/或设备的配置。如图所示,云计算环境230可以包括MRA服务器240、MRA存储设备250、内容递送网络(CDN)服务器260和/或内容存储设备270。

MRA服务器240可以包括能够存储、处理和/或路由信息的一个或多个设备。在一些实现方式中,MRA服务器240可以包括使得MRA服务器240能够从环境200中的其他设备接收信息和/或向环境200中的其他设备传输信息的通信接口。在一些实现方式中,MRA服务器240可以生成用于通道的播放列表和/或通道清单文件。

MRA存储设备250可以包括能够存储、处理和/或路由信息的一个或多个设备。在一些实现方式中,MRA存储设备250可以包括使得MRA存储设备250能够从环境200中的其他设备接收信息和/或向环境200中的其他设备传输信息的通信接口。在一些实现方式中,MRA存储设备250可以存储用于通道的播放列表和/或用于创建播放列表的信息。

CDN服务器260可以包括能够存储、处理和/或路由信息的一个或多个设备。在一些实现方式中,CDN服务器260可以包括使得CDN服务器260能够从环境200中的其他设备接收信息和/或向环境200中的其他设备传输信息的通信接口。在一些实现方式中,CDN服务器260可以发布用户设备210能够经由单个URL来访问的通道信息(例如,通道清单文件)。

内容存储设备270可以包括能够存储、处理和/或路由信息的一个或多个设备。在一些实现方式中,内容存储设备270可以包括使得内容存储设备270能够从环境200中的其他设备接收信息和/或向环境200中的其他设备传输信息的通信接口。在一些实现方式中,内容存储设备270可以存储要在通道上播放的内容资产。

网络280可以包括一个或多个有线和/或无线网络。例如,网络280可以包括蜂窝网络、公共陆地移动网络(“PLMN”)、第二代(“2G”)网络、第三代(“3G”)网络、第四代(“4G”)网络、第五代(“5G”)网络、长期演进(“LTE”)网络、和/或类似类型的网络。附加地或备选地,网络280可以包括局域网(“LAN”)、广域网(“WAN”)、城域网(“MAN”)、电话网络(例如,公共交换电话网络(“PSTN”))、自组网络、以太网、因特网、基于光纤的网络、卫星网络、云计算网络、和/或这些或其他类型的网络的组合。

图2所示的设备和/或网络的数目被提供用于示例性目的。实际上,可以有与图2所示的相比另外的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同地布置的设备和/或网络。例如,MRA服务器240和MRA存储设备250可以与CDN服务器260和/或内容存储设备270在不同的云计算环境中。另外,图2所示的两个或更多个设备可以在单个设备内实现,或者图2所示的单个设备可以实现为多个分布式设备。另外,环境200的设备中的一个或多个设备可以执行被描述为由环境200的另外的一个或多个设备执行的一个或多个功能。环境200的设备可以经由有线连接、无线连接、或者有线和无线连接的组合来互连。

图3是对应于图2的一个或多个设备的设备300的示例部件的示图。设备300可以对应于用户设备210、操作者设备220、MRA服务器240、MRA存储设备250、CDN服务器260、和/或内容存储设备270。附加地或备选地,用户设备210、操作者设备220、MRA服务器240、MRA存储设备250、CDN服务器260和/或内容存储设备270可以包括一个或多个设备300和/或设备300的一个或多个部件。

如图3中图示的,设备300可以包括总线310、处理器320、存储器330、输入部件340、输出部件350、和/或通信接口360。

总线310可以包括允许设备300的部件之间的通信的路径。处理器320可以包括处理器(例如,中央处理单元、图形处理单元、加速处理单元)、微处理器、和/或解释和/或执行指令的另一类型的处理部件(例如,现场可编程门阵列(“FPGA”)、专用集成电路(“ASIC”)等)。存储器330可以包括随机存取存储器(“RAM”)、只读存储器(“ROM”)和/或存储信息和/或指令用于由处理器320来使用的另一类型的动态或静态存储设备(例如,闪存、磁性、或光学存储器)。

输入部件340可以包括允许用户向设备300输入信息的部件(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关等)。附加地或备选地,输入部件340可以包括用于感测信息的传感器。

输出部件350可以包括从设备300输出信息的部件(例如,显示器、扬声器、一个或多个发光二极管(“LED”)等)。

通信接口360可以包括收发器类部件,诸如使得设备300能够与其他设备通信的收发器和/或单独的接收器和传输器,诸如经由有线连接、无线连接、或者有线和无线连接的组合。例如,通信接口360可以包括以太网接口、光学接口、同轴接口、红外接口、射频(“RF”)接口、通用串行总线(“USB”)接口等。

设备300可以执行本文中描述的各种操作。设备300可以响应于处理器320执行计算机可读介质、诸如存储器330中包括的软件指令来执行这些操作。计算机可读介质定义为非暂态存储器设备。存储器设备包括单个存储设备内的存储器空间或者分布在多个存储设备上的存储器空间。

软件指令可以经由通信接口360从另一计算机可读介质或者从另一设备被读入到存储器330中。在被执行时,存储器330中存储的软件指令可以引起处理器320执行本文中描述的一个或多个过程。附加地或备选地,可以代替或结合软件指令来使用硬连线电路系统以执行本文中描述的一个或多个过程。因此,本文中描述的实现不限于硬件电路系统或软件的任何具体组合。

图3所示的部件的数目被提供用于示例性目的。实际上,设备300可以包括与图3所示的相比另外的部件、更少的部件、不同的部件、或者不同地布置的部件。

图4是用于生成用于通道的播放列表的示例过程400的流程图。在一些实现方式中,图4的一个或多个处理框可以由MRA服务器240来执行。附加地或备选地,图4的一个或多个处理框可以由与MRA服务器240分离或者包括MRA服务器240的另一设备或者另一组设备来执行。

如图4所示,过程400可以包括获取用于内容资产的内容资产记录(框402)。例如,MRA服务器240可以获取或接收内容资产记录。

内容资产可以包括已经被编码并且被分为分段(例如,根据HLS协议)的任何种类的实时内容或记录的内容(例如,TV秀、电影、家庭视频、音乐视频、体育赛事的广播、实时事件的广播等)。虽然以下描述专注于HLS协议,然而本文中描述的实现并非这样受限,而是可以应用于其他协议。

内容资产记录可以是与相关联的内容资产有关的信息(例如,元数据)。内容资产记录可以包括唯一地标识内容资产的内容资产标识符(ID)。内容资产标识符可以是具有任何长度的字符串。内容资产记录可以包括内容资产名称(例如,TV秀和/或场景的名称)内容资产记录可以标识内容资产的持续时间(例如,30分钟、1小时等)。内容资产记录可以包括标识开始时间和结束时间的信息。开始时间可以指示在其之后可以在通道上播放相关联的内容资产的时间和/或日期。结束时间可以表示在其之后可以不在通道上播放相关联的内容资产的在开始时间之后的时间和/或日期。内容资产记录可以标识相关联的内容资产的内容资产类型。例如,内容资产类型可以包括实时节目和/或所记录的节目。

在一些实现方式中,内容资产记录可以包括标识内容资产清单文件的位置的清单地址。例如,清单地址可以包括指向内容资产清单文件的URL。在一些实现方式中,内容资产清单文件可以是M3u8文件。内容资产清单文件可以包括以不同的数据速率和/或分辨率编码的内容资产的多个简档。每个简档可以包括以相应的数据速率和/或分辨率编码的内容资产的多个分段的分段地址。将关于图7来更加详细地描述内容资产清单文件。

在一些实现方式中,MRA服务器240可以获取或接收内容资产记录或者创建内容资产记录所必须的元数据。例如,通道的操作者可以操作操作者设备220以向由MRA服务器240监测的所规定的位置(例如,监视文件夹)传输包括内容资产记录本身的文件。MRA服务器240可以检测文件在所规定的位置并且获取文件。附加地或备选地,操作者设备220可以向由MRA服务器240监测的所规定的位置(例如,监视文件夹)传输包括用于内容资产的元数据的文件(例如,可扩展标记语言(XML)文件)。MRA服务器240可以检测文件在所规定的位置并且获取文件。MRA服务器240然后可以基于文件中包括的元数据来生成内容资产记录。

在一些实现方式中,MRA服务器240可以使得操作者能够手动创建内容资产记录。例如,操作者可以操作操作者设备220以向MRA服务器240发送手动创建内容记录的请求。MRA服务器240可以从操作者设备220接收请求。MRA服务器240可以向操作者设备220提供允许操作者输入元数据(例如,内容资产ID、内容资产名称、开始时间、结束时间、内容类型、和/或清单地址)的用户界面。操作者可以向操作者设备220中输入元数据,并且操作者设备220可以向MRA服务器240传输元数据。MRA服务器240可以接收元数据并且基于元数据生成内容资产记录。

如图4进一步所示,过程400可以包括存储内容资产记录(框404)。例如,MRA服务器可以将内容资产记录(例如,关于相关联的内容资产的信息)存储在被包括在MRA存储设备250中的存储器中和/或存储在被包括在MRA服务器240中的存储器中。在一些实现方式中,MRA服务器240可以将内容资产记录作为条目存储在由被包括在MRA存储设备220和/或MRA服务器240中的存储器存储的内容资产数据结构中。内容资产数据结构可以包括用于多个内容资产记录的条目。

如图4进一步所示,过程400可以包括接收创建通道的请求(框406)。例如,MRA服务器240可以从由操作者操作的操作者设备220来接收创建通道的请求。

通道可以是媒体内容分布在其上的流传输视频通道(例如,虚拟线性通道(VLC))。创建通道的请求可以包括标识通道名称、通道ID、通道种类(例如,记录的通道、实时通道、记录的和实时的通道等)、和/或发布地址的通道信息。在一些实现方式中,发布地址(例如,URL)可以标识在此发布用于通道的通道清单文件的CDN服务器260上的发布点的位置。附加地或备选地,MRA服务器240可以接收请求并且向操作者设备220提供用于输入通道信息的用户界面。操作者可以经由用户界面向操作者设备220中输入通道信息,并且操作者设备220可以向MRA服务器240发送通道信息。

如图4进一步所示,过程400可以包括创建通道(框408)。例如,MRA服务器240可以基于接收请求通过在通道数据结构中创建条目来创建通道。通道数据结构可以存储在被包括在MRA服务器240中的存储器中和/或存储在MRA服务器240可访问的存储器(例如,被包括在MRA存储设备250中的存储器)中。MRA服务器240可以将通道信息存储在所创建的条目中。

如图4进一步所示,过程400可以包括基于内容资产记录来生成用于通道的播放列表(框410)。例如,MRA服务器240可以使用存储在内容资产数据结构中的来自内容资产记录的信息生成用于通道的播放列表。

操作者可以使用操作者设备220向MRA服务器240发送创建播放列表的请求。MRA服务器240可以从操作者设备220接收请求。MRA服务器240可以向操作者设备220提供用户界面,以提示操作者选择要在通道上播放并且要通过播放列表来标识的由内容资产数据结构标识的内容资产。播放列表可以不包括内容资产本身(例如,视频文件、音频文件等)。相反,播放列表可以包括标识内容资产的信息。操作者设备220可以接收用户界面并且向操作者显示用户界面。

操作者可以使用用户界面来做出用于播放列表的选择。例如,操作者可以选择用于播放列表的通道。附加地或备选地,操作者可以选择要在通道上播放并且通过播放列表标识的内容资产。例如,操作者可以使用内容资产名称、内容资产ID、等标识要选择的内容资产来搜索内容资产数据结构。操作者可以选择用于要在通道上播放的内容资产的开始时间和结束时间。附加地或备选地,操作者可以选择要通过播放列表来标识的多个内容资产并且选择要在通道上播放内容资产的顺序。

操作者设备220可以经由用户界面来接收由操作者做出的选择并且向MRA服务器240发送选择。MRA服务器240可以接收选择并且基于选择来生成播放列表。播放列表可以是标识要在通道上播放的内容资产的数据结构。虽然播放列表可以包括标识内容资产的信息,但是播放列表可以不包括内容资产本身(例如,用于播放内容资产的媒体文件)。

播放列表可以包括指示要在通道上播放内容资产的顺序的顺序信息。顺序信息可以从由操作者做出的选择来获取。播放列表可以包括通过播放列表标识的每个内容资产的内容资产ID和/或内容资产名称。另外,播放列表可以指示每个内容资产的开始时间和/或结束时间。另外,播放列表可以包括与每个内容资产相关联的内容资产清单文件的清单地址。MRA服务器240可以通过使用所选择的内容资产的内容资产ID和/或内容资产名称查询内容资产数据结构来获取与内容资产相关联的清单地址。在一些实现方式中,播放列表可以包括指示每个内容资产是实时节目是所记录的节目的信息。附加地或备选地,播放列表可以包括发布地址。发布地址可以对应于用户设备210经由其来访问通道的单个URL。MRA服务器240可以从存储通道信息的存储器来获取发布地址。将关于图5来更加详细地描述播放列表。

在一些实现方式中,播放列表可以由除了MRA服务器240之外的其他设备来生成,并且其他设备可以向MRA服务器240发送播放列表。在这些实现方式中,MRA服务器240可以从其他设备接收播放列表。

虽然已经关于图4描述了一系列框,然而框和/或框的顺序在一些实现方式中可以修改。附加地或备选地,可以并行地执行非依赖性框。

图5是用于通道、诸如示例通道A的播放列表500的示例实现的图。播放列表500可以是包括与内容资产相关联的一个或多个条目的数据结构。条目可以包括顺序字段510、内容资产ID字段520、开始时间字段530、结束时间字段540、清单地址字段550和/或发布地址字段560。条目可以包括比播放列表500中所示的更少的字段、除了播放列表500中所示的另外的字段、和/或不同于播放列表500中所示的字段。

顺序字段510可以包括指示要在通道上播放内容资产的顺序的顺序信息。例如,如图5所示,顺序字段510可以包括指示要相对于其他内容资产来播放内容资产的顺序的值(例如,1、2、3等)。

内容资产ID字段520可以包括唯一地标识内容的信息。例如,如图5所示,内容资产ID字段520可以包括标识要在通道上播放的具体内容资产的内容资产ID“XYZ”。

开始时间字段530可以指示应当开始在通道上播放内容资产的时间和/或日期。例如,如图5所示,开始时间字段530可以指示用于具有资产ID“XYZ”的内容资产的开始时间11:00:00AM。

结束时间字段540可以指示应当停止在通道上播放内容资产的时间和/或日期。例如,如图5所示,结束时间字段540可以指示用于具有资产ID“XYZ”的内容资产的开始时间11:30:00AM。

清单地址字段550可以指示可以获取用于内容资产的内容资产清单文件的地址。例如,如图5所示,清单地址字段550可以包括用于与具有资产ID“XYZ”的资产相关联的具体的内容资产清单文件(例如,http://index1.url)的URL。

发布地址字段560可以指示要发布的内容资产的通道清单文件的地址(例如,发布地址)。例如,如图5所示,发布地址字段560可以包括指示用于具有资产ID“XYZ”的内容资产的具体的发布地址(例如,http://location.url)的URL。

假定具有内容资产ID“XYZ”的内容资产是要在通道A上播放的第一内容资产。另外,假定要从11:00:00AM到11:30:00AM播放内容资产。另外,假定用于内容资产的内容资产清单文件位于http://indexl.url,并且发布地址是http://location.url。因此,如图5所示,用于这样的内容资产的播放列表500中的条目可以包括顺序字段510中的值“1”、内容资产ID字段520中的内容资产ID“XYZ”、开始时间字段530中的用于11:00:00AM的值、结束时间字段540中的用于11:30:00AM的值、清单地址字段550中的标识URL http://indexl.url的信息、和/或发布地址字段560中的标识URL http://location.url的信息。

播放列表500仅是播放列表的示例,并且播放列表可以采用不同于播放列表500的形式。

图6A和图6B是用于基于播放列表来发布通道清单文件的示例过程600的流程图。在一些实现方式中,图6A和图6B的一个或多个过程框可以由MRA服务器240来执行。附加地或备选地,图6A和图6B的一个或多个过程框可以由于MRA服务器240分离或者包括MRA服务器240的另一设备或者一组设备来执行。

如图6A所示,过程600可以包括接收标识用于通道的内容资产的播放列表(框602)。例如,MRA服务器240可以结合图4的框410如以上描述地生成播放列表。附加地或备选地,MRA服务器240可以从生成播放列表的另一设备(例如,操作者设备220)接收播放列表。虽然播放列表可以包括标识内容资产的信息,但是播放列表可以不包括内容资产本身(例如,用于播放内容资产的媒体文件)。

MRA服务器240可以恒定地监测是否遍及过程600接收到用于通道的已更新列表。

如图6A进一步所示,过程600可以包括存储播放列表(框604)。例如,MRA服务器240可以将播放列表存储在被存储在MRA存储设备250的存储器中的MRA数据结构中。

播放列表可以由MRA服务器240和/或操作者设备220在任何时间更新。例如,可以在处理通过播放列表标识的所有内容资产之前接收用于通道的已更新播放列表。在一些实现方式中,可以更新内容资产的开始时间和/或结束时间,可以更新内容资产的顺序,可以向播放列表添加新的内容资产,可以从播放列表中去除内容资产,等等。比如,如果实时节目比原始调度地运行得更久(例如,足球游戏超时),则可以更新播放列表以更新足球游戏的结束时间以及要在通道上播放的下一内容资产的开始时间。附加地或备选地,如果由于合法或其他原因(例如,足球游戏由于天气而被“中断”或取消)而不能在通道上播放内容资产,则可以实时地使用另一内容资产来代替内容资产。在一些实现方式中,可以在通道上播放另一内容资产的同时和/或在通道上播放其他内容资产之间向要播放的播放列表添加内容资产(例如,广告)。换言之,播放列表是动态的,这给予通道的操作者在调度通道的内容资产方面的灵活性。

在一些实现方式中,MRA服务器240可以使状态信息与通过播放列表标识的每个内容资产相关联。状态信息可以指示内容资产是否准备好用于处理、没有准备好用于处理、和/或已经被处理。例如,在当前时间与和内容资产相关联的开始时间相同或者晚于其时,内容资产可以准备好用于处理。另一方面,在当前时间在与内容资产相关联的开始时间之前时,内容资产可以没有准备好用于处理。在当前时间与和内容资产相关联的开始时间相同或者晚于其时,MRA服务器240和/或MRA存储设备250可以更新用于内容资产的状态信息以表明内容资产准备好用于处理。

如图6A进一步所示,过程600可以包括确定内容资产是否准备好用于处理(框606)。例如,MRA服务器240可以确定内容资产是否准备好用于处理。

在一些实现方式中,当与内容资产相关联的开始时间匹配当前时间(例如,做出确定的时间)时,MRA服务器240可以确定内容资产准备好用于处理。

在一些实现方式中,MRA服务器240可以检查与通过播放列表标识的内容资产相关联的状态信息以确定内容资产是否准备好用于处理。如果状态信息表明内容资产准备好用于处理,则MRA服务器240可以确定内容资产准备好用于处理。如果状态信息表明内容资产没有准备好用于处理和/或已经被处理,则MRA服务器240可以确定内容资产没有准备好用于处理。在一些实现方式中,基于指示要在通道上播放内容资产的顺序的播放列表中包括的顺序信息,MRA服务器240可以确定内容资产准备好用于处理。MRA服务器240可以确定尚未被处理的按照顺序的第一内容资产(例如,下一内容资产)准备好被处理。附加地或备选地,MRA服务器240可以确定下一具体的量的资产准备好用于处理。例如,MRA服务器240可以确定尚未被处理的按照顺序的前两个内容资产准备好被处理。

在一些实现方式中,基于内容资产的开始时间和结束时间,MRA服务器240可以确定内容资产准备好用于处理。例如,MRA服务器240可以确定具有在具体的时间帧内的开始时间的内容资产准备好用于处理(例如,下一2小时、3小时等)。

如果MRA服务器240确定通过播放列表标识的内容资产准备好用于处理(框606——是),则过程600可以前进到框608。如果MRA服务器240确定通过播放列表标识的内容资产没有准备好用于处理(框606——否),则MRA服务器240可以等待直到内容资产准备好用于处理并且过程600可以返回框606。

如图6A进一步所示,如果内容资产被确定为准备好用于处理(框606——是),则过程600可以包括确定内容资产的内容资产类型(框608)。例如,MRA服务器240可以确定准备好要被处理的内容资产的内容资产类型为实时节目还是所记录的节目。

MRA服务器240可以基于播放列表来确定内容资产类型。例如,播放列表可以包括指示内容资产是实时节目还是所记录的节目的信息。附加地或备选地,MRA服务器240可以经由播放列表中包括的清单地址来访问内容资产清单文件。内容资产清单文件可以指示内容资产是实时节目还是所记录的节目,并且MRA服务器240可以基于内容资产清单文件中的信息来确定内容资产的内容资产类型。

如图6A进一步所示,如果内容资产被确定为所记录的节目(框608——所记录的),则过程600可以包括接收与内容资产相关联的所有分段地址(框610)。例如,MRA服务器240可以接收所有的分段地址。

MRA服务器240可以经由播放列表中包括的清单地址来访问用于内容资产的内容资产清单文件。内容资产清单文件可以包括用于与不同简档相关联的多个子清单文件的简档地址(例如,到存储器位置的URL和/或指针)。每个子清单文件可以与以不同分辨率编码和/或针对不同带宽编码的相同的内容相关联(例如,1080逐行扫描(p)、720p等)。MRA服务器240可以经由简档地址来访问每个子清单文件。每个子清单文件可以包括多个分段地址(例如,到存储位置的URL和/或指针),每个分段地址指向以某个分辨率编码的内容的分段文件和/或相应简档的带宽。分段文件可以存储在存储器中,诸如内容存储设备270的存储器。换言之,分段地址指向标记内容资产的分段的媒体文件。MRA服务器240可以通过从每个简档的子清单文件下载分段地址来接收分段地址。然而。MRA服务器240可以不下载分段本身(例如,媒体文件)。

所记录的内容资产可以与所记录的节目(例如,预先记录的内容)相关联。所记录的节目(例如,用于内容资产的所有分段文件)的整个长度可以已经以各种分辨率和/或针对各种带宽被编码。因此,用于内容资产的所有分段文件的分段地址可以被包括在子清单文件中。因此,MRA服务器240可以针对已经准备好被处理的内容资产在相同的时间从子清单文件下载所有的分段地址。将关于图7来更加详细地描述接收分段地址的过程。

如图6A进一步所示,如果内容资产被确定为实时节目(框608——实时的),则过程600可以包括接收与内容资产相关联的可用分段地址(框612)。例如,MRA服务器240可以按照在框610中描述的相同的方式来接收可用分段地址。

实时内容资产可以与实时节目相关联。不同于所记录的内容资产,实时节目的整个长度可以没有编码。取而代之,可以在记录实时节目时对用于实时节目的分段文件实时地编码。因此,子清单文件可以仅包括已经被编码的分段文件的分段地址。MRA服务器240可以接收在子清单文件中可用的分段地址。MRA服务器240可以连续地访问内容资产清单文件和/或子清单文件以接收新的分段地址直到实施节目完成并且所有分段地址被接收到。将关于图7更加详细地描述接收分段地址的过程。

在一些实现方式中,框608、框610和/或框612可以在框606之前发生。换言之,MRA服务器240可以在内容资产准备好用于处理之前接收与内容资产相关联的分段地址。MRA服务器240可以将分段地址存储在MRA数据结构中直到内容资产准备好用于处理。附加地或备选地,MRA服务器240可以存储每个分段地址的状态信息,该状态信息表明分段地址是否没有准备用于处理、准备好用于处理、和/或已经被处理。

图7是与如图6A的框610和框612处描述的接收内容资产的分段地址有关的示例实现方式700的示图。在示例实现方式700中,假定内容资产准备好用于处理并且播放列表包括与内容资产相关联的内容资产清单文件的清单地址。

MRA服务器240可以经由清单地址来访问内容资产清单文件。内容资产清单文件可以包括用于对应于下部简档的下部子清单文件的下部简档地址(例如,http://low.profile.url)、用于对应于中间简档的中间子清单文件的中间简档地址(例如,http://med.profile.url)、以及用于对应于上部简档的上部子清单文件的上部简档地址(例如,http://high.profile.url)。假定下部简档对应于以低的分辨率(例如,480p)编码的内容资产。另外,假定中间简档对应于以中间分辨率(例如,720p)编码的内容资产。另外,假定上部简档对应于以高的分辨率(例如,1080p)编码的内容资产。另外假定内容资产已经以每个分辨率在大量分段中被编码。虽然图7图示3个简档地址,然而可以内容资产清单文件中可以包括更少的、更多的、或者不同的简档地址。

MRA服务器240可以经由下部简档地址(例如,http://low.profile.url)来访问下部子清单文件。下部子清单文件可以包括以480p分辨率编码的内容资产的每个分段文件的分段地址。分段文件可以具有定时分段(.ts)扩展。下部子清单文件可以包括指向以480p分辨率编码的内容资产的第一分段的媒体文件(例如,low.segment-1.ts)的分段地址http://low/segment-1.ts。MRA服务器240可以下载第一下部分段到第n下部分段的分段地址。然而,MRA服务器240可以不下载下部分段文件本身(例如,媒体文件)。

MRA服务器240可以经由中间简档地址(例如,http://medium.profile.url)来访问中间子清单文件。中间子清单文件可以包括以720p分辨率编码的内容资产的每个分段的分段地址。例如,中间子清单文件可以包括指向以720p编码的内容的第一分段的媒体文件(例如,med.segment-1.ts)的分段地址http://med/segment-1.ts。MRA服务器240可以下载第一中间分段到第n中间分段的分段地址。然而,MRA服务器240可以不下载中间分段文件本身(例如,媒体文件)。

MRA服务器240可以经由上部简档地址(例如,http://high.profile.url)来访问上部子清单文件。上部子清单文件可以包括以1080p分辨率编码的内容资产的每个分段的分段地址。例如,上部子清单文件可以包括指向以1080p分辨率编码的内容资产的第一分段的媒体文件(例如,high.segment-1.ts)的分段地址http://high/segment-1.ts。MRA服务器240可以下载第一上部分段到第n上部分段的分段地址。然而,MRA服务器240可以不下载上部分段文件本身(例如,媒体文件)。

因此,MRA服务器240可以下载内容资产清单文件中的每个简档的分段地址。换言之,可以针对内容资产的每个分段下载3个分段地址(例如,下部、中间和上部)。

返回图6A,过程600可以包括向队列添加分段地址(框614)。例如,MRA服务器240可以按照MRA服务器240的存储器中包括的顺序向队列添加分段地址。比如,可以将第一分段的第一分段地址放置在队列中,之后是第二分段的第二分段地址,以此类推。

在一些实现方式中,MRA服务器240可以向多于一个队列添加分段地址。例如,每个简档可以与不同的队列相关联,并且与相应简档相关联的分段地址可以被添加至相应队列。附加地或备选地,单个队列可以与多个简档相关联。在这样的情况下,可以将第一分段的所有分段地址放置在队列中,之后是第二分段的所有分段地址,以此类推。

在一些实现方式中,可以将分段地址添加到队列的结尾。附加地或备选地,可以不向队列的结尾添加分段地址。例如,MRA服务器240可以确定对播放列表的更细是否要求修改队列。如果播放列表被更新为包括应当立刻播放的新的内容资产,则可以向队列的前面和/或在队列的结尾前面添加新的内容资产的分段地址。

在一些实现方式中,在向队列添加内容资产的分段地址并且框614完成之后,过程600可以返回框606以确定另一内容资产是否准备好用于处理。同时,当框614完成时,过程600可以前进到框616。换言之,MRA服务器240可以同时前进到框616并且向队列添加另一内容资产的分段地址。例如,如果确定准备好用于处理的第一内容资产为所记录的节目,则可以在第二内容资产的开始时间之前向队列添加第二内容资产的分段地址。然而,如果确定准备好用于处理的第一内容资产为实时节目,则MRA服务器240可能必须等待接收到实时节目的所有分段地址并且在向队列添加第二内容资产的分段地址之前向队列添加实时节目的所有分段地址,即使第二内容资产准备好用于处理。

在一些实现方式中,可以在用于节目(例如,另一类型的内容资产)的分段地址之间向队列添加广告(例如,一种类型的内容资产)的分段地址。例如,节目可以包括要在通道上播放广告的中断点,如TV频道上的商业中断。MRA服务器240可以基于广告清单文件(如任何其他内容资产)的清单地址来获取广告的分段地址。在一些实现方式中,用于节目的分段地址中的一个或多个可以包括指示中断点的开始的标签。MRA服务器240可以基于包括标签的用于节目的分段地址来向队列添加用于广告的分段地址。例如,MRA服务器240可以紧在包括标签的节目的分段地址之后向队列添加用于广告的分段地址。用于广告的分段地址之后可以是队列中的节目的更多分段地址。附加地或备选地,MRA服务器240可以基于某个时间和/或事件来向队列添加用于广告的分段地址。例如,可以在某个时间向队列的前面、队列的后面、和/或队列的中间添加用于广告的分段地址。

通过此方式,可以向队列添加用于广告的分段地址,即使播放列表可以没有具体地标识广告。另一方面,播放列表可以标识要在通道上播放的广告并且MRA服务器240可以处理广告,如任何其他内容资产。

如图6B所示,过程600可以包括根据队列生成批量分段地址(框616)。例如,MRA服务器240可以通过将来自队列的分段地址缝合在一起来生成批量分段队列。

MRA服务器240可以从队列获取多个分段地址并且将分段地址缝合在一起以创建批量。本文中使用的术语“缝合(stitch)”、“缝合的(stitched)”、“缝合(stitching)”等表示按照顺序关联和/或分组条目(例如,分段地址)。例如,MRA服务器240可以获取队列中的前三个分段地址并且按照分段地址在队列中的顺序来将分段地址缝合在一起。因此,批量可以包括3个分段地址。然而,批量中的多个分段地址不限于3个,批量中可以有多于或少于3个分段地址(例如,2个分段地址、4个分段地址、6个分段地址等)。在一些实现方式中,操作者设备220的操作者可以规定批量中的分段地址的量。

在一些实现方式中,MRA服务器240可以针对每个简档获取多个分段地址。MRA服务器240可以将每个简档的多个分段地址缝合在一起。例如,关于图7所示的示例实现方式700,可以将对应于以480p编码的分段1到3的分段地址http://low/segment-1.ts、http://low/segment-2.ts和http://low/segment-3.ts缝合在一起以形成第一批量。同样,可以将对应于以720p编码的分段1到3的分段地址http://med/segment-1.ts、http://med/segment-2.ts和http://med/segment-3.ts缝合在一起以形成第二批量。类似地,可以将对应于以1080p编码的分段1到3的分段地址http://high/segment-1.ts、http://high/segment-2.ts和http://high/segment-3.ts缝合在一起以形成第三批量。

如图6B进一步所示,过程600可以包括发布包括批量分段地址的通道清单文件(框618)。例如,MRA服务器240可以生成包括批量分段地址的通道清单文件(例如,M3u8文件)。通道清单文件可以包括与相同分段相关联并且与不同简档相关联的多个批量。例如,通道清单文件可以包括指向以第一分辨率编码的分段的分段地址的第一批量。通道清单文件可以包括指向以第二分辨率编码的相同分段的分段地址的第二批量。

MRA服务器240可以从MRA存储设备250中存储的播放列表来获取与内容资产相关联的发布地址。MRA服务器240可以通过向由发布地址标识的CND服务器260上的发布点发送通道清单文件来发布通道清单文件。CND服务器260可以接收通道清单文件并且更新和/或取代用于通道的所存储的通道清单文件。通道清单文件可以由用户经由通道地址(例如,URL)可访问。通道地址可以与发布地址相同或不同。

具有HLS播放器的用户设备210可以经由通道地址来访问通道。CDN服务器260可以向用户设备210发送通道清单文件。用户设备210可以基于与网络280的连接(例如,连接的带宽)和/或与用户设备210相关联的订阅的订阅水平来确定应当使用哪个批量分段地址。例如,用户设备210可以基于上部可用带宽来确定应当访问第一批量分段地址,并且可以基于下部可用带宽来确定应当访问用于相同分段的第二批量分段地址。用户设备210可以经由所确定的批量中的分段地址来访问分段文件。用户设备210可以接收分段文件并且使用HLS播放器来播放分段文件。用户设备210可以根据HLS协议来重复这一过程(例如,从CDN服务器260获取已更新通道清单文件并且从内容存储设备270获取通过新的批量分段地址标识的分段文件)。例如,用户设备210可以基于连接的带宽针对第一批量获取以第一分辨率编码的分段文件。稍后,连接的带宽可以改善,并且用户设备210可以基于改善的带宽针对第二批量接收以高于第一分辨率的第二分辨率编码的分段文件。在一些实现方式中,当通道包括要播放的广告时,不同位置的用户设备210可以接收不同的广告。例如,用户设备210可以获取用于基于用户设备210的位置以及通道清单文件中包括的广告的分段地址来播放来自内容存储设备270的广告的分段文件。

如图6B中进一步所示,过程600可以包括基于发布的通道清单文件来更新MRA数据结构(框620)。例如,MRA服务器240可以更新与通过播放列表标识的内容资产相关联的状态信息。在一些实现方式中,如果用于内容资产的所有分段地址已经被发布,则可以更新表明内容资产准备好用于处理的用于内容资产的状态信息以表明内容资产已经被处理。

附加地或备选地,MRA数据结构可以指示用于内容资产和/或用于与内容资产相关联的每个分段地址的状态信息。因此,可以更新用于每个发布的分段地址的状态信息以表明分段地址已经被处理。

如图6B进一步所示,过程600可以包括确定队列为空(框622)。例如,当队列不包括任何分段地址时,MRA服务器240可以确定队列为空。

如果MRA服务器240确定队列不为空并且有更多的分段地址需要缝合(框622——否),则过程600可以返回框616并且可以根据队列生成新的批量分段地址。MRA服务器240可以在生成新的批量分段地址之前等待某个时间量(例如,5秒、10秒等)。时间量例如可以基于与批量中包括的分段地址相关联的分段的时间长度。

另一方面,如果MRA服务器240确定队列为空并且没有更多分段地址需要缝合(框622——是),则过程600可以前进到框624。

如图6B进一步所示,如果确定队列为空(框622——是),则过程600可以包括确定通过播放列表标识的所有内容资产是否已经被处理(框624)。MRA服务器240可以通过检查与通过播放列表标识的内容资产相关联的状态信息来确定通过播放列表标识的所有内容资产是否已经被处理。

如果通过播放列表标识的任何内容资产的状态信息表明内容资产尚未被处理(例如,其准备好被处理和/或没有准备好被处理),则MRA服务器240可以确定并非已经处理了通过播放列表标识的所有内容资产。如果MRA服务器240确定尚未处理通过播放列表标识的所有内容资产(框624——否),则过程600可以返回图6A中的框606以确定内容资产是否准备好用于处理。在一些实现方式中,MRA服务器240可以在框622中确定对象是否为空的同时和/或之前来执行框624。换言之,MRA服务器240可以返回框606并且在队列为空之前向队列添加与新的内容资产相关联的新的分段地址。

如果通过播放列表标识的每个内容资产的状态信息表明已经处理了所有内容资产,则MRA服务器240可以确定通过播放列表标识的所有内容资产已经被处理。如果MRA服务器240确定通过播放列表标识的所有内容资产已经被处理(框624——是),则过程600可以结束(框626)。例如,MAR服务器240可以返回图6A中的框602并且等待接收新的播放列表。在一些实现方式中,MRA服务器240可以从MRA数据结构中删除播放列表。备选地,MRA服务器240可以继续在MRA数据结构中存储播放列表。

虽然已经关于图6A和图6B描述了一系列框,然而这些框和/或框的顺序可以在一些实现方式中修改。附加地或备选地,可以并行执行非依赖性框。

图8A到图8C是与图6A和图6B所示的过程600有关的示例实现方式800的示图。

如图8A所示,操作者设备220可以向MRA服务器240发送通道的播放列表,并且MRA服务器240可以接收播放列表。假定播放列表表明应当从1:00PM到2:00PM播放内容资产A(例如,所记录的节目)并且应当从2:00PM到3:00PM播放内容资产B。另外,假定播放列表包括指示用于内容资产A的内容资产清单文件A的位置的清单地址A并且包括指示用于内容资产B的内容资产清单文件B的位置的清单地址B。另外,假定播放列表包括指示用于通道的CDN服务器260上的发布点的发布地址(例如,channel.url)。另外,假定MAR服务器240在中午接收播放列表并且将播放列表存储在被包括在MRA存储设备250中的MRA数据结构中。MRA服务器240可以使状态信息与内容资产A和内容资产B相关联,状态信息表明内容资产没有准备好用于处理(例如,开始时间不匹配当前中午时间)。MRA服务器240可以将状态信息存储在被包括在MRA存储设备250的存储器中的MRA数据结构中。

如图8B进一步所示,假定当前时间现在是1:00PM。因此,MRA服务器240可以更新MRA数据结构中与内容资产A相关联的状态信息以表明内容资产A准备好用于处理。MRA服务器240可以从播放列表获取清单地址A并且使用清单地址A来访问内容资产清单文件A。内容资产清单文件A可以包括用于内容资产A的所有分段地址,因为内容资产A是所记录的节目。假定有用于内容资产A的n个分段地址并且分段地址A1到An表示用于多个简档之一的分段地址。MRA服务器240可以从内容资产清单文件下载分段地址A1到An并且向队列添加分段地址A1到An。附加地或备选地,MRA服务器240可以从内容资产清单文件下载用于其他简档的分段地址并且向队列添加这些分段地址。MRA服务器240可以将3个分段地址缝合在一起以生成批量。例如,MRA服务器240可以将分段地址A1、A2和A3缝合在一起以生成批量1。

如图8B进一步所示,MRA服务器240可以生成包括批量1的通道清单文件并且使用播放列表中包括的发布地址(例如,channel.url)向CDN服务器260发送通道清单文件。MRA服务器240可以从队列中去除分段地址A1到A3(例如,批量1)并且MRA服务器240可以在生成另一批量之前等待某个时间量。在某个时间量之后,MRA服务器240可以将分段地址A4、A5和A6缝合在一起以生成批量2。MRA服务器240可以使用播放列表中包括的发布地址(例如,channel.url)向CDN服务器260发送包括批量2的已更新通道清单文件。MRA服务器240可以重复生成批量并且发布已更新通道清单文件的这一过程直到生成并且发布内容资产A的最后的批量(批量X)。在一些实现方式中,MRA服务器240可以在发布批量1到X时同时地生成和发布内容资产A的其他简档的批量。例如,每个已更新清单文件可以包括与相同分段相关联但是与不同简档相关联的多个批量。在发布批量X之后,MRA服务器240可以更新MRA数据结构以表明内容资产A被处理。

如图8B进一步所示,具有HLS播放器或类似播放器的用户设备210的用户可以在1:00PM经由单个URL(例如,channel.url)访问通道。CDN服务器260可以向用户设备210发送包括批量1(例如,分段地址A1到A3)的通道清单文件,并且用户设备210可以接收通道清单文件。用户设备210可以经由批量1中的分段地址A1到A3来访问存储在内容存储设备270中的3个分段文件(例如,视频文件)。用户设备210可以接收分段文件并且使用HLS播放器(或类似播放器)来播放分段文件。在MRA服务器240发布已更新清单文件时,用户设备210可以重复从CDN服务器260获取已更新通道清单文件、从内容存储设备270获取通过新的批量分段地址标识的分段文件并且播放分段文件的这一过程。例如,用户设备210可以获取包括批量2(但是不包括批量1)的已更新通道清单文件、包括批量3(但是不包括批量1和批量2)的另一已更新通道清单文件等,直到刚好在2:00PM之前接收到包括批量X的已更新通道清单文件。因此,用户设备210可以经由通过单个URL接收的已更新通道清单文件来从1:00PM到2:00PM播放资产A。

如图8C所示,假定当前时间现在是2:00PM。因此,MRA服务器240可以更新与内容资产B相关联的MRA数据结构中的状态信息以表明内容资产B准备好用于处理。MRA服务器240可以从播放列表获取清单地址B并且使用清单地址B来访问内容资产清单文件B。内容资产清单文件B可以仅包括用于内容资产B的一些分段地址,这是因为内容资产B是实时节目并且尚未编码所有分段。假定当MRA服务器240访问内容资产清单文件B时,有5个分段地址(例如,B1到B5)可用,并且假定分段地址B1到B5与相关联的分段的多个简档之一相关联。因此,MRA服务器240可以下载分段地址B1到B5并且向队列添加分段地址B1到B5。

如图8C进一步所示,MRA服务器240可以将3个分段地址缝合在一起以生成批量。例如,MRA服务器240可以将分段地址B1、B2和B3缝合在一起以生成批量X+1并且从队列中去除分段地址B1、B2和B3。MRA服务器240可以将通道清单文件更新为包括批量X+1并且使用播放列表中包括的发布地址来向CDN服务器260发送已更新通道清单文件。因此,可以紧在用于内容资产A的批量X之后发布用于内容资产B的批量X+1。

MRA服务器240可以再次使用清单地址B来访问内容资产清单文件B。在这一时间点,内容资产清单文件B可以包括更多的分段地址(例如,B6到B10),因为已经编码实时节目的大部分。因此,MRA服务器240可以下载分段地址B6到B10并且向队列添加分段地址。在某个时间量之后,MRA服务器240可以将分段地址B4、B5和B6缝合在一起以生成批量X+2。MRA服务器240可以更新通道清单文件以包括批量X+2并且使用播放列表中包括的发布地址来向发布点发送通道清单文件。MRA服务器240可以重复访问内容资产清单文件B、下载新的分段地址、生成批量、并且发布已更新通道清单文件这一过程直到生成并且发布用于内容资产B的最后的批量(批量X+Y)。在一些实现方式中,MRA服务器240可以在发布批量X+1到X+Y时同时地生成和发布用于内容资产B的其他简档的批量。例如,每个已更新清单文件可以包括与相同分段相关联但是与不同简档相关联的多个批量。在发布批量X+Y之后,MRA服务器240可以更新MRA数据结构以表明内容资产B被处理。

如图8C进一步所示,具有HLS播放器或类似播放器的用户设备210的用户可以在2:00PM经由单个URL(例如,channel.url)继续访问通道。CDN服务器260可以向用户设备210发送包括批量X+1(例如,分段地址B1到B3)的已更新通道清单文件,并且用户设备210可以接收已更新通道清单文件。用户设备210可以经由批量X+1中的分段地址B1到B3来访问内容存储设备270上存储的3个分段文件(例如,视频文件)。用户设备210可以接收分段文件并且使用HLS播放器(或类似播放器)来播放分段文件。当MRA服务器240发布已更新清单文件时,用户设备210可以重复从CDN服务器260获取已更新通道清单文件、从内容存储设备270获取通过新的批量分段地址标识的分段文件、以及播放分段文件的这一过程。例如,用户设备210可以获取包括批量X+2(但是不包括批量X+1)已更新通道清单文件、包括批量X+3(但是不包括批量X+2和X+1)的另一已更新通道清单文件等,直到刚好在3:00PM之前接收到包括批量X+Y的已更新通道清单文件。因此,用户设备210可以经由通过单个URL接收的已更新通道清单文件来从2:00PM到3:00PM播放资产B。

通过此方式,用户设备210可以经由单个URL访问的通道来播放多个内容资产。

本文中描述的实现可以提供经由单个通道地址可访问的通道,并且可以允许通道的操作者创建标识要在通道上播放的所记录的节目和/或实时节目的播放列表。另外,本文中描述的实现可以使得能够通过允许操作者在内容资产在通道上播放时更新播放列表来实时地对通道播放列表做出临时地改变。另外,本文中描述的实现可以不需要HLS播放器配置以适应由于使用一个通道地址访问通道而产生的播放多个内容资产。附加地或备选地,本文中描述的实现可以不对要在通道上播放的内容的长度和/或要在通道上播放的内容资产的数目做出限制。

以上公开内容提供了说明和描述,但是并非意图排他或者将实现限于所公开的精确形式。修改和变化鉴于以上公开是可能的,或者可以根据实现的实践来获取修改和变化。

如本文中使用的,术语“部件”意图被广泛地理解为硬件、固件、或者硬件和软件的组合。

本文中已经描述了某些用户界面。在一些实现方式中,用户界面可以是用户或设备可定制的。附加地或备选地,用户界面可以被预先配置成标准配置、基于显示有用户界面的类型的设备的具体配置、或者基于与显示有用户界面的设备相关联的能力和/或规范的配置的集合。

应当清楚,在附图中图示的实现方式中,本文中描述的系统和/或方法可以用很多不同形式的软件、固件和硬件来实现。用于实现这些系统和/或方法的实际软件代码或换用控制硬件不限制这些实现。因此,在不参考具体软件代码的情况下描述系统和/或方法的操作和行为——应当理解,软件和控制硬件可以被设计成实现基于本文中的描述的系统和/或方法。

虽然权利要求中陈述和/或说明书中公开了具体的特征组合,然而这些组合并非意图限制可能实现的公开。实际上,这些特征中的很多特征可以用权利要求中没有陈述和/或说明书中没有公开的方式来组合。虽然下面列出的每个从属权利要求可以直接仅依赖于一个权利要求,但是可能实现的公开包括每个从属权利要求结合权利要求集合中的每个其他权利要求。

本文中使用的所有元件、动作或指令都不应当被理解为是关键的或者至关重要的,除非这样明确地描述。另外,如本文中使用的,冠词“一个(a)”和“一个(an)”意图包括一个或多个条目,并且可以与“一个或多个”可互换地使用。另外,如本文中使用的,术语“集合”意图包括一个或多个条目,并且可以与“一个或多个”可互换地使用。如果意图仅一个条目,则使用术语“一个(one)”或类似语言。另外,如本文中使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等意图是开放式术语。另外,短语“基于”意图表示“至少部分基于”,除非另外明确陈述。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1