首页> 中国专利> 动态地按需要产生用于HTTP直播流传输的媒体序列的方法和设备

动态地按需要产生用于HTTP直播流传输的媒体序列的方法和设备

摘要

本发明所描述的是动态地按需要产生用于HTTP直播流传输的媒体序列文件。该操作可以包括:在使用HTTP直播流传输的网络上,基于远端媒体播放器的前向或反向跳转请求来接收一个关于媒体序列文件的请求;响应于该请求,确定与媒体序列文件相对应的媒体源文件的位置,以便能够跳转到媒体源文件的所述位置,由此从媒体源文件中产生媒体序列文件;以及促使提供一个表明媒体序列文件已经产生的通知。所述媒体序列文件的格式不同于媒体源文件的格式。并且所述媒体序列文件的格式兼容远端媒体播放器。

著录项

  • 公开/公告号CN103649937A

    专利类型发明专利

  • 公开/公告日2014-03-19

    原文格式PDF

  • 申请/专利权人 韦斯技术有限公司;

    申请/专利号CN201280034199.9

  • 发明设计人 S·M·嫩达库马尔;D·E·巴雷托;

    申请日2012-01-09

  • 分类号G06F15/16;

  • 代理机构北京润平知识产权代理有限公司;

  • 代理人陈潇潇

  • 地址 美国加利福尼亚

  • 入库时间 2024-02-19 23:28:07

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-07

    专利权的转移 IPC(主分类):G06F15/16 专利号:ZL2012800341999 登记生效日:20220526 变更事项:专利权人 变更前权利人:韦斯技术有限公司 变更后权利人:戴尔营销公司 变更事项:地址 变更前权利人:美国加利福尼亚 变更后权利人:美国得克萨斯州

    专利申请权、专利权的转移

  • 2017-10-03

    授权

    授权

  • 2014-06-11

    实质审查的生效 IPC(主分类):G06F15/16 申请日:20120109

    实质审查的生效

  • 2014-03-19

    公开

    公开

说明书

相关申请的交叉引用

本申请要求依照35U.S.C.$119享有2011年5月9日提交的名为“Method  and apparatus for dynamically generating media clips on demand for live  streaming”的美国临时专利申请61/484,169的优先权,其中所述申请在这里 作为参考而被全部引入,以便用于各种目的。

技术领域

本主题主要涉及媒体流传输,尤其涉及动态地按需要产生用于HTTP直 播流传输的媒体序列。

背景技术

在过去,用户通过CD-ROM播放视频和音频,或者从远端的web服务 器下载和播放视频及音频。在这些情况下,在用户可以开始播放所述视频或 音频之前,所述视频和音频必须存在于用户本地(也就是位于CD-ROM或 者被完整地下载至用户计算机)。随着网络连接技术和媒体解码、编码及压 缩技术的发展,流传输媒体开始普及。例如,用户可以使用手机或平板之类 的小型便携设备来对源自web服务器的媒体进行流传输,并且用户可以在完 成从web服务器下载媒体的处理之前开始播放该媒体。然而,在产生媒体文 件时,当前技术并未提供有效的资源利用,对超文本传输协议(HTTP)直 播流媒体而言更是如此。

发明内容

在本公开的一个方面中,一种动态地按需要产生用于超文本传输协议 (HTTP)直播流传输的媒体序列文件的方法可以包括:在使用HTTP直播 流传输的网络上,基于远端媒体播放器的前向或反向跳转操作来接收关于媒 体序列文件的请求;以及响应于该请求,确定与所述媒体序列文件对应的媒 体源文件的位置,以便能够找到所述媒体源文件的位置,进而从所述媒体源 文件中产生媒体序列文件,以及促使提供一个关于所产生的媒体序列文件的 通知,其中所述媒体序列文件代表的媒体源文件的多个顺序位置之一,其中 媒体序列文件的格式不同于媒体源文件的格式,以及其中媒体序列文件的格 式与远端媒体播放器兼容。

在本公开的一个方面中,一种机器可读存储介质可以用指令编码,其中 所述指令可以由一个或多个处理器运行,以便执行一个或多个操作。所述一 个或多个操作可以包括:在使用HTTP直播流传输的网络上,基于远端媒体 播放器的向前或向后寻道操作来接收关于媒体序列文件的请求;以及响应于 该请求,确定与所述媒体序列文件相对应的媒体源文件的位置,以便能够找 到所述媒体源文件的位置,进而从所述媒体源文件中产生媒体序列文件。

在本公开的一个方面中,一种设备可以包括被配置成执行一个或多个操 作的一个或多个模块,所述操作包括:在使用HTTP直播流传输的网络上, 基于远端媒体播放器的向前或向后寻道操作来接收关于媒体序列文件的请 求;以及响应于该请求,确定与所述媒体序列文件相对应的媒体源文件的位 置,以便能够找到所述媒体源文件的位置,进而从所述媒体源文件中产生媒 体序列文件。

在本公开的一个方面中,一种设备可以包括:用于在使用HTTP直播流 传输的网络上,基于远端媒体播放器的向前或向后寻道操作来接收关于媒体 序列文件的请求的装置;以及用于响应于该请求,确定与所述媒体序列文件 相对应的媒体源文件的位置,以便能够找到所述媒体源文件的位置,进而从 所述媒体源文件中产生媒体序列文件的装置。

应该理解的是,本领域技术人员很容易从以下举例显示和描述本技术主 题的不同配置的详细描述中清楚了解本技术主题的其他配置。应该认识到的 是,本技术主题能够采用其他不同的配置,并且在其他不同的方面是可以对 其细节进行修改的,所有这些均未脱离本技术主题的范围。相应地,附图和 详细描述本质上应被看作是说明性而不是限制性的。

附图说明

图1示出的是用于超文本传输协议(HTTP)直播流传输的系统的示例;

图2A示出的是根据本公开的一个方面的技术主题配置的一个示例;

图2B示出的是根据本公开的一个方面的技术主题配置的一个示例;

图3A示出的是播放列表的一个示例;

图3B示出的是媒体播放器的显示器屏幕截图的一个示例;

图3C示出的是媒体播放器的显示器屏幕截图的一个示例;

图3D示出的是媒体源文件的一个示例;

图3E示出的是可以保存在媒体存储器中的媒体文件的一个示例;

图4示出的是动态产生媒体序列文件的处理的一个示例;

图5是示出了计算设备示例的概念性框图;

图6示出的是网络系统的一个示例的简化图示;

图7A是描绘了根据本公开的一个方面的操作方法的一个示例的框图;

图7B是描述了根据本公开的一个方面的机器可读介质的一个示例的框 图;

图7C是描绘了根据本公开的一个方面的设备的一个示例的框图;

图7D是描述了根据本公开的一个方面的设备的一个示例的框图。

具体实施方式

以下阐述的具体实施方式旨在描述本技术主题的不同配置,而不是描述 可以实施本技术主题的唯一配置。在这里引入了附图,并且所述附图构成了 本具体实施方式的一部分。本具体实施方式包括用于全面理解本技术主题的 具体细节。然而,本领域技术人员清楚了解,本技术主题是能在没有这些细 节的情况下实施的。在一些情况下,为了避免与本技术主题的概念相混淆, 众所周知的结构和组件均以框图形式显示。为了易于理解,相同的组件是用 相同部件编号标记的。

根据流媒体的一个实施例,用于已有设计的web服务器可以具有不同格 式的媒体文件(例如H.264.mid_quality格式,H.264.high_quality格式, H.264.low_quality格式,wmv格式,mpeg格式)。这些媒体文件在web服务 器或共享位置上是预先存在的。当用户设备通过连接到web服务器来播放文 件时,如果在web服务器或共享位置上预先存在与用户设备兼容的文件,则 web服务器允许流传输。如果没有,则不进行流传输。相应地,流传输是只 有在用户请求流传输之前既已存在与用户设备兼容的媒体文件(这其中包括 其播放列表文件和媒体序列文件)的情况下才会进行的。

相比之下,在一个有利的方面中,本技术主题可以允许对用户请求流传 输时尚不存在的媒体文件进行流传输。在一个有利的方面中,在接收用户的 流传输请求之前,本技术主题的web服务器不需要产生和保持各种格式的媒 体文件。

在一个方面中,本技术主题涉及的是使用web服务器且关于超文本传输 协议(HTTP)直播流传输的远端视频跳转处理。现有的HTTP直播流传输 方法需要所有媒体文件全都位于媒体位置,以便实施流传输以及执行跳转操 作。相比之外,在一个有利的方面中,通过动态地按需要产生所需要的媒体 文件,本技术主题消除了这个限制。

用于HTTP直播流传输的系统的示例

图1示出的是HTTP直播流传输系统的一个示例。HTTP直播流传输系 统110具有两个组件:HTTP服务器120以及媒体播放器130。系统110使 用HTTP作为通信协议。参照HTTP服务器120的根文件夹,所有媒体文件 全都位于HTTP服务器120。媒体播放器130使用HTTP协议来查询位于 HTTP服务器120的媒体文件。每一个媒体文件可以分为两个部分:(a)播 放列表文件,以及(b)多个媒体序列文件。所述播放列表文件包含了媒体 序列文件及其他元数据的位置和名称。

为了播放媒体,媒体播放器130首先加载播放列表文件,并从播放列表 中检索媒体序列文件的位置和细节。然后,它会单独请求或查询个别媒体序 列文件,并且将其再现到媒体播放器的屏幕。

要想使用已有技术来执行视频搜索,所有媒体序列文件必须是预先创建 的,并且必须在媒体位置中(例如在HTTP服务器120上)存在。这样做阻 碍了从媒体源动态产生媒体序列文件的能力。HTTP直播流传输尚未指定一 种用于克服此类限制的方法。

一种方法

一种用于解决上述问题的方法是通过控制媒体播放器的滚动条来卷动 (跳转)媒体(例如视频),以及重新开始从新的滚动位置产生媒体序列文 件(例如视频序列)。然而,该方法具有以下缺陷:(i)需要通过修改媒体播 放器来使跳转操作正常运作。在很多情况下,该修改未必是可行的,或者有 可能需要改动大量的媒体播放器,这一点取决于正在回放内容的客户机;(ii) 上述方法需要从新的位置重新产生经过压缩的内容,即便在过去产生过所述 内容的情况下也是如此。在一个有利的方面中,本技术主题克服了这些缺陷。

关于本技术主题配置的第一示例

图2A示出的是根据本公开的一个方面的技术主题配置的一个示例。系 统210可以包括HTTP服务器120。该系统210还可以包括处于网络(例如 互联网或无线连接之类的连接)上的远端媒体播放器130。

媒体播放器

在一个有利方面中,媒体播放器130可以是理解HTTP直播流的任何兼 容的播放器。媒体播放器130可以通过直接查询HTTP服务器120来请求媒 体文件或媒体序列文件。

HTTP服务器

HTTP服务器120可以读取媒体播放器130请求的文件,如果媒体生成 器240没有产生被请求的文件,那么HTTP服务器120可以强迫媒体生成器 240创建该文件(例如缺失的媒体序列文件),以及在创建了该文件时将其发 送到媒体播放器130。

媒体生成器

媒体生成器240可以是软件模块、硬件模块或是其组合,并且可以使用 任何媒体框架(例如直接显示,gstreamer,helix媒体服务器)。所述媒体生 成器240可以产生播放列表(例如*.m3u8文件)以及媒体序列文件(例如*.ts 文件)。媒体生成器240可以读取媒体源250中的媒体源文件(采用一种格 式,例如*.wmv文件),并且可以创建多个比媒体源文件小的媒体序列文件 (采用别的格式,例如*.ts文件)。媒体源文件可以持续很长的持续时间,例 如30分钟、1小时等等。每一个媒体序列文件则持续很短的持续时间,例如 5秒或10秒。

媒体源

媒体源250可以包含媒体源文件或应用,其中所述源文件或应用包含了 可供媒体生成器240使用的媒体内容(例如音频/视频数据)。参见图3D。举 例来说,媒体源250可以包含采用以下格式的文件,例如mpeg2文件、mp4 文件、wmv文件或是用于流传输服务器的文件。

媒体存储器

媒体存储器260可以用于HTTP直播流传输,并且可以存储媒体文件。 每一个媒体文件具有两种类型的媒体文件:(i)播放列表文件(其示例是扩 展名为诸如*.m3u8的文件,例如名为“index.m3u8”的文件),以及(ii)多 个媒体序列文件(其示例是扩展名为*.ts的文件,例如名为“100.ts”、“101.ts” 等等的文件)。参见3E。播放列表文件可以具有关于所有媒体序列文件的细 节。媒体序列文件可以包含音频和/或视频数据。媒体文件扩展(例如播放列 表文件和媒体序列文件)可以是任何格式的。媒体生成器240可以用一种非 常有效的方式来创建文件,以免在跳转操作过程中创建重复的文件。

在本公开的一个方面中,诸如计算设备290之类的系统可以包括:(i) HTTP服务器120,(ii)媒体生成器240,(iii)媒体存储器260,以及(iv) 媒体源250。计算设备290可以包括一个或多个计算设备。在另一个方面中, 一个计算设备可以包括组件120、240和260,另一个计算设备则可以包括 250。在再一个方面中,每一个组件120、240、260以及250可被包含在不 同的计算设备中。在另一个方面中,组件120、240、260以及250可以用不 同的方式瓜分,并且可以包含在两个或更多单独的计算设备中。在另一个方 面中,一些或每一个组件120、240、260以及250都可以包括多个组件/模块, 并且这样的多个组件/模块可以包含在两个或更多的单独计算设备中。

在一个方面中,HTTP服务器和媒体生成器中的每一个都可以作为电子 硬件、计算机软件或是其组合来实施。在一个方面中,HTTP服务器提供了 用于在网络上使用HTTP来与别的计算设备通信的能力。

在一个方面中,计算设备280可以包括媒体播放器130。在另一个方面 中,媒体播放器是计算设备。在一个方面中,媒体播放器可以作为电子硬件 (例如移动电话、便携式媒体播放器或是其子部件)、计算机软件(例如 Windows Media Player、QuickTime或是其子部件)或是软硬件的组合来实施。

关于本技术主题配置的第二示例

图2B示出的是根据本公开的一个方面的技术主题配置的一个示例。 HTTP服务器120可以包括请求处理机221。媒体生成器240可以包括控制 器222以及媒体生成模块249。控制器222包括媒体生成器控制器225以及 位置计算模块224。所述控制器222还可以包括媒体生成器配置器223以及 设置接口226。

请求处理机

在一个方面中,请求处理机221可以从媒体播放器130接收关于播放列 表文件和媒体序列文件的请求。作为示例,如果请求处理机221确定在媒体 存储器260中存在被请求的文件(例如播放列表文件以及媒体序列文件), 那么所述请求处理机221将会取回被请求的文件,并且将其提供给媒体播放 器130。如果请求处理机221确定被请求的文件不存在,那么所述请求处理 机221会将该请求转发到媒体生成器控制器225。此外,当请求处理机221 接收到一个表明文件已经产生(例如播放列表文件或媒体序列文件)的通知 时,所属请求处理机221可以从诸如媒体存储器260取回该文件,并且可以 将其提供给媒体播放器130。

媒体生成器控制器

在一个方面中,媒体生成器控制器225可以在不同组件(例如221,224, 223,226以及249)之间提供通信和控制。当媒体生成器控制器225接收到 来自一个模块(例如221,224,223,226以及249)的请求、通知或命令时, 它可以确定所述请求、通知和命令以及恰当目的地模块(也就是需要将所述 请求、通知或命令送抵的模块)的类型,并且可以将其提供给所选择的恰当 的目的地模块(例如249,224,223,226,221)。

在一个方面中,举例来说,媒体生成器控制器225可以从请求处理机221 接收一个关于文件(例如缺失的媒体序列文件)的请求,该控制器可以确定 所述请求是一个针对缺失的媒体序列文件的请求,并且可以确定恰当的目的 地是位置计算模块224,以及将所述请求提供给位置计算模块224。

在一个方面中,媒体生成器控制器225可以经由请求处理机221或者别 的信道或虚拟信道(例如图2A中的285)接收媒体播放器的回放配置信息。 当媒体生成器控制器225确定其接收到了媒体播放器的回放配置信息时,所 述控制器225可以确定恰当的目的地是媒体生成器配置器223,并且可以将 该信息提供给媒体生成器配置器223。

当媒体生成器控制器225从位置计算模块224接收到诸如时间之类的参 数,从媒体生成器223接收到配置参数或者从设置接口226接收到设置参数 的时候,该控制器225可以基于所述信息确定发送至媒体生成模块249的参 数,并且可以将这些参数提供给媒体生成模块249。

当媒体生成器控制器225从媒体生成模块249接收到一个表明播放列表 文件或媒体序列文件已经产生的通知时,所述媒体生成器控制器225可以将 该通知发送给请求处理机221。

位置计算模块

当位置计算模块224接收到关于缺失的媒体序列文件的请求时(例如经 由225从221),所述位置计算模块224将会计算该请求,并且会将其转换成 与缺失的媒体序列文件(例如200.ts文件)相对应的媒体源文件的位置(例 如200秒的时间),以及将诸如时间这样的位置提供给媒体生成器控制器 225。所述计算可以基于与缺失的媒体序列文件相关联的播放列表文件中的 信息(例如媒体源文件的总的持续时间,媒体序列文件的总数,媒体序列文 件的名称,以及关于媒体序列文件的次序或顺序的指示)。

举个例子,该计算可以基于与缺失的媒体序列文件相关联的媒体源文件 的总的持续时间,将要为媒体源文件产生的媒体序列文件的总数,以及与媒 体源文件的其他媒体序列文件相对的缺失媒体序列文件的位置。作为示例, 如果总的持续时间是1小时,那么媒体序列文件的总数是720,并且缺失的 媒体序列文件是第120个文件,那么媒体源文件的相应时间是600秒(1小 时*3600秒/小时*120/720=600秒)。

设置接口

在一个方面中,设置接口226被配置成确定媒体源文件(例如媒体源 250)的一个或多个位置,以及用于存储播放列表文件和媒体序列文件的一 个或多个位置(例如媒体存储器260),并且将位置信息提供给媒体生成器控 制器225,所述控制器225则将该位置信息提供给媒体生成模块249。

媒体生成器配置器

在一个方面中,媒体生成器配置器223可以在初始设置处理或是媒体播 放器的回放过程中接收媒体播放器配置信息,并且可以产生用于媒体生成模 块249的配置参数。举例来说,此类配置参数可以包括供转码器245使用的 视频比特率、音频比特率、图像宽高比(例如图像的宽度与其高度的比值) 以及帧速率(例如帧/秒)。

在初始设置过程中,媒体生成器配置器223可以借助诸如设置接口226 接收信息,并且可以经由诸如设置接口226及媒体生成器控制器225来将配 置信息提供给媒体生成模块249。在回放过程中,媒体生成器配置器223可 以经由诸如媒体生成器控制器225接收信息,并且可以经由诸如媒体生成器 控制器225来向媒体生成模块249提供配置参数。在另一个方面中,媒体生 成器配置器223可以经由其他信道接收/发送信息。

在一个方面中,如果媒体播放器配置信息在媒体播放器130的回放过程 中发生了变化,那么媒体生成器配置器223可以检测到这种变化,并且可以 作为响应而调整媒体生成器的配置参数。举例来说,如果计算设备280与290 之间的网络的质量或带宽网络因为从Wi-Fi变成3G而降低,那么作为接收 到表明网络质量或带宽下降的通知的响应,媒体生成器配置器223可以调整 编码器243的参数,例如视频和音频速率,以便降低传送至媒体播放器130 的媒体的质量。

媒体生成模块

在一个方面中,媒体生成模块249可以包括源读取器241,转码器245, 以及写入器244。转码器245可以包括解码器242和编码器243。

响应于初始设置请求(例如来自225),媒体生成模块249可以设置其配 置参数,例如所选择的媒体资源文件(例如媒体资源250)的位置,存储媒 体输出文件(例如媒体序列文件)的位置(例如媒体存储器260)。以及媒体 生成模块249的不同组件(例如241,242,243以及244)的配置参数。

源读取器241可以读取媒体源文件。在一个方面中,媒体生成模块249 (例如241)或者诸如媒体生成器控制器225之类的别的组件可以确定媒体 源文件的持续时间以及所要产生的媒体序列文件的总数。所述媒体生成模块 249可以创建、编写播放文件列表(例如使用写入器244来将播放列表文件 存入媒体存储器260),以及通告创建了播放列表文件(例如经由221和224 或者经由别的信道来向媒体播放器130通告)。播放列表文件可以包含与媒 体源文件和媒体序列文件(例如媒体源文件的总的持续时间,媒体序列文件 的总数,媒体序列文件的顺序,媒体序列文件的名称等等)有关的信息。

媒体生成模块249的源读取器241可以读取媒体源250中的数据(例如 媒体源文件),并且可以将数据馈送到模块242和243。模块242和243可以 按顺序创建媒体序列文件,并且可以将媒体序列文件写入输出文件位置(例 如使用244来写入260)。在从媒体播放器那里接收到关于每一个媒体序列文 件的请求之后,请求处理机221可以取回每一个媒体序列文件,并且将其提 供给媒体播放器130。当请求处理机221不能发现被请求的媒体序列文件时, 它会通知媒体生成模块249(例如借助225)。

响应于请求/命令(例如来自媒体生成器控制器225),源读取器241可 以开始读取媒体源文件(例如从文件开端(例如在初始设置期间的时间0) 开始读取媒体源250中的媒体源文件,或者从特定的被请求位置(例如从60 秒这样的被请求时间)开始读取媒体源文件。所述源读取器241可以从设置 的位置开始读取媒体源250中的媒体序列文件,并且可以在流结束的时候或 者在位置被复位至另一个值(或另一个跳转)的情况下停止读取媒体序列文 件。由此,媒体生成模块249可以从设置的位置开始创建所有媒体序列文件, 并且可以在流结束的时候或者所述位置被复位成另一个值(或另一个跳转) 的时候停止创建媒体序列文件。

解码器242可以解码从媒体源文件中读取的媒体,并且编码器243可以 使用配置参数来对媒体进行编码。写入器244可以将媒体序列文件写入媒体 存储器260。

不同的操作例证

以下描述的是根据本公开不同方面的不同细节层次上的媒体回放和跳 转操作的不同例证。

例证1

参考图2A、2B和3A-3E,根据本公开的一个方面,在这里对照媒体播 放器以及其他组件示出了关于媒体回放和跳转操作的一个示例。

(i)媒体播放器130的用户从播放列表(例如310A)中选择所要播放 的媒体源文件(例如图3A中的320A)的名称。

(ii)媒体播放器130开始播放与所选择的媒体源文件(例如图3D中 的媒体源文件1)相关联的媒体文件(例如图3E中的媒体文件A)的媒体 序列文件(例如图3E中的媒体序列文件A-1、A-2等等),其中所述媒体源 文件的文件名(例如320A)是在播放列表(例如310A)上显示的。媒体播 放器130可以向用户显示一个具有跳转选项(例如向前/向后寻道330B和 330C,向前寻道380B,向后寻道370C)以及总的持续时间(例如360B) 的进度栏(例如图3B和3C中的330B、330C)。

(iii)用户可以让媒体播放器130前向或反向跳转。在图3B和3C所示 的示例中,前向跳转和反向跳转可以通过点击进度栏上的位置或是元素370C 或380C中的一个来完成。

(iv)媒体播放器130依照用户前向或反向跳转的请求来将回放向前或 向后移动。

(v)媒体播放器130可以显示其当前时间(例如350B)以及总的持续 时间(例如360B)。

例证2

参考图2A和2B,根据本公开的一个方面,在这里对照媒体生成器以及 其他组件示出了媒体回放和跳转操作的一个示例。

(i)媒体生成模块249(例如源读取器241)可以从媒体源250中读取 媒体源文件(例如具有扩展名.wmv的文件)。

(ii)媒体生成模块249(例如241或其他组件)可以确定媒体源文件 的总持续时间,并且可以确定回放所需要的媒体序列文件的总数。然后,媒 体生成模块可以使用该信息来填充播放列表文件。当媒体播放器130请求播 放列表文件时,即使尚未创建所有媒体序列文件,所述媒体播放器也会假设 回放所需要的所有媒体序列文件都已存在(例如在媒体存储器260中)。由 此,在一个优选方面中,媒体回放和跳转操作与媒体播放器是无关的。

(iii)当HTTP服务器120(例如请求处理机221)从媒体播放器130 接收到关于不存在的媒体序列文件的请求时,该请求处理机221会将该请求 发送到媒体生成器控制器225,所述媒体生成器控制器将会确定请求类型, 并且会将该请求转发到位置计算模块224。

(iv)位置计算模块224将该请求转换成相应的时间格式,并且将该结 果发送到媒体生成器控制器225,所述媒体生成器控制器225则将该结果转 发给媒体生成模块249,以使媒体生成模块249可以跳转所需要的位置。举 例来说,当媒体播放器130请求播放列表文件中的文件5.ts时,媒体生成模 块249将会理解其需要需找媒体源文件中的第五秒,并且将会产生缺失的媒 体序列文件。

(v)一旦媒体生成模块249产生了缺失的媒体序列文件,则媒体生成 模块249将会通知HTTP服务器120(例如借助媒体生成器控制器225通知 请求处理机221),并且HTTP服务器120(例如请求处理机221)会通过取 回所产生的媒体序列文件以及将其提供给媒体播放器130来对媒体播放器 130做出响应。

例证3

参考图2A、2B、3A和4,根据本公开的一个方面,在这里示出了用于 动态实时地按需要要产生媒体序列文件的处理的一个示例。

在步骤420,媒体播放器130请求得到某个文件(例如媒体序列文件)。 该请求可以是一个跳转请求,并且该请求有可能是在开始播放媒体之后当用 户执行跳转操作(例如前向跳转或反向跳转)的时候出现的。HTTP服务器 120(例如请求处理机221)接收该请求,并且一旦接收到该请求,则HTTP 服务器120(例如221)在步骤430中确定该文件是否存在,例如是否存在 于媒体存储器260中。在步骤490,如果该文件存在,则HTTP服务器120 获取所述文件,并且将该文件返回给媒体生成器配置器223。

在步骤432,如果该文件不存在,则媒体生成器控制器223可以确定是 否需要改变媒体生成模块249的配置。如果否,那么该操作前进至处理450。 如果是的话,则媒体生成器配置器223将会改变媒体生成器配置参数,并且 会将新的配置参数发送到媒体生成器控制器225,在步骤434,所述媒体生 成器控制器225会将新的配置通知给媒体生成模块249。

在步骤450,控制器222(例如224、或224和225)解释该请求,并且 会将该请求转换成时间格式。在步骤460,媒体生成模块249(例如241)跳 转到相应的时间。在步骤470,媒体生成模块249(例如242,243和244) 响应于该请求来创建缺失的媒体序列文件。在480,媒体生成模块249向 HTTP服务器120(例如借助225向221)告知已经创建了缺失的媒体序列文 件。然后,所述HTTP服务器120(例如121)取回已创建的媒体序列文件, 并且将其提供给媒体播放器130。

例证4

参考图2A和2B,根据本公开的一个方面,以下描述了用于动态产生媒 体序列文件的处理的一个示例。

(i)媒体生成模块249开始创建播放列表文件(例如图3E中的播放列 表文件A),并且确定所要产生的媒体序列文件的数量。对本示例而言,媒 体生成模块249需要创建12个媒体序列文件。

(ii)如下表1所示,媒体生成模块249从文件1.ts开始按顺序创建媒 体序列文件。

表1

(iii)在媒体生成模块249创建了媒体序列文件2.ts之后,如果媒体播 放器130产生了一个前向跳转请求,那么位置计算模块224将会接收该请求 (例如经由221和225)。响应于该请求,位置计算模块224确定该跳转请求 对应的是文件9.ts,并且媒体生成模块249将会开始创建媒体序列文件9.ts (因为先前并未创建该文件)。在创建了文件9.ts时,媒体生成模块249可 以通知HTTP服务器120(例如经由媒体生成器控制器225通知请求处理机 221),并且HTTP服务器120(例如121)可以将文件9.ts提供给媒体播放 器。在创建了文件9.ts之后,媒体生成模块249可以继续按顺序创建下一个 媒体序列文件(例如表2所示的文件10.ts和文件11.ts)。

(iv)在媒体生成模块249创建了媒体序列文件11.ts之后,如果媒体播 放器130产生一个反向跳转请求,那么位置计算模块224将会接收该请求。 响应于该请求,位置计算模块224确定该跳转请求对应的是文件6.ts,并且 媒体生成模块249将会开始创建媒体序列文件6.ts,其中该所述文件可以用 与文件9.ts类似的方式而被提供给媒体播放器。在创建了文件6.ts之后,媒 体生成模块249可以继续按顺序创建下一个媒体序列文件(例如表3所示的 文件7.ts以及文件8.ts),并且所述文件可以用与文件9.ts类似的方式提供给 媒体播放器。

(v)如果已经创建了媒体序列文件,那么媒体生成模块249不会创建 该文件。举例来说,在创建了文件6.ts、文件7.ts以及文件8.ts之后,媒体 生成模块将会创建文件12.ts(如表3所示),并且由于先前已经创建了文件 9.ts、文件10.ts以及文件11.ts,因此,媒体生成模块将会跳过创建(或者避 开创建)这些文件的处理。

表3

(vi)在媒体生成模块249创建了媒体序列文件12.ts之后,如果媒体播 放器130产生一个反向跳转到文件1.ts的请求,那么,由于文件1.ts已经存 在,因此,媒体生成模块不会创建所述文件,并且将会从文件3.ts开始创建 媒体序列文件,以及继续按顺序创建其他媒体序列文件,例如文件4.ts以及 文件5.ts(如表4所示),因为这些文件先前并未创建。

表4

例证5

参考为以上的例证4所示的图2A、2B、3A-3E以及表1-4,根据本公开 的一个方面,在这里示出了关于媒体回放和跳转操作的一个示例。

初始设置处理

媒体回放处理可以是在远端媒体播放器130选择文件名(例如320A) 以及向web服务器发送要求关于所选择的文件的流媒体的初始请求的时候 开始的。在接收到初始请求的时候,请求处理机221(或别的组件)可以确 定所选择的媒体源文件是否兼容媒体播放器。如果存在与所选择的媒体源文 件对应且采用不同格式(例如H.264.mid_quality格式,H.264.high_quality格 式,H.264.1ow_quality格式)的其他媒体文件,那么请求处理机221(或别 的组件)还可以确定此类媒体文件是否兼容媒体播放器。如果没有与媒体播 放器兼容的媒体源文件或媒体文件,那么可以调用一个设置接口226(例如 借助请求处理机226或别的通道)来进行初始设置。

在初始设置处理过程中,设置接口226可以确定(i)与源读取器241 所要使用的选定文件名(例如320A)相关联的媒体源文件的位置(例如图 3D中的媒体源文件1),以及(ii)用于存储与写入器244将要使用的媒体源 文件相关联的媒体文件(例如包含播放列表A以及媒体序列文件A-1到A-N 的媒体文件A)的一个或多个位置。

在初始设置处理过程中,媒体生成器配置器223可以接收媒体播放器的 配置信息,并且可以产生用于媒体生成模块249的配置参数(例如供解码器 242和编码器243使用)。媒体生成器控制器225可以将来自设置接口226 的设置信息以及来自媒体生成器配置器223的配置参数提供给媒体生成模块 249。所述媒体生成模块249则会在产生媒体文件(例如图3E中的媒体文件 A)的处理过程中使用该设置信息以及配置参数。

然后,媒体生成模块249可以定位来自媒体源250的媒体源文件,确定 媒体源文件的持续时间,所需要的媒体序列文件的总数,并且将会开始产生 一个播放列表文件。该媒体生成模块249可以将关于媒体源文件、媒体序列 文件以及媒体源文件/媒体序列文件内容的信息插入播放列表文件,其中作为 示例,所述播放列表文件包含了以下的一些或全部:媒体源文件的持续时间, 媒体序列文件的总数,媒体源文件以及媒体序列文件的名称和位置。当媒体 播放器130查询播放列表文件时,做出响应,HTTP服务器120(例如请求 处理机221)可以取回播放列表文件,并且将其提供给媒体播放器130。

配置信息的变化

当媒体播放器的配置信息改变时(例如当网络质量或网络带宽发生变化 时),媒体生成器配置器223可以检测到这些变化(例如借助请求处理机221 和媒体生成器控制器225,或者借助别的通道)。一旦检测到变化,则媒体生 成器配置器223可以基于媒体播放器的配置信息的一个或多个变化来调整媒 体生成模块249(例如编码器242和/或解码器243)的配置参数。举例来说, 视频比特率和音频比特率可以相应地进行调整。经过更新的配置参数可以经 由媒体生成器控制器225而被提供给媒体生成模块249(例如解码器242和/ 或编码器243)。所述媒体生成模块249(例如解码器242和/或编码器243) 可以在其产生媒体序列文件的时候使用经过更新的配置参数。

跳转媒体序列

在接收到播放列表文件之后,媒体播放器130可以向HTTP服务器120 (例如221)发送一个关于播放列表文件上列举的媒体序列文件的请求。该 媒体播放器130可以以连续的次序(例如文件1.ts,文件2.ts等等)发送关 于媒体序列文件的请求,发送关于媒体序列文件(例如文件9.ts)的前向跳 转请求,或者发送关于媒体序列文件(例如文件6.ts)的反向跳转请求。除 非进行前向或反向跳转,否则媒体播放器130通常可以以连续的次序来发送 关于媒体序列文件的请求。对于针对媒体序列文件的每一个请求,HTTP服 务器120(例如221)可以确定被请求的媒体序列文件是否存在(例如在260 中)。如果HTTP服务器120(例如221)确定该文件存在(例如在260中), 那么HTTP服务器120(例如221)可以取回该文件,并且可以将取回的文 件提供给媒体播放器130,而不用重新创建该文件。

如果HTTP服务器120(例如221)确定该文件缺失,则HTTP服务器 120(例如221)可以将该请求提供给控制器222(例如225)。

媒体生成器控制器225可以接收该请求,确定该请求是一个关于媒体序 列文件的请求,并且会将该请求转发到位置计算模块224。位置计算模块224 可以确定与被请求的媒体序列文件(例如文件9.ts)相对应的媒体源文件的 时间(例如40秒),并且会将该请求转换成时间。所述位置计算模块224可 以将该时间提供给媒体生成器控制器225,然后,所述控制器可以向媒体生 成模块249发送一个请求,以便要求跳转到媒体源文件的所述时间(例如40 秒),从该时间开始读取媒体源文件,以及创建媒体序列文件。

一旦创建了被请求的媒体序列文件,则HTTP服务器120(例如借助225 的221)将会得到媒体生成模块249的通知,并且所述HTTP服务器120(例 如221)可以取回被请求的媒体序列文件,以及将其提供给媒体播放器130。

由于HTTP服务器120(例如221)首先确定了每一个被请求的文件是 否存在,因此,如果文件已经存在,那么媒体生成模块249不会创建该文件, 并且由此提供了有效的资源利用。

举例来说,在如上所述的例证4中,在响应于来自媒体播放器130的相 应请求而创建了文件6.ts、文件7.ts以及文件8.ts之后,当媒体播放器130 请求媒体序列文件9.ts时,HTTP服务器120(例如221)将会确定文件9.ts 存在,并且由此可以简单地取回该文件,以及将其提供给媒体播放器130, 而不必让媒体生成模块249重新创建文件9.ts。以此类推,当媒体播放器130 按顺序请求文件10.ts以及文件11.ts时,HTTP服务器120(例如221)将会 执行类似的操作,并且会在没有重新创建这些文件的情况下简单地提供这些 文件。在创建了文件12.ts之后,当媒体播放器130产生反向跳转到文件1.ts 的请求时,HTTP服务器120(例如221)将会再次执行类似的操作,并且会 在不重新创建被请求的文件的情况下简单地提供被请求的文件1.ts。

在一个方面中,在媒体播放器选择所要播放的媒体文件名,以及向服务 器(例如120)发送一个要求服务器播放与所选择的文件名相关联的媒体源 文件的媒体的初始请求之前,媒体源文件在媒体源(例如250)中是预先存 在的。所述媒体源文件被保持在媒体源中,并且不会在该媒体的整个回放过 程中被发送到媒体播放器。在媒体播放器产生初始请求的时候,播放列表文 件和媒体序列文件未必是存在的。该播放列表文件可以是响应于初始请求产 生的,并且可以是响应于初始请求而被提供给媒体播放器的。每一个媒体序 列文件都可以是响应于关于相应媒体序列文件的单独请求而被产生和提供 给媒体播放器的。

关于计算设备的示例

图5是示出了计算设备示例的概念性框图。

在一个方面中,举例来说,计算设备500可以是媒体播放器130,HTTP 服务器120,媒体生成器240,媒体生成模块249或是计算设备280、290、 602或604,这其中的各项的一部分和/或其组合。一个计算设备可以包括一 个或多个计算设备。

计算设备500可以包括处理系统502。处理系统502可以包括一个或多 个处理器。处理器502能够通过总线504或其他结构或设备来与接收机506 以及发射机508进行通信。应该理解的是,除了总线之外,其他通信装置也 是可以与所公开的配置一起使用的。处理系统502可以产生提供给发射机 509以进行传递的音频、视频、多媒体和/或其他类型的数据。此外,在接收 机506上可以接收并且处理系统502可以处理音频、视频、多媒体和/或其他 类型的数据。处理器可以包括一个或多个处理器。

处理系统502可以包括用于运行执行的通用处理器或专用处理器,并且 还可以包括用于存储软件程序的数据和/或指令的机器可读介质519。所述指 令可以保存在机器可读存储介质510和/或519中,并且可以由处理系统502 运行,以便控制和管理针对不同网络的接入,以及提供其他通信和处理功能。 此外,这些指令还可以包括可供处理系统502为诸如显示器512和数字键盘 514之类的不同用户接口设备运行的指令。处理系统502可以包括输入端口 522和输出端口524。输入端口522和输出端口524中的每一个可以包括一 个或多个端口。所述输入端口522和输出端口524既可以是相同端口(例如 双向端口),也可以是不同端口。

处理系统502可以用软件、硬件或软硬件组合来实施。作为示例,处理 系统502可以用一个或多个处理器来实施。处理器可以是通用微处理器、微 控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵 列(FPGA)、可编程逻辑设备(PLD)、控制器、状态机、门逻辑、分立硬 件元件和/或其他任何可以执行计算或其他信息操作的适当设备。本领域技术 人员将会认识到如何以最佳的方式来为处理系统502实施所描述的功能。

无论被称为软件、固件、中间件、微代码、硬件描述语言或其他,软件 都应该被广义地解释成是指指令、数据或是其任何组合。指令可以包括代码 (例如采用源代码格式、二进制码格式、可执行代码格式或是其他任何适当 的代码格式)。作为示例,指令是可以计算设备(例如媒体播放器,HTTP 服务器或web服务器的处理系统)运行的。例如,所述指令可以是包含代码 的计算机程序。

机器可读介质可以是一个或多个机器可读介质。所述机器可读介质(例 如510)还可以包括位于处理系统外部的存储器,例如随机存取存储器 (RAM)、闪速存储器、只读存储器(ROM)、可编程序只读存储器(PROM)、 可擦写PROM(EPROM)、寄存器、硬盘、可移除磁盘、CD-ROM、DVD 或是其他任何适当的存储设备。机器可读介质519还可以具有易失存储器和 非易失存储器。所述机器可读介质(例如510)可以包括集成在处理系统中 的存储器,作为示例,专用集成电路(ASIC)即为这种情况。存储器可以是 机器可读介质(例如510根据或519)或是其一部分。作为示例,机器可读 介质可以包括媒体源250或媒体存储器260。

依照本公开的一个方面,机器可读介质是用指令编码或保存了指令的计 算机可读介质,并且是一个定义了指令与允许实现指令功能的系统剩余部分 之间的结构和功能方面的相互关系的计算部件。在一个方面中,机器可读介 质是非暂时性的机器可读介质,机器可读存储介质或是非暂时性的机器可读 存储介质。在一个方面中,机器可读介质是计算机可读介质,非暂时性的计 算机可读介质,计算机可读存储介质,或非暂时性的计算机可读存储介质。

接口516可以是任何类型的接口,并且可以驻留在图5所示的任何组件 之间。例如,接口516还可以是与外部世界对接的接口(例如互联网网络接 口卡)。收发信机部件507可以代表一个或多个收发信机,并且每一个收发 信机都可以包括接收机506和发射机509。在处理系统502中实施的功能可 以在接收机506的一部分、发射机509的一部分、机器可读介质510的一部 分、显示器512的一部分、数字键盘514的一部分或接口516的一部分中实 施,反之亦然。在一个方面中,计算设备可以只包括图5所示的一些部件或 所有部件。计算设备可以包括图5未显示的其他部件。此外,计算设备还可 以包括一个以上的相同部件。

关于网络系统的示例

图6示出的是根据本公开的一个方面的计算网络系统的一个示例的简化 图示。

计算网络系统600可以包括经由网络606而与一个或多个计算设备604 (例如服务器120或290)通信的一个或多个计算设备602(例如客户机设 备130或280)。在一个方面中,计算设备604被配置成允许远程会话(例如 远程桌面会话),在该会话中,用户可以通过从计算设备602登录到计算设 备604来访问计算设备604上的应用和文件。这种连接可以采用若干种众所 周知的技术中的任何一种来建立,例如基于Windows的服务器上的远程桌面 协议(RDP)。

作为例证而不是限制,计算设备602可以代表计算机、移动电话、膝上 型计算机、平电脑、瘦计算设备、个人数字助理(PDA)、便携式计算设备、 虚拟机或是具有处理器的适当设备。在一个示例中,计算设备602是智能电 话(例如iPhone、Android电话、Blackberry等等)。在某些配置中,计算设 备602可以代表音频播放器、游戏机、摄像机、摄影机、音频设备、视频设 备、多媒体设备或是能够支持与远端计算设备的连接的设备。在一个有利的 示例中,计算设备602是移动的。在另一个有利的示例中,计算设备602是 手持设备。在再一个示例中,计算设备602可以是固定的。在一个示例中, 计算设备602可以是至少具有处理器和存储器的设备,其中计算设备602的 存储器的总量小于计算设备604中的存储器的总量。在一个有利的示例中, 计算设备602不具有硬盘。在一个有利的方面中,计算设备602具有的显示 器要小于计算设备604所支持的显示器。

在一个方面中,计算设备604可以代表计算机、膝上型计算机、计算设 备、虚拟机(例如虚拟机)、桌面会话(例如Microsoft Terminal  Server)、已发布的应用(例如Microsoft Terminal Server)或是具有处理器的 适当设备。在一个方面中,计算设备604可以固定的。在另一个方面中,计 算设备604可以是移动的。在某些配置中,计算设备604可以是能够代表计 算设备的任何设备。在一个方面中,计算设备604可以包括一个或多个计算 设备。

在一个示例中,当第一设备不直接连接到第二设备时,所述第一设备处 于第二设备远端。在一个示例中,第一远端设备可以经由通信网络(606) 连接到第二设备。

当计算设备602和计算设备604处于彼此的远端时,计算设备602可以 经由网络606连接到计算设备604,例如经由调制解调器连接,包括以太网 在内的局域网连接,包括DSL、电缆、T1、T3、光纤、Wi-Fi在内的宽带 WAN连接,或是包括GSM、GPRS、3G、WiMax或其他网络连接在内的移 动网络连接。网络606可以是LAN网络、WAN网络、无线网络、互联网、 内部网或其他网络。网络上的远端设备(例如计算设备)可以通过相应网络 地址来进行寻址,所述网络地址的示例可以包括但不局限于网际协议(IP) 地址、互联网名称、Windows Internet命名服务(WINS)名称、域名或其他 系统名称。以上示出的仅仅是一个以何种方式位于另一个设备远端的一些示 例。然而,本技术主题不局限于这些示例。

术语说明

在一个方面中,术语“本地”和“远端”是相对术语,依照计算设备处 于网络同侧(本地)还是网络的另一侧(远端),可以将计算设备称为本地 计算设备或远端计算设备。在一个优选方面中,媒体播放器130或计算设备 280位于计算设备290、HTTP服务器120、媒体生成器240(例如290)的 远端。在一个方面中,组件120、240、250和260位于彼此本地。在另一个 方面中,这些组件可以处于其中一些组件的远端。

在一个方面中,媒体可以是指媒体文件,反之亦然。在一个方面中,媒 体文件可以是指媒体序列文件、媒体源文件或是播放列表文件。在一个方面 中,媒体序列可以是指媒体序列文件。在一个方面中,媒体序列可以是指一 个剪辑,反之亦然。在一个方面中,文件可以是指媒体文件。在一个有利的 方面中,媒体包含了文本、音频、静止图像、动画、视频和交互内容形式中 的一项或多项。在一个方面中,媒体包括音频和视频。在一个方面中,媒体 包括音频。在一个方面中,媒体包括视频。在一个方面中,元数据包括关于 文件或者关于文件内容的信息。

在一个方面中,HTTP服务器是计算设备。在一个方面中,HTTP服务 器是web服务器。在一个方面中,HTTP服务器是一个服务器。

在一个方面中,HTTP是请求/响应协议。第一计算设备(例如客户机) 可以采用某种形式来向第二计算设备(例如服务器)发送一个请求,作为示 例,所述形式可以是请求方法、统一资源标识符(URI)、协议版本、包含请 求标识符的消息、关于计算设备信息以及正文内容。然后,第二计算设备可 以向第一计算设备发送一个针对该请求的响应。

在一个方面中,流传输可以是指随时间提供的数据元素序列。在一个方 面中,直播流传输可以传送或广播在互联网之类的网络上直播(或实时形式) 的媒体。在一个方面中,实时可以是指准实时。

在一个方面中,通过动态地按需要产生媒体序列文件,可以允许响应于 相应的请求(而不是在请求之前产生)的实时产生媒体序列文件,由此,发 起请求的用户可以无缝地实时查看媒体序列文件。在一个方面中,媒体序列 文件的长度可以是3-10秒,并且可以是在接收到请求之后不到一分钟的时 间(例如2-3秒)里动态产生的(取决于计算能力)。

在一个优选方面中,本技术主题在未修改HTTP直播流传输协议的情况 下使用了HTTP直播流传输。关于HTTP直播流阐述的当前规范是在 http://tools.ietf.org/html/draft-pantos-http-live-streaming-06描述的,该规范是本 领域技术人员已知的,并且在这里引入了所述规范以作为参考。

关于优点的例证

根据不同的方面,本技术主题尤其提供了以下优点和益处:(i)对来自 媒体源的HTTP直播流传输执行媒体跳转,而不用修改HTTP直播流传输协 议;(ii)在与媒体播放器无关并且不需要修改媒体播放器的情况下控制媒体 跳转操作;(iii)在产生媒体序列文件的时候有效地使用资源;以及(iv)在 媒体位置上产生所有媒体序列文件之前,允许远端媒体播放器在开始播放一 个或多个媒体序列,以及允许在媒体播放器上进行前向/反向跳转操作。

在一个非常有利的方面中,由于位置计算模块224(或是带有225的224) 可以响应于关于媒体序列文件的请求而确定媒体源文件的位置,因此,位置 计算模块(或是带有225的224)可以提供如上所述的不同优点。

在一个非常有利的方面中,由于请求处理机221可以检查关于媒体序列 文件的每一个请求,并且可以确定被请求的媒体序列文件存在,因此可以避 免重新创建媒体位置(例如290,260)上已经存在的媒体序列文件。相应地, 如参考表4和表5所述,在媒体播放器的前向/反向跳转操作中,请求处理机 221可以确定是创建被请求的媒体序列文件还是跳过创建被请求的媒体序列 文件。通过避免创建已有文件,请求处理机221可以在产生媒体序列文件的 时候提供有效的资源利用,以及提供如上所述的其他优点。在一个有利的方 面中,确定操作是在任何用以促使产生和提供媒体序列文件的操作(例如调 整配置参数,确定与媒体序列文件对应的媒体源文件的位置,跳转到媒体源 文件的所述位置,通告媒体序列文件已被产生,取回媒体序列文件,将媒体 序列文件提供给媒体播放器)之前执行的。

作为条款的技术主题例证

作为示例,本技术主题是依照如下所述的不同方面示出的。为了方便起 见,关于本技术主题方面的不同示例是作为带编号的条款(1,2,3,……) 描述的。这些条款是作为示例提供的,其并不对本技术主题构成限制。

方法条款的示例

1.一种动态地按需要产生用于超文本传输协议(HTTP)直播流传输的 媒体序列文件的方法(相关示例参见图7A的710-A),包括:

在使用HTTP直播流传输的网络上,基于远端媒体播放器的前向或反向 跳转请求来接收一个关于媒体序列文件的请求(相关示例参见图7A的720);

响应于该请求,

确定与媒体序列文件相对应的媒体源文件的位置,以便能够跳转到媒体 源文件的所述位置,由此从媒体源文件中产生媒体序列文件(相关示例参见 图7A的730);

促使提供一个表明媒体序列文件已经产生的通知(相关示例参见图7A 的740),

其中媒体序列文件代表的是媒体源文件的多个顺序位置之一,

其中媒体序列文件的格式不同于媒体源文件的格式,

其中媒体序列文件的格式兼容远端媒体播放器。

2.如条款1所述的方法,还包括:

响应于该请求,

确定媒体序列文件是否存在,以免重新创建已有的媒体序列文件;

如果所述确定表明媒体序列文件存在,则允许取回所述媒体序列文件, 以及提供取回的媒体序列文件,而不产生所述媒体序列文件,以及

如果所述确定表明媒体序列文件不存在,则允许确定媒体源文件的位 置,以及执行促使提供所述通知的处理。

3.如条款1所述的方法,其中媒体源文件的位置是与媒体序列文件相 对应的时间。

4.如条款1所述的方法,还包括:

响应于关于每一个媒体序列文件的请求,确定所请求的每一个媒体序列 文件是否存在,

其中只有当媒体序列文件缺失的时候,所述确定媒体源文件的位置以及 促使提供通知的处理才会被执行。

5.如条款1所述的方法,还包括:

检测远端媒体播放器的回放配置的变化;

基于检测到的变化,调整一个或多个用于产生媒体序列文件的配置参 数。

6.如条款5所述的方法,还包括:

通过使用经过调整的一个或多个配置参数来促使产生所述媒体序列文 件。

7.如条款1所述的方法,还包括:

在接收关于媒体序列文件的请求之前,从远端媒体播放器接收一个要求 播放媒体源文件的媒体的初始请求;

响应于所述初始请求,执行一个初始设置处理,包括:

确定媒体源文件的位置;

确定用于存储与媒体源文件相关联的播放列表文件和媒体序列文件的 一个或多个位置;

基于远端媒体播放器的回放配置信息来产生用于生成媒体序列文件的 配置参数。

8.如条款7所述的方法,其中初始设置处理还包括:

确定将要为媒体源文件产生的媒体序列文件的总数;

产生包含了媒体序列文件名称的播放列表文件,

其中媒体源文件不兼容远端媒体播放器,

其中播放列表文件和媒体序列文件兼容远端媒体播放器,

其中被请求的媒体序列文件是播放列表文件上列举的媒体序列文件之 一。

9.如条款1所述的方法,还包括:

促使创建用于媒体源文件的播放列表文件;

促使确定将要为媒体源文件产生的媒体序列文件的总数;

在为媒体源文件创建所有媒体序列文件之前,允许远端媒体播放器开始 播放至少一个媒体序列文件,以及允许前向或反向跳转操作。

10.如条款1所述的方法,还包括:

在接收关于媒体序列文件的请求之前,从远端媒体播放器接收一个要求 播放媒体源文件的媒体的初始请求;

响应于所述初始请求,

确定将要为媒体源文件产生的媒体序列文件的总数;

产生包含了媒体序列文件名称以及媒体序列文件总数的播放列表文件;

促使将所述播放列表文件提供给远端媒体播放器,

其中确定媒体源文件位置的处理包括:基于播放列表文件中的信息来确 定媒体源文件的位置。

11.如条款1所述的方法,还包括:

促使产生用于媒体源文件的媒体序列文件,以及促使将所述媒体序列文 件提供给远端媒体播放器,

其中促使产生媒体序列文件以及促使提供媒体序列文件的操作是在与 远端媒体播放器无关以及未修改远端媒体播放器的情况下执行的,

其中确定媒体源文件位置以及促使提供通知的操作是在与远端媒体播 放器无关以及未修改远端媒体播放器的情况下执行的。

12.如条款1所述的方法,还包括:

响应于所述请求,将所述请求转换成时间,以及从媒体源文件的时间中 产生媒体源文件;

跳过创建已经存在的媒体序列文件的处理。

13.如条款1所述的方法,还包括:

促使在使用HTTP直播流传输的网络上向远端媒体播放器提供媒体序列 文件,其中所述网络包括互联网和无线网络中的一个或多个。

14.如条款2所述的方法,其中接收请求的处理是由请求处理机和媒体 生成器控制器之一或是所有这二者执行的,其中确定媒体源文件位置的处理 是由位置计算模块或是由位置计算模块和媒体生成器控制器模块执行的,其 中促使提供通知的处理是由媒体生成器控制器和媒体生成模块之一或是所 有这二者执行的,其中确定处理是由请求处理机执行的,其中所述请求处理 机、媒体生成器控制器以及媒体生成模块位于远端媒体播放器的远端。

15.如条款6所述的方法,其中检测处理是由媒体生成器配置器和媒体 生成器控制器之一或是所有这二者执行的,其中所述调整是由媒体生成器配 置器执行的,其中促使产生媒体序列文件的处理是由媒体生成器配置器、媒 体生成器控制器以及媒体生成模块中的至少一个或多个执行的,其中所述媒 体生成器配置器,媒体生成器控制器以及媒体生成模块位于远端媒体播放器 的远端。

16.如条款8所述的方法,其中接收初始请求的处理是由请求处理机、 媒体生成器控制器和设置接口中的至少一个或多个执行的,其中确定位置以 及确定一个或多个位置的处理是由设置接口执行的,其中生成配置参数的处 理是由媒体生成器控制器执行的,其中确定总数的处理是由媒体生成模块和 媒体生成器控制器中的至少一个执行的,其中生成播放列表文件的处理是由 媒体生成模块执行的,其中请求处理机、媒体生成器控制器、设置接口、媒 体生成器配置器以及媒体生成模块位于远端媒体播放器的远端。

17.如条款9所述的方法,其中所述允许包括:确定媒体序列文件是否 存在,如果媒体序列文件不存在,则确定所述位置,其中所述允许是由位于 远端媒体播放器的远端的请求处理机、媒体生成器控制器以及位置计算模块 中的至少一些执行的。

18.如条款11所述的方法,其中促使产生媒体序列文件的处理是由媒 体生成模块、媒体生成器控制器以及位置计算模块中的至少一些执行的,其 中促使提供媒体序列文件的处理是由媒体生成模块、媒体生成器控制器以及 请求处理机中的至少一些执行的。

19.如条款12所述的方法,其中转换请求的处理是由位置计算模块执 行的,以及所述跳过的处理是由请求处理机执行的。

关于机器可读介质条款的例证

20.一种使用指令编码的机器可读存储介质(相关示例参见图7B的 710-B),所述指令可以由一个或多个处理器运行,以便执行一个或多个操作, 所述一个或多个操作包括:

在使用HTTP直播流传输的网络上,基于远端媒体播放器的前向或反向 跳转请求来接收一个关于媒体序列文件的请求(相关示例参见图7B的 720-B);

响应于该请求,

确定与媒体序列文件相对应的媒体源文件的位置,以便能够跳转到媒体 源文件的所述位置,由此从媒体源文件中产生媒体序列文件(相关示例参见 图7B的730-B),

其中媒体序列文件代表的是媒体源文件的多个顺序位置之一,

其中媒体序列文件的格式不同于媒体源文件的格式,

其中媒体序列文件的格式兼容远端媒体播放器。

21.如条款20所述的机器可读存储介质,其中所述一个或多个操作包 括:

响应于该请求,

确定媒体序列文件是否存在,以免重新创建已有的媒体序列文件;

如果所述确定表明媒体序列文件存在,则允许取回所述媒体序列文件, 以及提供取回的媒体序列文件,而不产生所述媒体序列文件,以及

如果所述确定表明媒体序列文件不存在,则允许确定媒体源文件的位 置,以及执行促使提供所述通知的处理。

22.如条款20所述的机器可读存储介质,其中媒体源文件的位置是与 媒体序列文件相对应的时间。

23.如条款20所述的机器可读存储介质,其中所述一个或多个操作包 括:

响应于关于每一个媒体序列文件的请求,确定所请求的每一个媒体序列 文件是否存在,

其中只有当媒体序列文件缺失的时候,所述确定媒体源文件的位置以及 促使提供通知的处理才会被执行。

24.如条款20所述的机器可读存储介质,其中所述一个或多个操作包 括:

检测远端媒体播放器的回放配置的变化;

基于检测到的变化,调整一个或多个用于产生媒体序列文件的配置参 数。

25.如条款24所述的机器可读存储介质,其中所述一个或多个操作包 括:

基于经过调整的一个或多个配置参数来促使产生所述媒体序列文件。

26.如条款20所述的机器可读存储介质,其中所述一个或多个操作包 括:

在接收关于媒体序列文件的请求之前,从远端媒体播放器接收一个要求 播放媒体源文件的媒体的初始请求;

响应于所述初始请求,执行一个初始设置处理,包括:

确定媒体源文件的位置;

确定用于存储与媒体源文件相关联的播放列表文件和媒体序列文件的 一个或多个位置;

基于远端媒体播放器的回放配置信息来产生用于生成媒体序列文件的 配置参数。

27.如条款26所述的机器可读存储介质,其中初始设置处理还包括:

确定将要为媒体源文件产生的媒体序列文件的总数;

产生包含了媒体序列文件名称的播放列表文件,

其中媒体源文件不兼容远端媒体播放器,

其中播放列表文件和媒体序列文件兼容远端媒体播放器,

其中被请求的媒体序列文件是播放列表文件上列举的媒体序列文件之 一。

28.如条款20所述的机器可读存储介质,其中所述一个或多个操作包 括:

促使创建用于媒体源文件的播放列表文件;

促使确定将要为媒体源文件产生的媒体序列文件的总数;

在为媒体源文件创建所有媒体序列文件之前,允许远端媒体播放器开始 播放至少一个媒体序列文件,以及允许前向或反向跳转操作。

29.如条款20所述的机器可读存储介质,其中所述一个或多个操作包 括:

在接收关于媒体序列文件的请求之前,从远端媒体播放器接收一个要求 播放媒体源文件的媒体的初始请求;

响应于所述初始请求,

确定将要为媒体源文件产生的媒体序列文件的总数;

产生包含了媒体序列文件名称以及媒体序列文件总数的播放列表文件;

促使将所述播放列表文件提供给远端媒体播放器,

其中确定媒体源文件位置的处理包括:基于播放列表文件中的信息来确 定媒体源文件的位置。

30.如条款20所述的机器可读存储介质,其中所述一个或多个操作包 括:

促使产生用于媒体源文件的媒体序列文件,以及促使将所述媒体序列文 件提供给远端媒体播放器,

其中促使产生媒体序列文件以及促使提供媒体序列文件的操作是在与 远端媒体播放器无关以及未修改远端媒体播放器的情况下执行的,

其中确定媒体源文件位置以及促使提供通知的操作是在与远端媒体播 放器无关以及未修改远端媒体播放器的情况下执行的。

31.如条款20所述的机器可读存储介质,其中所述一个或多个操作包 括:

响应于所述请求,将所述请求转换成时间,以及从媒体源文件的时间中 产生媒体源文件;

跳过创建已经存在的媒体序列文件的处理。

32.如条款20所述的机器可读存储介质,其中所述一个或多个操作包 括:

促使在使用HTTP直播流传输的网络上向远端媒体播放器提供媒体序列 文件,其中所述网络包括互联网和无线网络中的一个或多个。

33.如条款21所述的机器可读存储介质,其中机器可读存储介质包括 关于请求处理机、媒体生成器控制器、位置计算模块以及媒体生成模块的代 码,

其中请求处理机和媒体生成器控制器之一或是所有这二者包括用于接 收请求的代码,其中位置计算模块或是位置计算模块和媒体生成器控制器包 括用于确定媒体源文件的位置的代码,其中媒体生成器控制器和媒体生成模 块之一或是所有这二者包括用于促使提供通知的操作的代码,其中所述请求 处理机包括用于做出判定的代码,

其中所述请求处理机、媒体生成器控制器以及媒体生成模块位于远端媒 体播放器的远端。

34.如条款25所述的机器可读存储介质,其中机器可读存储介质包括 关于媒体生成器配置器,媒体生成器控制器以及媒体生成模块的代码,

其中媒体生成器配置器和媒体生成器控制器之一或是所有这二者包括 用于检测操作的代码,其中媒体生成器配置器包括用于调整操作的代码,其 中媒体生成器配置器、媒体生成器控制器以及媒体生成模块中的至少一个或 多个包括用于促使产生媒体序列文件的操作的代码,

其中所述媒体生成器配置器,媒体生成器控制器以及媒体生成模块位于 远端媒体播放器的远端。

35.如条款27所述的机器可读存储介质,其中机器可读存储介质包括 关于请求处理机、媒体生成器控制器、设置接口、媒体生成器配置器以及媒 体生成模块的代码,

其中请求处理机、媒体生成器控制器以及设置接口中的一个或多个包括 用于执行接收初始请求的操作的代码,其中设置接口包括用于执行确定位置 以及确定一个或多个位置的操作的代码,其中媒体生成器配置器包括用于产 生配置参数的代码,其中媒体生成模块和媒体生成器控制器中的至少一个包 括用于执行确定总数的操作的代码,其中媒体生成模块包括用于产生播放列 表文件的代码,

其中请求处理机、媒体生成器控制器,设置接口,媒体生成器配置器以 及媒体生成模块位于远端媒体播放器的远端。

36.如条款28所述的机器可读存储介质,其中机器可读存储介质包括 关于位于远端媒体播放器的远端的请求处理机、媒体生成器控制器以及位置 计算模块的代码,

其中所述允许包括:确定媒体序列文件是否存在,如果媒体序列文件不 存在,则确定所述位置,

其中请求处理机、媒体生成器控制器以及位置计算模块中的至少一些位 于远端媒体播放器的远端。

37.如条款30所述的机器可读存储介质,其中机器可读存储介质包括 关于媒体生成模块、媒体生成器控制器、位置计算模块以及请求处理机的代 码,

其中媒体生成模块、媒体生成器控制器以及位置计算模块中的至少一些 包括用于执行促使产生媒体序列文件的操作的代码,其中媒体生成模块、媒 体生成器控制器以及请求处理机中的至少一些包括用于执行促使提供媒体 序列文件的代码。

38.如条款31所述的机器可读存储介质,其中机器可读存储介质包括 关于请求处理机和位置计算模块的代码,其中位置计算模块包括用于执行转 换请求的操作的代码,其中所述请求处理机包括用于执行跳过操作的代码。

39.如条款20所述的机器可读存储介质,其中所述一个或多个操作包 括:响应于请求,促使提供一个指示媒体序列已被产生的通知。

关于设备条款的示例

40.一种硬件设备(相关示例参见图7C的710-C),包括:

被配置成执行一个或多个操作的一个或多个模块(相关示例参见图7C 的740-C),所述操作包括:

在使用HTTP直播流传输的网络上,基于远端媒体播放器的前向或反向 跳转请求来接收一个关于媒体序列文件的请求(相关示例参见图7C的 720-C);

响应于该请求,

确定与媒体序列文件相对应的媒体源文件的位置,以便能够跳转到媒体 源文件的所述位置,由此从媒体源文件中产生媒体序列文件(相关示例参见 图7C的730-C),

其中媒体序列文件代表的是媒体源文件的多个顺序位置之一,

其中媒体序列文件的格式不同于媒体源文件的格式,

其中媒体序列文件的格式兼容远端媒体播放器。

41.如条款40所述的硬件设备,其中所述一个或多个操作包括:

响应于该请求,

确定媒体序列文件是否存在,以免重新创建已有的媒体序列文件;

如果所述确定表明媒体序列文件存在,则允许取回所述媒体序列文件, 以及提供取回的媒体序列文件,而不产生所述媒体序列文件,以及

如果所述确定表明媒体序列文件不存在,则允许确定媒体源文件的位 置,以及执行促使提供所述通知的处理。

42.如条款40所述的硬件设备,其中媒体源文件的位置是与媒体序列 文件相对应的时间。

43.如条款40所述的硬件设备,其中所述一个或多个操作包括:

响应于关于每一个媒体序列文件的请求,确定所请求的每一个媒体序列 文件是否存在,

其中只有当媒体序列文件缺失的时候,所述确定媒体源文件的位置以及 促使提供通知的处理才会被执行。

44.如条款40所述的硬件设备,其中所述一个或多个操作包括:

检测远端媒体播放器的回放配置的变化;

基于检测到的变化,调整一个或多个用于产生媒体序列文件的配置参 数。

45.如条款44所述的硬件设备,其中所述一个或多个操作包括:

基于经过调整的一个或多个配置参数来促使产生所述媒体序列文件。

46.如条款40所述的硬件设备,其中所述一个或多个操作包括:

在接收关于媒体序列文件的请求之前,从远端媒体播放器接收一个要求 播放媒体源文件的媒体的初始请求;

响应于所述初始请求,执行一个初始设置处理,包括:

确定媒体源文件的位置;

确定用于存储与媒体源文件相关联的播放列表文件和媒体序列文件的 一个或多个位置;

基于远端媒体播放器的回放配置信息来产生用于生成媒体序列文件的 配置参数。

47.如条款46所述的硬件设备,其中初始设置处理还包括:

确定将要为媒体源文件产生的媒体序列文件的总数;

产生包含了媒体序列文件名称的播放列表文件,

其中媒体源文件不兼容远端媒体播放器,

其中播放列表文件和媒体序列文件兼容远端媒体播放器,

其中被请求的媒体序列文件是播放列表文件上列举的媒体序列文件之 一。

48.如条款40所述的硬件设备,其中所述一个或多个操作包括:

促使创建用于媒体源文件的播放列表文件;

促使确定将要为媒体源文件产生的媒体序列文件的总数;

在为媒体源文件创建所有媒体序列文件之前,允许远端媒体播放器开始 播放至少一个媒体序列文件,以及允许前向或反向跳转操作。

49.如条款40所述的硬件设备,其中所述一个或多个操作包括:

在接收关于媒体序列文件的请求之前,从远端媒体播放器接收一个要求 播放媒体源文件的媒体的初始请求;

响应于所述初始请求,

确定将要为媒体源文件产生的媒体序列文件的总数;

产生包含了媒体序列文件名称以及媒体序列文件总数的播放列表文件;

促使将所述播放列表文件提供给远端媒体播放器,

其中确定媒体源文件位置的处理包括:基于播放列表文件中的信息来确 定媒体源文件的位置。

50.如条款40所述的硬件设备,其中所述一个或多个操作包括:

促使产生用于媒体源文件的媒体序列文件,以及促使将所述媒体序列文 件提供给远端媒体播放器,

其中促使产生媒体序列文件以及促使提供媒体序列文件的操作是在与 远端媒体播放器无关以及未修改远端媒体播放器的情况下执行的,

其中确定媒体源文件位置以及促使提供通知的操作是在与远端媒体播 放器无关以及未修改远端媒体播放器的情况下执行的。

51.如条款40所述的硬件设备,其中所述一个或多个操作包括:

响应于所述请求,将所述请求转换成时间,以及从媒体源文件的时间中 产生媒体源文件;

跳过创建已经存在的媒体序列文件的处理。

52.如条款40所述的硬件设备,其中所述一个或多个操作包括:

促使在使用HTTP直播流传输的网络上向远端媒体播放器提供媒体序列 文件,其中所述网络包括互联网和无线网络中的一个或多个。

53.如条款41所述的硬件设备,其中一个或多个模块包括请求处理机、 媒体生成器控制器、位置计算模块以及媒体生成模块,

其中请求处理机和媒体生成器控制器之一或是所有这二者被配置成执 行接收请求的操作,其中位置计算模块或是位置计算模块和媒体生成器控制 器被配置成执行确定媒体源文件位置的操作,其中请求处理机被配置成执行 做出判定的操作,

其中所述请求处理机、媒体生成器控制器以及媒体生成模块位于远端媒 体播放器的远端。

54.如条款45所述的硬件设备,其中一个或多个模块包括媒体生成器 配置器,媒体生成器控制器以及媒体生成模块,

其中媒体生成器配置器和媒体生成器控制器之一或是所有这二者被配 置成执行检测操作,其中媒体生成器配置器被配置成执行调整操作,其中媒 体生成器配置器、媒体生成器控制器以及媒体生成模块中的至少一个或多个 被配置成执行促使产生媒体序列文件的操作,

其中所述媒体生成器配置器,媒体生成器控制器以及媒体生成模块位于 远端媒体播放器的远端。

55.如条款47所述的硬件设备,其中一个或多个模块包括请求处理机、 媒体生成器控制器、设置接口、媒体生成器配置器以及媒体生成模块,

其中请求处理机、媒体生成器控制器以及设置接口中的一个或多个被配 置成执行接收初始请求的操作,其中设置接口被配置成执行确定位置以及确 定一个或多个位置的操作,其中媒体生成器配置器被配置成执行产生配置参 数的操作,其中媒体生成模块和媒体生成器控制器中的至少一个被配置成执 行确定总数的操作,其中媒体生成模块被配置成执行产生播放列表文件的操 作,

其中请求处理机、媒体生成器控制器,设置接口,媒体生成器配置器以 及媒体生成模块位于远端媒体播放器的远端。

56.如条款48所述的硬件设备,其中一个或多个模块包括位于远端媒 体播放器的远端的请求处理机、媒体生成器控制器以及位置计算模块,

其中所述允许包括:确定媒体序列文件是否存在,如果媒体序列文件不 存在,则确定所述位置,

其中请求处理机、媒体生成器控制器以及位置计算模块中的至少一些位 于远端媒体播放器的远端。

57.如条款50所述的硬件设备,其中一个或多个模块包括媒体生成模 块、媒体生成器控制器、位置计算模块以及请求处理机,

其中媒体生成模块、媒体生成器控制器以及位置计算模块中的至少一些 被配置成执行促使产生媒体序列文件的操作,其中媒体生成模块、媒体生成 器控制器以及请求处理机中的至少一些被配置成执行促使提供媒体序列文 件的操作。

58.如条款51所述的硬件设备,其中一个或多个模块包括请求处理机 和位置计算模块,其中位置计算模块被配置成执行转换请求的操作,其中请 求处理机被配置成执行跳过操作。

59.如条款40所述的硬件设备,其中所述一个或多个操作包括:响应 于请求,促使提供一个指示媒体序列已被产生的通知。

关于设备条款的示例

60.一种设备(相关示例参见图7D的710-D),包括:

用于在使用HTTP直播流传输的网络上,基于远端媒体播放器的前向或 反向跳转请求来接收一个关于媒体序列文件的请求的装置(相关示例参见图 7D的720-D);

用于对所述请求做出响应来确定与媒体序列文件相对应的媒体源文件 的位置,以便能够跳转到媒体源文件的所述位置,由此从媒体源文件中产生 媒体序列文件的装置(相关示例参见图7D的730-D),

其中媒体序列文件代表的是媒体源文件的多个顺序位置之一,

其中媒体序列文件的格式不同于媒体源文件的格式,

其中媒体序列文件的格式兼容远端媒体播放器。

61.如条款60所述的设备,包括:

用于对所述请求做出响应来确定媒体序列文件是否存在,以免重新创建 已有的媒体序列文件的装置;

用于对所述请求做出响应而在所述确定表明媒体序列文件存在的情况 下允许取回所述媒体序列文件,以及在不产生所述媒体序列文件的情况下提 供取回的媒体序列文件的装置,以及

用于对所述请求做出响应而在所述确定表明媒体序列文件不存在的情 况下,允许确定媒体源文件的位置以及执行促使提供所述通知的处理的装 置。

62.如条款60所述的设备,其中媒体源文件的位置是与媒体序列文件 相对应的时间。

63.如条款60所述的设备,包括:

用于响应关于每一个媒体序列文件的请求来确定所请求的每一个媒体 序列文件是否存在的装置,

其中只有当媒体序列文件缺失的时候,用于确定媒体源文件的位置的装 置以及用于促使提供通知的装置才是可执行的。

64.如条款60所述的设备,包括:

用于检测远端媒体播放器的回放配置的变化的装置;

用于以检测到的变化为基础来调整一个或多个用于产生媒体序列文件 的配置参数的装置。

65.如条款64所述的设备,包括:

基于经过调整的一个或多个配置参数来促使产生所述媒体序列文件的 装置。

66.如条款60所述的设备,包括:

用于在接收关于媒体序列文件的请求之前,从远端媒体播放器接收一个 要求播放媒体源文件的媒体的初始请求的装置;

用于响应于所述初始请求来执行一个初始设置处理的装置,包括:

用于确定媒体源文件位置的装置;

用于确定用于存储与媒体源文件相关联的播放列表文件和媒体序列文 件的一个或多个位置的装置;

基于远端媒体播放器的回放配置信息来产生用于生成媒体序列文件的 配置参数的装置。

67.如条款66所述的设备,其中用于执行初始设置处理的装置还包括:

用于确定将要为媒体源文件产生的媒体序列文件的总数的装置;

用于产生包含了媒体序列文件名称的播放列表文件的装置,

其中媒体源文件不兼容远端媒体播放器,

其中播放列表文件和媒体序列文件兼容远端媒体播放器,

其中被请求的媒体序列文件是播放列表文件上列举的媒体序列文件之 一。

68.如条款60所述的设备,包括:

用于促使创建用于媒体源文件的播放列表文件的装置;

用于促使确定将要为媒体源文件产生的媒体序列文件的总数的装置;

用于在为媒体源文件创建所有媒体序列文件之前,允许远端媒体播放器 开始播放至少一个媒体序列文件,以及允许前向或反向跳转操作的装置。

69.如条款40所述的设备,包括:

用于在接收关于媒体序列文件的请求之前,从远端媒体播放器接收一个 要求播放媒体源文件的媒体的初始请求的装置;

用于对所述初始请求做出响应来确定将要为媒体源文件产生的媒体序 列文件的总数的装置;

用于对所述初始请求做出响应来产生包含了媒体序列文件名称以及媒 体序列文件总数的播放列表文件的装置;

用于对所述初始请求做出响应来促使将所述播放列表文件提供给远端 媒体播放器的装置,

其中用于确定媒体源文件位置的装置包括:基于播放列表文件中的信息 来确定媒体源文件的位置的装置。

70.如条款60所述的设备,包括:

用于促使产生用于媒体源文件的媒体序列文件的装置,以及用于促使将 所述媒体序列文件提供给远端媒体播放器的装置,

其中用于促使产生媒体序列文件的装置以及用于促使提供媒体序列文 件的操作的装置能在与远端媒体播放器无关以及未修改远端媒体播放器的 情况下被执行,

其中用于确定媒体源文件位置的装置以及用于促使提供通知的装置能 在与远端媒体播放器无关以及未修改远端媒体播放器的情况下被执行。

71.如条款60所述的设备,包括:

用于对请求做出响应来将所述请求转换成时间以及从媒体源文件的时 间中产生媒体源文件的装置;

用于跳过创建已经存在的媒体序列文件的处理的装置。

72.如条款60所述的设备,包括:

用于促使在使用HTTP直播流传输的网络上向远端媒体播放器提供媒体 序列文件的装置,其中所述网络包括互联网和无线网络中的一个或多个。

73.如条款61所述的设备,包括:请求处理机、媒体生成器控制器、 位置计算模块以及媒体生成模块,

其中请求处理机和媒体生成器控制器之一或是所有这二者包括用于接 收请求的装置,其中位置计算模块或是位置计算模块和媒体生成器控制器包 括用于确定媒体源文件位置的装置,其中请求处理机包括用于做出判定的装 置,

其中所述请求处理机、媒体生成器控制器以及媒体生成模块位于远端媒 体播放器的远端。

74.如条款65所述的设备,包括:媒体生成器配置器,媒体生成器控 制器以及媒体生成模块,

其中媒体生成器配置器和媒体生成器控制器之一或是所有这二者包括 用于执行检测的装置,其中媒体生成器配置器包括用于调整的装置,其中媒 体生成器配置器、媒体生成器控制器以及媒体生成模块中的至少一个或多个 包括用于促使产生媒体序列文件的装置,

其中所述媒体生成器配置器,媒体生成器控制器以及媒体生成模块位于 远端媒体播放器的远端。

75.如条款67所述的设备,包括:请求处理机、媒体生成器控制器、 设置接口、媒体生成器配置器以及媒体生成模块,

其中请求处理机、媒体生成器控制器以及设置接口中的一个或多个包括 用于接收初始请求的装置,其中设置接口包括用于确定位置以及确定一个或 多个位置的装置,其中媒体生成器配置器包括用于产生配置参数的装置,其 中媒体生成模块和媒体生成器控制器中的至少一个包括用于确定总数的装 置,其中媒体生成模块包括用于产生播放列表文件的装置,

其中请求处理机、媒体生成器控制器,设置接口,媒体生成器配置器以 及媒体生成模块位于远端媒体播放器的远端。

76.如条款68所述的设备,包括:位于远端媒体播放器的远端的请求 处理机、媒体生成器控制器以及位置计算模块,

其中用于允许的装置包括:用于确定媒体序列文件是否存在的装置,以 及用于在媒体序列文件不存在的情况下确定所述位置的装置,

其中请求处理机、媒体生成器控制器以及位置计算模块中的至少一些位 于远端媒体播放器的远端。

77.如条款70所述的设备,包括:媒体生成模块、媒体生成器控制器、 位置计算模块以及请求处理机,

其中媒体生成模块、媒体生成器控制器以及位置计算模块中的至少一些 包括用于促使产生媒体序列文件的装置,其中媒体生成模块、媒体生成器控 制器以及请求处理机中的至少一些包括用于促使提供媒体序列文件的装置。

78.如条款71所述的设备,包括请求处理机和位置计算模块,其中位 置计算模块包括用于转换请求的装置,其中请求处理机包括用于跳过的装 置。

79.如条款60所述的设备,包括:用于对请求做出响应来促使提供一 个指示媒体序列已被产生的通知的装置。

其他附注

在一个方面中,前述任一条款都可以从属于前述任一独立条款或是前述 任一从属条款。并且在一些方面中,任一条款(例如从属或独立条款)可以 与其他任何条款(例如从属或独立条款)相结合。在一个方面中,权利要求 可以只包含条款中述及的一些或所有元素(例如步骤,操作,装置或组件)。 在一个方面中,每一个条款中的一些元素都是可以移除的。在一个方面中, 在条款中可以添加附加元素。在一个方面中,如上所述的任何方法、指令、 代码、装置、逻辑、组件、模块(例如软件或硬件)都可以在附图(例如流 程图,框图)中被描述。在一个方面中,本技术主题是可以在未使用这里描 述的一些组件、元素、功能或操作的情况下实施的。在一个方面中,本技术 主题是可以使用附加组件、元素、功能或操作实施的。

本领域技术人员将会了解,这里描述的不同说明性部件、模块、要素、 组件、方法和算法(例如媒体生成器240,HTTP服务器120,媒体播放器 130、221、222、223、224、225、226、249、241、242、243、244、710-C、 740-C、710-D、720-D、730-D以及其内组件)是可以作为电子硬件、计算 机软件或是这二者的组合实施的。

为了例证硬件与软件的这种可互换性,在上文中依照功能概括性地描述 了不同的说明性部件、模块、要素、组件、方法和算法。用硬件还是软件实 施这些功能取决于具体的应用以及施加于整个系统的设计约束条件。技术人 员可以采用不同方式来为每一个具体应用实施所描述的功能。

在一个方面中,“装置”、部件、模块、要素、组件或处理器可以是用于 执行一个或多个功能或操作的项目(例如部件、模块、要素、组件或处理器 中的一个或多个)。在一个方面中,此类项目可以是设备、硬件或是其一部 分。在一个示例中,举例来说,一个项目可以是用于执行一个或多个功能或 是一个或多个操作的一个或多个指令,其中所述一个或多个指令被编码或存 储在机器可读介质、别的设备或是其一部分之上,其中一个或多个指令可以 是软件、一个或多个应用、一个或多个子例程或是其一部分。在一个示例中, 一个项目可以是作为被配置成执行一个或多个功能或是一个或多个操作的 一个或多个电路实施的。电路可以包括一个或多个电路和/或逻辑。所述电路 可以是模拟和/或数字的。电路可以是电子和/或光学的。所述电路可以包括 晶体管。在一个示例中,一个或多个项目可以作为处理系统(例如DSP、 ASIC、FPGA等等)来实施。本领域技术人员将会认识到如何实施所述指令、 电路和处理系统。

在本公开的一个方面中,在将操作或功能描述成是由一个项目执行(例 如接收,确定,提供,产生,转换,跳过,显示,通知,接受,选择,控制, 发布,传送,报告,或是其他任何操作或功能)的时候,应该理解的是,此 类操作或功能可以由项目直接或间接执行。作为示例,在将模块描述成执行 某个操作时,应该理解的是,所述模块既可以直接执行操作,也可以间接执 行操作,例如通过促成操作来间接执行该操作。

不同的项目可以用不同方式排列(例如按照不同顺序排列或是按照不同 方式划分),所有这些均未脱离本技术主题的范围。在一个示例中,控制器 222或是控制器222的一些组件可以被排列成是HTTP服务器的一部分,而 不是媒体生成器的一部分。在本公开的一个方面中,附加权利要求中述及的 要素可以由一个或多个模块或子模块执行。

应该理解的是,所公开的步骤、操作或处理的具体顺序或层级是对例示 方法所做的例证。此外还应该理解,步骤、操作或处理的特定步骤顺序或层 次是可以基于设计偏好而被重排的。一些步骤、操作或处理是可以同时执行 的。附带的方法权利要求给出的是采用了作为样本的顺序的不同步骤、操作 或处理的要素的,但这并不意味着受所给出的特定顺序或层级的限制。

通过提供在先描述,本领域技术人员能够实现这里描述的不同方面。在 先描述提供的是本技术主题的不同示例,而本技术主题并不仅限于这些示 例。本领域技术人员很容易清楚了解针对这些方面的不同修改,并且这里定 义的一般原则也可应用于其他方面。除非特别说明,否则,对于单数形式的 部件的引用并不意味着“有且仅有一个”,而是意味着“一个或多个”。此外, 除非以别的方式特别说明,否则术语“一些”指的是一个或多个。阳性代词 (例如他的)包含了阴性和中性(例如她的和它的),反之亦然。在这里出 现的标题和子标题仅仅是为了方便起见而被使用的,其并未对本发明构成限 制。

诸如“方面”之类的短语既不意味着所述方面是本技术主题所必需的, 也不意味着所述方面适用于本技术主题的所有配置。与一个方面相关的公开 内容既有可能适用于所有配置,也有可能适用于一个或多个配置。一个方面 可以提供一个或多个示例。诸如一个方面之类的短语可以是指一个或多个方 面,反之亦然。诸如“实施例”之类的短语既不意味着所述实施例是本技术 主题所必需的,也不意味着所述实施例适用于本技术主题的所有配置。与一 个实施例相关的公开内容既有可能适用于所有实施例,也有可能适用于一个 或多个实施例。一个实施例可以提供一个或多个示例。短语“此类实施例” 可以是指一个或多个实施例,反之亦然。诸如“配置”之类的短语既不意味 着所述配置是本技术主题所必需的,也不意味着所述配置适用于本技术主题 的所有配置。与一个配置相关的公开内容既有可能适用于所有配置,也有可 能适用于一个或多个配置。一个配置可以提供一个或多个示例。短语“此类 配置”可以是指一个或多个配置,反之亦然。

这里使用的单词“例示”指的是“充当一个示例或例证”。在这里被描述 成“例示”的任何方面或设计没有必要被理解成比其他方面或设计更为优先 或优越。在一个方面中,这里描述的不同替换配置和操作可被认为至少是等 价的。

除非另有说明,否则,包括权利要求在内的本说明书中的所有量度、数 值、等级、位置、幅度、大小以及其他规范都是近似而不是精确的。它们应 该具有与其所涉及的功能以及与其所属的领域中的惯例相符的合理范围。

作为参考,在这里显性引入了本领域普通技术人员已知或者未来将会获 悉的与本公开中描述的不同方面的要素等价的所有结构和功能等价物,并且 权利要求应该包含这些等价物。此外,不管有没有在权利要求书中明确地要 求保护,本申请公开的内容都不应该无偿贡献给公众。除非明确使用了短语 “用于……的装置”来表达部件或是在方法权利要求中使用了短语“用 于……的步骤”来表达要素,否则不能根据35U.S.C.§112第六段来解释权 利要求中的要素。另外,在说明书或权利要求中使用了“包括”、“具有”等 术语,从这个意义上讲,与在权利要求中使用术语“包含”作为过渡词时对其 所做的解释相类似,此类术语同样应该是包含性的。

所提供的本公开的摘要旨在允许读者快速确定本技术公开的本质。在提 交摘要的同时应该理解,所述摘要并不用于解释或限制权利要求的范围或意 义。此外,在签署的具体实施方式中可以看出,在不同的实施例中将不同的 特征集合在了一起,以便简化本公开。本公开的方法不应该被解释成是反映 了请求保护的主题需要的特征要多于每个权利要求中明确陈述的特征的意 图。相反,如后续权利要求所反映的那样,本发明的主题取决的特征要少于 单独的已公开配置或操作中的所有特征。在这里将以下的权利要求引入到具 体实施方式中,其中每一个权利要求都作为单独要求保护的主题而独立存 在。

本发明的保护范围是由后续权利要求限定的。这些权利要求并不受这里 描述的方面的限制,而是与符合文本权利要求的完整范围相一致,并且包含 了所有同等法律效力的等价物。然而,没有一个权利要求包含无法满足 35U.S.C.§101、102或103的需求的主题,并且也不应该以这种方式来对权 利要求进行解释。据此,如果无意中包含了此类主题,那么此类主题将被放 弃。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号