CN115039413A - 用于基于递送的内容流来提供内容流的技术 - Google Patents
用于基于递送的内容流来提供内容流的技术 Download PDFInfo
- Publication number
- CN115039413A CN115039413A CN202080091414.3A CN202080091414A CN115039413A CN 115039413 A CN115039413 A CN 115039413A CN 202080091414 A CN202080091414 A CN 202080091414A CN 115039413 A CN115039413 A CN 115039413A
- Authority
- CN
- China
- Prior art keywords
- manifest
- segments
- manifest file
- content stream
- files
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 29
- 230000005540 biological transmission Effects 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 16
- 238000013500 data storage Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 239000012092 media component Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000078006 Shaka Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26241—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Computer Networks & Wireless Communication (AREA)
Abstract
一种基于捕获内容流的初始递送来提供内容流的方法。所述方法包括以下步骤:获取与所述内容流的初始递送相关的清单数据,在所述内容流的初始递送期间以序列一次或多次获取所述清单数据,以生成一个或多个清单文件;将时间戳与所述清单文件中的每一个相关联,所述时间戳指示获取相关联的清单文件的时间;处理所述清单文件中的每一个,以识别在所述初始递送中包括所述内容流的一部分的一个或多个段的清单文件中所引用的一个或多个地址;访问经由在所述清单文件中引用的所述一个或多个地址识别的所述段中的一个或多个段;修改所述清单文件中的最后一个清单文件,以包括所述清单文件中的较早清单文件的至少一部分;以及向客户端提供对包括经修改的最后一个清单文件在内的清单文件的和所访问的一个或多个段的访问,从而使得客户端能够接收所述内容流的至少一部分。
Description
技术领域
本公开涉及用于捕获内容流的递送的技术(例如,系统、方法或装置)以及用于基于内容流的先前递送来提供内容流的技术。
背景技术
HTTP上的动态自适应流传输(DASH)对于来自传统HTTP网络服务器的互联网上的流媒体内容已经变得更加流行。在标准ISO/IEC 23009-1:2014中定义了DASH,也被称为HTTP或MPEG-DASH上的运动图像专家组动态自适应流。
MPEG-DASH使用自适应比特率流技术来使流传输的内容适应当前网络条件。媒体内容被分解成称为段的小文件序列,每个片段包含短的回放时间间隔。以各种不同的比特率或空间分辨率对每个段进行编码,使得段的备选版本包括相同的内容并覆盖回放时间的相同对齐的短间隔,但是可以以不同的比特率来递送。在回放期间,播放流传输内容的MPEG-DASH客户端基于当前网络条件自动选择要从备选段下载的下一个段。这使得客户端能够选择具有最高比特率段的段,该段能被及时下载用于回放,而不会在回放期间引起停顿或重新缓冲。
MPEG-DASH标准定义了被称为媒体呈现描述(MPD)的清单文件,其提供关于包括流的媒体内容的媒体段的信息。该信息包括定时信息和媒体特性,诸如用于段的视频分辨率和比特率,以及可以访问每个段的统一资源识别符(URI)。
在内容流(例如,实况内容)的递送(例如,传输)期间,当内容变得可用时,由MPEG-DASH服务器动态地生成清单和段。所得流通常在指定的可用性时段期间可用,每个段用可用性开始时间和可用性结束时间来指定。能够出于各种目的捕获和重放流是有用的。例如,如果最初用于生成流的设备设置不可用于重新生成实况流以用于调试,则调试在实况流期间遇到的客户端回放问题可能是困难的。作为另一示例,如果可以在稍后时间再现流,则可以更容易地实现监测流递送的质量。
然而,简单地捕获流的递送可能不使得捕获的内容能够被重新流送。在重新递送流时,原始传输的内容可能不再可供客户端访问以重放流。另外,自适应比特率流传输技术可能不允许流的重新递送,除非原始递送的内容以多个比特率被捕获或者内容以多个比特率被再次编码以用于重新流送。此外,为了便于测试和调试设备和系统以支持内容的递送,能够在完成测试或调试所需的时间内递送内容的先前递送是有用的,即使这比原始递送的长度更长。
发明内容
本公开提出了一种用于基于捕获内容流的初始递送来提供内容流的系统和方法。根据本公开的一方面,该方法包括以下步骤:获取与所述内容流的初始递送相关的清单(manifest)数据,在所述内容流的初始递送期间以序列一次或多次获取所述清单数据以生成一个或多个清单文件;将时间戳与所述一个或多个清单文件中的每一个相关联,所述时间戳指示获取相关联的清单文件的时间;处理所述一个或多个清单文件中的每一个以识别在所述初始递送中包括所述内容流的一部分的一个或多个段的清单文件中所引用的一个或多个地址;访问经由在所述清单文件中引用的所述一个或多个地址识别的所述段中的一个或多个段;修改所述一个或多个清单文件中的最后一个清单文件以包括所述一个或多个清单文件中的较早清单文件的至少一部分;以及向客户端提供对包括经修改的最后一个清单文件在内的所述一个或多个清单文件和所访问的一个或多个段的访问,从而使得客户端能够接收所述内容流的至少一部分。
所述方法还可以包括将一个或多个清单文件中的每一个存储到使得客户端能够访问流以呈现内容的位置。
在一个实施方式中,可以在至少预定时间延迟期满之后获取第二清单文件或稍后获取的清单文件,其中,所述预定时间延迟是从获取上次先前获取的清单文件的时间开始的延迟。
在一个实施方式中,针对地址所引用的全部的一个或多个段来尝试访问所述一个或多个段。在一个实施方式中,可以针对满足预定标准的段尝试访问所述一个或多个段,例如,使得在访问段之前确定是否满足预定标准。
在一个实施方式中,所述方法还包括存储所访问的一个或多个段,并且编辑清单文件中的一个或多个清单文件以引用所存储段的一个或多个新地址。
在一个实施方式中,修改最后一个清单文件的步骤包括从较早的清单文件复制第一时段,并且插入所复制的时段作为最后一个清单文件的第二或更晚时段。
在一个实施方式中,所述方法还包括处理每个清单文件以识别每个所识别的段的可用性时间,并且在相应段的可用性时间到期之前尝试访问所识别的段。在一个实施方式中,所述一个或多个段中的每个段具有相关联的可用性时段,并且在相应段的可用性时段期间执行对每个清单文件的处理。在一个实施方式中,所述方法还包括编辑所述一个或多个清单文件以改变清单文件中的一个或多个可用性时间指示。
根据另一方面,提出了一种用于基于捕获内容流的较早递送来提供内容流的系统。所述系统包括清单数据访问单元和处理单元。所述清单数据访问单元适于获取与所述内容流的较早递送相关的清单数据,所述清单数据是在所述内容流的较早递送期间按序列一次或多次获取以生成一个或多个清单文件。所述系统适于将时间戳与所述一个或多个清单文件中的每一个相关联,所述时间戳指示获取相关联的清单文件的时间;处理所述一个或多个清单文件中的每一个以识别在包含较早递送中的所述内容流的一部分的一个或多个段的所述清单文件中所引用的一个或多个地址;访问经由在所述清单文件中引用的所述一个或多个地址识别的一个或多个段;并且修改所述一个或多个清单文件中的最后一个清单文件以包括所述一个或多个清单文件中的较早清单文件的至少一部分。所述系统适于向客户端提供对包括经修改的最后一个清单文件的一个或多个清单文件和所访问的一个或多个段的访问,所述访问使得所述客户端能够接收所述内容流的至少一部分。
在一个实施方式中,所述系统还适于将所述一个或多个清单文件中的每一个保存到用于下载到所述客户端的位置,以使所述客户端能够播放所述内容流。在一个实施方式中,在获取最后一个先前获取的清单文件之后的至少预定时间延迟期满之后,获取任何第二清单文件或更晚获取的清单文件。在一个实施方式中,修改最后一个清单文件的步骤可以包括从较早的清单文件复制第一时段,并且插入复制的时段作为所述清单文件的最后副本的第二或更晚时段。
所述系统还可以适于处理每个清单文件以识别每个所识别的段的可用性时间,并且仅在对应段的可用性时间期间尝试下载所识别的段。
本公开提供了许多优点。其使得能够有效地捕获在流递送期间由内容流服务器实况编辑的清单数据,并且使得能够捕获递送的原始编码内容段的完整集合或所选子集。这使得能够生成循环流重传以避免由所述内容流中的不连续性引起的问题,并且便于需要连续运行延长时段的内容流的诸如测试或调试的应用。并且通过有效地重建与原始传输相同的条件,使得能够重传实况流传输,例如能够更有效地测试和调试在原始传输期间遇到的问题。下面进一步解释这些优点。
附图说明
现在将仅通过示例的方式参照附图来描述实施方式,其中相应的附图标记指示相应的部分,并且其中:
图1示出了根据本公开的示例性实施方式的用于基于内容流的先前递送来提供内容流的系统的简化框图;
图2示出了可用于实现任何实施方式中的组件的计算设备的简化框图;
图3示出了图1的系统的示出系统的更多细节的实施方式;
图4示出了根据本公开的示例性实施方式的用于捕获清单信息的方法的流程图;
图5示出了在本公开的实施方式中捕获清单数据的示例;
图6示出了根据本公开的示例性实施方式的用于捕获包含内容流传输的内容的段的方法的流程图;以及
图7示出了根据本公开的示例性实施方式的用于对捕获的清单文件和捕获的段进行重新流传输的方法的流程图。
附图仅用于说明目的,并不作为权利要求所规定的范围或保护的限制。
具体实施方式
以下是对某些实施方式的描述。注意,本文使用的术语“递送”包括例如通过一个或多个网络服务器以允许客户端访问内容流的格式进行的媒体或信息内容的任何通信手段,上述媒体或信息内容包括与所递送的内容相关的清单信息和媒体内容段。内容的递送可以包括内容的传输或广播,并且本文描述的某些实施方式涉及内容的传输或广播。然而,本文描述的概念和实施方式不限于任何特定的递送手段,并且内容的其它形式的通信也可以用于任何所描述的实施方式。
本公开提供了用于捕获内容的流传输的技术(例如,系统、方法和装置)并在稍后的时间提供内容,例如在与较早的传输相比更晚的时间重新流化传输。
图1中示出的实施方式包括用于基于内容的较早传输来提供内容流的系统10。系统10与计算机系统40通信,计算机系统40可以包括一个或多个服务器,所述一个或多个服务器例如被布置为形成内容递送网络,并且系统10可以从计算机系统40接收内容流45和内容流的清单数据访问43。系统10包括用于处理清单数据和内容流的处理单元11,以及用于存储与清单数据和内容流相关的数据文件的数据存储单元13。系统10适于向客户端50提供对经处理的清单数据和内容流的访问,以使客户端能够接收清单数据15和内容流19。
对于较早的传输,计算机系统40作为内容流的提供者与作为客户端操作的系统10合作而操作,从为这些请求提供服务的计算机系统40请求内容和服务。对于重传,系统10作为捕获内容的提供者与客户端50合作而操作,客户端50向服务这些请求的系统10请求内容和服务。用于较早传输和重传双方的客户端和服务器可以包括通过诸如互联网的计算机网络通信的分离的单元,或者客户端和服务器双方都可以驻留在同一系统中。
系统10可用于捕获内容流45的传输并重传所捕获的内容流。特别地,系统10可以适于捕获内容流。另外,系统10可以适于处理所捕获的内容流以允许在稍后的时间重新流送所捕获的内容。此外,系统10可以适于以再现所捕获的内容流的方式来重新流送所捕获的内容。如本文中所描述的实况流(或内容流)不限于当事件发生时实况地或“实况”递送(例如,流式传输)事件,而是还包括被渐进编码以便在传输期间传输的任何内容流。此外,尽管本文在实况流的上下文中描述了这些技术,但是本公开不限于此,并且该系统和方法还可以应用于处理和传输并非源自实况流的内容。
系统10适用于一个或多个不同类型的内容递送协议或格式,例如流协议。流协议的示例可以包括但不限于MPEG-DASH、苹果HTTP实况流媒体(HLS)、微软平滑流媒体、和Adobe HTTP动态流媒体(HDS)等。流协议的清单数据(例如,MPEG-DASH清单文件)具有分层结构。清单数据可以被组织在一个或多个区段(例如时段)中,其中每个区段包括流的特定时间间隔的信息。每个区段通常具有开始时间和持续时间,并且可以由一个或多个适配集合组成。每个适配集合可以包括关于针对流的媒体分量中的一个(或多个)的区段或时段的各种经编码备选段的信息,例如,一个适配集合可以包括关于视频段的信息,并且一个适配集合可以包括关于音频段的信息。每个适配集合通常包含多个表示,其中每个表示是相同时段上相同媒体分量的编码备选,通过比特率、分辨率、信道数量或一些其它特性而与其它表示不同。每个表示包括一个或多个段,其中每个段提供起始时间和统一资源识别符(URI),即服务器上的可寻址位置,客户端可以从该位置访问(例如,下载或检索)媒体内容的对应段。
系统10、计算机系统40和客户端50以及这些系统的组件和元件可以被实现为图2所示的计算装置500。图2示出了计算装置500的一种实现的框图,在该实现中,可执行一组指令,以使计算装置执行本文所述的任何一种或更多种技术或方法。计算装置500可以用于图1和图3所示的实施方式的元件。
在替代实现中,计算装置可以连接(例如联网)到局域网(LAN)、内联网、外联网或互联网中的其他机器。计算装置可以在客户端服务器网络环境中以服务器或客户端机器的容量运行,也可以在对等(或分布式)网络环境中作为对等机器运行。
计算装置可以是个人计算机(PC)、平板计算机、机顶盒(STB)、可穿戴计算机系统、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、开关或桥接器、或能够执行指定该机器要采取的动作的指令集(顺序或其他)的任何机器。此外,虽然仅示出了单个计算装置,但是术语“计算装置”还应被理解为包括单独地或联合地执行指令集(或多个指令集)以执行本文所讨论的任何一个或多个方法的机器(例如,计算机)的任何集合。
示例性计算装置500包括处理装置502、主存储器504(例如,只读存储器(ROM)、闪存、诸如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等的动态随机存取存储器(DRAM)等)、静态存储器506(例如,闪存、静态随机存取存储器(SRAM)等),以及经由总线530彼此通信的辅助存储器(例如,数据存储装置518)。
处理装置502表示一个或多个通用处理器,诸如微处理器、中央处理单元等。更具体来说,处理装置502可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实施其它指令集的处理器或实施指令集的组合的处理器。处理装置502还可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置502被配置为执行用于执行本文中所论述的操作和步骤的处理逻辑(指令522)。
计算装置500还可以包括网络接口装置508。计算装置500还可以包括视频显示单元510(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备512(例如,键盘或触摸屏)、光标控制装置514(例如,鼠标或触摸屏)和音频装置516(例如,扬声器)。
数据存储装置518可包括一个或多个机器可读存储介质(或更具体来说,一个或多个非暂时性计算机可读存储介质)528,其上存储体现本文中所描述的方法或功能中的任何一个或多个的一个或多个指令集522。在由计算装置500执行指令522期间,指令822还可完全或至少部分地位于主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成计算机可读存储介质。
本文所述的各种方法可以通过计算机程序来实现。计算机程序可以包括被布置为指示计算机执行本文所述的各种方法中的一种或更多种方法的功能的计算机代码。可以在一个或多个计算机可读介质上,或者更一般地,在计算机程序产品上,将用于执行这种方法的计算机程序和/或代码提供给诸如计算机的设备。计算机可读介质可以是暂时的或非暂时的。一个或多个计算机可读介质可以是例如电子、磁、光、电磁、红外或半导体系统,或者用于数据传输(例如用于通过互联网下载代码)的传播介质。或者,一个或多个上计算机可读介质可采取一个或多个物理计算机可读介质的形式,例如半导体或固态存储器、磁带、可移除计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘及光盘,例如CD-ROM、CD-R/W或DVD。
在一种实现中,本文中描述的模块、组件和其它特征(例如图1的处理单元11和/或图3的清单捕获单元12、段捕获单元16和/或清单数据编辑单元20)可以被实现为分立组件或集成在硬件组件(例如ASICS、FPGA、DSP或类似装置)的功能中,作为个性化服务器的一部分。
“硬件组件”是能够执行特定操作的有形(例如,非暂时性)物理组件(例如,一个或多个处理器的集合),并且可以以特定物理方式来配置或布置。硬件组件可包括被永久配置为执行某些操作的专用电路或逻辑。硬件组件可以是或包括专用处理器,诸如现场可编程门阵列(FPGA)或ASIC。硬件组件还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。因此,短语“硬件组件”应被理解为包含有形实体,该有形实体可被物理地构造、永久地配置(例如,硬连线)或临时地配置(例如,编程)成以特定方式操作或执行本文描述的特定操作。
另外,模块和组件可以被实现为硬件装置内的固件或功能电路。此外,模块和组件可以以硬件装置和软件组件的任何组合来实现,或者仅以软件(例如,存储在或以其他方式体现在机器可读介质或传输介质中的代码)来实现。
图3中示出的实施方式包括用于基于内容流的较早传输来提供内容流的系统10,其中,图1的处理单元11包括清单捕获单元12、段捕获单元16和清单数据编辑单元20,并且其中,图1的数据存储单元13包括捕获清单数据存储单元14、捕获段存储单元18和重流清单数据存储单元22。
系统10和系统的单元通常被实现为可编程计算机装置,其包括经由一个或多个通信总线连接的一个或多个处理器、存储器、诸如磁盘或闪存存储器的数据存储、输入/输出电路、可编程硬件和/或硬件逻辑,与从处理器上的存储器执行的计算机程序代码和/或指令一起用于执行本文所述的功能。这里描述的每个系统和单元可以被实现为一个或多个单独装置或者被组合为一个或多个集成装置,并且由系统和单元执行的每个功能可以被实现为一个或多个单独的功能或者可以将两个或多个功能组合。例如,内容流服务器40、系统10和客户端50可以是单独装置,或者其一个或其全部可以集成在一起,并且其可以在内容递送网络或其它基于网络或基于云的实现中实现。系统10或系统10的一部分可以在诸如移动电话、平板计算机、机顶盒、电视、个人计算机、网络服务器或其它合适的装置之类的各种装置中实现。
系统10操作以捕获从内容流服务器40发送的内容流,并且操纵捕获的内容流以允许稍后将捕获的内容重流到客户端50。
计算机系统40可以在流的递送期间生成并存储清单数据42和内容流段44以供呈现。计算机系统40可以被配置为提供实况内容流,例如使用自适应比特率流技术的实况内容流,诸如HTTP上的运动图像专家组动态自适应流(MPEG-DASH)、苹果HTTP实况流媒体(HLS)、微软平滑流和Adobe HTTP动态流(HDS)等。
内容流段44包含以段编码的流的内容,例如视频和音频信息,每个段包含短回放时间间隔的内容。用于每个回放时间间隔的内容优选地被编码在包含相同内容的备选版本的段中,但是以一个或多个比特率、一个或多个分辨率、一个或多个频道数量、或一些其它特性或属性进行编码,这允许用于回放时间间隔的内容根据那些特性或属性(例如,不同的比特率)被递送到客户端50。清单数据42包含要由客户端50用来从内容流段44中选择以播放内容流传输的信息。
客户端50可以是常规设计,其操作以接收内容流。客户端50可以包括在计算机处理器上执行的软件,或者可以包括专用客户端服务器装置,并且可以在诸如移动电话、计算机、机顶盒、电视等的合适的终端用户装置中实现,或者可以被实现为从系统10接收内容流并与终端用户的装置通信的网络或基于云的客户端。在一些实施方式中,客户端50可以集成到系统10中。在一些实施方式中,客户端50可以是实况流客户端,例如谷歌Shaka播放器、VLC媒体播放器或其它实况流客户端,并且客户端50可以支持MPEG-DASH实况流媒体,或者可以是支持MPEG-DASH或其它流服务的网络浏览器或媒体播放器。
客户端50可以包括用于从系统10检索内容流传输的一个或多个设施。在所示实施方式中,客户端50包括清单数据解析器52、段解析器54和媒体播放器56。
在该实施方式中,客户端50从重新流清单数据存储单元22访问清单数据。清单数据解析器52解析所访问的(例如,下载的或检索的)清单数据,并且基于清单数据中的信息、客户端的能力、其用户的选择以及当前的网络条件来选择其可以使用的段的集合。客户端50然后开始访问(例如,下载)所选择的段,并且段解析器54对这些段进行解析以提取视频和音频信息,该视频和音频信息被传递到媒体播放器56以播放内容流。
图4至图7中所示的流程图示出了在本公开的一些实施方式中可以在系统10中实现的步骤。
图4示出了在一个实施方式中由系统10为捕获清单数据而执行的过程200的步骤。在诸如现场音乐会的视频的多媒体内容的现场流传输的情境中解释了该过程,但是该过程同样适用于其它情境,例如重流或重传或其它方式提供对从较早的实况或非实况流或传输或通过其他方式获取的任何类型的信息内容的访问。
系统首先在初始流(例如,实况流)期间获取并存储清单数据。清单数据42通常包括一个或多个地址,例如统一资源识别符(URI),其中每个地址指示可以访问一个或多个流段44的位置。每个地址可以为段(例如,包括根据内容流的短间隔的一个或多个属性或特性(例如,不同比特率或分辨率)编码的相同媒体内容的段)的一些或一部分的备选编码提供位置。
对于初始流,计算机系统40生成的清单数据42将随着内容流的进行而改变。当媒体内容变得可用时,例如当接收到来自事件的实况视频馈送时,由计算机系统40将媒体内容编码到内容流段44中,并将其存储为准备用于流传输。清单数据42由计算机系统40实况构建(例如,当媒体内容变得可用时),例如存储在清单文件中,该清单文件通过随着内容流的进行而为新创建的段附加新的段信息来更新。在足以确保播放内容流的任何客户端已经访问了(例如,下载了)要从清单文件中移除的段的延迟之后,清单数据42还可以通过从清单文件中移除已经流传输的较旧段的段信息来更新。
为了捕获内容流,例如通过在传输进行时从系统10访问更新的清单文件,周期性地访问清单数据的新版本。在步骤210,系统10从内容流服务器40访问(例如,下载或检索)当前存在的清单数据42,在步骤220中将时间戳与所获取的清单数据文件相关联,该时间戳指示获取相关联的清单数据的时间。清单数据42的每个被访问(例如,下载)的副本在本文中被称为捕获清单文件,每个捕获清单文件涉及内容流传输的时间片。
系统10在步骤230中将所捕获的清单数据和相关联的时间戳存储为具有图5中所示的时间戳62a的清单文件60a(例如,第一捕获清单文件)。如果内容流捕获时段还没有结束(步骤240),则如步骤250中所示,系统10可以可选地等待特定时间段(例如预定延迟时间段),然后通过再次访问来自内容流服务器40的清单数据42的副本、给下一清单文件加时间戳、以及在步骤230中将下一清单文件和相关联的时间戳存储为具有时间戳62b的后续清单文件60b(例如,第二捕获清单文件)来重复该过程,参见图5。重复该过程,直到内容流传输结束,或者流捕获时段结束,或者系统10中的可用存储已满,或者某一其它事件发生。每个捕获的清单文件的属性(例如,名称)优选地被修改或与序列信息相关联,以指示捕获清单数据的序列中的位置。这使得系统10能够便于以后根据序列(例如清单1、清单2等)重新分发(例如,重新流送)每个清单文件。
图5示出了系统10捕获清单数据42的一个示例。在内容流的传输期间,在时间t0、t1、t2等处访问清单数据42。在该示例中,分别在每个时间t0、t1、t2等从计算机系统40获取清单文件60a、60b、60c等。在该示例中,所捕获的清单文件60a、60b、60c等被重命名为清单1、清单2、清单3等,以指示获取每个文件中的清单数据的顺序,并分别与相关联的时间戳62a、62b、62c等一起保存。以这种方式,序列中的清单数据42的每个副本或实例可以从计算机系统40访问并加时间戳,以使系统10能够逐渐获取所有清单信息,用于在捕获时段期间重新传输流的全部或部分,从而使得能够稍后从清单文件和原始传输的参考段重新创建流。
图6示出了在一个实施方式中由系统10执行的用于处理捕获的包含传输内容的段的过程300的步骤。
当定期访问(例如,下载或检索)清单数据42时,系统10访问每个新捕获的清单文件(步骤310)并解析清单文件(步骤320)以从清单数据提取段地址,从而使系统10能够从内容流服务器40下载所引用的实况流段。
系统10可以应用选择标准来选择从计算机系统40访问(例如,下载或检索)哪些段(步骤330)。在一个实施方式中,系统10访问(例如,下载或检索)每个回放时间间隔的所有备选段(步骤340)。这导致系统获取由内容流服务器40针对捕获时段的所有比特率或分辨率生成的完整段集合。然而,可能期望限制下载的段的集合以限制系统中存储捕获的段所需的存储量。例如,可以通过根据预定的选择标准选择要下载的备选段来实现有限的下载(步骤350)。可以使用各种选择标准,诸如不访问(例如,下载)以最高比特率或分辨率或以高于特定预定阈值的比特率或分辨率而编码的备选段、访问(例如,下载)内容流的选定部分或元素等。
段被访问(例如,下载)并存储在系统10中(步骤360),或者段可以存储在单独的存储系统中,当需要时,可以稍后从单独的存储系统访问这些段。
系统10更新所捕获的清单文件以修改段地址,以参考所捕获的段的新存储位置(步骤370),即,可以下载所捕获的段的地址。在清单文件42中的段地址是相对地址的情况下,这可以通过修改基地址以指向捕获段的新存储位置同时保留每个捕获段的单独相对地址来有效地实现。如果使用了绝对地址,则这些绝对地址可以被修改为指向所捕获的段的新存储位置,或者优选地可以被修改为相对地址,以使得存储位置能够在任何将来的时间根据需要进行变更。
参照图6描述的过程300可以与参照图4描述的清单文件捕获过程200并行地运行。可以在访问(例如,下载)清单数据42的每个新副本时执行流段的下载和存储以及捕获清单文件中的段地址的编辑,或者可以在一定延迟之后通过访问存储的捕获清单文件来执行流段的下载和存储。然而,在相关段的可用性时段期间,系统10可以尝试访问在每个捕获的清单文件中引用的内容流段44,以避免系统10在内容流段44可以从内容流服务器40访问之前或在内容流段44在内容流服务器40上变得不可用之后尝试访问段。
对于实况流,段通常具有不同的可用性时间,其指示可以在不接收错误响应的情况下下载段的最早时间和最迟时间。随着实况流的进行,实况边缘(实况流的最新边缘)随着当前挂钟时间在时间上向前发展。由于服务器仍在记录这些段,因此无法下载并播放实况边缘处的段。可以通过从实况边缘向上备份一个段大小(例如,通过最大段大小),并且还通过考虑服务器更新清单文件以包括对最新段的引用所需的时间以及访问段时的网络延迟,来确定能够可靠地获取的最新段。当流传输事件发生时,内容流服务器40将记录并存储(例如,保存)段44,但是段可以在有限的时间窗口内可用。这可以发生,例如,因为在预定时间量之后(例如,在10分钟之后)删除段以释放内容流服务器40上的存储空间用于新的段。
清单数据42可以包括可用性属性,其定义了哪些段可以从服务器下载,并且系统10可以使用该属性来选择用于下载的段。例如,清单文件可以通过指定例如实况边缘与在此之前10分钟之间的段呈现时间的范围来指定实况边缘周围的可用性的移动窗口。然而,清单文件可以列出比可用性窗口更多或更少的段。如果清单文件列出更多的段,则在下载清单时额外的段可能已经不可用;如果清单列出更少的段,则这些段可能不会填充整个可用性窗口,但是如果段落入可用性窗口内,则客户端仍然能够下载段,即使段不再在清单文件中列出。
系统10还被配置为使用所捕获的清单文件及其相关联的时间戳和所捕获的段来重新创建所捕获的实况流传输。图7示出了在一个实施方式中由系统10执行的用于基于所捕获的清单文件和所捕获的段来分发新流(例如,重传)的过程400的步骤。
所捕获的清单文件可以根据它们相关联的时间戳按照它们在实况流期间被下载的顺序被分类到清单文件的顺序集合中。在步骤410中,识别第一捕获清单文件。注意,虽然图7所示的过程400从第一个捕获清单文件开始,但是过程400也可以从捕获的清单文件中的任何其它文件开始,以使得系统10能够从捕获时段内的任何点开始重传捕获的实况流。
如果在步骤420中确定正被处理的清单文件(即,第一捕获清单文件或随后的下一个捕获清单文件之一)不是最后一个,则在步骤450中,将清单文件与新属性(例如,重命名为重新流清单文件,以提供客户端期望的清单文件名)相关联,并将其存储(例如,复制或保存)到服务器10中的存储位置(或到另一服务器中的单独存储位置),如图1中的重新流清单文件存储单元22所示,客户端50可以从该重新流清单文件存储单元22访问和下载清单文件。
可选地,系统10可以被配置为然后等待特定时间段,例如预定延迟时间段(步骤460),该预定延迟时间段可以根据清单数据的可用性时间段来确定,并且然后根据由相关联的时间戳指示的序列来识别下一个捕获的清单文件,并且重复步骤450至470中的过程,直到处理最后捕获的清单文件为止。
如果在步骤420中确定正被处理的清单文件是最后一个清单文件,则系统10修改清单文件以启用重新流传输的“循环”。如步骤430所示,这可以通过复制第一捕获清单文件(或比上一个更早捕获的任何清单文件)的第一部分并将其插入作为最后捕获的清单文件的结束部分来实现(注意,如果有一个捕获的清单文件,则第一捕获清单文件也将是最后一个)。例如,在使用MPEG-DASH对内容流进行编码的情况下,第一捕获清单文件的第一时段可以被复制并作为最后时段插入到最后捕获的清单文件中。在清单文件包括单个时段的情况下,可以复制该时段以在清单文件中创建相同的第二时段。复制时段的时段ID也被改变以使其不同于第一时段,并且可以指示复制时段是第二、第三或第四时段等,视情况而定,或者指示下一个即将到来的时段时段。这在图5中有所示出,图5示出了由系统10捕获清单数据42的一个示例。在该示例中,第一捕获清单文件60a中的时段“时段.1”被复制并作为重命名的第二时段“时段.y”保存到最后捕获清单文件60x中。
作为存储第一或更早时段的替代,可以修改捕获的清单文件和段中的时间段(例如,时间戳),使得第一(或更早的)清单文件在时间上跟随最后捕获清单文件,以实现重新流传输的“循环”。该替代方案将需要额外的处理来重新流传输,例如,额外的处理来用新的时间戳重新创建每个段。如果流被加密,则这还将需要访问用于加密内容流的加密密钥,以使得每个段能够被解密、修改和重新加密。
上述过程使得客户端50能够在所捕获的内容流的重流期间播放所捕获的内容流的最后的段,然后无缝地循环以开始播放所捕获的流的较早的段。这种循环设施对于一些内容流(诸如具有单个时段的MPEG-DASH实况流)可能是有用的,这些内容流未被设计成处理实况流的不连续性。对于一些应用程序,例如测试或调试,需要持续运行延长时段的实况流,生成一个可以表示实况内容循环的流也可能是理想的。
随后修改后的清单文件与作为重新流清单文件的新属性(例如,新名称)相关联(例如,与实况流客户端所期望的清单文件名相关联),并保存到服务器10中的存储位置(或保存到另一服务器中的单独存储位置),如图3中的重新流清单文件存储单元22所示,实况流客户端可以从该重新流清单文件存储单元22访问和下载清单文件。
以上所描述的并在图7中所示的过程通过依次将每个捕获的清单文件存储(保存)到供客户端下载的位置,从而通过将捕获的清单文件依次呈现给客户端50来重新创建内容流传输,其中存储被定时为复制捕获的实况流传输,使得客户端50可以重新流传输捕获的内容流。因此,当内容流的重传进行时,客户端50下载的该重新流清单文件被动态地编辑,从而有效地重新创建与原始内容流传输相同的条件。
可替换地,例如通过将来自所有捕获的清单的清单信息复制到单个清单文件中、对组合的清单文件进行重命名并将其存储在实况流客户端可以访问和下载清单文件以重新流传输捕获的实况广播的存储位置中,可以将捕获的清单文件组合成一个或多个更大的清单文件。
系统10可以可选地创建不在原始捕获中的新表示,例如,通过在重传之前或在重传期间动态地以与所捕获的段中不同的比特率或分辨率对所捕获的段中的媒体内容进行转码。这可以用于使得能够测试不同的比特率或分辨率,或者用于测试各种类型的编解码器,例如,以相同质量但较低比特率对多个H.264内容流进行转码,以测试H.265或VP9编解码器。
本公开的一个或多个实施方式可以被实现为与计算机系统一起使用的计算机程序产品。程序产品的程序可以定义实施方式的功能(包括这里描述的方法),并且可以包含在各种计算机可读存储介质上。计算机可读存储介质可以是非暂时性存储介质。说明性计算机可读存储介质包括但不限于:(i)不可写存储介质(例如计算机内的只读存储器设备,诸如可由CD-ROM驱动器、ROM芯片或任何类型的固态非易失性半导体存储器读取的CD-ROM盘10),信息可被永久地存储在该不可写存储介质上;以及(ii)可存储可变信息的可写存储介质(例如,硬盘驱动器或任何类型的固态随机存取半导体存储器、闪存)。
Claims (19)
1.一种基于捕获内容流的初始递送来提供内容流的方法,该方法包括以下步骤:
获取与内容流的初始递送相关的清单数据,所述清单数据是在所述内容流的初始递送期间按序列一次或多次获取,以生成一个或多个清单文件;
将时间戳与所述一个或多个清单文件中的每一个清单文件相关联,所述时间戳指示获取相关联的一个或多个清单文件的时间;
处理所述一个或多个清单文件中的每一个清单文件,以识别在所述清单文件中引用的一个或多个地址,其中,所述一个或多个地址引用一个或多个段,所述一个或多个段中的每一个段包括所述初始递送中的内容流的一部分;
访问经由在所述一个或多个清单文件中引用的一个或多个地址所识别的一个或多个段;
修改所述一个或多个清单文件的最后一个清单文件,以包括所述一个或多个清单文件中的较早清单文件的至少一部分;以及
向客户端提供对包括经修改的最后一个清单文件在内的一个或多个清单文件和所访问的一个或多个段的访问,从而使得所述客户端能够接收所述内容流的至少一部分。
2.根据权利要求1所述的方法,所述方法还包括以下步骤:
将所述一个或多个清单文件中的每一个清单文件存储到使得所述客户端能够访问流以呈现内容的位置。
3.根据权利要求1或权利要求2所述的方法,其中,在至少预定时间延迟期满之后,获取任何第二或稍后获取的清单文件,其中,所述预定时间延迟是从获取上次先前获取的清单文件的时间开始的延迟。
4.根据前述权利要求中任一项所述的方法,其中,针对地址所引用的全部的一个或多个段,来尝试访问所述一个或多个段。
5.根据权利要求1至3中任一项所述的方法,其中,对于满足预定标准的段,尝试访问一个或多个段。
6.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:
存储所访问的一个或多个段;以及
编辑所述一个或多个清单文件中的一个或多个,以引用所存储的一个或多个段的一个或多个新地址。
7.根据前述权利要求中任一项所述的方法,其中,修改所述最后一个清单文件的步骤包括:从第一清单文件复制第一时段,并且插入所复制的时段作为最后一个清单文件的第二或更晚时段。
8.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:
处理所述一个或多个清单文件中的每一个清单文件,以识别所识别的段中的每一个段的可用性时间;以及
在相应段的可用性时间期满之前,尝试访问所识别的段。
9.根据前述权利要求中任一项所述的方法,其中,所述一个或多个段中的每个段具有相关联的可用性时段,并且其中,在相应段的可用性时段期间执行对每个清单文件的处理。
10.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:
编辑所述一个或多个清单文件,以改变清单文件中的一个或多个可用性时间指示。
11.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:
存储包括相关联的时间戳的清单文件。
12.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:
使用所述清单文件、相关联的时间戳和引用的段,来重新创建传输。
13.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:
根据所述一个或多个清单文件的相关联的时间戳,将所述一个或多个清单文件分类为清单文件的顺序集合。
14.根据前述权利要求中任一项所述的方法,所述方法还包括以下步骤:
在捕获时,逐步获取用于重传内容流的一部分的所有清单文件;以及
稍后重新创建所述内容流。
15.一种用于基于捕获内容流的较早传输来提供内容流的系统,该系统包括:
一个或多个处理器;以及
能够由所述一个或多个处理器存取的存储器,所述存储器存储指令,在执行一个或多个指令时,所述指令促使所述处理器执行以下操作:
-获取与内容流的初始递送相关的清单数据,所述清单数据是在所述内容流的初始递送期间按序列一次或多次获取,以生成一个或多个清单文件;
-将时间戳与所述一个或多个清单文件中的每一个清单文件相关联,所述时间戳指示获取相关联的清单文件的时间;
-处理所述一个或多个清单文件中的每一个清单文件以识别在所述清单文件中引用的一个或多个地址,其中,所述地址引用一个或多个段,每个段包括所述初始递送中的内容流的一部分;
-访问经由在所述一个或多个清单文件中引用的一个或多个地址所识别的一个或多个段;
-修改所述一个或多个清单文件的最后一个清单文件以包括所述一个或多个清单文件中的较早清单文件的至少一部分;并且
其中,所述系统适于向客户端提供对包括经修改的最后一个清单文件在内的一个或多个清单文件和所访问的一个或多个段的访问,从而使得所述客户端能够接收所述内容流的至少一部分。
16.根据权利要求15所述的系统,其中,所述系统还适于:将所述一个或多个清单文件中的每一个清单文件存储到供客户端访问的位置,以使所述客户端能够播放所述内容流。
17.根据权利要求15或权利要求16所述的系统,其中,在至少预定时间延迟期满之后,获取任何第二或稍后获取的清单文件,其中,所述预定时间延迟是从获取上次先前获取的清单文件的时间开始的延迟。
18.根据权利要求15至17中任一项所述的系统,其中,修改所述最后一个清单文件的步骤包括:从较早清单文件复制第一时段,并且插入所复制的时段作为清单文件的最后副本的第二或更晚时段。
19.根据权利要求15至18中任一项所述的系统,所述系统还包括处理所述一个或多个清单文件中的每一个清单文件,以识别所识别的段中的每一个段的可用性时间,并且在相应段的可用性时间期满之前尝试访问所识别的段。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19220006 | 2019-12-30 | ||
EP19220006.1 | 2019-12-30 | ||
PCT/EP2020/088065 WO2021136823A1 (en) | 2019-12-30 | 2020-12-30 | Techniques for providing a content stream based on a delivered stream of content |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115039413A true CN115039413A (zh) | 2022-09-09 |
Family
ID=69055837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080091414.3A Pending CN115039413A (zh) | 2019-12-30 | 2020-12-30 | 用于基于递送的内容流来提供内容流的技术 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11895350B2 (zh) |
EP (1) | EP4085644A1 (zh) |
KR (1) | KR20220122973A (zh) |
CN (1) | CN115039413A (zh) |
BR (1) | BR112022009146A2 (zh) |
WO (1) | WO2021136823A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11811838B1 (en) * | 2022-10-05 | 2023-11-07 | Hulu, LLC | Generation of unique presentation of media content |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093790A1 (en) * | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US20110096828A1 (en) * | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
US9237387B2 (en) * | 2009-10-06 | 2016-01-12 | Microsoft Technology Licensing, Llc | Low latency cacheable media streaming |
KR101786051B1 (ko) * | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치 |
US8677428B2 (en) * | 2010-08-20 | 2014-03-18 | Disney Enterprises, Inc. | System and method for rule based dynamic server side streaming manifest files |
US8510460B2 (en) * | 2011-04-29 | 2013-08-13 | Cbs Interactive Inc. | Reduced video player start-up latency in HTTP live streaming and similar protocols |
JP6033541B2 (ja) * | 2011-11-24 | 2016-11-30 | シャープ株式会社 | 再生装置、再生方法、制御プログラム、および記録媒体 |
WO2013155611A1 (en) * | 2012-04-18 | 2013-10-24 | Mdialog Corporation | Method and system for inserting content into streaming media at arbitrary time points |
US10063606B2 (en) | 2012-06-12 | 2018-08-28 | Taiwan Semiconductor Manufacturing Co., Ltd. | Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network |
US8904457B2 (en) * | 2012-12-28 | 2014-12-02 | Microsoft Corporation | Archiving a live media presentation |
EP3562167A1 (en) * | 2013-02-12 | 2019-10-30 | Ericsson AB | Method for providing variant manifest file to media player for rendering content from personal over-the-top network video recorder |
US10841353B2 (en) | 2013-11-01 | 2020-11-17 | Ericsson Ab | System and method for optimizing defragmentation of content in a content delivery network |
AU2015202846B2 (en) | 2014-06-27 | 2016-07-21 | Foxtel Management Pty Ltd | A method and system for streaming one or more broadcast events |
US10142386B2 (en) * | 2014-10-29 | 2018-11-27 | DLVR, Inc. | Determining manifest file data used in adaptive streaming video delivery |
US10735823B2 (en) * | 2015-03-13 | 2020-08-04 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for optimized delivery of live ABR media |
US10447768B1 (en) * | 2015-04-23 | 2019-10-15 | Jelli, Inc. | Sidecar ad server for linear broadcast |
US9794360B1 (en) * | 2015-09-11 | 2017-10-17 | Amazon Technologies, Inc. | Estimating unique viewers of media content without cookies |
US10021438B2 (en) * | 2015-12-09 | 2018-07-10 | Comcast Cable Communications, Llc | Synchronizing playback of segmented video content across multiple video playback devices |
US10785508B2 (en) * | 2016-05-10 | 2020-09-22 | Google Llc | System for measuring video playback events using a server generated manifest/playlist |
WO2018027237A1 (en) * | 2016-08-05 | 2018-02-08 | Sportscastr.Live Llc | Systems, apparatus, and methods for scalable low-latency viewing of broadcast digital content streams of live events |
CN106789956B (zh) | 2016-12-01 | 2019-10-25 | 武汉市烽视威科技有限公司 | 一种基于hls的p2p点播方法及系统 |
CN114727134B (zh) * | 2016-12-30 | 2024-02-06 | 谷歌有限责任公司 | 中断经不可侵犯清单协议提供的流传输内容的系统和方法 |
WO2018152222A1 (en) * | 2017-02-14 | 2018-08-23 | Level 3 Communications, Llc | Systems and methods for resolving manifest file discontinuities |
US10701424B2 (en) * | 2018-02-02 | 2020-06-30 | Martell Broadcasting Systems, Inc. | Systems and methods of managing video and ad segments in a live stream |
US10555018B2 (en) * | 2018-02-02 | 2020-02-04 | Martell Broadcasting Systems, Inc. | Systems and methods of programmatic video content distribution |
-
2020
- 2020-12-30 WO PCT/EP2020/088065 patent/WO2021136823A1/en unknown
- 2020-12-30 EP EP20838583.1A patent/EP4085644A1/en active Pending
- 2020-12-30 CN CN202080091414.3A patent/CN115039413A/zh active Pending
- 2020-12-30 US US17/789,794 patent/US11895350B2/en active Active
- 2020-12-30 BR BR112022009146A patent/BR112022009146A2/pt unknown
- 2020-12-30 KR KR1020227015316A patent/KR20220122973A/ko unknown
-
2023
- 2023-12-06 US US18/530,607 patent/US20240171797A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
BR112022009146A2 (pt) | 2022-07-26 |
KR20220122973A (ko) | 2022-09-05 |
EP4085644A1 (en) | 2022-11-09 |
US20240171797A1 (en) | 2024-05-23 |
US20230038275A1 (en) | 2023-02-09 |
US11895350B2 (en) | 2024-02-06 |
WO2021136823A1 (en) | 2021-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102055717B (zh) | 快速播放的方法、终端及服务器 | |
US20140297881A1 (en) | Downloading and adaptive streaming of multimedia content to a device with cache assist | |
TWI717744B (zh) | 用於更新媒體呈現資料的方法和裝置 | |
US20120324058A1 (en) | Playlists for real-time or near real-time streaming | |
US9356985B2 (en) | Streaming video to cellular phones | |
KR20120080214A (ko) | 다이내믹 미디어 파일 스트리밍을 위한 시스템, 방법 및 장치 | |
JP2012514276A (ja) | リアルタイム又はほぼリアルタイムのストリーミング | |
CN105828096B (zh) | 媒体流文件的处理方法和装置 | |
CN113767639B (zh) | 接收媒体数据的方法、装置和非易失性计算机可读介质 | |
EP3318034B1 (en) | Low latency media streaming | |
CN113661692B (zh) | 接收媒体数据的方法、装置和非易失性计算机可读存储介质 | |
CN113661680B (zh) | 用于接收媒体内容的媒体数据的处理方法和装置 | |
KR20090009847A (ko) | 미디어 표현으로부터 미디어를 재구성하기 위한 방법 및 장치 | |
US20240171797A1 (en) | Techniques for providing a content stream based on a delivered stream of content | |
CN104410901A (zh) | 一种m3u8格式直播流的播放方法及播放装置 | |
US11089379B2 (en) | Preload hinting for low latency HTTP live streaming system | |
CN114417055A (zh) | 一种视频播放方法、装置、计算机设备和存储介质 | |
US20160173551A1 (en) | System and method for session mobility for adaptive bitrate streaming | |
CN114124941B (zh) | m3u8格式文件下载方法、播放方法及m3u8格式文件下载系统 | |
CN113364728B (zh) | 媒体内容接收方法、装置、存储介质和计算机设备 | |
US11882170B2 (en) | Extended W3C media extensions for processing dash and CMAF inband events | |
US20200059528A1 (en) | Client-side quality-of-service (qos) for viewing of adaptive bitrate (abr) streams | |
CN117256153A (zh) | 用于支持处理dash事件更新的dash客户端处理模型的处理模型 | |
US20170054780A1 (en) | Real-time file generation and delivery |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Swiss shesuo - Suhl - Lausanne Applicant after: Nagra imaging Co.,Ltd. Address before: Swiss shesuo - Suhl - Lausanne Applicant before: NAGRAVISION S.A. |