用于编码内容和在设备之间共享内容的系统和方法与流程

文档序号:11450199阅读:676来源:国知局
用于编码内容和在设备之间共享内容的系统和方法与流程

本发明一般而言涉及与具有不同能力的设备共享内容,并且更具体而言涉及将内容文件转码成一个或多个不同的编码,并且基于回放设备的能力生成用于在回放设备上的编码内容的回放中使用的替代编码的索引文件。



背景技术:

技术进步已经为计算设备的用户提供了在用户的不同设备和/或不同用户(例如,朋友和家人)之间即时和无缝共享媒体内容(即,照片、视频、文档以及其它文件类型)的能力,许多不同技术公司提供用于参与此类活动的各种平台。例如,社交媒体已允许跨具有不同视频回放能力的移动设备、台式计算机、平板电脑和许多其它类型的设备即时共享照片和视频。其它基于云的存储平台已允许用户通过向他们希望与其共享内容的其它用户提供例如到内容的位置的url来共享内容。不同的服务可以使用不同的技术实现向用户交付内容。技术提供者通常在实现特定的内容交付机制时考虑许多不同的因素,包括但不限于,在平台上存储内容所需的存储装置、将内容流传输到不同设备所需的处理、包括带宽要求的网络考虑以及在观看内容时移动设备经历的延迟量。此外,随着可用的视频质量的快速发展,在实现特定技术标准时,这些考虑变得越来越重要。

通常,视频内容可以通过流传输和/或下载交付到用户设备。术语流传输媒体描述了在回放设备上的媒体的回放,其中媒体被存储在服务器上并且在回放期间通过网络连续地发送到回放设备。通常,回放设备在回放期间的任何给定时间在缓冲器中存储足够量的媒体,以防止由于回放设备在接收到下一部分媒体之前完成所有已缓冲的媒体的回放而导致的回放中断。自适应比特率流传输或自适应流传输涉及实时检测当前流传输条件(例如,回放设备的网络带宽和视频解码能力)并且相应地调整流传输媒体的质量。通常,源媒体被编码为具有不同最大比特率的单独流,并且回放设备或客户端取决于可用资源在流传输不同编码之间切换。当回放设备开始自适应比特率流传输时,回放设备通常以从流的初始集请求媒体的部分开始。随着回放设备下载所请求的媒体,回放设备可以测量可用带宽。在可用带宽增加或减少的情况下,回放设备可以切换到更高或更低的比特率流。

自适应流传输解决方案通常利用由互联网工程任务组和万维网联盟发布为rfc2616的超文本传输协议(http)在服务器和回放设备之间流传输媒体。http是使得回放设备能够请求文件内的字节范围的无状态协议。因为为了响应从回放设备接收到的请求,服务器不需要记录关于请求信息的回放设备的状态或由回放设备请求的字节范围的信息,所以http被描述为无状态。

在自适应流传输系统中,源媒体通常作为指向包含实际视频和音频数据的多个替代流的顶级索引文件存储在媒体服务器上。每个流通常存储在一个或多个容器文件中。不同的自适应流传输解决方案通常利用不同的索引和媒体容器。由万维网联盟开发的同步多媒体集成语言(smil)用于在几种自适应流传输解决方案中创建索引,该解决方案包括由华盛顿的雷德蒙德(redmond,washington)的microsoft公司开发的iis平滑流传输和由加利福尼亚的圣何塞(sanjose,california)的adobesystems公司开发的flash动态流传输。由加利福尼亚州的库比蒂诺(cupertino,california)的applecomputer公司开发的http自适应比特率流传输使用扩展的m3u播放列表文件(.m3u8)来实现索引文件,该扩展的m3u播放列表文件是包含通常识别媒体容器文件的uri列表的文本文件。最常用的媒体容器格式是在mpeg-4第14部分(即,iso/iec14496-14)中指定的mp4容器格式和在mpeg-2第1部分(即,iso/iec标准13818-1)中指定的mpeg传输流(ts)容器。mp4容器格式用在iis平滑流传输和flash动态流传输中。ts容器用在http自适应比特率流传输中。



技术实现要素:

公开了根据本发明的一些实施例的用于编码内容和在设备之间共享内容的系统和方法。根据本发明的一些实施例,以下面的方式共享媒体内容。内容服务器从第一回放设备接收共享媒体内容。内容服务器获得包括资产的共享媒体内容的转码,以在多个替代流中提供共享媒体内容。内容服务器然后从第二回放设备接收对于共享媒体内容的请求。该请求包括第二回放设备的设备能力信息。内容服务器基于第二回放设备的设备能力信息生成顶级索引文件,该顶级索引文件包括可用于向第二回放设备提供共享媒体内容的资产的信息,以及将该顶级索引文件从内容服务器发送到第二回放设备。

根据一些实施例,以下面的方式生成顶级索引文件。内容服务器从存储资产的存储器检索关于提供共享媒体内容的资产的信息。由内容服务器根据设备能力信息确定第二回放设备的能力,并且由内容服务器基于所确定的第二回放设备的能力过滤关于资产的信息,并且使用内容服务器将满足第二回放设备的能力的标准的资产的信息包括在顶级索引文件中。

根据许多实施例,由第二回放设备提供的设备能力信息包括用于第二回放设备的产品标识符,并且由从存储器检索第二回放设备的能力的内容服务器确定第二回放设备的能力的确定,该存储器存储具有包括在设备能力信息中的第二回放设备的产品标识符的回放设备的能力。在数个实施例中,第二回放设备的能力被包括在请求中的设备能力信息中,并且内容服务器通过使用内容服务器从请求中的设备能力信息中获得能力来确定第二回放设备的能力。

根据本发明的一些实施例,包括在顶级索引文件中的资产还基于调节用于提供存储在存储器中的共享媒体内容的不同资产的使用的规则。根据这些实施例中的许多实施例,调节不同资产的使用的规则包括从由以下组成的规则中选择的至少一个规则:回放设备的类型、设备的回放能力、以及设备的位置和所请求的语言。

根据一些实施例,包括在顶级索引文件中的资产还基于从标准组中选择的至少一个标准,该标准组从由用户偏好和内容所有者的要求组成的组中选择。

根据一些实施例,回放设备以下面的方式接收共享内容。回放设备生成对于由另一个回放设备与该回放设备共享的共享媒体内容的请求。请求包括回放设备的设备能力信息和与从另一个回放设备接收到的共享媒体内容相关联的令牌。回放设备将请求发送到内容服务器。响应于请求,回放设备从内容服务器接收顶级索引文件。顶级索引文件包括可用于基于回放设备的设备能力信息获得到设备的特定媒体内容的资产的信息。回放设备然后使用顶级索引文件中的信息获得回放设备中的媒体内容。

附图说明

图1是根据本发明的实施例的包括回放服务器和转码服务器的内容交付系统的网络图。

图2是根据本发明的实施例的回放设备的系统图。

图3是根据本发明的实施例的被配置成向多个不同设备交付内容的回放服务器。

图4是根据本发明的实施例的内容转码和交付系统的体系架构图。

图5概念性地图示用于上传和转码用于与一个或多个不同用户设备共享的内容的过程。

图6概念性地图示根据本发明的实施例的用于使用响应于来自回放设备的请求生成的顶级索引文件来回放内容的过程。

图7概念性地图示根据本发明的实施例的用于使用关于与由回放服务器维护的多块特定内容相关联的资产的信息生成顶级索引文件的过程。

图8概念性地图示根据本发明的实施例的在不同设备和用于向用户设备上传和共享内容的各种服务器系统之间提供一系列通信的通信图。

具体实施方式

现在转到附图,图示根据本发明实施例的系统和方法,该系统和方法用于将编码内容文件转码成一个或多个不同编码并且基于设备的能力生成用于在编码内容的回放中使用的不同编码的顶级索引文件。在若干实施例中,使用计算设备(诸如,(但不限于)移动电话和/或平板计算机)上的应用来共享由计算设备捕获和编码的视频内容。在多个实施例中,共享过程涉及将编码的视频文件上传到内容交付系统,该内容交付系统将编码内容转码成用于向其它设备自适应比特率流传输的不同编码。在许多实施例中,内容交付系统控制不同编码的分配以提供内容的安全共享。不同的编码可以基于将与其共享内容文件的不同设备的能力。例如,以“4k”或“ultrahd”分辨率捕获并且要与具有不同视频解码器和回放能力的若干不同设备共享的视频内容可以使用用于4k流的hevc编码解码器和用于hd(即,1080p)流的h.264编码解码器进行转码。类似地,内容交付系统可以基于每个设备的特定能力为将与其共享内容文件的不同设备生成不同的顶级索引文件。特别地,对于能够回放4k编码流的设备,提供给设备的顶级索引文件可以包括关于内容文件的可用的hevc和h.264编码两者的信息。作为对照,对于不能回放4khevc流的设备,提供给该设备的顶级索引文件可以只包括用于获得hdh.264流的信息。在一些实施例中,内容文件可以被转码成若干不同的编码标准(例如,h.265/mpeg-hhevc、h.264/mpeg-4avc、h.263/mpeg-4part2、h.262/mpeg-2、googletm(on2)编码解码器、microsofttm编码解码器),以便允许与具有不同回放能力(例如,编码/解码功能、分辨率、网络带宽)和/或各种其它要求的设备共享内容。所利用的特定编码解码器通常取决于具体应用的要求。

顶级索引是描述容器文件的位置和内容的文件,该容器文件包含可以被回放设备利用以流传输和回放内容的媒体(例如,音频、视频、元数据和字幕)的不同编码(例如,h.265/mpeg-hhevc、h.264/mpeg-4)。在自适应比特率流传输系统中,顶级索引文件通常引用回放设备可以在之间进行切换的内容文件的替代编码。在许多实施例中,响应于来自回放设备对于内容文件的请求生成顶级索引文件。例如,回放设备a可以与回放设备b共享视频文件,并且可以在回放设备b请求回放内容时生成顶级索引文件。

在若干实施例中,生成顶级索引文件的过程涉及确定包含与多块特定内容相关联的流的所有不同编码或容器文件,并且然后基于一个或多个预定标准和/或设备的能力过滤资产。在多个实施例中,基于以下来过滤资产:包括(但不限于)由内容所有者定义的商业规则、将与其共享内容的用户的设备能力、和/或与用户帐户相关联的信息的预定标准。在许多实施例中,所生成的顶级视频文件是smil文件。在某些实施例中,顶级索引文件是在mpeg-dash标准中使用的mpd文件。在其它实施例中,根据本发明的实施例,可以利用各种文件格式中的任意一种来生成顶级索引文件。

在若干实施例中,响应于来自回放设备的与多个不同用户设备共享内容文件的请求,回放服务器自动生成一个或多个顶级索引文件,每个索引文件用于要与其共享内容文件的特定设备,并且回放服务器也可以给不同设备提供使得能够回放受保护的内容流的密码(cryptographic)信息。下面进一步讨论根据本发明的实施例的用于将内容转码成用于与不同用户和/或设备共享的不同编码资产并且响应于来自回放设备的请求而生成顶级索引文件的回放设备、回放服务器和过程。

内容交付系统体系架构

根据本发明的许多实施例的内容交付系统包括把要被共享到不同设备的内容文件转码成多个不同编码流的回放服务器。当设备请求内容的回放时,内容交付系统可以响应于请求并基于回放设备的不同能力自动生成顶级索引文件。图1图示根据本发明的实施例的内容交付系统。内容交付系统100包括多个回放设备120-130,包括用户a设备120和用户b设备130,被配置成经由网络160(诸如,互联网)上传用于与其它用户设备共享的内容和/或从内容交付网络(cdn)140内的远程服务器请求内容的回放(例如,流传输和/或下载)。为了流传输用于共享的内容,回放设备获得顶级索引文件,该顶级索引文件是由回放服务器180基于特定回放设备的能力使用可用资产(即,包含与特定主题相关联的内容流的容器文件)的数据库150以及一组预定过滤器或标准为特定设备自动生成的。

在许多实施例中,回放设备可以通过基于由回放设备提供的识别信息从在顶级索引文件中描述的不同替代流中选择内容来执行自适应比特率流传输。在于2011年12月30日提交的并颁布为美国专利8,787,570的shaifer等人的标题为“systemsandmethodsforautomaticallygeneratingtoplevelindexfiles”的美国专利申请序列no.13/341,789中描述用于使用自动生成的顶级索引文件的自适应比特率流传输的系统和方法。美国专利no.8,787,570的公开内容通过引用被整体结合于此。

回放服务器110可以从用户设备120-130获得内容文件,并且使用转码服务器集群115将编码内容文件转码成使用不同编码标准的一个或多个替代流。转码的内容文件可以存储在可用资产(即,包含与特定主题相关联的不同编码内容流的容器文件)的资产存储设备150数据库中。如上所述,替代流(或替代编码资产)是以不同方式对相同媒体内容进行编码的流。在许多情况下,替代流使用不同的编码标准(例如,hevc或h.264)对媒体内容(诸如但不限于视频)进行编码和/或以不同的最大比特率对内容进行编码。在多个实施例中,替代流用不同的分辨率和/或以不同的帧速率进行编码。在许多实施例中,由回放服务器180为特定回放设备生成的顶级索引文件至少描述替代流中的每一个的最大比特率。回放设备可以选择一个或多个流用于常规流传输,或者可以在替代流之间切换以执行自适应比特率流传输。

在若干实施例中,当一个回放设备120-130与另一个回放设备共享一块内容时,回放设备120-130通过令牌的方式接收共享内容,该令牌可以提供给回放服务器110以进行流传输和/或下载内容。当回放设备将令牌发送到服务器110时,回放设备120-130可以附加描述回放设备120-130的回放能力的信息,回放服务器110可以利用该附加的信息使用存储在数据库150中的信息来自动生成用于回放设备120-130的顶级索引文件。回放服务器110通常是使用回放管理应用并且以回放服务器可以访问数据库150的方式配置的常规服务器系统。在多个实施例中,回放设备120-130向回放服务器110提供关于它们的回放能力的信息,并且服务器110通过基于设备能力过滤与共享的一块内容相关联的资产来自动生成顶级索引文件。这样的能力包括但不限于,回放能力、编码/解码编码解码器、显示纵横比和/或预期的最大网络连接数据速率。在多个实施例中,特定回放设备120-130的能力以产品标识符或产品id的形式传递到回放服务器110。回放服务器110可以维护产品id和相关联的设备能力的数据库,并且可以在生成顶级索引文件时利用由回放设备提供的产品id来检索相关联的设备能力并且将过滤器应用于可用资产列表。在于2012年3月31日提交的grab等人的标题为“methodtoidentifyconsumerelectronicsproducts”的美国临时公布no.2013/0006869中描述用于分配产品id并将它们与关于产品id所分配给的设备的能力的信息相关联的系统和方法。与使用产品标识符来识别特定设备的回放能力有关的美国临时公布no.2013/0006869的相关公开内容通过引用被整体结合于此。可以由根据本发明的实施例的回放服务器应用的其它过滤器包括(但不限于)基于回放设备的位置(即,国家/地区)以及与特定用户相关联的语言的过滤器。在下面进一步讨论根据本发明的实施例的可以被应用以生成顶级索引文件的各种过滤器。

在若干实施例中,通过使用加密和数字版权管理(drm)技术进一步保护共享内容。当回放服务器110接收到来自回放设备120-130的回放加密内容的请求时,回放服务器检索回放受保护的内容流所需的密码信息。回放设备然后可以从内容交付网络140内的一个或多个服务器请求包含内容流的容器文件的部分,并且可以使用密码信息来访问受保护的内容。在kiefer等人的标题为“systemsandmethodsforplayingbackalternativestreamsofprotectedcontentprotectedusingcommoncryptographicinformation”的美国专利no.8,909,922中描述用于在自适应比特率流传输中使用的受保护流的数字版权管理的系统和方法。美国专利no.8,909,922的公开内容通过引用被整体结合于此。

虽然图1中图示特定的内容交付系统,但是,根据本发明的一些实施例,将编码内容文件转码成替代流并且基于设备能力自动生成顶级索引文件的回放服务器可以结合到各种内容交付系统体系架构的任何一种中。在下面进一步讨论根据本发明的一些实施例的可以用于回放内容的回放设备。

回放设备

根据本发明的实施例的可以用于安全地共享内容的回放设备可以包括个人计算机、ce播放器和移动电话。在许多实施例中,回放设备可以包括消费电子设备,诸如能够连接到服务器并回放编码媒体的dvd播放器、蓝光播放器、电视机、机顶盒、视频游戏控制台、平板电脑、以及其它设备。图2中图示根据本发明的实施例的回放设备的基本体系架构。回放设备200包括与存储器230和网络接口240通信的处理器210。在图示的实施例中,存储器包括配置处理器和回放设备以从回放服务器请求内容的播放器应用238。在一些实施例中,播放器应用238可以请求内容被流传输到和/或下载到回放设备200。存储器230还包括可以对编码视频进行解码用于回放的视频解码器232。不同的设备可以包括具有用于解码内容的不同的编码器/解码器(即,“编码解码器”)的软件和/或硬件。例如,对于能够回放4k视频的回放设备,解码器可以是hevc解码器。对于能够回放hd(即,1080p)视频的回放设备,解码器可以是h.264解码器。在许多实施例中,回放设备可以包括多个解码器以支持不同的媒体格式。

在操作期间,播放器应用238可以将回放设备200配置成将内容上传到回放服务器用于与一个或多个其它回放设备共享。当内容与回放设备200共享时,播放器应用238可以将回放设备200配置成从回放服务器请求顶级索引文件。如上所述,对于顶级索引文件的请求可以包括可以用于过滤在顶级索引文件中描述的资产的回放设备的产品id。当从回放服务器接收到顶级索引文件时,播放器应用238可以将回放设备配置成将顶级索引文件存储在存储器230中。在其中内容被加密的一些实施例中,播放器应用238可以响应于回放内容的用户指令来请求密码信息以回放从回放服务器(或单独的drm服务器)请求的流,并且从回放服务器接收到的密码信息也可以存储在存储器230中。播放器应用238将回放设备200配置成通过从内容交付网络中的服务器请求包含内容的容器文件的部分来回放内容。可以基于顶级索引文件中对播放器应用可用的信息和回放设备所经历的流传输条件来确定由播放器应用238选择的特定容器文件。当回放设备接收到所请求的容器文件的部分并且内容被加密时,播放器应用238可以使用内容密码信息来访问所请求的容器文件的部分内的受保护内容。取决于占主导地位(prevailing)的流传输条件,播放器应用238可以继续请求和回放来自不同容器文件的内容,直到接收到暂停回放的用户指令或者直到回放完成。

虽然以上参考图2描述各种回放设备,但是根据本发明的一些实施例,可以利用包括其中播放器应用位于盘或一些其它形式的存储设备上并且在运行时被加载到存储器中的体系架构的各种体系架构中的任何一种来实现用于在内容交付系统中使用的回放设备。此外,根据本发明的一些实施例,可以利用包括(但不限于)图1图示的系统体系架构的各种系统体系架构中的任何一种来转码内容并使用响应于来自回放设备的请求而自动生成的顶级索引文件来交付内容。

回放服务器

在许多实施例中,用户回放设备可以与回放服务器通信以上传用于与多个其它设备共享的内容和/或获得对内容的访问。图3示出根据本发明的实施例的配置成将内容交付到多个不同设备的回放服务器。回放服务器300包括处理器310、网络接口340和存储器330。在图示实施例中,存储器330包括编码器应用332和内容交付应用334。如上所述,回放服务器可以由编码器应用软件332配置,以将内容文件编码和/或转码成一个或多个替代流,每个替代流提供内容文件的不同编码(例如,hevc、h.264以及各种其它编码)。根据一些实施例,编码器应用332与一个或多个转码器服务器集群(未示出)通信,以便将内容文件转码成不同的替代编码流。

回放服务器可以由内容交付应用334配置以生成用于回放设备的顶级索引文件和/或将内容交付到回放设备。在一些实施例中,基于请求内容回放的特定回放设备的能力(包括设备的视频编码/解码能力)来生成和/或选择顶级索引文件。

虽然图3中图示特定的回放服务器体系架构,但是根据本发明的一些实施例,可以利用能够以上述方式管理与用户设备的交互以交付内容的各种体系架构中的任何一种。

内容转码和交付体系架构

当用户设备上传用于与不同设备共享的编码内容时,系统可以将编码内容转码成不同的编码格式,以便允许在具有不同回放能力的设备上回放内容。图4中图示根据本发明的实施例的内容转码和交付系统的示例系统体系架构。如所图示的,客户端设备400通过路由器401经由各种服务器api405-430(应用编程接口)(包括用户api服务器405、社交api服务器410、存储api服务器415、媒体api服务器、回放api服务器和转码api服务器)与服务器系统通信。用户api服务器405可以从客户端400接收用户和/或设备信息,并且可以将信息存储在用户数据库406内。社交api服务器可以从客户端400接收社交媒体信息,并将这个信息存储在社交数据库411中。存储api服务器415管理存储在内容数据库450内的内容的存储。存储api服务器可以从客户端400、回放api服务器和/或转码api服务器接收用于存储在内容数据库450中的内容。媒体api服务器420可以与请求存储在内容数据库450中的内容的播放器应用通信。回放api服务器可以管理存储在内容数据库450内的内容的回放。转码api服务器可以管理内容的转码,包括接收编码内容文件并将其转码成用于在内容数据库450内存储的一个或多个不同的编码流。

为了转码内容,转码api服务器430可以与管理正在进行的转码操作的tce管理应用435通信。tce管理应用435可以用于转码作业的分布式协调,包括跟踪作业的进度和报告机器负载。机器负载信息可以用于实现负载均衡调度器。

图示为tce转码节点440的每个转码操作可以是将内容解码并且重新编码成一个或多个不同的编码标准的过程。tce转码节点440可以利用授权web服务器445与用于在内容数据库450内存储替代流的存储api服务器通信。

虽然图4中图示特定的内容交付体系架构,但是,根据本发明的一些实施例,可以利用能够以上述方式管理与客户端设备的交互以交付内容的各种体系架构中的任何一种。

共享和转码内容

如上所述,客户端设备可以将编码内容上传到回放服务器用于与用户的一个或多个其它设备和/或不同用户共享。在图5中图示根据本发明的实施例的用于上传用于与不同设备共享的内容的过程。过程500接收(505)用于与一个或多个设备共享的内容。在一些实施例中,从用户的回放设备接收内容。内容可以是使用特定编码标准(例如,hevc、h.264等)编码的编码视频文件。

该过程执行(510)将内容转码成一个或多个不同的替代编码流。在一些实施例中,该过程基于正在与其共享内容或将与其共享内容的设备的回放能力将内容编码成不同的流。例如,如果用户上传要与具有4k回放的设备和不具有4k回放能力(例如,仅具有h.264解码器)的若干设备共享的4k视频,那么该过程可以将内容转码成hevc和h.264两者。

根据一些其它实施例,该过程将内容转码成替代编码和/或格式的集合列表。例如,视频内容可以被转码成由设备使用的若干最流行的编码标准(例如,hevc、h.264、microsofttm编码解码器、googletm编码解码器等)。例如,可以使用h.264/avs对内容进行编码,以提供与大多数设备的兼容性。因此,当回放设备请求内容文件的回放时,该过程可以提供具有回放设备将能够回放的资产列表的顶级索引文件。如下所述,顶级索引文件可以是特定于回放设备的,并且仅包括与回放设备能够回放的编码流对应的那些资产。

根据一些实施例,在从回放设备上传内容文件时(并且在不同的回放设备请求内容文件之前),该过程开始将内容文件转码(即,“预转码”)成不同的编码格式。根据多个特定实施例,在从回放设备接收到对于回放的请求时,该过程可以将内容文件转码成特定的编码格式。例如,该过程可以将内容文件自动转码成最流行的编码格式(例如,hevc和h.264),但是等待直到在从回放设备接收到需要特定编码格式的请求时,才将内容文件转码成较不流行的编码格式。该过程可以使用可以在服务设备的回放请求的同时并行运行若干转码过程的各种“现场转码(livetranscoding)”服务器并发地转码内容并将内容流传输到回放设备。

该过程存储(515)资产。然后,该过程完成。虽然图5中图示特定过程,但是,根据本发明的实施例,可以利用各种过程中的任何一个用于对内容文件进行转码。下面描述根据本发明的实施例的用于自动生成索引文件的回放服务器和过程。

内容回放

在图6中图示根据本发明的实施例的用于使用响应于来自回放设备的请求而生成的顶级索引文件来回放内容的过程。过程600包括请求(605)内容。可以使用回放设备执行请求,或者可以使用另一个设备执行请求。为了访问内容,回放设备提供提示从回放服务器生成为特定回放设备定制的顶级索引文件的请求。根据若干实施例,请求采取令牌的形式,该令牌指示回放设备被授权请求内容,并且回放设备经由api向远程服务器提供产品标识符。根据一些其它实施例,可以利用适合于特定应用的要求的用于请求内容的各种技术中的任何一种。根据许多实施例,从以下的方面来定制顶级索引文件:回放服务器过滤所有可用资产以生成描述可用的和/或最适合于由回放设备回放的资产的顶级索引文件。一旦检索到(610)定制的顶级索引文件,回放设备就获得(615)使得能够回放在顶级索引文件内识别出的受保护流的密码信息。根据许多实施例,回放设备等待,直到从用户接收到回放请求,并且然后从回放服务器请求密码信息。

当回放设备拥有顶级索引文件和任何必需的密码信息时,回放设备可以通过请求包含编码媒体的一个或多个容器文件的部分来开始流传输和/或下载(620)内容。可以利用各种过程中的任何一种来选择初始流,包括(但不限于)选择最低比特率流、以与在于2011年9月30日提交的schaar等人的标题为“systemsandmethodsfordeterminingavailablebandwidthandperforminginitialstreamselectionwhencommencingstreamingusinghypertexttransferprotocol”的美国专利公布no.2013/0007200中公开的方式类似的方式执行带宽探测,或者使用另一种技术估计可用带宽。美国专利公布no.2013/0007200的公开内容通过引用被整体结合于此。

一旦回放开始(620),就可以执行自适应比特率流传输。在回放期间,可以向回放服务器提供播放事件报告,以周期性地或响应于包括(但不限于)由回放设备接收到的用户指令的各种事件提供关于回放设备的回放状态的信息。当向回放服务器提供播放事件报告时,回放服务器可以向回放设备提供播放事件指令。在图示的实施例中,可以由回放设备接收(630)的播放事件指令包括继续回放的“播放”指令和停止回放的“停止”指令。回放服务器停止回放设备上的回放的能力使得回放设备能够跨与用户相关联的多个回放设备实施并发性要求。回放服务器也可以利用播放事件报告和事件回放指令的组合,以使得第二回放设备能够在由第一回放设备报告的最后回放位置处恢复内容的回放。以这种方式,用户可以无缝地在回放设备之间移动,而无需寻找继续回放的位置。

虽然在图6中图示特定过程,但是,根据本发明的实施例,可以利用各种过程中的任何一种用于请求定制的顶级索引文件并且回放内容。下面描述根据本发明的一些实施例的用于自动生成索引文件的回放服务器和过程。

顶级索引的自动生成

根据本发明的许多实施例的回放服务器维护与多块特定内容相关联的资产的数据库,并且可以由回放管理应用配置以检索和过滤关于资产的信息,以自动生成用于特定回放设备的顶级索引文件。由回放服务器维护的数据库可以列出包含资产的文件的名称以及资产所位于的内容交付服务器和/或(一个或多个)网络。当资产是视频流时,数据库可以描述视频流的特性,包括但不限于,流的编码解码器、编码视频流的最大比特率、视频流的帧速率、视频流的分辨率和/或采样纵横比。当资产是音频流时,数据库可以描述音频流的特性,包括(但不限于)音频流的语言、音频流的编码和音频流的带宽要求。当资产是字幕流时,数据库可以描述字幕流的特性,包括(但不限于)字幕流的语言、字幕流的编码和字幕流的带宽要求。除了维护关于资产的信息之外,回放设备还可以维护关于回放设备的回放能力的信息。根据多个实施例,使用产品id来索引关于不同回放设备的回放能力的信息。根据许多实施例,回放服务器还基于标准来维护关于调节不同资产的使用的规则的信息,该标准包括(但不限于)回放设备的类型、回放设备的回放能力、回放设备的位置(例如县/地区)和/或所请求的(一种或多种)语言。虽然以上多块特定信息被描述为在由回放服务器维护的数据库中相关联,但是,根据本发明的一些实施例,可以以任何各种数据结构来维护信息的各种块中的任何一个,以使得能够由回放服务器生成顶级索引文件。此外,回放设备可以直接向回放服务器提供该回放设备的能力的列表。如下面进一步讨论的,可以响应于来自回放设备的对于顶级索引文件的请求而实时地过滤由回放服务器维护的信息,以生成仅包括到允许回放设备回放的资产的链接的顶级索引文件。

图7中图示根据本发明的实施例的用于使用关于与由回放服务器维护的多块特定内容相关联的资产的信息来生成顶级索引文件的过程。在图示的实施例中,当回放服务器从特定回放设备接收(705)对于关于多块特定内容的顶级索引文件的请求时,处理700开始。如上所述,请求可以包括描述回放设备的信息,包括(但不限于)回放设备的回放能力、回放设备所注册到的用户帐户、以及指示回放设备的地理位置的信息(例如,回放设备的i.p.地址)。根据许多实施例,使用与回放服务器可访问的数据库中的特定回放能力相关联的产品id来识别回放设备的能力。

回放服务器检索(710)与所请求一块的内容相关联的资产。回放服务器基于与回放设备的能力相关联的一个或多个过滤器、用户的偏好、以及内容所有者的要求来过滤(715)资产。因此,取决于包括(但不限于)设备之间的回放能力(例如,编码解码器、分辨率、存储器)的差异、地理位置的差异、和/或与回放设备相关联的语言偏好的差异的因素,可以关于相同内容生成不同的顶级索引文件。例如,如果用户上传4k视频用于共享,那么用于能够播放4k视频的设备的顶级索引文件可以包括4k流,而用于不能播放4k视频的设备的顶级索引文件可以不包括4k流而是包括该设备能够回放的流(例如,h.264)。

在过滤之后,可以利用留下的资产来生成(720)可以提供(725)给回放设备的顶级索引文件(720)。根据多个实施例,使用包括但不限于安全套接层(ssl)通信或等效的安全通信协议的安全通信技术来安全地转发顶级索引文件。

虽然在图7中图示根据本发明的实施例的用于生成顶级索引文件的特定过程,但是,根据本发明的一些实施例,可以利用涉及收集关于与多块特定内容相关联的资产的信息并且生成对由内容交付流传输系统使得对回放设备可用的资产进行索引的索引文件的各种过程中的任何一种。下面讨论图示根据本发明的实施例的为了共享内容的在回放设备和服务器之间的一系列通信的通信图。

设备和服务器之间的通信

本发明的许多实施例提供用于从用户设备上传用于与其它设备共享的内容,将内容转码成一个或多个不同的编码格式,以及基于不同设备的能力生成不同编码格式的顶级索引文件。为了便于共享内容,客户端设备与各种不同的服务器系统通信,以上传内容、转码内容和/或接收顶级索引文件。图8中图示根据本发明的实施例的在客户端设备和/或各种不同服务器系统之间的通信的示例。

图8图示回放设备a805和b810、回放服务器815、转码服务器集群820和内容交付服务器825之间的通信。回放设备805-810和不同的服务器815-825可以经网络(诸如,互联网)彼此通信。如上所述,回放服务器815可以提供客户端设备805-810可访问的接口,用于经由其客户端设备805-810上的应用上传内容(例如,视频文件、照片和/或音频文件等)。回放服务器815可以用于接收用于与一个或多个设备805-810共享的内容,用于将内容转码成一种或多种不同的编码格式,用于生成用于回放设备的顶级索引文件,以及用于向回放设备交付内容。回放服务器815还可以提供用于访问已被加密(例如,使用drm服务器)的数字内容的密码信息。

回放服务器815可以使用一个或多个转码服务器集群820,以便将内容文件转码成一种或多种不同的编码格式和/或将内容存储在内容服务器825内。

内容服务器825可以向请求回放一块内容的客户端设备805-810提供内容。内容可以由客户端设备805-810下载和/或流传输。

可以根据以下一系列通信进行图8中图示的用于从客户端设备上传用于与一个或多个其它设备共享的内容的通信。客户端设备805向回放服务器815上传用于共享的内容。内容可以是根据特定标准(例如,h.264或用于4k视频的hevc)编码的视频文件。在回放设备具有转码能力的情况下,回放设备也可以在上传之前执行视频文件的转码。

回放服务器815向转码服务器集群820请求转码内容。

转码服务器集群820将内容转码成一个或多个不同的替代编码流。转码服务器集群820用内容服务器825存储替代编码流,并向回放服务器815提供替代流列表。

不同的回放设备b810可以使用上述任何技术请求内容文件的回放,并且向回放服务器815提交对于顶级索引文件的请求。回放服务器815可以生成顶级索引文件。在一些实施例中,基于回放设备的回放能力生成顶级索引文件。在其它实施例中,回放服务器可以基于回放设备的产品id从多个索引文件中选择顶级索引文件。

回放服务器815向回放设备b810提供顶级索引文件。

回放设备b810可以向回放服务器815提供播放请求。回放服务器815向回放设备b810提供密码信息,用于解密编码内容。

回放设备b810使用顶级索引文件从内容服务器825请求内容。内容服务器825向回放设备810提供内容。回放设备使用密码信息解密内容以便在设备上回放内容。

虽然以上描述包含许多特殊性,但是这些不应当被解释为限制本发明的范围,而应当解释为仅仅是提供本发明的一些当前优选实施例的图示。各种其它实施例可能在本发明的范围内。因此,本发明的范围不应当由图示的实施例确定,而是由所附权利要求及其等同物来确定。

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