CN108984595B - 用于脱机访问流媒体的持久id - Google Patents

用于脱机访问流媒体的持久id Download PDF

Info

Publication number
CN108984595B
CN108984595B CN201810553135.9A CN201810553135A CN108984595B CN 108984595 B CN108984595 B CN 108984595B CN 201810553135 A CN201810553135 A CN 201810553135A CN 108984595 B CN108984595 B CN 108984595B
Authority
CN
China
Prior art keywords
segment
segments
local storage
manifest file
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810553135.9A
Other languages
English (en)
Other versions
CN108984595A (zh
Inventor
J·Y·苏
J·B·施奈德尔
M·A·里德尔曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN108984595A publication Critical patent/CN108984595A/zh
Application granted granted Critical
Publication of CN108984595B publication Critical patent/CN108984595B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开用于脱机访问流媒体的持久ID。本公开描述了用于使用用于离线回放的标识符传送和回放媒体的技术。根据这些技术,可以从清单文件中识别要播放的媒体区段。可以确定是否有相同的区段在本地存储中可用。当所识别的区段在本地存储中可用时,可将清单文件中包含的所识别区段的标识符与本地存储中该区段的标识符进行比较。如果标识符匹配,则可以从本地存储中播放该区段。否则,可以从网络位置检索所识别的区段。

Description

用于脱机访问流媒体的持久ID
技术领域
本公开涉及用于管理对由计算机网络流传输的媒体的访问的技术。
背景技术
媒体流传输涉及跨越计算机或通信网络传送多媒体数据。在许多情况下,媒体项的数据可在网络上的媒体源处获得。客户端设备可请求从媒体项下载元素,并且一旦收到,将在客户端设备处渲染下载的媒体数据。通常,一旦渲染,流媒体即被丢弃。
然而,在一些使用情形中,可以控制客户端设备以多次渲染单个媒体项。在此类情况下,如果将下载到客户端设备的媒体项的元素存储以供重新使用,则可节省网络资源。然而,由于客户端设备没有信息来标识哪些媒体项将被重放以及哪些将不被重放,因此存储操作本质上是推测性的。另外,媒体项通常以若干不同的表示形式发布,称为“流”,由于操作员需求的变化或设备操作状态的变化,客户端设备可在重放时渲染不同于在第一次回放操作期间播放的流。并且,进一步伴随的问题是,媒体项的作者可从一个回放操作到下一个回放操作改变媒体项,这可能导致客户端设备在从本地存储播放媒体时渲染“过时”版本。
本发明人认识到,本领域需要一种用于媒体流传输的媒体源和客户端设备之间的改进协议,该协议提供了流媒体内容的高效率缓存。
发明内容
根据本公开的一些实施例,提供一种用于播放媒体的方法,所述方法包括:从清单文件中识别要播放的媒体区段;确定所识别的区段是否在本地存储中可用,当所识别的区段在本地存储中可用时,将所述清单文件中包含的所识别区段的标识符与本地存储中所述区段的标识符进行比较;如果所述标识符匹配,则从本地存储播放所述区段;并且否则,从网络位置检索所识别的区段。
根据本公开的一些实施例,提供一种用于播放媒体的方法,所述方法包括:从清单文件识别要播放的多个媒体区段;确定所述多个区段是否在本地存储中可用;当所述多个区段在本地存储中可用时,将包含在所述清单文件中的针对所述多个区段的标识符与所述多个区段在本地存储中的对应标识符进行比较;如果所述标识符匹配,则从本地存储播放所述多个区段;并且否则,从对应的多个网络位置检索所述多个区段。
根据本公开的一些实施例,提供一种存储指令的计算机可读介质,所述指令在由处理器执行时,完成如上所述的任意方法的操作。
根据本公开的一些实施例,提供一种计算设备,包括:处理器;存储器,所述存储器与所述处理器相互通信并存储指令,所述指令当由所述处理器执行时,完成如上所述的任意方法的操作。
根据本公开的一些实施例,提供一种设备,包括用于执行如上所述的任意方法的操作的装置。
附图说明
结合附图,通过研究本公开的以下具体实施方式,本公开的各种实施方案的前述和其他方面将显而易见,在附图中,类似的附图标记用于表示功能上类似的元件。
图1是根据本公开的一个实施方案的示例系统的图示。
图2是根据本公开的一个实施方案的示例方法的图示。
图3是根据本公开的一个实施方案的示例系统的图示。
图4是根据本公开的一个实施方案的示例系统的图示。
图5是根据本公开的一个实施方案的示例系统的图示。
图6是根据本公开的一个实施方案的示例计算系统的示意图。
具体实施方式
本公开的实施方案提供了用于使用用于离线回放的标识符进行媒体传送和回放的技术。根据这些技术,通常在媒体项的清单文件中使用表示媒体项版本的标识符来标记媒体项。缓存内容的客户端设备可存储具有从清单文件的标识符导出的标识符的下载区段。当重放媒体项时,客户端设备可下载清单文件的当前版本及其标识符。客户端设备可确定所需的区段是否在本地存储中可用。当所识别的区段在本地存储中可用时,客户端设备可将清单文件中所示的标识区段的标识符与本地存储中所示的区段的标识符进行比较。如果标识符匹配,则可以从本地存储中播放该区段。否则,可以从网络位置检索所识别的区段。
图1是根据本公开的一个实施方案的示例性媒体传送系统100的简化功能框图。系统100可包括通过一个或多个通信网络140互连的客户端设备110和媒体源120。媒体源120可向客户端设备110提供一个或多个媒体流,在该客户端设备110处渲染媒体流用于回放。
媒体源120可包括源服务器122,源服务器122响应来自客户端设备110的请求来管理媒体项150的传送。媒体存储器124可存储将要传送的媒体项。一个媒体项150被示于图1中;它可包括清单文件152和由多个区段154.1-154.N组成的媒体流。清单文件152可包含描述媒体项的组织以及其中包含的区段154.1-154.N的数据。例如,清单文件152可针对每个区段154.1、154.2等识别区段的持续时间并且可检索区段的网络位置(通常为URL)。在一个实施方案中,清单文件152可存储表示媒体项区段154.1-154.N的一个或多个标识符的标识符156。
在实践中,单个媒体项150(例如,视频节目)可包含若干媒体流。例如,单个媒体项150可包含媒体项的视频内容的若干另选的表示,可能以不同的视频分辨率、帧速率或比特率表示。另外,单个媒体项150可包含媒体项150的音频内容的若干另选的表示,可能以不同的语言表示或包括不同的内容元素(例如,节目对话与导演评论)。还可为其他流提供其他内容,例如关闭字幕信息。在图1的实施例中,仅示出了一个流,由区段154.1-154.N表示。然而,本公开的原理适用于由多个媒体流组成的媒体项150。
客户端设备110可包括收发器112、高速缓存114和媒体播放器116。收发器112可管理客户端设备110和其他网络实体(包括媒体源1201)之间的通信。高速缓存114可存储下载到客户端设备110的媒体项的内容。媒体播放器116可渲染被选择用于回放的媒体区段。
在操作期间,当播放新媒体项150(尚未存储在客户端设备110处的媒体项)时,客户端设备110可从媒体源120请求针对媒体项150的清单文件152。当媒体源120提供所请求的清单文件152时,客户端设备110可将清单文件在本地存储为清单文件130。然后客户端设备110可从清单文件130选择一个或多个媒体流用于回放,并且可使用清单文件130中识别的网络位置来发出请求,以下载所请求的媒体流的区段154.1-154.N。下载的区段154.1-154.N可存储在高速缓存114中,被示为区段134.1-134.N。
在一个实施方案中,高速缓存的区段134.1-134.N可存储有标识符ID,该标识符ID是从存储在清单文件130中的标识符136导出的。在一个实施方案中,每个区段可对应于单独的标识符,如图1中所示。在其他实施方案中,单个标识符可普遍适用于特定媒体流和/或媒体项中的所有区段。标识符ID可指示区段的版本。在一个实施方案中,标识符可用作确定是否可重新使用高速缓存区段用于稍后回放操作的依据。可基于下载区段134.1-134.N所经由的清单文件130中的内容来分配标识符。
当播放已经存储在客户端设备110处的媒体项150时,客户端设备110可从媒体源120请求针对媒体项150的清单文件152。当媒体源120提供所请求的清单文件152时,客户端设备110可在本地存储清单文件(被示为新清单文件132以将其与前一清单文件130区分开)。客户端设备110随后可从清单文件选择一个或多个媒体流用于回放,并从回放所需的流中识别区段。对于每个区段,客户端设备110可检查其自身的高速缓存114以确定其中是否存在区段。如果是,并且如果针对高速缓存区段(或高速缓存的区段作为其一部分的高速缓存媒体流)存储的标识符匹配新清单文件132中识别的标识符,则高速缓存的区段可用于回放。如果否,则客户端设备110可发出请求以下载新清单文件132中所识别的区段的新版本。通过这种方式,可将高速缓存区段重新用于回放,并且可以节省客户端设备110的通信资源以及媒体源120。
在标识符普遍适用于媒体流的实施方案中,关于客户端110是否应发出下载区段新版本的请求的逻辑可能转而使得客户端114请求媒体流的新版本,而不是仅仅请求特定区段。例如,如果客户端110确定媒体流的区段存储在高速缓存114中,并且在新清单文件132中与该区段(以及作为整体的其对应媒体流)相关联的标识符不匹配针对高速缓存媒体流的标识符,则客户端110可请求从新清单文件132中识别的媒体流的新版本下载区段。
可以各种方式来开发区段标识符。在一个实施方案中,清单文件152可存储普遍适用于媒体项150的所有区段的单个标识符156。在该实施方案中,当在客户端设备110处针对高速缓存区段134.1-134.N存储标识符时,可以针对所有区段存储同一个标识符。在另一个实施方案中,清单文件可以针对公共流中的每个区段或所有区段逐个存储标识符156。在此类情况下,针对高速缓存区段134.1-134.N的标识符可在区段和区段之间不同,或可与下载并在客户端设备110处高速缓存的其他流的区段不同。
根据本公开的一个实施方案,存储在高速缓存114中的区段可被播放器116引用,而不是从媒体源120下载这些区段。具体地讲,客户端设备110可应用本文所述的逻辑,不仅允许引用本地高速缓存的区段用于回放,而且还可识别何时可从媒体源120获得更新的或不同的区段以替换已高速缓存的区段。这可通过在稍晚时间播放媒体项时存储先前的清单文件130以供稍后参考来实现。
如所指出的,新清单文件132可指识别用于媒体项的当前回放实例所需的媒体项区段的清单文件。新清单文件132可表示在客户端设备110处当前回放媒体项(或其部分)期间由媒体源120传输到客户端设备110的清单文件152的本地副本。相比之下,先前的清单文件130可表示客户端设备110从与当前回放会话相同的媒体项(或其部分)的先前回放接收并存储的清单文件。
在一个示例使用情形中,先前清单文件130和新清单文件132中引用的媒体源120上的区段在先前回放会话和当前回放会话之间保持相同。在这种情况下,客户端设备110应当不需要从媒体源120重新下载区段。这样做不会有好处,因为该区段实际上在会话之间没有改变。相反,客户端设备110可使用来自高速缓存114的区段来执行媒体项的回放。
在其他情况下,清单文件152和清单文件152的对应副本(例如,新清单文件132和先前的清单文件130)可包括标识符。标识符可在清单文件152的两个或更多个迭代内保持恒定(如果相关联的区段没有改变)。作为一些实施例,标识符可与媒体项的特定区段、媒体项的区段子集或整个媒体项相关联。标识符可指示媒体源120上的关联区段已通过某种方式改变。或者在标识符与媒体项的两个或更多个区段或整个媒体项相关联的情况下,标识符可指示这些区段中的至少一个已被更改。
在标识符与特定区段相关联的实施例中,并非引用针对区段的新清单文件132中的URL来确定区段在回放会话之间是否已在媒体源120上发生变化,客户端设备110可参考新清单文件132中的标识符。客户端设备110可由此确定区段在媒体源120上是否已改变。例如,可将新清单文件132中的区段的标识符与先前清单文件130中对应区段的标识符进行比较。如果新清单文件132中的标识符不同于先前清单文件130中的标识符,则这可指示区段已在媒体源120上发生变化,并且客户端设备110应下载区段而不是使用存储在高速缓存114中的区段,假定其仍然存储在高速缓存114中。客户端设备110可从新清单文件132中指定的URL下载该文件,该文件可与先前清单文件130中指定的相同或不同。
如果新清单文件132中的标识符与先前清单文件130中的标识符相同,则客户端设备110可确定媒体源120上的区段没有变化,并且客户端设备110可安全地使用存储在高速缓存114中的区段的副本。需注意,在媒体存储器124或其他存储位置(例如,在新媒体源处)的区段的存储位置和/或文件名可被改变而不导致客户端设备110不必要地再次下载区段。
在标识符与媒体项或整个媒体流(或其子集)相关联的另一个实施例中,标识符可指示其区段中的至少一个已在媒体源120上改变。如上所述,当发起新回放会话并且客户端接收新清单文件132时,可将新清单文件132的标识符与先前清单文件130的标识符进行比较。如果标识符相同,则可从高速缓存114中先前形成的副本播放由清单文件表示的媒体项或其子集。如果标识符在新清单文件132和先前清单文件130之间是不同的,则可从新清单文件132中指定的URL(其可以与先前清单文件130中指定的URL相同或不同)处的媒体源120下载新清单文件132中所识别的区段。
图1中所示的架构示出了存储和解码单个编码媒体流涉及的实体。该架构可被扩展以适应媒体源120和客户端设备110的多个实例。因此,单个媒体源120可编码多个媒体流并将其传输到多个客户端,并且客户端可从多个源接收媒体流。另外,单个媒体源120可存储并以多种不同比特率或各种不同帧大小传输通用媒体流,以适应不同类型客户端的能力。媒体流的每个编码变体都可被认为是用于本论述的目的的不同媒体资源。
客户端设备110可表示从媒体源120下载媒体项、解码经编码的多媒体资源,以及将其渲染以用于回放的媒体播放器。例如,客户端设备110可以移动设备的形式实现,诸如智能电话、平板电脑或膝上型电脑。又如,客户端设备110可以是台式计算机。又如,客户端设备110可以是有线电视机顶盒、数字媒体播放器、游戏控制台等。
上文所述的技术可为流媒体系统提供优势。首先,通过在清单文件中提供标识符,客户端设备可确定高速缓存的数据是否有效而可重用,而不必下载高速缓存数据的新副本。此外,前述实施方案允许媒体项的作者或分销商改变媒体项的各方面,而这种改变不改变其在客户端设备处的有效性。例如,虽然理论上可以对包含在清单文件中的其他数据(例如,每个区段的URL)执行高速缓存验证,但对此类数据的更改可能使得客户端设备使高速缓存的区段失去使用资格,即使该区段的内容本来有效。
图2示出了根据本公开的一个实施方案的方法200。方法200可以在做出媒体回放请求时开始(框202)。方法200可从清单文件中识别要播放的媒体区段(框204)。方法200可确定媒体区段是否在本地存储中可用(框206)。如果媒体区段在本地存储中可用,则方法200可前进到框208。如果媒体区段在本地存储中不可用,则方法200可转而前进到框212。如果媒体区段在本地存储中可用,则方法200可将清单文件中包含的所识别区段的标识符与本地存储中区段的标识符进行比较(框208)。如果标识符匹配,则方法200可从本地存储中播放区段(框216)。如果标识符不匹配,则方法200可从网络位置检索所识别的区段并播放(框212)。方法200还可高速缓存所检索的区段以供稍后使用(框214)。
在框206处,如果清单文件中所识别的区段不可从本地存储获得,则方法200可前进到框212,从网络位置检索所识别的区段并播放该区段(框212)。此处,同样可在本地存储中高速缓存所检索的区段以供稍后使用(框214)。
如果标识符不匹配,并且必须从网络位置检索所识别的区段,则可将所识别的区段下载到本地存储。之后,可从本地存储播放此所下载的区段。
本地存储中可用的区段的标识符可表示在之前下载的清单文件的先前版本中。该先前清单文件可能已作为区段先前回放的部分被下载。例如,用户可能已观看电视节目,并且还将此电视节目标记为离线观看。用于完成该先前观看的清单文件可稍晚用于比较用于对电视节目进行新观看的清单文件中的区段的标识符。
在一个实施方案中,可以在清单文件指示检索所识别区段的网络位置。然而,如果标识符不匹配,则此网络位置可能对该区段是否从本地存储播放没有影响。相反,即使网络位置不同于先前清单文件中所示的网络位置,也可从本地存储中播放该区段。然而,需注意,如果标识符不匹配,则新清单文件中指示的新网络位置可用于代替先前下载的清单文件的旧网络位置。
在一个实施方案中,本地存储中可用的区段的标识符可被存储为区段数据的部分。例如,可以在嵌入在区段中的元数据中指示标识符。
在一些实施方案中,当前清单文件与先前下载的清单文件之间的网络位置变化可指示先前提供区段的服务器处的区段的目录和/或文件名的变化。作为另一个实施例,网络位置的变化可指示区段现在存储在与先前提供区段的服务器不同的服务器上并且可从该不同的服务器获得。
在一个另选的实施方案中,可将上述技术应用于多个媒体区段或甚至整个媒体项。在此类实施方案中,可以从清单文件中识别待播放的多个区段。可确定多个区段是否在本地存储中可用。如果多个区段在本地存储中可用,则可在包含在上述清单文件中的针对多个区段的标识符与用于本地存储中的多个区段的对应标识符之间进行比较。如果标识符匹配,则可以从本地存储中播放该多个区段。然而,如果标识符不匹配,则可从多个网络位置接收该多个区段,其中每个网络位置对应于该多个区段的其中一个区段。如果将多个区段从网络位置下载到本地存储,之后可从本地存储播放这些新下载的区段。
图3-图5示出了相对于图1所示的系统100可能发生的示例使用情形。因此,除非另外指出,图1和图3-图5中的每一个之间的类似参考字符指示类似元件。
图3示出了展示使用图1的系统100的示例使用情形的系统300。此处,客户端设备110先前已请求并接收到清单文件130以完成媒体项150的至少一部分的先前回放。在系统300中表示的即时时刻,客户端设备110现在发起媒体项150的进一步回放。因此,客户端设备110请求并接收新清单文件132以完成这一当前回放。
在该使用情形中,媒体项150的区段154.1-154.N在媒体项150的先前回放与当前回放之间保持不变。因此,标识符(ID A、ID B等)在新清单文件132和先前清单文件130之间保持相同。因此,客户端设备110无需重新下载媒体项150的当前回放的区段。这样做不会有明显的好处,因为该区段实际上在回放会话之间没有改变。相反,客户端设备110可使用高速缓存114中来自先前回放的区段来执行媒体项150的当前回放。
为了确定客户端设备110是否可以使用高速缓存114中的区段来执行媒体项150的当前回放,可将先前清单文件130中的每个标识符和新清单文件132中的对应标识符彼此进行比较。此处,先前清单文件130和新清单文件132中的标识符均匹配(例如,新清单文件132的ID A与先前清单文件130的ID A匹配,等等)。因此,客户端设备110可使用已存储在高速缓存114中的区段进行当前回放。将进一步结合图5论述两个清单文件之间的标识符不匹配的情况。
图4示出了系统400,展示了额外的示例使用情形。在系统400中,区段B和区段C(154.2、154.3)已被移动到第二媒体存储126处的不同存储位置。这可能已发生在媒体项先前回放的时间(即,当在客户端设备110处接收先前的清单文件130时)和媒体项的当前回放之间。在图4所示的实施例中,新存储位置在同一媒体源120之内。然而,如果第二媒体存储126是第二媒体源的部分和/或如果区段B和/或区段C的文件名被修改,则可应用相同的原理。这足以表明,区段B和区段C的相应URL已从其先前的URL改变。新URL分别被表示为URLB’和URL C'。
虽然区段B和区段C的URL自先前回放以来已更改,但区段本身没有改变。因此,响应于启动当前回放而提供的新清单文件132中的标识符(ID A、ID B等)可与先前清单文件130中的标识符相同。特别值得注意的是,尽管相应存储位置发生变化,但新清单文件132中与区段B和区段C相关联的标识符(ID B和ID C)相对于先前清单文件130中的那些未改变。
在接收新清单文件132之后,客户端设备110可比较新清单文件132中与区段B相关联的标识符与先前清单文件130中与区段B相关联的标识符,并且对与区段C相关联的标识符执行同样操作。此处,客户端设备110将确定这些标识符是相同的。因此,客户端设备110可以从高速缓存114访问区段B和区段C(以及区段A和区段D,因为这些相应的标识符同样保持不变)并且使用来自高速缓存114的那些区段通过播放器116回放。
图5示出了展示另一个使用情形的系统500。在系统500中,区段B(154.2)和区段C(154.3)保持在与先前回放相同的存储位置处。然而,在此处,区段B和区段C本身已改变,由标记B’和C'指示。在向客户端设备110提供的新清单文件132中,通过对与区段B和区段C相关联的标识符进行改变来指示对区段B和区段C的这些变化。这些标识符的变化由新清单文件132中的标记ID B’和ID C'指示。
根据上述过程,可将新清单文件132的标识符和先前清单文件130的标识符彼此进行比较。在这种情况下,客户端设备110可识别标识符ID B’和标识符ID C'相对于先前清单文件130中的标识符ID B和标识符ID C是不同的。因此,客户端设备110可从媒体源120下载区段B’和区段C’。客户端设备110可将区段B’和区段C’存储在高速缓存114中,替换先前驻留在高速缓存114中的区段B和区段C。此外,由于新清单文件中的标识符ID A和标识符ID D与先前清单文件中的标识符确实匹配,因此客户端不从媒体源120下载相应的区段。在下载区段B’和区段C’并将其存储在高速缓存114中,以及确定区段A和区段D不需要下载之后,客户端设备110可继续使用新更新的高速缓存114来回放。
本文所述的技术可由计算机系统的中央处理器执行。图6示出了可执行此类技术的示例性计算机系统600。例如,图1的客户端设备110和/或媒体源120可以计算机系统600的形式实现。计算机系统600可包括中央处理器610和存储器620。中央处理器610可读取并执行存储在存储器620中的各种程序指令,该程序指令定义系统600的操作系统612和各种应用614.1-614.N。例如,应用614.1-614.N中的一个可包括图1的播放器116。程序指令可使得处理器执行各种媒体区段管理技术,以完成这些区段的回放,如本文所述。
如图所示,存储器620可存储程序指令,该程序指令在执行时使得处理器610执行上文所述的技术。存储器620可在基于电、磁和/或光学的存储介质上存储程序指令。存储器可包括易失性和/或非易失性存储器。作为存储器620的进一步示例使用,存储器620可实现图1的高速缓存114。因此,存储器620可被配置为向播放器存储和启用对媒体项的区段的按需访问以用于回放。
系统600可具有与系统作为媒体源、媒体回放设备或两者的角色一致的其他部件。系统600可具有在一个或多个媒体区段上执行视频编码的编码器640和将数据从系统600传输出去的发射器650(示为TX)。编码器640可被提供为硬件设备(例如,与中央处理器610分开的处理电路),或者其可作为应用614.1提供于软件中。
在作为媒体回放设备的角色中,系统600可具有接收器650(示为RX)、解码器680、显示器660和用户界面元素670。接收器650可接收数据并且解码器680可对数据解码。例如,图1的客户端设备110可从图1的媒体源120接收编码媒体区段并对那些编码媒体区段解码以进行回放。显示器660可以是显示设备,解码的媒体区段可在该显示设备上渲染。用户界面670可包括操作员向系统600输入数据所经由的部件设备(诸如运动传感器、触摸屏输入、键盘输入、遥控输入和/或控制器输入)。
本文具体示出并描述了本公开的若干实施方案。然而,应当理解,在不脱离本公开的实质和预期范围的情况下,本公开的修改和变型由上述教导内容涵盖并且在所附权利要求书的范围内。

Claims (25)

1.一种用于播放媒体的方法,所述方法包括:
从清单文件中识别要播放的媒体的区段;
确定所识别的区段是否在本地存储中可用,
当所识别的区段在本地存储中可用时,将所述清单文件中包含的所识别的区段的标识符与本地存储中所述区段的标识符进行比较;
如果所述标识符匹配,所述标识符匹配指示所识别的区段相对于所述本地存储中的所述区段没有改变,则从本地存储播放所述区段;并且
如果所述标识符不匹配,所述标识符不匹配指示所识别的区段相对于所述本地存储中的所述区段有改变,则从网络位置检索所识别的区段。
2.根据权利要求1所述的方法,其中本地存储中可用的所述区段的标识符被存储在先前下载的所述清单文件的另一版本中。
3.根据权利要求2所述的方法,其中使用所述清单文件的所述另一版本来完成所述区段的先前回放。
4.根据权利要求2所述的方法,其中在包含所识别的区段的标识符的所述清单文件中指示所述网络位置。
5.根据权利要求4所述的方法,其中如果所述标识符匹配,无论所述清单文件中指示的所述网络位置是否表示相对于先前回放的网络位置的变化,都从本地存储播放所述区段。
6.根据权利要求5所述的方法,其中网络位置中的所述变化包括在所述网络位置处的所述区段的文件目录的变化。
7.根据权利要求5所述的方法,其中网络位置中的所述变化包括在所述网络位置处的所述区段的文件名的变化。
8.根据权利要求5所述的方法,其中网络位置中的所述变化包括托管所述区段的服务器的变化。
9.根据权利要求1所述的方法,其中将本地存储中可用的所述区段的标识符存储作为所述区段的数据的一部分。
10.根据权利要求1所述的方法,还包括:
响应于从所述网络位置检索所识别的区段,将从所述网络位置检索的区段存储到本地存储;以及
从本地存储播放先前从所述网络位置检索的区段。
11.根据权利要求1所述的方法,其中本地存储中可用的所述区段被用于所述区段的先前回放中。
12.根据权利要求1所述的方法,其中所述清单文件中包含的所识别的区段的标识符指示所识别的区段相对于所述本地存储中的所述区段的变化。
13.一种用于播放媒体的方法,所述方法包括:
从清单文件识别要播放的媒体的多个区段;
确定所述多个区段是否在本地存储中可用;
当所述多个区段在本地存储中可用时,将包含在所述清单文件中的针对所述多个区段的标识符与所述多个区段在本地存储中的对应标识符进行比较;
如果所述标识符匹配,所述标识符匹配指示所识别的多个区段相对于所述本地存储中的所述多个区段没有改变,则从本地存储播放所述多个区段;并且
如果所述标识符不匹配,所述标识符不匹配指示所识别的多个区段相对于所述本地存储中的所述多个区段有改变,则从对应的多个网络位置检索所述多个区段。
14.根据权利要求13所述的方法,其中本地存储中可用的所述多个区段的标识符被存储在先前下载的所述清单文件的另一版本中。
15.根据权利要求14所述的方法,其中使用所述清单文件的所述另一版本来完成所述多个区段的先前回放。
16.根据权利要求14所述的方法,其中在包含针对所述多个区段的标识符的所述清单文件中指示所述多个网络位置。
17.根据权利要求13所述的方法,其中将本地存储中的所述多个区段的标识符存储作为所述多个区段的数据的一部分。
18.根据权利要求13所述的方法,其中所述本地存储中的所述多个区段被用于所述多个区段的先前回放中。
19.一种存储指令的计算机可读介质,所述指令在由处理器执行时,完成如权利要求1-12中任一项所述的方法的操作。
20.一种用于播放媒体的计算设备,包括:
处理器;
存储器,所述存储器与所述处理器相互通信并存储指令,所述指令当由所述处理器执行时,完成如权利要求1-12中任一项所述的方法的操作。
21.一种用于播放媒体的设备,包括用于执行如权利要求1-12中任一项所述的方法的操作的装置。
22.一种存储指令的计算机可读介质,所述指令在由处理器执行时,完成如权利要求13-18中任一项所述的方法的操作。
23.一种用于播放媒体的计算设备,包括:
处理器;
存储器,所述存储器与所述处理器相互通信并存储指令,所述指令当由所述处理器执行时,完成如权利要求13-18中任一项所述的方法的操作。
24.一种用于播放媒体的设备,包括用于执行如权利要求13-18中任一项所述的方法的操作的装置。
25.一种用于播放媒体的方法,所述方法包括:
从包含描述媒体项的区段的信息的当前清单文件识别所述媒体项的要被播放的区段、与所识别的区段相关联的当前清单标识符和所识别的区段的网络位置;
从所述当前清单标识符导出所述当前清单文件的针对要被播放的所述区段的当前区段版本标识符;
从包含描述所述媒体项的区段的信息的原始清单文件识别与要被播放的所述区段相关联的原始清单标识符;
从所述原始清单标识符导出所述原始清单文件的针对所述区段的原始区段版本标识符;
确定要被播放的所述区段是否在本地存储中可用,
当要被播放的所述区段在本地存储中可用时,将所述当前区段版本标识符与所述本地存储中的要被播放的所述区段的所述原始区段版本标识符比较;
如果所述当前区段版本标识符和所述原始区段版本标识符匹配,所述匹配指示所识别的区段相对于所述本地存储中的所述区段没有改变,则从本地存储播放所述区段;并且
如果所述当前区段版本标识符和所述原始区段版本标识符不匹配,所述不匹配指示所识别的区段相对于所述本地存储中的所述区段有改变,则从网络位置检索和播放要被播放的所识别的区段。
CN201810553135.9A 2017-06-02 2018-06-01 用于脱机访问流媒体的持久id Active CN108984595B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/613,029 2017-06-02
US15/613,029 US20180352287A1 (en) 2017-06-02 2017-06-02 Persistent ID for Offline Access to Streamed Media

Publications (2)

Publication Number Publication Date
CN108984595A CN108984595A (zh) 2018-12-11
CN108984595B true CN108984595B (zh) 2022-09-13

Family

ID=64279498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810553135.9A Active CN108984595B (zh) 2017-06-02 2018-06-01 用于脱机访问流媒体的持久id

Country Status (3)

Country Link
US (1) US20180352287A1 (zh)
CN (1) CN108984595B (zh)
DE (1) DE102018208496B4 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015013411A1 (en) * 2013-07-23 2015-01-29 Azuki Systems, Inc. Media distribution system with manifest-based entitlement enforcement
CN110267077B (zh) * 2019-04-26 2020-11-06 创新先进技术有限公司 离线缓存方法、装置、终端及可读存储介质
US10880583B2 (en) 2019-04-26 2020-12-29 Advanced New Technologies Co., Ltd. Method, apparatus, terminal, and readable storage medium for offline caching
CN112788353B (zh) * 2020-12-28 2022-06-14 未来电视有限公司 直播时移处理方法、装置、电子设备和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047696A (zh) * 2006-03-27 2007-10-03 互联天下科技发展(深圳)有限公司 一种网络流媒体数据播放方法和系统
CN101534204A (zh) * 2008-03-10 2009-09-16 中国网通集团宽带业务应用国家工程实验室有限公司 流媒体信息分发系统和方法及客户端
US9100709B1 (en) * 2013-01-07 2015-08-04 Time Warner Cable Enterprises Llc Content selection and playback in a network environment
CN106464945A (zh) * 2014-06-11 2017-02-22 谷歌公司 增强型流媒体回放

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7818350B2 (en) * 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
US9317506B2 (en) * 2006-09-22 2016-04-19 Microsoft Technology Licensing, Llc Accelerated data transfer using common prior data segments
US20090043867A1 (en) * 2007-08-06 2009-02-12 Apple Inc. Synching data
US9063209B2 (en) * 2009-11-05 2015-06-23 Samsung Sds Co., Ltd. Location tracking system and method of wireless device using wireless LAN access point
JP2011254410A (ja) * 2010-06-04 2011-12-15 Ntt Docomo Inc 放送コンテンツ送信装置及び放送コンテンツ受信装置
US9351037B2 (en) * 2012-02-07 2016-05-24 Turner Broadcasting System, Inc. Method and system for contextual advertisement replacement utilizing automatic content recognition
US9226007B2 (en) * 2013-02-15 2015-12-29 Cox Communications, Inc. Cloud-enabled network-based digital video recorder
US20140244828A1 (en) * 2013-02-26 2014-08-28 Jan Besehanic Methods and apparatus to measure exposure to streaming media
US9230038B2 (en) * 2013-11-04 2016-01-05 Verizon Patent And Licensing Inc. Content fetching and caching on a mobile device
US20150271541A1 (en) * 2014-03-19 2015-09-24 Time Warner Cable Enterprises Llc Apparatus and methods for recording a media stream
US9536059B2 (en) * 2014-12-15 2017-01-03 Palo Alto Research Center Incorporated Method and system for verifying renamed content using manifests in a content centric network
US10070174B2 (en) * 2015-06-05 2018-09-04 Apple Inc. Movie package file format to persist HLS onto disk
US20170118537A1 (en) * 2015-10-21 2017-04-27 Nagravision S.A. Adaptive watermarking for streaming data
US9930427B2 (en) * 2015-12-21 2018-03-27 Comcast Cable Communications Management, Llc Providing advanced playback and control functionality to video client
US20180145983A1 (en) * 2016-11-22 2018-05-24 Nexenta Systems, Inc. Distributed data storage system using a common manifest for storing and accessing versions of an object

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047696A (zh) * 2006-03-27 2007-10-03 互联天下科技发展(深圳)有限公司 一种网络流媒体数据播放方法和系统
CN101534204A (zh) * 2008-03-10 2009-09-16 中国网通集团宽带业务应用国家工程实验室有限公司 流媒体信息分发系统和方法及客户端
US9100709B1 (en) * 2013-01-07 2015-08-04 Time Warner Cable Enterprises Llc Content selection and playback in a network environment
CN106464945A (zh) * 2014-06-11 2017-02-22 谷歌公司 增强型流媒体回放

Also Published As

Publication number Publication date
DE102018208496A1 (de) 2018-12-06
US20180352287A1 (en) 2018-12-06
CN108984595A (zh) 2018-12-11
DE102018208496B4 (de) 2022-03-03

Similar Documents

Publication Publication Date Title
CN108984595B (zh) 用于脱机访问流媒体的持久id
US9961395B2 (en) Video caching
US9781186B2 (en) Content delivery network video content invalidation through adaptive bitrate manifest manipulation
JP5296859B2 (ja) リアルタイム又はほぼリアルタイムのストリーミング
KR101445994B1 (ko) 압축된 재생목록을 이용한 실시간 또는 준 실시간 스트리밍
US8165343B1 (en) Forensic watermarking
US8639832B2 (en) Variant streams for real-time or near real-time streaming to provide failover protection
US8818021B2 (en) Watermarking of digital video
US9609340B2 (en) Just-in-time (JIT) encoding for streaming media content
CA2826552C (en) Method and apparatus for receiving presentation metadata
US9710473B2 (en) Method for managing personalized playing lists of the type comprising a URL template and a list of segment identifiers
CN103583051A (zh) 用于实时或近实时流传输的播放列表
EP2475149A2 (en) Method for streaming multimedia data over a non-streaming protocol
CN103650526A (zh) 用于实时或近实时流传输的播放列表
US10904642B2 (en) Methods and apparatus for updating media presentation data
WO2017106749A1 (en) Server-based video stitching
US20100070643A1 (en) Delivery of synchronized metadata using multiple transactions
US9705948B2 (en) Systems and methods for transmitting content using segment-based and non-segment-based streams
US9390274B2 (en) Media data processing method and apparatus
US10070174B2 (en) Movie package file format to persist HLS onto disk
US10531131B2 (en) Distribution and management of content from a multi-tier content distribution system
US10595055B2 (en) Server-side insertion of media fragments
CN109429112A (zh) 媒体分片发送方法、密钥切换方法及相应装置和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1262539

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant