CN104918072B - 低延时实况视频流传输 - Google Patents
低延时实况视频流传输 Download PDFInfo
- Publication number
- CN104918072B CN104918072B CN201510084601.XA CN201510084601A CN104918072B CN 104918072 B CN104918072 B CN 104918072B CN 201510084601 A CN201510084601 A CN 201510084601A CN 104918072 B CN104918072 B CN 104918072B
- Authority
- CN
- China
- Prior art keywords
- video
- frequency band
- request
- section
- push
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000005516 engineering process Methods 0.000 claims abstract description 21
- 230000008859 change Effects 0.000 claims abstract description 14
- 230000005540 biological transmission Effects 0.000 claims description 42
- 238000003860 storage Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 7
- 239000012634 fragment Substances 0.000 claims description 4
- 238000000926 separation method Methods 0.000 claims description 3
- 238000012508 change request Methods 0.000 claims 1
- 230000003044 adaptive effect Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 10
- 239000003550 marker Substances 0.000 description 8
- 230000015654 memory Effects 0.000 description 8
- 230000001052 transient effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000007480 spreading Effects 0.000 description 3
- 238000003892 spreading Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 229910052804 chromium Inorganic materials 0.000 description 1
- 239000011651 chromium Substances 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- 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/60—Network 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/63—Control 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/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234318—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
-
- 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/60—Network 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/63—Control 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/643—Communication protocols
-
- 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/60—Network 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/65—Transmission of management data between client and server
- H04N21/654—Transmission by server directed to the client
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明的各实施例涉及低延时实况视频流传输。公开了用于低延时实况视频流传输的技术。客户端可以被配置为向服务器发送对于实况视频流传输的单个HTTP请求。服务器可以被配置为按照预定义的推送策略、响应于请求向客户端推送一个或者多个视频段。例如,使用所谓的全推送策略,客户端向服务器发送仅一个请求,并且作为响应,一旦每个段完成,服务器就向客户端推送所有视频段。可以使用HTTP 2.0协议以用于从服务器向客户端推送视频。这一技术消除了在使用小段时的请求剧增问题。另外,可以变化用每个请求推送的段的数目,这将有助于自适应比特率切换。
Description
技术领域
本公开内容总体上涉及数字媒体分发领域,并且更特别地涉及用于低延时视频流传输的技术。
背景技术
流式视频是在由提供者递送之时被向用户呈现的多媒体形式,该多媒体形式有别于涉及到在回放视频内容之前接收完整视频内容的简单文件传送。已经采用了超文本传送协议(HTTP)作为用于经由因特网用流传输视频内容的可伸缩和高效协议。HTTP实况流传输(HLS)、HTTP动态流传输(HDS)和通过HTTP的动态自适应流传输(DASH)是用于从HTTP web服务器用流传输多媒体的现有技术的示例。视频内容被划分成一系列文件段。使用这些协议来个别地递送每个段。例如,利用现有HTTP流传输技术,段具有固定间隔,并且每个段被视为用于HTTP请求和HTTP响应的分离的源。作为结果,直至完全地生成了视频内容所属于的完整固定间隔的视频段、才可以递送和回放视频内容。实况视频流传输(例如,来自实况体育事件)的延时一般是在实况事件发生时与在向用户回放它时之间的时间差。因此,延时至少是一个视频段间隔的持续时间,并且遭受到附加缓冲延迟和网络延迟。每个段经常至少若干秒长,这可能造成数十秒的延时。这样的延迟特别是在时间关键的实况流传输场景中是不希望的。
发明内容
本发明的各实施例涉及低延时实况视频流传输。
根据本发明的一个实施例,公开了一种计算机实施的方法,包括:在从实况内容源接收多媒体内容的部分时生成多个视频段,每个段代表该多媒体内容的相应的该部分;从客户端计算设备接收对于该视频段中的至少两个视频段的仅一个HTTP请求;以及根据预定义的推送策略从服务器计算机向该客户端计算设备推送该至少两个视频段,而无需来自该客户端的、对于该视频段中的每个视频段的分离的HTTP请求。
根据本发明内容的另一实施例,公开了一种计算机实施的方法,包括:由客户端计算设备向服务器计算机发送对于至少两个视频段的仅一个HTTP请求,该至少两个视频段代表多媒体内容的部分;由该客户端计算设备根据预定义的推送策略从该服务器计算机接收该至少两个视频段,而无需来自该客户端计算设备的、对于该视频段中的每个视频段的分离的HTTP请求;以及由该客户端计算设备使用该至少两个视频段来回放该多媒体内容。
根据本发明的又一实施例,公开了一种***,包括:存储装置;以及处理器,该处理器操作地耦合到该存储装置并且配置为执行在该存储装置中存储的指令,该指令在被执行时使得该处理器执行过程,该过程包括:在从实况内容源接收多媒体内容的部分时生成多个视频段,每个段代表该多媒体内容的相应的该部分;从客户端计算设备接收对于该视频段中的至少两个视频段的仅一个HTTP请求;以及根据预定义的推送策略从该***向该客户端计算设备推送该至少两个视频段,而无需来自该客户端计算设备的、对于该视频段中的每个视频段的分离的HTTP请求。
附图说明
附图并未旨在于按比例绘制。在附图中,在各图中图示的每个相同或者接近相同的部件由相似标号代表。
图1图示了根据本发明的一个实施例的、用于低延时实况视频流传输的示例客户端-服务器***。
图2图示了根据本发明的一个实施例的、用于示例请求-响应视频流传输推送策略的流程图。
图3图示了根据本发明的一个实施例的、用于另一示例请求-响应视频流传输推送策略的流程图。
图4图示了根据本发明的一个实施例的、用于又一示例请求-响应视频流传输推送策略的流程图。
图5示出了根据本发明的一个实施例的、用于低延时实况视频流传输的示例服务器侧方法。
图6示出了根据本发明的一个实施例的、用于低延时实况视频流传输的示例客户端侧方法。
图7是代表可以根据本发明的一个实施例被使用的示例计算设备的框图。
具体实施方式
如以上指出的那样,已经采用了HTTP流传输作为用于通过因特网递送视频内容的方案。这部分地由于HTTP服务器或者高速缓存的普遍性和可伸缩性。HTTP是无状态通信协议。一般而言,无状态协议是如下通信协议,该通信协议将对于信息的每个请求视为与任何先前请求无关的独立事务,从而使得通信由独立对的请求和响应构成。存在包括实况视频流传输的若干类型的视频流传输服务。实况视频流传输是对实况事件(比如体育竞赛)的视频的递送。理想地,这样的实况流传输在生成内容时实时(其中实质上没有延迟)或者接近实时(其中延迟不显著)地出现。因此,对于实况视频流传输,视频流传输解决方案应当具有相对低的延时。然而,现有HTTP视频流传输技术对于低延时应用(比如实况视频流传输)并不适合,因为对视频内容的分割在个别地封装、请求和实现每个段时引入在服务器与客户端之间的至少一个段延迟。一种用于减少延时的解决方案是减少每个段的长度。然而,减少段长度的结果是段数目成比例地增加(例如,使段长度减半使段总数加倍)。由于每个段被视为分离的资源,所以由客户端发布的HTTP请求的数目随着段数目增加。例如,对于六十秒实况事件,如果段持续时间是四秒,则将共计有十五个请求/响应对。然而,如果段持续时间被减少成一秒,则请求/响应对的数目将增长成六十。因而,非常小的段持续时间可能造成HTTP请求和响应的数目剧增。由于每个请求和响应给客户端、服务器和网络基础结构带来附加处理开销,所以这一简单解决方案不能获得充分数量的延时减少。
为此,这里公开了用于低延时视频流传输的技术。根据本发明的一个实施例,客户端可以被配置为向服务器发送对于实况视频流传输的单个请求。服务器可以被配置为按照预定义的推送策略向客户端发送或者推送一个或者多个视频段。例如,使用所谓的全推送策略,客户端向服务器发送仅一个请求,并且作为响应,一旦每个段完成,服务器就向客户端推送所有视频段。可以使用其它推送策略,比如以下进一步具体描述的推送策略。可以利用无状态通信协议(比如HTTP 2.0)来推送视频段。这一技术消除了在使用小段时的请求剧增问题。另外,可以在一些实施例中变化用每个请求推送的段的数目,以便提供用于客户端切换成适当比特率段而控制任何附加开销的方式。许多配置和变化将按照本公开内容而变得清楚。
如这里所用,术语“内容”和“多媒体内容”包括音频、视频、静止相片、数据、图形或者可以在任何联网的信息***(比如万维网)中标识、寻址、引用或者处置的任何其它信息或者可以经由物理介质(比如便携USB驱动、CD、DVD或者蓝光盘)从发布者向终端用户递送的任何信息。一般而言,内容包括数字形式的任何形式的信息;然而,可以在非数字形式(例如,模拟)或者数字形式和非数字形式的组合中体现内容。术语“视频”如这里所用旨在于包括所有类型的多媒体内容。
HTTP 2.0如这里引用的那样是例如万维网被使用的HTTP通信协议的版本。HTTP2.0由因特网工程任务小组(IETF)使用Google,Inc.的SPDYTM作为起点来标准化。与例如HTTP 1.1比较,HTTP 2.0通过使用头部字段压缩和允许在相同连接上的多个并行消息来实现对网络资源的更高效的使用和减少的延时感知。HTTP 2.0也支持数据从服务器向客户端的非请求推送。然而,HTTP 2.0未被设计用于视频流传输应用,并且服务器推送机制不能被直接采用以用于视频流传输。为此,这里公开的技术允许对视频流传输应用的以HTTP 2.0服务器推送为基础的递送,这些实况视频流传输应用包括例如运用基于HDS、HLS和DASH的客户端的实况视频流传输应用。
如这里所用,术语“推送”和“服务器推送”一般是指基于网络的通信,其中可以在实况视频段变成可用时从web服务器向客户端主动地推送段而无需来自客户端的对于每个段的分离的HTTP请求。在这里提供的一个特别的示例实施例中,实况服务器推送策略在接收单个请求之后推送多个视频段。以这一方式,可以通过减少段持续时间来实现低延时实况流传输体验而未引起多个请求的高度地增加的请求开销。推送服务与拉取服务对照,在拉取服务中,对每一个段的传输由来自数据的接收方(例如,服务器的客户端)的分离的请求发起。可以如这里提供的那样利用的推送服务的一个示例是HTTP 2.0服务器推送,该服务器推送一般包括从web服务器向web浏览器发送非请求或者异步数据。如将按照本公开内容被认识到的那样,提供实况视频内容推送服务的web服务器未必必须在已经向客户端推送了实况视频数据的第一段之后终止与客户端的连接。取而代之,web服务器可以让连接开放,从而使得如果事件出现(新内容变成可用),则可以使用现有连接来立即发送出它。
基于HTTP的视频流传输技术的现有版本(包括HLS、HDS、平滑流传输和DASH)未被设计或者优化用于与HTTP 2.0的服务器推送特征一起使用。因此,并且根据一个实施例,提供了一种使用无状态通信协议(比如HTTP 2.0)中的实况服务器推送策略的、用于实况视频流传输的技术。实况视频内容被分解成基于HTTP的文件段的序列。每个段包含是持续时间中的潜在的许多分钟或者小时的视频内容(比如对体育事件的实况广播)的短回放时间间隔(例如,秒级)。推送服务器从视频客户端(例如,DASH客户端)接收推送标记符请求以确定推送哪些段。可以例如在轻量级GET请求中包括推送标记符,该轻量级GET请求指示视频客户端正在请求的开始段编号和结束段编号。视频客户端可以在由它与之关联的给定的低延时推送策略确定的某些时间发送推送标记符请求。一旦推送的视频段由视频客户端的HTTP栈接收,就可以回放或者附加地和备选地在高速缓存(例如,客户端)中存储它们。然后,在视频客户端准备好回放已经推送的内容时,它可以从高速缓存获得该内容而无需向推送服务器发送出另一请求。
根据本发明的另一实施例,提供了一种用于使用由HTTP 2.0支持的服务器推送方案的视频流传输的方法。特别地,该方法包括根据给定的推送策略减少视频流的段大小,直至实现希望的延时,同时考虑开销的影响并且支持动态比特率切换。推送策略可以包括无推送策略、全推送策略或者k推送策略。无推送策略是如下推送策略,在该推送策略中,客户端发送对于每个视频段的HTTP请求,并且服务器通过向客户端发送对应的段来对每个请求做出响应。全推送策略是如下推送策略,在该推送策略中,客户端发布对于整个实况视频流的仅一个请求,并且服务器通过在每个视频段变成可用时主动地推送它来对请求做出响应。K推送策略是如下推送策略,在该推送策略中,客户端发布对于k个视频段的请求,并且服务器通过在每个段变成可用时推送上至k个段来对请求做出响应。变化k推送中的k可以用来保证客户端具有用于如果希望则切换成不同比特率/分辨率的适当能力。可以在客户端处通过发送对于视频段的不同比特略/分辨率的下一HTTP请求来完成切换。通过配置k值,可以控制客户端的能力和开销(例如,切换延迟)。在一些实施例中,可以对于给定的实况视频流组合两个或者更多不同推送策略;例如,将k推送策略使用某个时间段、继而是全推送策略或者无推送策略。其它推送策略及其组合可以被运用并且将按照本公开内容而变得清楚。
在一些实施例中,可以使得内容可用于在多种不同比特率和分辨率从推送服务器向客户端递送以便模拟HTTP流传输或者自适应比特率流传输的动态比特率切换方面。在一个这样的实施例中,在内容由视频客户端回放时,推送服务器基于当前网络条件(例如,可用或者可使用带宽的改变)自动地确定用于下一段的适当比特率。例如,推送服务器可以选择最低比特率并且因此选择可以被实时下载以用于回放的最小可能段,而未引起将中断回放或者以别的方式增加回放延时的拖延(stall)或者再缓冲事件。切换判决可以在客户端监视它的网络条件时由客户端自动地做出。一旦客户端确定切换成不同比特率和分辨率,它就将发送对于视频段的该比特率/分辨率的下一HTTP请求。服务器无状态并且可以对客户端的对于在请求的比特率/分辨率的特定段的HTTP请求。
用于低延时视频流传输的示例***
图1图示了根据一个实施例的、用于低延时视频流传输的示例客户端-服务器***100。***100包括实况视频封装器110(例如,基于HDS、HLS或者DASH的封装器或者其它适当封装器)、支持SPDY(例如,Jetty)的web服务器120和客户端计算设备130。客户端计算设备130包括视频播放器132(例如,DASH播放器或者其它适当视频播放器)和浏览器134(例如,Google Chromium基于SPDY的web浏览器或者其它适当HTTP兼容应用)。Web服务器120经由通信网络140(比如因特网或者另一适当广域网或者本地网络)与客户端130通信。实况内容源112向封装器110供应视频内容114。实况内容源112在一些实施例中可以包括或者操作地连接到如下设备,该设备捕获事件(比如体育事件、新闻会议或者舞台作品)的视频和音频(例如,分别经由相机和麦克风)。在一些实施例中,封装器110可以被结合在web服务器120内。在其它实施例中,可以在直接地或者经由网络140与web服务器120通信的服务器或者其它计算设备(未示出)上主控封装器110。在一些实施例中,高速缓存150可以与客户端计算设备130关联以用于存储由web服务器120推送的HTTP资源152,比如视频内容。高速缓存150可以例如用来在接收视频段时暂时存储它们。视频播放器132然后可以访问高速缓存150并且取回视频段以用于回放。
在使用时,***100提供用于使用服务器推送策略的低延时视频流传输的客户端-服务器环境。封装器110操作用于以用于向客户端130传输的任何适当方式(例如,使用基于文件段的方案,比如DASH、HDS等)封装视频内容114。取代如用现有技术完成的那样触发对于每个视频段的一个请求,在一个示例实施例中,web服务器120可以被配置为按照预定义的推送策略在接收对于视频流的第一请求之后主动地推送每个视频段。以这一方式,客户端有可能将向服务器的HTTP请求的数目减少至合理小的数目,例如,对于整个视频流的一个请求或者对于多个视频段的一个请求。另外,通过允许服务器经由HTTP向客户端推送封装的内容152,这一示例方法消除了对于某个长度的视频在段持续时间与请求数目之间的反比例关系,这如以上讨论的那样有效地限制了延时减少。因此,这一示例方法可以通过减少段持续时间并且通过使用向服务器的少量请求(例如,一个请求)以提高延时减少来减少实况视频流传输的延时。
可以向web服务器120配置基于引用者的推送策略,其中服务器在接收引用者URL的请求时推送在HTTP头部中具有相同引用者的所有内容。这一推送策略对于普通web内容(例如,除了实况视频流传输之外的内容,比如网页)充分好地起作用,因为在引用的主要资源中嵌入了需要推送的大多数关联的web内容。然而,基于引用者的推送策略出于至少以下原因而不适用于视频流传输。第一,现有视频播放器请求连续、独立视频段而不是嵌入的资源,并且因此推送的资源不能依赖于引用者进行视频流传输。第二,利用实况视频流传输,内容(例如,视频段)被实时生成并且因此除非它被生成否则不能推送它。第三,在现有服务器推送方案中,对于主要资源的请求保持未决,直至向客户端推送了所有请求的内容。这不满足实况视频流传输的要求,尤其是低延时要求。
因此,根据一个实施例,web服务器120可以被配置用于使用未依赖于引用者的推送策略的低延时视频流传输。例如,取代预计引用者URL的请求,web服务器120可以运用来自客户端的特殊推送标记符请求以确定推送的资源。在一些情况下,推送标记符可以是轻量级HTTP GET请求,该请求指示客户端130预计经由推送服务从web服务器120接收的开始段编号和结束段编号。另外,在一些情况下,客户端130可以使用推送标记符作为单向消息而未预计或者同步地等待响应。以这一方式,推送的内容未被未决推送标记符请求阻止,并且因而实况视频流传输一旦第一视频段变成可用就开始。另外,在一些情况下,可以在流传输期间变化推送策略的执行定时,从而使得服务器120可以一旦由内容封装器110生成了实况视频段就可以逐个推送它们。
在一个示例实施例中,视频播放器132可以被配置为在由使用的低延时方案确定的某些时间发送特殊推送标记符请求。一旦推送的内容152由浏览器134接收,就可以在客户端130的高速缓存150中存储它。然后,在客户端130请求已经推送的内容152时,它可以从它的高速缓存获得内容152而无需向web服务器120发送另一请求。
示例推送策略
图2图示了根据本发明的一个实施例的、用于示例请求-响应视频流传输推送策略的流程图200。在这一示例中,描述了全推送策略。利用全推送策略,客户端130仅发布对于整个实况视频流的一个请求。在接收请求时,服务器120一旦视频段就绪就主动推送所有视频段。服务器120可以在没有对于视频流的进一步请求时连续地向客户端130推送段。例如,客户端130可以向服务器120发送对于视频流的段1至n的请求(202),其中n代表视频的最后段。对于实况视频,n可以不确定、直至实况事件已经结束。另外,n可以根据每个段的长度而变化。响应于请求(202),服务器120可以在每个段被生成或者以别的方式变成可用于向客户端130推送时推送段1(204)、段2(206)等等直至段n(208)。
图3图示了根据本发明的一个实施例的、用于示例请求-响应视频流传输推送策略的流程图300。在这一示例中,描述了无推送策略。利用无推送策略,客户端130发布对于实况视频流中的每个段的一个请求。在接收请求时,服务器120仅推送请求的视频段。服务器120将不会在没有对于视频流的进一步请求时向客户端130连续地推送段。例如,客户端130可以向服务器120发送对于视频流的段1的请求(302)。响应于请求(302),服务器120可以在段被生成或者以别的方式变成可用于向客户端130推送时推送段1(304)。客户端130然后可以向服务器120发送对于视频流的段2的请求(306)和对于附加段至段n的更多这样的请求(310),其中n代表视频的最后段。服务器120通过向客户端130推送对应的段(304,308,312)来对每个请求(302,306,310)做出响应。
图4图示了根据本发明的一个实施例的、用于示例请求-响应视频流传输推送策略的流程图400。在这一示例中,描述了k推送策略。利用k推送策略,客户端130发布对于实况视频流的接下来可用的k个段的一个请求。在接收请求时,服务器120一旦接下来k个视频段就绪就主动地推送它们。服务器120可以在没有对于视频流的更多请求时向客户端130连续地推送段、直至第k个段。例如,客户端130可以向服务器120发送对于视频流的段1至k的请求(402)。响应于请求(402),服务器120可以在每个段被生成或者以别的方式变成可用于向客户端130推送时推送段1(404)、段2(406)等等、直至段k(408)。在任何时间,客户端130可以向服务器120发送对于视频流的另外k个段(例如,段n-k+1至段n)的请求(410)。响应于请求(410),服务器120可以在每个段被生成或者以别的方式变成可用于推送时推送接下来k个段、直至和包括段n。
示例服务器侧和客户端侧方法
图5示出了根据一个实施例的、用于低延时视频流传输的示例服务器侧方法500。可以例如在图1的web服务器120上实施方法500。方法500通过生成(510)各自代表多媒体内容的一部分的多个视频段来开始。视频段可以代表多媒体内容的不同连续时间段。可以例如在从实况内容源(比如图1的视频源112)接收多媒体内容的相应的部分时或者在后续时间生成每个段。方法500通过从客户端计算设备(例如,图1的客户端130)接收对于视频段中的至少一个视频段的请求(520)来继续。在一些实施例中,接收对于视频段中的至少两个视频段的仅一个HTTP请求。响应于请求,方法500通过根据预定义的推送策略(例如,比如以上关于图2、图3和图4描述的全推送、无推送或者k推送策略)向客户端计算设备推送(530)请求的段中的每个段来继续。在一些实施例中,推送至少两个请求的视频段而无需来自客户端计算设备的、对于视频段中的每个视频段的分离的HTTP请求。可以在一些情况下使用无状态通信协议(比如HTTP 2.0)来推送视频段。这一接收(520)和推送(530)过程可以无限地继续(例如,直至已经推送了整个视频流)。在一些实施例中,可以相对于对请求的接收(520)异步地推送(530)视频段。在一些实施例中,每个视频段的比特率和分辨率可以响应于网络条件的改变(例如,带宽可用性、网络流量、CPU利用率等的改变)而变化。在一些实施例中,对视频段的生成(510)可以与对请求的接收(520)和对已经被生成的请求的段的推送(530)并行出现。将理解,可以按照任何顺序和在任何时间由一个或者多个不同处理器执行在这一段中不同地描述的功能中的一些或者所有功能。
在一些实施例中,请求可以包括HTTP GET请求,该HTTP GET请求指示在将向客户端推送的多个视频段内的开始段和结束段。结束段可以是视频段中的最后视频段(例如,如在全推送策略中那样)或者除了第一视频段或者最后视频段之外的任何段(例如,如在k推送策略中)。备选地,请求的开始段和结束段可以是相同段(例如,如在无推送策略中)。视频段中的每个视频段可以根据基于文件片段的分割方案(比如通过HTTP的MPEG动态自适应流传输(DASH)和HTTP动态流传输(HDS))或者基于流片段的分割方案(比如HTTP实况流传输(HLS))被编码。
图6示出了根据一个实施例的、用于低延时视频流传输的示例客户端侧方法600。可以例如在图1的客户端计算设备130上实施方法600。方法600通过向服务器(例如,图1的web服务器120)发送(610)对于视频段的请求来开始。在一些实施例中,向服务器发送对于视频段中的至少两个视频段的仅一个HTTP请求。视频段代表由例如图1的实况内容源112提供的多媒体内容的一部分。视频段可以代表相对于多媒体内容的其它视频段的不同的连续时间段。可以例如在从实况内容源(比如图1的视频源112)接收多媒体内容的相应的部分时或者在后续时间生成视频段。方法600通过根据预定义的推送策略(例如,如以上关于图2、图3和图4描述的全推送、无推送或者k推送策略)从服务器接收(620)请求的视频段来继续。在一些实施例中,接收至少两个请求的视频段而无需来自客户端计算设备的、对于视频段中的每个视频段的分离的HTTP请求。可以在一些情况下使用无状态通信协议(比如HTTP2.0)来执行接收。该方法通过使用接收的视频段回放(630)多媒体内容来继续。请求(610)、接收(620)和回放(630)(例如对于k推送或者无推送策略)或者接收(620)和回放(630)(例如,对于全推送策略)的这一过程可以无限地继续(例如,直至已经接收和回放了整个视频流)。在一些实施例中,可以相对于对请求的发送(610)异步地接收(620)视频段。在一些实施例中,每个视频段的比特率和分辨率可以响应于网络条件的改变(例如,带宽可用性、网络流量、CPU利用率等的改变)而变化。视频段中的每个视频段可以根据基于文件片段的分割方案(比如通过HTTP的MPEG动态自适应流传输(DASH)和HTTP动态流传输(HDS))或者基于流片段的分割方案(比如HTTP实况流传输(HLS))被编码。将理解,可以按照任何顺序和在任何时间由一个或者多个不同处理器执行在这一段中不同地描述的功能中的一些或者所有功能。
示例计算设备
图7是代表可以用来实现如这里不同地描述的技术中的任何技术的示例计算设备1000的框图。例如,可以在计算设备1000中实施(比如关于图1描述的)封装器110、web服务器120、客户端计算设备130或者这些的任何组合。计算设备1000可以是任何计算机***,比如工作站、台式计算机、服务器、膝上型计算机、手持计算机、平板计算机(例如,iPadTM平板计算机)、移动计算或者通信设备(例如,iPhoneTM移动通信设备、AndroidTM移动通信设备等)或者能够通信并且具有充分处理器能力和存储器容量以执行这里描述的操作的其它形式的计算或者远程通信设备。可以提供包括多个这样的计算设备的分布式计算***。
计算设备1000包括一个或者多个存储设备1010和/或非瞬态计算机可读介质1020,该一个或者多个存储设备1010和/或非瞬态计算机可读介质1020具有在其上编码的、用于实施如这里不同地描述的技术的一个或者多个计算机可执行指令或者软件。存储设备1010可以包括用于存储数据和计算机可读指令和/或软件的计算机***存储器或者随机存取存储器,比如耐久盘存储装置(其可以包括任何适当的光或者磁耐久存储设备,例如,RAM、ROM、闪存、USB驱动或者其它基于半导体的存储介质)、硬驱动、CD-ROM或者其它计算机可读介质,这些数据和计算机可读指令和/或软件实施如这里教导的各种实施例。存储设备1010也可以包括其它类型的存储器或者其组合。可以在计算设备上提供或者从计算设备分离地或者远程地提供存储设备1010。非瞬态计算机可读介质1012可以包括但不限于一个或者多个类型的硬件存储器、非瞬态有形介质(例如,一个或者多个磁存储盘、一个或者多个光盘、一个或者多个USB闪存驱动)等。在计算设备1000中包括的非瞬态计算机可读介质1012可以存储用于实施各种实施例的计算机可读和计算机可执行指令或者软件。可以在计算设备1000上提供或者从计算设备分离地或者远程地提供计算机可读介质1012。
计算设备1000也包括用于执行在存储设备和/或非瞬态计算机可读介质中存储的计算机可读和计算机可执行指令或者软件以及用于控制***硬件的其它程序的至少一个处理器1020。可以在计算设备1000中运用虚拟化,从而使得可以动态地共享计算设备中的基础结构和资源。例如,可以提供虚拟机以处置在多个处理器上运行的过程,从而使得过程表现为仅使用一个计算资源而不是多个计算资源。多个虚拟机也可以与一个处理器一起被使用。
用户可以通过输出设备1030(比如屏幕或者监视器)与计算设备1000交互,输出设备1030可以显示根据一些实施例被提供的一个或者多个用户界面。输出设备1030也可以显示与一些实施例关联的其它方面、元素和/或信息或者数据。计算设备1000可以包括用于从用户接收输入的其它I/O设备1040,例如,键盘、操纵杆、游戏控制器、指点设备(例如,鼠标、用户的与显示设备直接地对接的手指等)或者任何其它适当用户接口。计算设备1000可以包括其它适当常规I/O外设。计算设备1000可以包括和/或操作地耦合到用于执行如这里不同地描述的功能中的一个或者多个功能的各种适当设备。计算设备1000可以包括用于经由网络(比如因特网)与其它设备通信的网络接口1014。
计算设备1000可以运行任何操作***,比如 操作***的版本中的任何版本、Unix和Linux操作***的不同发布、用于Macintosh计算机的的任何版本、任何嵌入式操作***、任何实时操作***、任何开源操作***、任何专有操作***、用于移动计算设备的任何操作***或者能够在计算设备上运行并且执行这里描述的操作的任何其它操作***。在一个实施例中,可以在一个或者多个云机器实例上运行操作***。
在其它实施例中,可以用硬件(比如门级逻辑(例如,FPGA)或者专用半导体(例如,ASIC))实施功能部件/模块。可以用微控制器和多个嵌入式例程实施更多其它实施例,该微控制器具有用于接收和输出数据的多个输入/输出端口,这些例程用于实现这里描述的功能。在更一般意义上,可以如将清楚的那样使用硬件、软件和固件的任何适当组合。
如按照本公开内容将清楚的那样,可以在软件(比如在任何计算机可读介质或者计算机程序产品(例如,硬驱动、服务器、盘或者其它适当非瞬态存储器或者存储器集合)上编码的指令集(例如,C、C++、面向对象的C、JavaScript、Java、BASIC等))中实施在图1中所示的***的各种模块和部件,比如封装器110、视频播放器132和浏览器134,这些指令集在由一个或者多个处理器执行时使得这里提供的各种方法被执行。将认识到,在一些实施例中,如这里描述的由用户计算***执行的各种功能可以由在不同配置和布置中的相似处理器和/或数据库执行,并且描绘的实施例并非旨在于限制。这一示例实施例的各种部件(包括用户计算***)可以被集成到例如一个或者多个台式或者膝上型计算机、工作站、平板计算机、智能电话、游戏控制台、机顶盒或者其它这样的计算设备中。计算***的其它典型部件和模块(比如处理器(例如,中央处理单元和协同处理器、图形处理器等)、输入设备(例如,键盘、鼠标、触板、触屏等)和操作***)未被示出、但是将容易地变清楚。
更多示例
许多实施例按照本公开内容而将清楚,并且可以在任何数目的配置中组合这里描述的特征。一个示例实施例提供了如下***,该***具有存储装置和操作地耦合到存储装置的处理器。处理器被配置为执行在存储装置中存储的指令,这些指令在被执行时使得处理器执行过程。过程包括在从实况内容源接收多媒体内容的一部分时生成多个视频段,每个段代表多媒体内容的相应的部分;从客户端计算设备接收对于视频段中的至少一个视频段的请求;以及根据预定义的推送策略从服务器计算机向客户端计算设备推送请求的一个或者多个视频段。另一实施例提供了一种非瞬态计算机可读介质或者计算机程序产品,该非瞬态计算机可读介质或者计算机程序产品具有在其上编码的指令,这些指令在由一个或者多个处理器执行时使得处理器执行在这一段中描述的功能中的一个或者多个功能。如先前讨论的那样,在一些情况下,可以按照任何顺序和在任何时间由一个或者多个不同处理器执行在这一段中不同地描述的功能中的一些或者所有功能。
仅通过示例呈现各种实施例的前文描述和附图。这些示例并非旨在于穷举本发明或者使本发明限于公开的精确形式。变更、修改和变化将按照本公开内容而变清楚并且旨在于在如在权利要求中阐述的本发明的范围内。
Claims (16)
1.一种用于推送视频段的计算机实施的方法,包括:
在从实况内容源接收多媒体内容的部分时生成多个视频段,每个段代表所述多媒体内容的相应的所述部分;
从客户端计算设备接收对于所述视频段中的至少两个视频段的仅一个HTTP请求,所述HTTP请求指示在将向所述客户端计算设备推送的所述多个视频段内的开始段和结束段;以及
根据预定义的推送策略从服务器计算机向所述客户端计算设备推送所述至少两个视频段,而无需来自所述客户端的、对于所述视频段中的每个视频段的分离的HTTP请求;以及
在推送所述至少两个视频段之后,至少部分基于表示所述至少两个视频段的生成和所述至少两个视频段的回放之间的时间差的延时来变化所述预定义的推送策略,其中所述预定义的推送策略是k推送策略并且所述结束段是除了所述多个视频段中的第一段和最后段之外的任何段,并且其中变化所述k推送策略包括改变响应于接收到所述HTTP请求而被推送的视频段的总数。
2.根据权利要求1所述的方法,其中使用无状态通信协议来执行对所述至少两个视频段的所述推送。
3.根据权利要求1所述的方法,其中所述请求包括HTTP GET请求,所述HTTP GET请求指示在将向所述客户端计算设备推送的所述多个视频段内的所述开始段和所述结束段。
4.根据权利要求1所述的方法,还包括根据基于文件片段的分割方案和基于流片段的分割方案中的至少一个分割方案对所述视频段中的每个视频段进行编码。
5.根据权利要求4所述的方法,其中所述分割方案包括HTTP实况流传输(HLS)技术、HTTP动态流传输(HDS)技术、平滑流传输技术和通过HTTP的MPEG动态自适应流传输(DASH)技术中的至少一个技术。
6.根据权利要求1所述的方法,其中所述视频段代表所述多媒体内容的不同连续时间段。
7.根据权利要求1所述的方法,还包括响应于网络条件的改变来变化至少一个视频段的比特率和分辨率中的至少一个。
8.根据权利要求1所述的方法,其中相对于对所述请求的所述接收异步地执行由所述服务器计算机对所述至少两个视频段的所述推送。
9.一种用于推送视频段的计算机实施的方法,包括:
由客户端计算设备向服务器计算机发送对于多个视频段中的至少两个视频段的仅一个HTTP请求,所述至少两个视频段代表多媒体内容的部分,所述HTTP请求指示在将向所述客户端计算设备推送的所述多个视频段内的开始段和结束段;
由所述客户端计算设备根据预定义的推送策略从所述服务器计算机接收所述至少两个视频段,而无需来自所述客户端计算设备的、对于所述视频段中的每个视频段的分离的HTTP请求;以及
由所述客户端计算设备使用所述至少两个视频段来回放所述多媒体内容,其中在回放所述至少两个视频段之后,所述预定义的推送策略至少部分基于表示所述至少两个视频段的生成和所述至少两个视频段的所述回放之间的时间差的延时而被变化,其中所述预定义的推送策略是k推送策略并且所述结束段是除了所述多个视频段中的第一段和最后段之外的任何段,并且其中变化所述k推送策略包括改变响应于接收到所述HTTP请求而被推送的视频段的总数。
10.根据权利要求9所述的方法,其中使用无状态通信协议来执行对所述至少两个视频段的所述接收。
11.根据权利要求9所述的方法,其中所述请求包括HTTP GET请求,所述HTTP GET请求指示在将从所述服务器计算机接收的多个视频段内的所述开始段和所述结束段。
12.根据权利要求9所述的方法,还包括根据基于文件片段的分割方案和基于流片段的分割方案中的至少一个分割方案对请求的所述视频段进行解码。
13.根据权利要求12所述的方法,其中所述分割方案包括HTTP实况流传输(HLS)技术、HTTP动态流传输(HDS)技术、平滑流传输技术和通过HTTP的MPEG动态自适应流传输(DASH)技术中的至少一个技术。
14.根据权利要求9所述的方法,其中响应于网络条件的改变、相对于由所述客户端计算设备接收的其它视频段变化请求的所述视频段的比特率和分辨率中的至少一个。
15.根据权利要求9所述的方法,其中相对于对所述请求的所述发送异步地执行由所述客户端计算设备对所述至少两个视频段的所述接收。
16.一种用于推送视频段的***,包括:
存储装置;以及
处理器,所述处理器操作地耦合到所述存储装置并且配置为执行在所述存储装置中存储的指令,所述指令在被执行时使得所述处理器执行过程,所述过程包括:
在从实况内容源接收多媒体内容的部分时生成多个视频段,每个段代表所述多媒体内容的相应的所述部分;
从客户端计算设备接收对于所述视频段中的至少两个视频段的仅一个HTTP请求,所述HTTP请求指示在将向所述客户端计算设备推送的所述多个视频段内的开始段和结束段;
根据预定义的推送策略从所述***向所述客户端计算设备推送所述至少两个视频段,而无需来自所述客户端计算设备的、对于所述视频段中的每个视频段的分离的HTTP请求;以及
在推送所述至少两个视频段之后,至少部分基于表示所述至少两个视频段的生成和所述至少两个视频段的回放之间的时间差的延时来变化所述预定义的推送策略,其中所述预定义的推送策略是k推送策略并且所述结束段是除了所述多个视频段中的第一段和最后段之外的任何段,并且其中变化所述k推送策略包括改变响应于接收到所述HTTP请求而被推送的视频段的总数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/213,127 US9635077B2 (en) | 2014-03-14 | 2014-03-14 | Low latency live video streaming |
US14/213,127 | 2014-03-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104918072A CN104918072A (zh) | 2015-09-16 |
CN104918072B true CN104918072B (zh) | 2019-09-06 |
Family
ID=52998473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510084601.XA Active CN104918072B (zh) | 2014-03-14 | 2015-02-15 | 低延时实况视频流传输 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9635077B2 (zh) |
CN (1) | CN104918072B (zh) |
DE (1) | DE102015002119B4 (zh) |
GB (1) | GB2525485B (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015013685A1 (en) | 2013-07-25 | 2015-01-29 | Convida Wireless, Llc | End-to-end m2m service layer sessions |
US11477262B2 (en) * | 2014-02-13 | 2022-10-18 | Koninklijke Kpn N.V. | Requesting multiple chunks from a network node on the basis of a single request message |
EP3120520B1 (en) * | 2014-03-17 | 2023-05-24 | bitmovin GmbH | Media streaming |
US11917002B2 (en) | 2014-10-14 | 2024-02-27 | Comcast Cable Communications, Llc | Manipulation and recording of content transmissions |
US11943289B2 (en) | 2014-10-14 | 2024-03-26 | Comcast Cable Communications, Llc | Manipulation of content transmissions |
US10050912B2 (en) * | 2014-10-27 | 2018-08-14 | At&T Intellectual Property I, L.P. | Subscription-based media push service |
US9723095B2 (en) * | 2014-12-05 | 2017-08-01 | At&T Intellectual Property I, L.P. | Multi delivery method policy controlled client proxy |
CN107251008B (zh) | 2015-02-27 | 2020-11-13 | 帝威视有限公司 | 在实况视频编码和流传输中进行帧复制和帧扩展的***和方法 |
GB2540632B (en) * | 2015-07-24 | 2018-05-16 | Canon Kk | Methods, devices and computer programs for pushing data in a network environment comprising cache servers |
US20170078351A1 (en) * | 2015-09-15 | 2017-03-16 | Lyve Minds, Inc. | Capture and sharing of video |
US10152080B2 (en) | 2015-09-23 | 2018-12-11 | Adobe Systems Incorporated | Power efficient multimedia content streaming based on media segment duration |
WO2017063189A1 (en) * | 2015-10-16 | 2017-04-20 | Qualcomm Incorporated | Deadline signaling for streaming of media data |
CN105516319B (zh) * | 2015-12-15 | 2019-02-19 | 华为技术有限公司 | 管理http报文的方法和装置 |
US10432678B2 (en) | 2016-01-04 | 2019-10-01 | Cisco Technology, Inc. | Multiparty real-time communications support over information-centric networking |
US10469885B2 (en) | 2016-03-22 | 2019-11-05 | Arris Enterprises Llc | Playback synchronization among adaptive bitrate streaming clients |
CN109891906B (zh) * | 2016-04-08 | 2021-10-15 | 维斯比特股份有限公司 | 递送360°视频流的***和方法 |
CN105978933B (zh) * | 2016-04-25 | 2019-09-17 | 青岛海信电器股份有限公司 | 一种网页请求及响应方法、终端、服务器和*** |
WO2017196670A1 (en) | 2016-05-13 | 2017-11-16 | Vid Scale, Inc. | Bit depth remapping based on viewing parameters |
US10708667B1 (en) * | 2016-06-28 | 2020-07-07 | Amazon Technologies, Inc. | Combining fragments with different encodings |
US11503314B2 (en) | 2016-07-08 | 2022-11-15 | Interdigital Madison Patent Holdings, Sas | Systems and methods for region-of-interest tone remapping |
WO2018018497A1 (zh) * | 2016-07-28 | 2018-02-01 | 王晓光 | 不同时延在视频广告接收中策略方法及*** |
DE102016116555A1 (de) * | 2016-09-05 | 2018-03-08 | Nanocosmos Informationstechnologien Gmbh | Verfahren zur Übertragung von echtzeitbasierten digitalen Videosignalen in Netzwerken |
KR102454470B1 (ko) | 2016-10-06 | 2022-10-14 | 삼성전자주식회사 | 스트리밍 서비스를 지원하는 방법 및 장치 |
CN107920108A (zh) * | 2016-10-11 | 2018-04-17 | 华为技术有限公司 | 一种媒体资源的推送方法、客户端及服务器 |
CN107959667B (zh) * | 2016-10-18 | 2020-10-09 | 华为技术有限公司 | 一种媒体分片的推送方法、服务器及客户端 |
CN115632686A (zh) | 2016-11-03 | 2023-01-20 | 康维达无线有限责任公司 | Nr中的帧结构 |
US10693928B2 (en) | 2017-01-30 | 2020-06-23 | Wipro Limited | Method and device for adaptive streaming of multimedia data |
US11765406B2 (en) | 2017-02-17 | 2023-09-19 | Interdigital Madison Patent Holdings, Sas | Systems and methods for selective object-of-interest zooming in streaming video |
KR102628139B1 (ko) | 2017-03-07 | 2024-01-22 | 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 | 멀티-디바이스 프리젠테이션을 위한 맞춤형 비디오 스트리밍 |
KR102307447B1 (ko) * | 2017-05-02 | 2021-09-30 | 삼성전자주식회사 | 네트워크 환경 모니터링에 기반하는 http 적응적 스트리밍 서버, 방법, 및 클라이언트 단말 |
US10461884B2 (en) | 2017-10-05 | 2019-10-29 | Comcast Cable Communications, Llc | Server selected variable bitrate streaming |
CN110166506B (zh) * | 2018-02-12 | 2021-11-19 | ***通信有限公司研究院 | 超文本传输协议Http的连接方法及节点设备 |
US11388464B2 (en) | 2018-09-25 | 2022-07-12 | Microsoft Technology Licensing, Llc | Increasing video bit rates while maintaining video quality |
KR20210066856A (ko) | 2018-09-27 | 2021-06-07 | 콘비다 와이어리스, 엘엘씨 | 새로운 라디오의 비허가 스펙트럼들에서의 부대역 동작들 |
CN109474486A (zh) * | 2018-09-30 | 2019-03-15 | 深圳市网心科技有限公司 | 流媒体数据传输欠速判定方法、***及装置 |
EP4272452A2 (en) * | 2021-01-04 | 2023-11-08 | Nokia Technologies Oy | Flexible upstream/downstream support for network-based media processing pipelines |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627694A (zh) * | 2003-12-10 | 2005-06-15 | 国际商业机器公司 | 与远程用户通信的方法和*** |
CN1801825A (zh) * | 2005-01-07 | 2006-07-12 | 微软公司 | 使用单个http请求批量传输消息 |
CN101917488A (zh) * | 2010-08-20 | 2010-12-15 | 成都市华为赛门铁克科技有限公司 | 一种bt下载方法、装置及*** |
CN102232298A (zh) * | 2011-04-07 | 2011-11-02 | 华为技术有限公司 | 媒体内容的传输处理方法、装置与*** |
CN102308547A (zh) * | 2008-12-31 | 2012-01-04 | 苹果公司 | 通过非流化协议流化多媒体数据的方法 |
CN102577308A (zh) * | 2009-09-22 | 2012-07-11 | 高通股份有限公司 | 使用可伸缩编码的增强型块请求流送 |
WO2012093202A1 (en) * | 2011-01-07 | 2012-07-12 | Nokia Corporation | Method and apparatus for signaling presentation |
WO2013030852A2 (en) * | 2011-08-29 | 2013-03-07 | Sling Media Pvt Ltd. | Systems and methods for controlling the encoding of a segmented media stream using segment transmit times |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100180011A1 (en) * | 2009-01-12 | 2010-07-15 | Microsoft Corporation | Url based retrieval of portions of media content |
US9237387B2 (en) * | 2009-10-06 | 2016-01-12 | Microsoft Technology Licensing, Llc | Low latency cacheable media streaming |
US8954596B2 (en) * | 2010-04-02 | 2015-02-10 | Netflix, Inc. | Dynamic virtual chunking of streaming media content |
US11025962B2 (en) | 2011-02-28 | 2021-06-01 | Adobe Inc. | System and method for low-latency content streaming |
-
2014
- 2014-03-14 US US14/213,127 patent/US9635077B2/en active Active
-
2015
- 2015-02-15 CN CN201510084601.XA patent/CN104918072B/zh active Active
- 2015-02-19 DE DE102015002119.2A patent/DE102015002119B4/de active Active
- 2015-03-06 GB GB1503780.7A patent/GB2525485B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627694A (zh) * | 2003-12-10 | 2005-06-15 | 国际商业机器公司 | 与远程用户通信的方法和*** |
CN1801825A (zh) * | 2005-01-07 | 2006-07-12 | 微软公司 | 使用单个http请求批量传输消息 |
CN102308547A (zh) * | 2008-12-31 | 2012-01-04 | 苹果公司 | 通过非流化协议流化多媒体数据的方法 |
CN102577308A (zh) * | 2009-09-22 | 2012-07-11 | 高通股份有限公司 | 使用可伸缩编码的增强型块请求流送 |
CN101917488A (zh) * | 2010-08-20 | 2010-12-15 | 成都市华为赛门铁克科技有限公司 | 一种bt下载方法、装置及*** |
WO2012093202A1 (en) * | 2011-01-07 | 2012-07-12 | Nokia Corporation | Method and apparatus for signaling presentation |
CN102232298A (zh) * | 2011-04-07 | 2011-11-02 | 华为技术有限公司 | 媒体内容的传输处理方法、装置与*** |
WO2013030852A2 (en) * | 2011-08-29 | 2013-03-07 | Sling Media Pvt Ltd. | Systems and methods for controlling the encoding of a segmented media stream using segment transmit times |
Also Published As
Publication number | Publication date |
---|---|
CN104918072A (zh) | 2015-09-16 |
DE102015002119A1 (de) | 2015-09-17 |
DE102015002119B4 (de) | 2023-11-16 |
GB2525485B (en) | 2017-06-07 |
GB201503780D0 (en) | 2015-04-22 |
US9635077B2 (en) | 2017-04-25 |
GB2525485A (en) | 2015-10-28 |
US20150264096A1 (en) | 2015-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104918072B (zh) | 低延时实况视频流传输 | |
US11684849B2 (en) | Distributed sample-based game profiling with game metadata and metrics and gaming API platform supporting third-party content | |
US11457088B2 (en) | Adaptive transfer rate for retrieving content from a server | |
Cai et al. | Toward gaming as a service | |
US10354692B2 (en) | Gapless video looping | |
JP5481606B1 (ja) | 画像生成システムおよび画像生成用プログラム | |
CN106303674B (zh) | 数据传输方法、装置和智能电视*** | |
CN108810657B (zh) | 一种设置视频封面的方法和*** | |
US11889133B2 (en) | Burst traffic processing method, computer device and readable storage medium | |
WO2011039590A2 (en) | Methods and systems to personalize content streams | |
CN108668158A (zh) | 一种弹幕同步方法、客户端和弹幕服务器 | |
JP7182727B2 (ja) | セッションのメディア・データを受信する方法、装置及びコンピュータ・プログラム | |
CN106817613B (zh) | 实现音视频内容播放的方法和装置 | |
CN108200444B (zh) | 一种视频直播的方法、装置和*** | |
CN107920108A (zh) | 一种媒体资源的推送方法、客户端及服务器 | |
US20150134846A1 (en) | Method and apparatus for media segment request retry control | |
KR20210032289A (ko) | 세그먼터 유동성을 위한 패키저 | |
EP2903260A1 (en) | Multi-speed playing method, device and system | |
CN113767608A (zh) | 用于基于http的动态自适应流传输的基于会话的信息 | |
JP2022524073A (ja) | Httpによる動的適応ストリーミングのための方法及び装置 | |
US20200134739A1 (en) | Apparatus and method for soliciting dynamic group support for an individual video streaming an event | |
WO2023284428A1 (zh) | 直播视频的播放方法、装置、电子设备、存储介质及程序产品 | |
CN113727134A (zh) | 一种直播聊天信息分发方法及*** | |
CN110113298A (zh) | 数据传输方法、装置、信令服务器和计算机可读介质 | |
US20230217047A1 (en) | Method, system, and computer-readable recording medium for implementing fast-switching mode between channels in multi-live transmission environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |