CN106464945B - 增强型流媒体回放的方法、系统及计算机可读介质 - Google Patents

增强型流媒体回放的方法、系统及计算机可读介质 Download PDF

Info

Publication number
CN106464945B
CN106464945B CN201580030375.5A CN201580030375A CN106464945B CN 106464945 B CN106464945 B CN 106464945B CN 201580030375 A CN201580030375 A CN 201580030375A CN 106464945 B CN106464945 B CN 106464945B
Authority
CN
China
Prior art keywords
video
proxy server
representation
segmentation
content
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
CN201580030375.5A
Other languages
English (en)
Other versions
CN106464945A (zh
Inventor
罗伯特·克里斯托弗·冈特
帕维尔·佩尔盖门西科
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN106464945A publication Critical patent/CN106464945A/zh
Application granted granted Critical
Publication of CN106464945B publication Critical patent/CN106464945B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/262Content 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/26258Content 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 for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6371Control signals issued by the client directed to the server or network components directed to network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server

Landscapes

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

Abstract

提供了一种流视频回放系统以为客户端设备的媒体播放器在本地生成与流视频相关联的清单文件。本地生成的清单文件有助于减少媒体播放器的启动时间,并且清单文件基于与流视频相关联的流元数据在本地生成,而且清单文件包括基于HTTP直播流传输(HLS)的主控播放列表和媒体播放列表。本地生成的清单文件还通过使得能够预先取回流视频的视频分段并且在回放期间进行缓存而提供了更好的自适应比特率控制。流视频回放系统使用最后视频分段的索引而减小了被传送至内容共享服务的媒体播放列表的大小,并且使得拥有具有更大搜寻窗口的支持DVR的直播视频流是可行的。

Description

增强型流媒体回放的方法、系统及计算机可读介质
技术领域
本公开总体上涉及数字媒体流的领域,尤其涉及增强流媒体回放。
背景技术
数字媒体内容共享和互联网网络的发展已经使得许多特征能够增强用户体验。例如,在互联网上,内容托管网站和内容共享服务允许用户上传、观看并共享数字媒体内容,可以包括音频/音乐剪辑、视频剪辑以及音视频内容的组合。观看者能够观看从内容共享服务流传输至观看设备以便进行回放的媒体内容。为了防止使媒体内容回放的回放中断的缓冲,内容可以利用诸如HTTP直播流传输(HLS)的自适应比特率协议被流传输。
HLS是一种用于通过HTTP从web服务器流传输音频和视频的以便在各种计算设备上回放的网络协议,其中流内容的质量能够取决于观看设备的网络连接而变化。然而,现有的基于HLS的流媒体回放解决方案面临着很多挑战。第一种挑战是高延时。例如,现有的基于HLS的解决方案要求客户端设备在其能够回放任何视频内容之前都要针对共享内容的服务器进行三次往返行程。这三次往返行程包括用于取回主控播放列表的行程,用于媒体播放列表的一次行程以及用于初始媒体分段的一次行程。这样的要求明显增加了内容回放的延时,尤其是在诸如无线网络上的往返行程时间(RTT)很高的情况下。
例如HLS或DASH的用于流媒体回放的现有解决方案在客户端所使用的媒体播放器不支持流选择时,也缺少对于流选择的客户端控制。例如,使用这种采用HLS协议流传输视频的媒体播放器的客户端无法对取回哪些媒体分段以及何时取回它们进行控制。如果流视频能够以多种比特率或分辨率获得,则客户端被要求向媒体播放器提供主控播放列表URL,其中该主控播放列表包括所有可用的媒体播放列表,其中每一个对应于以特定比特率或分辨率的流视频的表示形式。在回放期间,该媒体播放器决定该流视频的哪个表示形式要被选择用于回放。
此外,用于流视频内容回放的现有解决方案并未有效支持直播视频流。在流媒体的直播回放期间,现有的基于HLS的流视频解决方案的客户端需要每隔几秒钟就要针对新的媒体分段重新取回直播播放列表。如果客户端被允许时间回搜,则直播媒体播放列表必须包含该内容的整个搜索时间段,这使得要存储的直播媒体播放列表很大,增加了存储和解析播放列表的成本。
发明内容
所描述的实施例使得流视频内容回放的用户体验能够增强。针对客户端设备的媒体播放器,在流视频回放系统本地生成与流视频相关联的清单文件。根据流元数据在本地生成在一个或多个清单文件,通过减少了网络上去往内容共享服务的往返行程次数,而有助于减少启动时间。通过使得能够预先取回流视频的视频分段并且在回放期间进行缓存,代理服务器通过本地生成的清单文件提供了更好的自适应比特率控制。流视频回放系统使用最后视频分段的索引而减小了被传送至内容共享服务的媒体播放列表的大小,并且使得拥有具有更大搜寻窗口的支持DVR的直播视频流是可行的。
一个实施例包括一种流视频回放系统,其包括用于客户端设备的媒体播放器的代理服务器。该代理服务器检测从该媒体播放器至诸如 YouTube的内容共享服务的针对流视频的请求。内容共享服务向流视频回放系统提供流元数据。流元数据可以是例如根据媒体播放器所理解的流协议的标准形式,流协议是诸如HLS或DASH。流元数据可以是定制形式,诸如协议缓冲。流视频回放系统将流元数据转换为清单文件或清单文件集合,其符合媒体播放器所理解的流协议。
代理服务器对请求进行修改,使得代理服务器从内容共享服务得到不同形式的响应数据,例如为了更为紧凑的表现形式以及易于解析响应数据而对请求的文件格式进行变换,并且将经修改的请求提供至内容共享服务。在从内容共享服务接收到与所请求视频相关联的流数据时,代理服务器根据流协议的类型而针对视频生成清单文件或清单文件集合。在HLS流协议的情况下,清单文件是HLS主控和媒体播放列表。在DASH的情况下,清单文件是DASH清单。清单文件可以包括描述视频的位置、视频的可用表示形式的列表以及视频的每种可用表示形式的视频分段列表的信息。代理服务器将清单文件传送至媒体播放器以便从该内容共享服务流传输所请求视频的内容。可替换地,代理服务器针对媒体播放器而从内容共享服务流传输所请求视频的内容。
该说明书中所描述的特征和优势并非是无所不包的,并且特别地,考虑到附图、说明书和权利要求,许多另外的特征和优势对于本领域技术人员而言将会是显而易见的。此外,应当注意的是,在该说明书中所使用的语言原则上已经出于可读性和指导的目的进行了选择,而并未被选择用来对所公开的主题进行界定或限制。
附图说明
图1是根据一个实施例的用于增强流视频回放的计算环境的框图。
图2是根据一个实施的示例性流视频回放系统。
图3是图示根据一个实施例的用于增强流视频回放的处理的流程图。
图4是图示根据一个实施例的增强流视频回放的操作的交互图。
具体实施方式
以下附图和描述仅通过说明而描述某些实施例。本领域技术人员从以下描述将会轻易认识到,这里所说明的结构和方法的可替换实施例可以在并不背离这里所描述的原则的情况下被加以采用。对于过个实施例进行详细的参考,其示例根据附图被说明。应当注意只要可行,相似或相同的附图标记可以在图中使用并且可以指示相似或相同的功能。
图1示出了根据一个实施例的用于增强流视频回放的计算环境 100。计算环境100包括通过网络150连接至内容共享服务160的客户端设备110。图1中仅示出了一个内容共享服务160和一个客户端设备110 以便使得描述简要且清楚。计算环境100的实施方式可以具有经由网络 150进行连接的许多客户端设备110和内容共享服务160。同样,图1的各种实体所执行的功能在不同实施例中可以不同。
客户端设备110和内容共享服务160可以是任意类型的计算设备,例如,包括计算机处理器和存储器(例如,计算机可读存储介质)的设备。内容共享服务160或客户端设备110可以包括具有广范围处理能力的计算设备,诸如个人计算机(PC)、服务器计算机、个人数字助理(PDA)、智能电话、膝上计算机、笔记本计算机、平板设备,或者能够执行指定要由机器所采取的动作的计算机程序指令集合的任意机器。本公开的实施例可以在单个服务器设备或多个服务器设备内进行操作。
在一个实施例中,内容共享服务器160向客户端设备110提供要进行流传输的诸如视频内容的数字内容。例如,内容共享服务器160可以经由网络150提供用户所请求的诸如流视频的媒体项以便在客户端设备110上进行回放。用于内容共享服务160的实施方式的适当系统是在 www.youtube.com找到的YouTubeTM网站;其它视频托管站点也是已知的,并且能够适于根据这里所公开的教导进行操作。将要理解的是,术语“站点”表示适于使用任意互连网络协议提供数字媒体内容的计算机系统,而并非意在被局限于经由互联网或HTTP协议上传或下载的内容。
在本公开中,“数字内容”或“数字媒体内容”通常是指任意机器可读和机器可存储的作品。数字内容例如可以包括视频、音频,或者视频和音频的组合。出于简明以及描述一个实施例的目的,用于回放的数字内容将被称之为“视频”、“流视频”、“视频文件”或“视频项”,但是该术语并无意对能够流传输和回放的数字内容的类型加以限制。因此,这里所描述的用于回放流视频内容的操作能够应用于任意类型的数字内容,包括视频以及其它适当类型的数字内容,诸如音频文件(例如,音乐、播客、音频书等)、文档、网站、图像、多媒体演示,等等。
网络150使得能够在内容共享服务160和客户端设备110之间进行通信,并且可以是互联网、另一种广域网、局域网等。可以从常规已知的方法中选择用于网络实施方式的各种通信技术和协议。在一个实施例中,用于内容共享服务160和客户端设备110之间的通信的通信协议是用于流传输视频内容的HTTP直播流传输(HLS)。也可以针对网络实施方式使用其它用于流传输视频的通信协议,诸如通过HTTP的动态自适应流传输(DASH)。
客户端设备110向内容共享服务160发送流视频请求,从内容共享服务160检索视频分段和相关联的元数据,并且在客户端设备110回放该视频内容。在一个实施例中,客户端设备110包括媒体播放器120、流视频回放系统130和数据存储140。客户端设备110的其它实施例可以具有适于通过互联网相关协议(例如,TCP/IP和HTTP)进行通信的其它部件或其它计算机模块。客户端设备110可以包括与显示设备的接口,用户可以在该显示设备上观看视频内容。
媒体播放器120允许客户端设备110的用户观看数字内容。在一个实施例中,媒体播放器120是能够访问、检索、呈现和导航内容共享服务160所供应的数字内容的web浏览器。媒体播放器120可以向用户渲染、显示并呈现数字内容。媒体播放器120还可以是嵌入在网页之中的嵌入式媒体播放器(例如,播放器或HTML5播放器)。在另一个示例中,媒体播放器120可以是允许用户观看数字媒体项(例如,数字视频、数字图像和电子书)的独立应用。在另一个示例中,媒体播放器120是移动操作系统所提供的架构(例如,应用程序接口(API) 的集合)。
在一个实施例中,媒体播放器120向内容共享服务160发送针对流视频的请求,并且获得所请求流视频的视频分段以便进行回放。媒体播放器120将所获得的流视频内容缓存在数据存储140中并且在客户端设备110的显示设备上回放该流视频内容。在另一个实施例中,流视频回放系统130充当媒体播放器120的代理以发送针对流视频的请求并且获得所请求的流视频内容。
数据存储140存储视频内容和/或元数据以便在客户端设备110上进行回放。在一个实施例中,数据存储140包括一个或多个计算机可写入持久存储设备,诸如存储器、磁带和磁盘。该设备的示例可以包括但并不局限于计算机服务器、大型计算机、联网计算机、基于处理的设备以及类似类型的系统和设备。在一个实施例中,数据存储140存储从内容共享服务140流传输的视频内容和相对应的元数据。
客户端设备110可以包括流视频回放系统130从而有助于流视频内容的回放。流视频回放系统130检测来自媒体播放器120的用户针对流视频的请求,从内容共享服务160或数据存储140取回所请求视频的视频分段,将该视频分段存储或缓存在数据存储140中(如果还没有缓存) 并且将该视频分段提供至媒体播放器120以便进行回放。流视频回放系统130进一步参考图2-5进行描述。
图2是根据一个实施例的示例性流视频回放系统130。在图2所示的实施例中,流视频回放系统130具有代理服务器210和本地数据存储 220。在一个实施例中,流视频回放系统130可以不包括本地数据存储 220,并且代理服务器210使用数据存储140来存储所获得的流内容或元数据。代理服务器210检测客户端设备110的媒体播放器120所发送的针对流视频的请求,并且代表媒体播放器120发送该请求。代理服务器210 从内容共享服务160获得所请求的流视频内容(例如,通过下载所请求的流视频内容)并且将所获得的流视频内容存储在本地数据存储220 中。
本地数据存储220存储所请求流视频的视频内容以及相对应的元数据。在一个实施例中,针对所请求的视频,本地数据存储220存储所请求视频的部分或全部内容。视频内容的一部分被作为一个或多个视频分段进行存储;每个视频分段具有流视频中的多个视频帧,并且每个视频分段对应于该流视频的一部分,例如均为10秒钟。流视频的视频分段由分段标识(ID)进行识别。流视频的视频分段还可以具有指示其在该流视频中的位置的索引,例如媒体播放列表上的流视频的第 10个分段。
本地数据存储220还存储针对每个所请求的流视频在本地生成(一个或多个)清单文件所需的元数据。例如,流视频的元数据可以包括每个视频分段的持续时间,该流视频的总体持续时间,有关视频编码的元数据(例如,MIME类型)以及其它信息。代理服务器210所生成的流视频的清单文件包括主控播放列表,其提供流视频的URL并且该 URL识别内容共享服务160处或者代理服务器210处的用于下载该流视频的位置。该(一个或多个)清单文件还可以包括一个或多个媒体播放列表,其中每一个识别特定视觉质量的流视频的表示形式。例如,如果流视频以例如240p、360p和480p的三种分辨率可用,则该清单可以包括三个媒体播放列表,其中每一个表示这三种分辨率之一的流视频。该清单文件可以进一步包括媒体播放列表上的流视频的视频分段的列表。
图2所示的代理服务器210具有监视模块212、清单生成模块214、流选择模块216和内容索引模块218。代理服务器210支持用于从内容共享服务160向媒体播放器120流传输视频的HTTP直播流传输协议。代理服务器210的其它实施例能够通过不同通信协议而具有不同或另外的模块。
监视模块212监视媒体播放器120和内容共享服务160之间的通信。在一个实施例中,监视模块212拦截从媒体播放器120至内容共享服务 160的针对流视频的请求。来自媒体播放器120的针对流视频的请求识别所请求的流视频。在拦截针对流视频的请求时,监视模块212将原始请求或者经修改的原始请求与内容共享服务160进行通信从而请求该所请求视频的流数据,例如向内容共享服务160发起应用编程接口 (API)功能调用。响应于接收到来自内容共享服务160的所请求流数据,监视模块212将所接收到的流数据提供至清单生成模块214以便进一步处理。
在一个实施例中,所请求的流数据包括与流视频相关联的索引文件的位置指示符(例如,URL)。与流视频相关联的索引文件位于内容共享服务160并且该索引文件包含播放列表的列表,其包含指向所请求流视频的实际媒体内容的URL。该索引文件也被称作主控播放列表文件。
所请求的流数据还可以包括与所请求的流视频相关联的一个或多个媒体播放列表。与所请求的流视频相关联的每个媒体播放列表识别该流视频的特定视觉质量的一种可获取的表示形式。表示形式也可以包括不同的音频表示形式。除质量差异之外,可替换表示形式可以包括可替换语言轨道(针对音频表示形式)或不同的摄像机角度(针对视觉表示形式)。流视频的视觉质量可以关于比特率、分辨率、每秒帧数、编码格式、峰值信噪比(PSNR)或其它视觉特征进行测量。例如,如果所请求视频以例如240p、360p和480p的三种分辨率可用,则所请求的流数据可以包括每种分辨率一个的三个媒体播放列表。所请求流数据还可以包括所请求流视频的其它元数据,例如在该流数据被加密的情况下的加密秘钥。
在一个实施例中,监视模块212为了更为紧凑的表示形式或者易于解析流数据而将来自媒体播放器120的针对流视频的请求的文件格式转换为不同的文件格式。该文件格式转换使得代理服务器210能够请求与该请求的原始格式不同格式的流数据。例如,从媒体播放器120至内容共享服务160的针对流视频的请求为HLS协议的标准“.m3u8”文件格式。监视模块212将该“.m3u8”文件格式转换为用于接收流视频的内部表示形式,例如协议缓冲表示形式,其对于接收流数据在格式上更为紧凑并且用于传送所要求的带宽更小。
清单生成模块214接收与流视频相关联的所请求流数据并且针对所请求的流视频生成清单文件。在一个实施例中,清单文件包括所请求流视频的主控播放列表的URL。在另一个实施例中,清单文件包括所请求流视频的主控播放列表的URL以及与该流视频相关联的媒体播放列表。在又另一个实施例中,清单文件包括主控列表的URL、所请求流视频的媒体播放列表以及与所请求流视频相关联的视频分段的列表。
在一个实施例中,清单生成模块214以不同于所接收流数据的文件格式的文件格式生成用于流视频的清单文件。例如,从内容共享服务 160所接收的流数据为用于更为紧凑的表现实行以及有效传输的内部文件格式。清单生成模块214将该内部文件格式转换为“.m3u8”文件格式或者媒体播放器120所理解的文件格式。在代理服务器210本地生成用于流视频的清单文件减少了从媒体播放器120至内容共享服务160 的往返行程次数,这进而减少了回放流视频内容的延时。
流选择模块216使得媒体播放器120的用户能够对流视频质量、增强流视频内容回放的用户体验的特征加以控制。特别地,流选择模块 216允许媒体播放器120的用户控制要取回或下载哪些视频分段并且何时取回该视频分段。在一个实施例中,流选择模块216提供呈现所请求流视频的可用表示形式的列表的用户界面。所请求流视频的可用表示形式表示所请求视频的不同视觉质量。例如,高分辨率的流视频的表示形式通常表示高的视觉质量。流选择模块216通过该用户界面接收用户对所请求流视频的视觉质量的选择,并且从内容共享服务160取回具有用户所选择的视频质量的视频分段。例如,响应于用户选择可用分辨率中的高分辨率,流选择模块216取回具有所要求分辨率的视频分段。
流选择模块216支持自适应比特率流传输。在一个实施例中,流选择模块216基于网络状况,例如网络连接速度和流数据分组的丢失率,而扩增用户对于所请求视频的视觉质量的选择。响应于用户选择了高视觉质量流数据,但是网络连接不佳,流选择模块216可以取回较低视觉质量的视频分段以便进行回放。流选择模块216可以在未来某时网络状况更好的时间点取回并缓冲高视觉质量的视频分段,并且在需要时以相对应的高视觉质量的视频分段替代低视觉质量的视频分段以便后续回放。
为了进一步增强流视频内容回放的用户体验,流选择模块216提供具有媒体播放列表的主控播放列表,该媒体播放列表指示所请求流视频的视觉质量的类型。媒体播放列表指示的所请求流视频并非是固定比特率的流视频,而是代理播放列表,其中媒体播放列表中所包括的每个视频分段的URL指向代理服务器210。流选择模块216能够在取回特定位置的视频分段的时候关于要选择所请求流视频的何种表示形式作出决定。流选择模块216从内容共享服务器160或者本地数据存储140 下载所选择表示形式的视觉分段,并且将该视觉分段供应至媒体播放器120。
代理服务器210经由流选择模块216通过从媒体播放器120去除视频流选择的选取而使得用户能够对所请求的流视频内容加以控制,而且对从媒体播放器120的视频分段取回进行控制。例如,针对所请求流视频提供的主控播放列表仅包含单个音频和单个视频表示形式。通过从媒体播放器移除所有选择,允许代理服务器210拦截音频或视频请求并且选择要以何种媒体表示形式进行替代。此外,如以上所描述的提供具有媒体播放列表的主控播放列表还为流视频的用户提供了以下益处:
·人为视觉质量选择—流选择模块216可以基于用户输入而不是用于HLS流传输协议的常规自适应比特率控制逻辑来选取特定的视觉质量;
·视频分段取回的低延时—流选择模块216可以选择提供保存在本地存储/缓存中的预先取回的视频分段而不是通过网络下载视频分段从而减少延时;
·对于缓冲行为的控制—流选择模块216可以在针对相关联流视频的请求中识别视频分段时预先取回视频分段,并且在针对回放的请求时从本地存储提供预先取回的视频分段;
·通过更好地调度针对流视频的请求的更好的电池使用—除了用于未来回放的多个视频分段之外流选择模块216还可以预先取回多个视频分段用于即刻回放。由流选择模块216预先取回视频分段带来了客户端设备110的电池的更好使用,并且相应地延长了电池寿命。
内容索引模块218对与直播流视频相关联的媒体播放列表中的最后视频分段保持追踪,并且降低了媒体播放列表刷新的成本。在一个实施例中,内容索引模块218基于与内容共享服务160的交互而针对媒体播放列表上的每个视频分段指定索引,并且记录该媒体播放列表的内部表示形式中的最后视频分段的索引。视频分段的索引可以由该视频分段相对于视频的整个持续时间的时间戳来表示。内容共享服务160 接收直播流的整个持续时间、直播流的开始时间以及与直播流视频相关联的时间戳。内容共享服务160针对媒体播放列表上的最后视频分段确定时间戳或索引,并且将这样的确定提供至内容索引模块218。内容索引模块218可以在请求新的视频分段时针对最后视频分段的索引的更新而查询内容共享服务160,并且内容共享服务160仅将新的视频分段(即,流视频的最后视频分段以及后续视频分段)返回至代理服务器210。
代理服务器210通过内容索引模块218改善支持DVR的直播视频流的性能。支持DVR的直播视频流是其中客户端设备可以进行时间回索的视频流。为了对支持DVR的直播视频流提供支持,每个媒体播放列表必须包含客户端设备可能搜寻的视频分段的整个集合。如果视频流很长(例如,数小时),则这表示要下载并存储大量的数据。在直播回放期间,客户端设备必须每几秒钟就针对新的分段预先取回直播媒体播放列表。代理服务器210使用最后视频分段的索引减小被传送至内容共享服务160的媒体播放列表的大小,并且使得拥有具有更大搜寻窗口的支持DVR的直播视频流是可行的。
图3是图示根据一个实施例的由流视频回放系统130所进行的用于增强流视频回放的处理的流程图。最初,流视频回放系统130拦截320 来自客户端设备的媒体播放器——例如,客户端设备110的媒体播放器 120——的针对流视频的请求。该请求识别所请求的流视频,例如流视频的URL。流视频回放系统130对该请求进行处理,例如转换该请求的文件格式而使得流视频回放系统130能够以用于更为紧凑的表现实行的不同文件格式来接收流数据,并且将经处理的请求发送320至内容共享服务,例如图1的内容共享服务160。
流视频回放系统130从内容共享服务接收330流元数据。该流元数据包括主控播放列表形式的流视频的URL。该主控播放列表包括一个或多个媒体列表,其中的每一个对应于特定视觉质量的流视频的表现形式。流视频回放系统130基于所接收到的流元数据生成340清单文件。该清单文件可以包括主控播放列表、媒体播放列表以及与该媒体播放列表相关联的视频分段的列表。流视频回放系统130将该清单文件提供 350至进行请求的媒体播放器,以下载所请求流视频的视频分段。可替换地,流视频回放系统130充当媒体播放器的代理,并且为该媒体播放器下载视频分段。
为了使得用户能够在要取回哪些视频分段以及何时取回它们的方面对流视频回放进行控制,流视频回放系统130使用自适应比特率流传输确定流视频的适当表示形式。流视频回放系统130可以基于用户输入或网络状况进行该确定。流视频的适当表示形式具有用于在客户端设备上回放该流视频的所期望的视觉质量。
流视频回放系统130还针对所确定表示形式的流视频的媒体播放列表中的最后视频分段进行追踪370。流视频回放系统130能够基于与内容共享服务160的交互而向最后视频分段指定索引。流视频回放系统 130将指向该最后视频分段的索引以及所确定的流视频表示形式包括 380在去往内容共享服务的针对新分段的请求中。保持对最后视频分段的追踪允许流视频回放系统130仅请求还没有被流视频回放系统130下载的新的视频分段,并且使得能够进行性能改善的支持DVR的直播视频流传输。
图4是图示根据一个实施例的由流视频回放系统130进行的增强流视频回放的操作的交互图。在图4所图示的实施例中,流视频回放系统 130具有用于客户端设备的媒体播放器120的代理服务器210。媒体播放器120向内容共享服务160发送针对流视频的请求。代理服务器210作为媒体播放器120的代理而与内容共享服务160进行通信。
媒体播放器120向内容共享服务160发送针对流视频的请求。代理服务器210拦截404该请求,对该请求进行处理406,并且将经处理的请求发送408至内容共享服务160。代理服务器210可以将请求的文件格式 (例如,.m3u8)进行转换而使得代理服务器210能够以用于请求的紧凑表示形式的内部表示形式的文件格式来接收流数据。代理服务器210 还可以对来自媒体播放器120的请求进行处理,使得经处理的请求适用于针对内容共享服务160的API功能调用。
代理服务器210从内容共享服务160接收410流数据,其中该流数据包括由URL所识别的主控播放列表以及一个或多个媒体播放列表。每个媒体播放列表表示特定视觉质量的可获得流视频,视觉质量例如以比特率、分辨率和流视频的其它视觉特征进行测量。每个媒体播放列表包括流视频的相对应表示形式的视频分段的URL的列表。
代理服务器210基于用户输入或网络状况(例如,用于从内容共享服务160流传输视频的当前比特率)选择412媒体播放列表。可替换地,代理服务器210可以将流视频的所有可用媒体播放列表包括在清单文件中。代理服务器210基于所选择的媒体播放列表生成414清单文件,并且将该清单文件发送416至媒体播放器120。
媒体播放器120发送418针对代理服务器120所选择的媒体播放列表的请求。代理服务器210拦截该请求,并且将该请求发送420至内容共享服务160。在从内容共享服务160接收到422所请求的媒体播放列表时,代理服务器210将媒体播放列表发送424至媒体播放器120,其中该媒体播放列表包括流视频的视频分段的URL的列表。
媒体播放器120发送426针对媒体播放列表上的第一视频分段的请求,其中该请求识别用于从内容共享服务160下载第一视频分段的 URL。代理服务器210拦截该请求,并且将该请求发送428至内容共享服务160。在从内容共享服务160接收430到第一视频分段时,代理服务器210将该第一视频分段存储在本地存储中或者将该第一视频分段发送432至媒体播放器120以便进行回放。
流视频回放系统130为客户端设备的媒体播放器在本地生成与流视频相关联的清单文件。该本地生成的清单文件有助于减少媒体播放器的启动时间,这是因为该清单文件提供了在客户端设备本地生成基于HLS的主控播放列表和媒体播放列表所需的元数据。该本地生成的清单文件还通过使得能够预先取回流视频的视频分段并且在回放期间进行缓存而提供了更好的自适应比特率控制。流视频回放系统130使用最后视频分段的索引减小了被传送至内容共享服务的媒体播放列表的大小,并且使得拥有具有更大搜寻窗口的支持DVR的直播视频流是可行的。
包括以上描述以对优选实施例的操作加以说明而并非意在对本发明的范围进行限制。本发明的范围仅由以下权利要求所限定。根据以上讨论,许多变化对于相关领域的技术人员将是显而易见的,它们同样被本发明的精神和范围所涵盖。

Claims (30)

1.一种计算机实施的用于回放视频内容的方法,所述方法包括:
由代理服务器检测从媒体播放器至内容共享服务的针对视频的第一文件格式的请求;
由所述代理服务器将所述请求从第一文件格式修改为第二文件格式,与所述第一文件格式所要求的相比,所述第二文件格式的流数据要求更低带宽以用于从所述内容共享服务传送所述流数据;
由所述代理服务器代表所述媒体播放器将经修改的针对所述视频的请求提供至所述内容共享服务;
由所述代理服务器响应于所述经修改的请求从所述内容共享服务接收所述第二文件格式的与所述视频相关联的流数据;
由所述代理服务器基于与从所述内容共享服务接收到的所述视频相关联的所接收到的流数据生成清单文件,所述清单文件包括与所请求的视频相关联的多个媒体播放列表,所述多个媒体播放列表中的每个媒体播放列表识别具有特定视觉质量的所请求的视频的表示形式并且包括所请求的视频的所述表示形式的多个视频分段;
由所述代理服务器将所述清单文件提供至所述媒体播放器以便下载所请求的视频的内容;以及
响应于所述媒体播放器取回所请求的视频的视频分段,由所述代理服务器确定所请求的视频的表示形式以从所述多个视频播放列表中选择。
2.根据权利要求1所述的方法,其中,与所述视频相关联的所述流数据包括通过所述内容共享服务提供的所述视频的统一资源定位符(URL)。
3.根据权利要求1所述的方法,其中,由所述代理服务器基于与所述视频相关联的所接收到的流数据生成所述清单文件包括:
对所接收到的流数据进行解析以生成与所请求的视频相关联的一个或多个播放列表;
其中,所述播放列表包括至少一个主控媒体播放列表以及多个媒体播放列表,所述主控媒体播放列表包括多个媒体播放列表的多个统一资源定位符(URL),媒体播放列表识别处于特定视觉质量的所述视频的表示形式。
4.根据权利要求1所述的方法,其中,所述多个媒体播放列表中的媒体播放列表包括由所述媒体播放列表所识别的视频的视频分段的位置的列表,并且视频分段表示所述视频的内容的一部分。
5.根据权利要求1所述的方法,其中,所请求的视频的所述视觉质量通过与所请求的视频相关联的一个或多个视觉特征进行测量,所述视觉特征包括以下的至少一种:
表示所述视频的比特率;
所述视频的分辨率;
每秒钟的帧数;
所述视频的编码格式;和
所述视频的峰值信噪比。
6.根据权利要求1所述的方法,其中,与所述视频相关联的所述多个媒体播放列表是HTTP直播流传输(HLS)格式并且被HLS流传输协议所支持。
7.根据权利要求1所述的方法,其中,由所述代理服务器确定所请求的视频的表示形式进一步包括:
由所述代理服务器基于来自所述媒体播放器的用户的输入确定所请求的视频的表示形式;并且
由所述代理服务器基于用于以所确定的表示形式流传输所述视频分段的当前比特率,自适应地更新所述表示形式。
8.根据权利要求1所述的方法,进一步包括:
由所述代理服务器对处于所确定表示形式的所述视频中的最后视频分段的索引进行追踪;
由所述代理服务器检测来自所述媒体播放器的针对处于所确定表示形式的所述视频的视频分段的请求;
由所述代理服务器将经修改的针对所述视频分段的请求提供至所述内容共享服务,所述经修改的请求包括具有所确定的表示形式的所述最后视频分段的索引;
由所述代理服务器从所述内容共享服务接收一个或多个视频分段,所接收的视频分段表示所述视频中所述最后视频分段所表示的内容后续的内容;并且
由所述代理服务器将所接收到的所述视频的一个或多个视频分段提供至所述媒体播放器。
9.根据权利要求1所述的方法,进一步包括:
由所述代理服务器选择所述视频的表示形式;
由所述代理服务器预先取回处于所选择表示形式的所述视频的一个或多个视频分段;并且
由所述代理服务器将预先取回的视频分段存储在本地存储中。
10.根据权利要求1所述的方法,其中与所述第一文件格式相比,所述第二文件格式的所述流数据由所述第二文件格式更为紧凑地表示。
11.一种存储用于回放视频内容的可执行计算机程序指令的非瞬时性计算机可读介质,所述计算机程序指令包括用于以下的指令:
由代理服务器检测从媒体播放器至内容共享服务的针对视频的第一文件格式的请求;
由所述代理服务器将所述请求从第一文件格式修改为第二文件格式,与所述第一文件格式所要求的相比,所述第二文件格式的流数据要求更低带宽以用于从所述内容共享服务传送所述流数据;
由所述代理服务器代表所述媒体播放器将经修改的针对所述视频的请求提供至所述内容共享服务;
由所述代理服务器响应于所述经修改的请求从所述内容共享服务接收所述第二文件格式的与所述视频相关联的流数据;
由所述代理服务器基于与从所述内容共享服务接收到的所述视频相关联的所接收到的流数据生成清单文件,所述清单文件包括与所请求的视频相关联的多个媒体播放列表,所述多个媒体播放列表中的每个媒体播放列表识别具有特定视觉质量的所请求的视频的表示形式并且包括所请求的视频的所述表示形式的多个视频分段;
由所述代理服务器将所述清单文件提供至所述媒体播放器以便下载所请求的视频的内容;以及
响应于所述媒体播放器取回所请求的视频的视频分段,由所述代理服务器确定所请求的视频的表示形式以从所述多个视频播放列表中选择。
12.根据权利要求11所述的计算机可读介质,其中,与所述视频相关联的所述流数据包括通过所述内容共享服务提供的所述视频的统一资源定位符(URL)。
13.根据权利要求11所述的计算机可读介质,其中,用于由所述代理服务器基于与所述视频相关联的所接收到的流数据生成所述清单文件的所述计算机程序指令包括用于以下的指令:
对所接收到的流数据进行解析以生成与所请求的视频相关联的一个或多个播放列表;
其中,所述播放列表包括至少一个主控媒体播放列表以及多个媒体播放列表,所述主控媒体播放列表包括多个媒体播放列表的多个统一资源定位符(URL),媒体播放列表识别处于特定视觉质量的所述视频的表示形式。
14.根据权利要求11所述的计算机可读介质,其中,所述多个媒体播放列表中的媒体播放列表包括由所述媒体播放列表所识别的视频的视频分段的位置的列表,并且视频分段表示所述视频的内容的一部分。
15.根据权利要求11所述的计算机可读介质,其中,所请求的视频的所述视觉质量通过与所请求的视频相关联的一个或多个视觉特征进行测量,所述视觉特征包括以下的至少一种:
表示所述视频的比特率;
所述视频的分辨率;
每秒钟的帧数;
所述视频的编码格式;和
所述视频的峰值信噪比。
16.根据权利要求11所述的计算机可读介质,其中,与所述视频相关联的所述多个媒体播放列表是HTTP直播流传输(HLS)格式并且被HLS流传输协议所支持。
17.根据权利要求11所述的计算机可读介质,其中,用于由所述代理服务器确定所述清单文件的所述计算机程序指令进一步包括用于以下的指令:
由所述代理服务器基于来自所述媒体播放器的用户的输入,确定所请求的视频的表示形式;并且
由所述代理服务器基于用于以所确定的表示形式流传输所述视频分段的当前比特率,自适应地更新所述表示形式。
18.根据权利要求11所述的计算机可读介质,进一步包括用于以下的计算机程序指令:
由所述代理服务器对处于所确定表示形式的所述视频中的最后视频分段的索引进行追踪;
由所述代理服务器检测来自所述媒体播放器的针对处于所确定表示形式的所述视频的视频分段的请求;
由所述代理服务器将经修改的针对所述视频分段的请求提供至所述内容共享服务,所述经修改的请求包括具有所确定的表示形式的所述最后视频分段的索引;
由所述代理服务器从所述内容共享服务接收一个或多个视频分段,所接收的视频分段表示所述视频中所述最后视频分段表示的内容后续的内容;并且
由所述代理服务器将所接收到的所述视频的一个或多个视频分段提供至所述媒体播放器。
19.根据权利要求11所述的计算机可读介质,进一步包括用于以下的计算机程序指令:
由所述代理服务器选择所述视频的表示形式;
由所述代理服务器预先取回处于所选择表示形式的所述视频的一个或多个视频分段;并且
由所述代理服务器将预先取回的视频分段存储在本地存储中。
20.根据权利要求11所述的计算机可读介质,其中,与所述第一文件格式相比,所述第二文件格式的所述流数据由所述第二文件格式更为紧凑地表示。
21.一种用于回放视频内容的计算机系统,所述系统包括:
代理服务器,所述代理服务器包括:
监视模块,所述监视模块用于:
检测从媒体播放器至内容共享服务的针对视频的第一文件格式的请求;
将所述请求从第一文件格式修改为第二文件格式,与所述第一文件格式所要求的相比,所述第二文件格式的流数据要求更低带宽以用于从所述内容共享服务传送所述流数据;
代表所述媒体播放器将经修改的针对所述视频的请求提供至所述内容共享服务;以及
响应于所述经修改的请求从所述内容共享服务接收所述第二文件格式的与所述视频相关联的流数据;和
清单生成模块,所述清单生成模块用于:
基于与从所述内容共享服务接收到的所述视频相关联的所接收到的流数据生成清单文件,所述清单文件包括与所请求的视频相关联的多个媒体播放列表,所述多个媒体播放列表中的每个媒体播放列表识别具有特定视觉质量的所请求的视频的表示形式并且包括所请求的视频的所述表示形式的多个视频分段;
将所述清单文件提供至所述媒体播放器以便下载所请求的视频的内容;以及
响应于所述媒体播放器取回所请求的视频的视频分段,确定所请求的视频的表示形式以从所述多个视频播放列表中选择。
22.根据权利要求21所述的计算机系统,其中,与所述视频相关联的所述流数据包括通过所述内容共享服务提供的所述视频的统一资源定位符(URL)。
23.根据权利要求21所述的计算机系统,其中,所述清单生成模块进一步用于:
对所接收到的流数据进行解析以生成与所请求的视频相关联的一个或多个播放列表;
其中,所述播放列表包括至少一个主控媒体播放列表以及多个媒体播放列表,所述主控媒体播放列表包括多个媒体播放列表的多个统一资源定位符(URL),媒体播放列表识别处于特定视觉质量的所述视频的表示形式。
24.根据权利要求21所述的计算机系统,其中,所述多个媒体播放列表中的媒体播放列表包括由所述媒体播放列表所识别的视频的视频分段的位置的列表,并且视频分段表示所述视频的内容的一部分。
25.根据权利要求21所述的计算机系统,其中,所请求的视频的所述视觉质量通过与所请求的视频相关联的一个或多个视觉特征进行测量,所述视觉特征包括以下的至少一种:
表示所述视频的比特率;
所述视频的分辨率;
每秒钟的帧数;
所述视频的编码格式;和
所述视频的峰值信噪比。
26.根据权利要求21所述的计算机系统,其中,与所述视频相关联的所述媒体多个播放列表是HTTP直播流传输(HLS)格式并且被HLS流传输协议所支持。
27.根据权利要求21所述的计算机系统,其中,所述清单生成模块进一步用于:
基于来自所述媒体播放器的用户的输入,确定所请求的视频的表示形式;并且
基于用于以所确定的表示形式流传输所述视频分段的当前比特率,自适应地更新所述表示形式。
28.根据权利要求21所述的计算机系统,进一步包括内容索引模块,所述内容索引模块用于:
对处于所确定表示形式的所述视频中的最后视频分段的索引进行追踪;
检测来自所述媒体播放器的针对处于所确定表示形式的所述视频的视频分段的请求;
将经修改的针对所述视频分段的请求提供至所述内容共享服务,所述经修改的请求包括具有所确定的表示形式的所述最后视频分段的索引;
从所述内容共享服务接收一个或多个视频分段,所接收的视频分段表示所述视频中所述最后视频分段所表示的内容后续的内容;并且
将所接收到的所述视频的一个或多个视频分段提供至所述媒体播放器。
29.根据权利要求21所述的计算机系统,进一步包括流选择模块,所述流选择模块用于:
选择所述视频的表示形式;
预先取回处于所选择表示形式的所述视频的一个或多个视频分段;并且
将预先取回的视频分段存储在本地存储中。
30.根据权利要求21所述的计算机系统,其中,与所述第一文件格式相比,所述第二文件格式的流数据由所述第二文件格式更为紧凑地表示。
CN201580030375.5A 2014-06-11 2015-04-30 增强型流媒体回放的方法、系统及计算机可读介质 Active CN106464945B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/302,244 US9692800B2 (en) 2014-06-11 2014-06-11 Enhanced streaming media playback
US14/302,244 2014-06-11
PCT/US2015/028606 WO2015191177A1 (en) 2014-06-11 2015-04-30 Enhanced streaming media playback

Publications (2)

Publication Number Publication Date
CN106464945A CN106464945A (zh) 2017-02-22
CN106464945B true CN106464945B (zh) 2019-07-12

Family

ID=54834074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580030375.5A Active CN106464945B (zh) 2014-06-11 2015-04-30 增强型流媒体回放的方法、系统及计算机可读介质

Country Status (6)

Country Link
US (2) US9692800B2 (zh)
EP (1) EP3155817A4 (zh)
KR (1) KR101904244B1 (zh)
CN (1) CN106464945B (zh)
AU (2) AU2015272044B2 (zh)
WO (1) WO2015191177A1 (zh)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX354712B (es) * 2013-07-23 2018-03-16 Ericsson Ab Sistema de distribucion de medios con ejecucion de autorizacion con base en una declaracion.
US8718445B1 (en) 2013-09-03 2014-05-06 Penthera Partners, Inc. Commercials on mobile devices
US9244916B2 (en) * 2013-10-01 2016-01-26 Penthera Partners, Inc. Downloading media objects
FR3016263A1 (fr) * 2014-01-07 2015-07-10 Orange Procede de traitement d'erreur de restitution d'un contenu numerique
FR3029376B1 (fr) * 2014-11-28 2016-12-30 B<>Com Procede de traitement d'une requete de livraison de donnees, dispositif, module proxy, terminal client et programme d'ordinateur associes
KR20160082167A (ko) * 2014-12-31 2016-07-08 삼성전자주식회사 네트워크에서 재생 목록을 제공하는 방법 및 장치
US9471954B2 (en) * 2015-03-16 2016-10-18 International Business Machines Corporation Video sequence assembly
FR3034943B1 (fr) * 2015-04-07 2017-04-14 Streamroot Inc Procede de lecture en continu sur un equipement client d'un contenu diffuse au sein d'un reseau pair a pair
US11757970B2 (en) * 2015-04-13 2023-09-12 Sony Group Corporation System and method for content streaming in a network environment
US10673907B2 (en) * 2015-07-16 2020-06-02 Arris Enterprises Llc Systems and methods for providing DLNA streaming to client devices
US9716905B2 (en) * 2015-08-10 2017-07-25 Verizon Patent And Licensing Inc. Selective content delivery over diverse networks
CN105847990B (zh) * 2016-03-30 2019-03-19 华为技术有限公司 播放媒体文件的方法和设备
US10116713B2 (en) * 2016-03-31 2018-10-30 Jamdeo Canada, Ltd. System and methods for content streaming with a content buffer
US10009659B2 (en) * 2016-03-31 2018-06-26 Disney Enterprises, Inc. System and method for hybrid push-based streaming
WO2017207861A1 (en) * 2016-05-30 2017-12-07 Teleste Oyj An arrangement for media stream organization
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
US10187681B2 (en) * 2016-12-01 2019-01-22 The Directv Group, Inc. Enhanced streaming source change
US10476822B2 (en) * 2016-12-08 2019-11-12 T-Mobile Usa, Inc. MSRP/HTTP file transfer
US10476943B2 (en) * 2016-12-30 2019-11-12 Facebook, Inc. Customizing manifest file for enhancing media streaming
US10440085B2 (en) 2016-12-30 2019-10-08 Facebook, Inc. Effectively fetch media content for enhancing media streaming
US10678497B2 (en) * 2016-12-31 2020-06-09 Spotify Ab Display of cached media content by media playback device
US10311012B2 (en) 2016-12-31 2019-06-04 Spotify Ab Media content playback with state prediction and caching
US10313419B1 (en) * 2017-01-31 2019-06-04 Amazon Technologies, Inc. VBR encoding of live content
US10484446B1 (en) 2017-01-31 2019-11-19 Amazon Technologies, Inc. VBR encoding of live content
US10491645B2 (en) 2017-03-01 2019-11-26 At&T Intellectual Property I, L.P. System and method for switching between adaptive bit rate and fixed rate streams
WO2018213481A1 (en) 2017-05-16 2018-11-22 Sportscastr.Live Llc Systems, apparatus, and methods for scalable low-latency viewing of integrated broadcast commentary and event video streams of live events, and synchronization of event information with viewed streams via multiple internet channels
KR102332525B1 (ko) 2017-06-01 2021-11-29 삼성전자주식회사 전자 장치 및 그 동작방법
US20180352287A1 (en) * 2017-06-02 2018-12-06 Apple Inc. Persistent ID for Offline Access to Streamed Media
US10764650B2 (en) * 2017-12-07 2020-09-01 At&T Intellectual Property I, L.P. Video optimization proxy system and method
CN108235104B (zh) * 2018-01-19 2020-08-28 深圳市富途网络科技有限公司 一种用于移动终端的直播视频浮窗播放方法
US10555018B2 (en) * 2018-02-02 2020-02-04 Martell Broadcasting Systems, Inc. Systems and methods of programmatic video content distribution
CN108401174B (zh) * 2018-02-24 2021-03-02 广州久邦世纪科技有限公司 一种带有虚拟直播房间直播系统的系统及其实现方法
US10182269B1 (en) * 2018-04-24 2019-01-15 Verizon Patent And Licensing Inc. HTTP live streaming delivery over multicast
CN108600778B (zh) * 2018-05-07 2020-11-03 广州酷狗计算机科技有限公司 媒体流发送方法、装置、系统及服务器、终端、存储介质
US10764494B2 (en) 2018-05-25 2020-09-01 Microsoft Technology Licensing, Llc Adaptive panoramic video streaming using composite pictures
US10666863B2 (en) * 2018-05-25 2020-05-26 Microsoft Technology Licensing, Llc Adaptive panoramic video streaming using overlapping partitioned sections
KR102643665B1 (ko) * 2018-09-17 2024-03-05 구글 엘엘씨 매니페스트리스 스트리밍 미디어 콘텐츠를 전달하기 위한 방법들, 시스템들, 및 매체들
US20200106778A1 (en) * 2018-09-28 2020-04-02 Comcast Cable Communications, Llc Content Authorization and Delivery
US11184665B2 (en) * 2018-10-03 2021-11-23 Qualcomm Incorporated Initialization set for network streaming of media data
CN109348240A (zh) * 2018-10-25 2019-02-15 网易(杭州)网络有限公司 视频播放方法、装置及系统、电子设备以及存储介质
US10911793B2 (en) * 2018-11-14 2021-02-02 Sony Interactive Entertainment LLC Video start-time reduction employing reductive edging principles
CN111526379B (zh) * 2019-02-03 2021-06-29 华为技术有限公司 数据传输方法和数据传输装置
US11647241B2 (en) * 2019-02-19 2023-05-09 Sony Interactive Entertainment LLC Error de-emphasis in live streaming
US11695817B2 (en) * 2019-03-20 2023-07-04 Qualcomm Incorporated Methods and apparatus to facilitate using a streaming manifest including a profile indication
FR3094597B1 (fr) 2019-03-27 2021-06-11 Streamroot Procédé de diffusion de contenus en streaming dans un réseau pair à pair
US10862946B1 (en) * 2019-04-05 2020-12-08 Sony Interactive Entertainment LLC Media player supporting streaming protocol libraries for different media applications on a computer system
US11509972B2 (en) * 2019-07-09 2022-11-22 Dolby International Ab Method and device for personalization of media data for playback
US11622164B2 (en) 2019-07-12 2023-04-04 Carrier Corporation System and method for streaming video/s
US11388471B2 (en) 2019-09-27 2022-07-12 At&T Intellectual Property I, L.P. Pre-fetching of information to facilitate channel switching
US10880347B1 (en) * 2019-11-15 2020-12-29 Adobe Inc. Media players for digital display devices using proxy services for offline capability
CN111131844A (zh) * 2019-12-02 2020-05-08 钛马信息网络技术有限公司 一种行车记录仪的资源共享方法及系统
KR102228375B1 (ko) * 2019-12-11 2021-03-16 네이버 주식회사 다수의 스트리밍 콘텐츠들을 재생하는 방법 및 시스템
US11343584B2 (en) 2020-01-10 2022-05-24 At&T Intellectual Property I, L.P. System and method for accelerated video startup
CN111800644B (zh) * 2020-07-14 2022-10-14 深圳市人工智能与机器人研究院 一种视频分享、获取方法、服务器、终端设备及介质
KR102432376B1 (ko) * 2020-10-19 2022-08-12 네이버 주식회사 콘텐츠 재생 방법 및 시스템
CN113395266B (zh) * 2020-11-06 2022-08-19 中软数智信息技术(武汉)有限公司 应用于物联网和直播平台的数据处理方法及云计算中心
CA3230746A1 (en) * 2021-09-10 2023-03-16 Brightcove Inc. Dynamic creation of low latency video streams in a live event

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070282898A1 (en) * 2006-05-05 2007-12-06 Real Digital Media, Llc Automated local insertion of content into master playlist in digital signage networks
US8812579B2 (en) * 2006-12-21 2014-08-19 Verizon Patent And Licensing Inc. Apparatus for transferring data via a proxy server and an associated method and computer program product
US8914824B2 (en) * 2009-01-07 2014-12-16 Microsoft Corporation Video ad delivery using configurable video ad policies
WO2011139305A1 (en) * 2010-05-04 2011-11-10 Azuki Systems, Inc. Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
US8677428B2 (en) * 2010-08-20 2014-03-18 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
US20120136941A1 (en) * 2010-11-30 2012-05-31 Timothy Howes User specific sharing feature
CN102567396A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 一种基于云计算的数据挖掘方法、系统及装置
US8892763B2 (en) * 2011-01-05 2014-11-18 Motorola Mobility Llc Live television playback optimizations
US8510460B2 (en) * 2011-04-29 2013-08-13 Cbs Interactive Inc. Reduced video player start-up latency in HTTP live streaming and similar protocols
US9160779B2 (en) * 2011-06-30 2015-10-13 Qualcomm Incorporated Dynamic adaptive streaming proxy for unicast or broadcast/multicast services
US8676952B2 (en) * 2011-09-13 2014-03-18 Ericsson Television Inc. User adaptive HTTP stream manager and method for using same
EP3525474A1 (en) * 2011-12-29 2019-08-14 Koninklijke KPN N.V. Controlled streaming of segmented content
US9712887B2 (en) * 2012-04-12 2017-07-18 Arris Canada, Inc. Methods and systems for real-time transmuxing of streaming media content
US8887215B2 (en) * 2012-06-11 2014-11-11 Rgb Networks, Inc. Targeted high-value content in HTTP streaming video on demand
US20140040496A1 (en) * 2012-08-06 2014-02-06 General Instrument Corporation On-demand http stream generation
EP2696552A1 (en) * 2012-08-07 2014-02-12 NTT DoCoMo, Inc. Method, system and network for transmitting multimedia data to a plurality of clients
US9197944B2 (en) * 2012-08-23 2015-11-24 Disney Enterprises, Inc. Systems and methods for high availability HTTP streaming
CN102801656B (zh) * 2012-08-29 2016-01-20 腾讯科技(深圳)有限公司 实现即时通信应用的状态控制方法、设备及系统
US9332296B2 (en) * 2013-02-12 2016-05-03 Ericsson Ab Content processing for personal over-the-top network video recorder
US8898338B1 (en) * 2014-03-06 2014-11-25 Unicorn Media, Inc. Traffic shaping for live media streaming

Also Published As

Publication number Publication date
US20150365450A1 (en) 2015-12-17
AU2015272044B2 (en) 2017-12-21
US20170257408A1 (en) 2017-09-07
EP3155817A1 (en) 2017-04-19
KR20170012471A (ko) 2017-02-02
EP3155817A4 (en) 2017-11-29
AU2015272044A1 (en) 2016-12-15
AU2018202004B2 (en) 2019-04-11
WO2015191177A1 (en) 2015-12-17
US10069884B2 (en) 2018-09-04
US9692800B2 (en) 2017-06-27
AU2018202004A1 (en) 2018-04-12
CN106464945A (zh) 2017-02-22
KR101904244B1 (ko) 2018-10-05

Similar Documents

Publication Publication Date Title
CN106464945B (zh) 增强型流媒体回放的方法、系统及计算机可读介质
US10999340B2 (en) Cloud-based video delivery
US20210067578A1 (en) Streaming media segments
US8327013B2 (en) Dynamic index file creation for media streaming
US10397289B2 (en) HTTP live streaming (HLS) video client synchronization
US20120005313A1 (en) Dynamic indexing for ad insertion in media streaming
JP2017529726A (ja) ストリーミングサービスのためのクライアント及びサーバの動作方法
US11785067B2 (en) Session-based information for dynamic adaptive streaming over HTTP
US8954540B2 (en) Dynamic audio track selection for media streaming
JP7252373B2 (ja) メディアコンテンツのメディアデータを受信する方法、装置、およびコンピュータプログラム
CN113767608A (zh) 用于基于http的动态自适应流传输的基于会话的信息
JP2022524073A (ja) Httpによる動的適応ストリーミングのための方法及び装置
CA2866472A1 (en) Dynamic audio track selection for media streaming
CN105592369B (zh) 一种视频摘要处理方法及装置
US20180034883A1 (en) Operating method of client for streaming service
RU2658860C2 (ru) Устройство прокси-сервера, способ обработки информации, программа, оконечное устройство и система предоставления контента
US11405698B2 (en) Information processing apparatus, information processing method, and program for presenting reproduced video including service object and adding additional image indicating the service object
EP3292698B1 (en) Http live streaming (hls) video client synchronization
KR102705349B1 (ko) Http 동적 적응 스트리밍을 위한 방법들 및 장치들
CN113364728A (zh) 媒体内容接收方法、装置、存储介质和计算机设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant