CN102356605A - 平滑、无状态的客户端媒体流式传输 - Google Patents
平滑、无状态的客户端媒体流式传输 Download PDFInfo
- Publication number
- CN102356605A CN102356605A CN2010800127021A CN201080012702A CN102356605A CN 102356605 A CN102356605 A CN 102356605A CN 2010800127021 A CN2010800127021 A CN 2010800127021A CN 201080012702 A CN201080012702 A CN 201080012702A CN 102356605 A CN102356605 A CN 102356605A
- Authority
- CN
- China
- Prior art keywords
- piece
- media
- client
- server
- request
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 9
- 241001269238 Data Species 0.000 claims description 3
- 230000033764 rhythmic process Effects 0.000 claims description 2
- 230000001360 synchronised effect Effects 0.000 claims 1
- 230000003044 adaptive effect Effects 0.000 abstract description 34
- 230000005540 biological transmission Effects 0.000 description 49
- 230000004044 response Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000032258 transport Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001839 systemic circulation Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
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/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- 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/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- 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/75—Media network packet handling
- H04L65/756—Media network packet handling adapting media to device capabilities
-
- 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/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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
- 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
- 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
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Investigating Or Analysing Biological Materials (AREA)
Abstract
在此描述了一种自适应流式传输系统,其提供客户端与服务器之间的用于流媒体回放的无状态连接,其中数据被格式化为使得允许客户端作出决策并且更快速地对改变的网络条件作出反应。客户端向包括媒体的一部分的服务器请求统一的媒体块。自适应流式传输系统以小尺寸块来请求媒体文件或实况流式传输事件的部分,所述小尺寸块每个都具有相区别的URL。这允许由现有因特网高速缓存基础结构来高速缓存流媒体数据。每个块都包含描述该块的编码的元数据信息以及供客户端回放的媒体内容。服务器可以提供多种编码的块,使得客户端可以快速地切换到不同比特率或回放速度的块。
Description
背景技术
流媒体是在被(使用服务器的)流式传输提供者递送时持续地由(使用客户端的)最终用户接收并且通常被呈现给最终用户的多媒体。存在若干用于流媒体的协议,包括实时流式传输协议(RTSP)、实时传输协议(RTP)、以及实时传输控制协议(RTCP),这些流式传输应用常常一起使用。由因特网工程任务组(IETF)于1998年作为评定要求文件(RFC)2326开发并创建的实时流式传输协议(RTSP)是供用在流媒体系统中的协议,该协议允许客户端远程控制流媒体服务器,发出诸如“播放”和“暂停”之类的类似于VCR的命令并且允许对服务器上的文件进行基于时间的访问。
流数据本身的发送不是RTSP协议的一部分。大多数RTSP服务器都将基于标准的RTP用作用于实际音频/视频数据的传输协议,其从某种程度上而言充当元数据通道。RTP定义标准化的分组格式以用于通过因特网递送音频和视频。RTP是由IETF的音频视频传输工作组开发并于1996年作为RFC 1889首次发布的,并且于2003年被RFC 3550取代。该协议在句法和操作方面类似于超文本传输协议(HTTP),但是RTSP添加了新的请求。尽管HTTP是无状态的,但是RTSP是有状态的协议。RTSP在需要时使用会话ID来跟踪会话。RTSP消息被从客户端发送给服务器,但是在服务器将把消息发送给客户端的情况下存在一些例外。
流式传输应用常常结合RTCP使用RTP。RTP运送媒体流(例如音频和视频)或者带外信令(双音多频(DTMF)),而流式传输应用使用RTCP来监控传输统计数据和服务质量(QoS)信息。RTP仅仅允许一种类型的消息、即将数据从源运送到目的地的消息。在许多情况下,在会话中需要其他消息。这些消息控制数据的流量和质量并且允许接收者向一个或多个源发送反馈。RTCP是为该目的设计的协议。RTCP具有五种类型的消息:发送方报告、接收方报告、源描述消息、bye(再见)消息以及应用专用消息。RTCP在对多媒体数据进行递送和打包时为RTP流以及RTP的伙伴提供带外控制信息,但是不传输任何数据本身。流式传输应用使用RTCP周期性地在流媒体会话中将控制分组传输给参与者。RTCP的一个功能是提供对RTP所提供的服务的质量的反馈。RTCP收集诸如发送的字节、发送的分组、丢失的分组、抖动、反馈以及往返延迟之类的关于媒体连接和信息的统计数据。应用可以使用该信息来提高服务质量(可能通过限制流量或者使用不同的编解码器或比特率)。
现有媒体流式传输架构的一个问题是服务器与客户端之间的紧密耦合。客户端与服务器之间的有状态的连接造成了附加的服务器开销,因为服务器跟踪每个客户端的当前状态。这还限制了服务器的伸缩性。另外,客户端不能快速地对诸如下列改变的条件作出反应:增加的分组丢失;减少的带宽;用户请求不同的内容或者修改现有内容(例如加速或倒带)等等,而不是首先与服务器通信并且等待服务器进行调整和响应。常常在客户端(例如通过RTCP)报告较低的可用带宽时,服务器不够快速地进行调整,从而在超过可用带宽的分组不被接收并且新的较低比特率分组未及时地从服务器发送时导致客户端上的用户注意到媒体的中断。为了避免这些问题,客户端常常缓冲数据,但是缓冲引入了等待时间,等待时间对于实况事件而言可能是不可接受的。
另外,因特网包含许多类型的可下载的媒体内容项目,包括音频、视频、文档等等。这些内容项目常常非常大,比如几百兆字节的视频。用户常常通过web浏览器使用HTTP在因特网上检索文档。因特网已经建立了路由器和代理的大的基础结构,这些路由器和代理有效地对数据进行高速缓存以用于HTTP。服务器可以以较少的延迟并且通过使用与从原始来源重新请求内容相比更少的资源来向客户端提供经高速缓存的数据。例如,纽约的用户可以下载从日本的主机所服务的内容项目,并且通过加利福尼亚的路由器接收该内容项目。如果新泽西的用户请求相同的文件,则加利福尼亚的路由器可能能够提供该内容项目,而不必再次从日本的主机请求该数据。这减少了可能通过紧张的路由的网络通信量,并且允许新泽西的用户以较少的延迟接收该内容项目。
遗憾的是,实况媒体常常不能使用现有协议来高速缓存,并且每个客户端都从相同的服务器或服务器组请求媒体。另外,当流媒体可以被高速缓存时,常常涉及专用高速缓存硬件,而不是现有和易于获得的基于HTTP的因特网高速缓存基础结构。高速缓存的缺乏限制了并发观众的数目、以及服务器能够处理的请求的数目,并且限制了实况事件的出席。世界上越来越多使用因特网来消费最新的实况信息,比如通过因特网观看诸如2008奥林匹克运动会开幕式之类的实况事件的创纪录的用户数目。当前技术的局限性正在减缓将因特网用作用于消费这种类型的媒体内容的介质。
发明内容
在此描述了一种自适应流式传输系统,其提供客户端与服务器之间的用于流媒体回放的无状态连接,其中数据被格式化为使得允许客户端作出在传统上由服务器进行的决策,并且因此更快速地对改变的网络条件作出反应。客户端向包括媒体的一部分的服务器请求统一的媒体块。自适应流式传输系统以小尺寸块来请求媒体文件或实况流式传输事件的部分,所述小尺寸块每个都具有相区别的URL。这允许现有因特网高速缓存基础结构对流媒体进行高速缓存,由此允许更多客户端在大致相同的时间观看相同内容。随着事件进展,客户端继续请求块,直到事件或媒体结束。每个块都包含描述该块的编码的元数据信息以及供客户端回放的媒体内容。服务器可以提供多种编码的块,使得客户端可以快速地切换到不同比特率或回放速度的块。因此,自适应流式传输系统向用户提供以下改善的体验:在流媒体回放中更少的中断,以及客户端将以更低的等待时间从更加本地的高速缓存服务器接收媒体的增加的可能性。
提供本概述以便以简化形式介绍在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图说明
图1是示出在一个实施例中的自适应流式传输系统的各组件的框图。
图2是示出在一个实施例中的使用Microsoft Windows和IIS的平滑流式传输系统的操作环境的框图。
图3是示出一个实施例中的在客户端上回放媒体的自适应流式传输系统的处理的流程图。
图4是示出一个实施例中的处理单个媒体块的自适应流式传输系统的处理的流程图。
具体实施方式
在此描述了一种自适应流式传输系统,其提供客户端与服务器之间的用于流媒体回放的无状态连接,其中数据被格式化为使得允许客户端作出在过去的协议中常常留给服务器作出的决策,并且因此更快速地对改变的网络条件作出反应。另外,自适应流式传输系统以允许现有因特网缓存基础结构高速缓存流媒体数据的方式运行,由此允许更多的客户端在大致相同的时间观看相同内容。自适应流式传输系统以小尺寸块来请求媒体文件或实况流式传输事件的部分,所述小尺寸块每个都具有相区别的URL。每个块可以自身是媒体文件,或者可以是整个媒体文件的一部分。随着事件进展,客户端继续请求块,直到事件结束。每个块都包含描述该块的编码的元数据信息以及供客户端回放的媒体内容。服务器可以提供多种编码的块,使得客户端例如可以快速地切换到不同比特率或回放速度的块。由于块依附于万维网联盟(W3C)HTTP标准,因此块小得足以被高速缓存,并且系统以相同方式向每个客户端提供块,所述块自然地由被现有因特网基础结构来高速缓存而不必进行修改。因此,自适应流式传输系统向用户提供以下改善的体验:在流媒体回放中更少的中断,以及客户端将以更低的等待时间从更加本地的高速缓存服务器接收媒体的增加的可能性。由于客户端与服务器之间的连接是无状态的,因此在长事件的持续时间内不必连接相同的客户端和服务器。在此所述的无状态系统不具有服务器亲和力,从而允许客户端拼凑来自已经在不同时间开始的服务器的清单,并且还允许服务器管理员按照负载规定开启或关闭原始服务器。
在一些实施例中,自适应流式传输系统在服务器与客户端之间使用新的数据传输格式。客户端向包括媒体的一部分的服务器请求媒体块。例如,对于10分钟的文件而言,客户端可以请求2秒的块。注意,不同于服务器将数据推送给客户端的典型流式传输,在这种情况下,客户端从服务器拉取媒体块。在实况流的情况下,服务器可以在进行中创建媒体,并且产生块来响应客户端请求。因此,根据服务器多快地创建块以及客户端多快地请求块,客户端可以仅仅落后于服务器若干块。
每个块都包含元数据和媒体内容。元数据可以描述诸如下列关于媒体内容的有用信息:媒体内容的比特率;媒体内容被放入到较大的媒体元素中的何处(例如该块表示10分钟的视频剪辑中的偏移量1∶10);用于对媒体内容进行编码的编解码器等等。客户端使用该信息将块放置到较大的媒体元素的故事板中并且合适地对媒体内容进行解码和回放。
图1是示出在一个实施例中的自适应流式传输系统的各组件的框图。自适应流式传输系统100包括块请求组件110、块解析组件120、清单组装组件130、媒体回放组件140、QoS监控组件150、以及时钟同步组件160。此处更详细地描述了这些组件中的每一个。在此所述的自适应流式传输系统100主要在客户端计算机系统处运行。然而,本领域的普通技术人员能够认识到,该系统的各个组件可以放置在内容网络环境内的各个位置处以提供特定的积极结果。
块请求组件110作出客户端对来自服务器的各个媒体块的请求。如图2所示,客户端的请求可以首先经过边缘服务器(例如因特网高速缓存),然后经过原始服务器,并且然后经过摄取服务器。在每个阶段,如果所请求的数据被找到,则请求不进行到下一等级。例如,如果边缘服务器具有所请求的数据,则客户端从边缘服务器接收该数据,并且原始服务器不接收该请求。每个块都具有个别化地标识出该块的统一资源定位符(URL)。因特网高速缓存服务器擅长于高速缓存对特定URL请求(例如HTTP GET)的服务器响应。因此,当第一客户端接通到服务器以获取块时,边缘服务器高速缓存该块,并且请求该同一块的后续客户端可以从边缘服务器接收该块(基于高速缓存的寿命和服务器存活时间(TTL)设定)。块请求组件110接收块并且将其传递给块解析组件120以用于解释。
块解析组件120解释由块请求组件110接收的媒体块的格式,并且将块分成其组分部分。通常,块包括含有元数据的报头部分、以及含有媒体内容的数据部分。块解析组件将元数据提供给清单组装组件130,并且将媒体内容提供给媒体回放组件140。
清单组装组件130构建描述所接收的媒体内容所属的媒体元素的清单。由客户端整体下载(例如未流式传输)的大媒体文件常常包括清单,该清单描述整个文件、用于对文件的各个部分进行编码的编解码器和比特率、关于文件内的有意义的部分的标记等等。在尤其时流式传输实况内容期间,服务器不能提供完整的清单,因为事件还在继续进行。因此,服务器通过媒体块中的元数据提供其所能提供的清单那样多的清单。服务器还可以提供诸如预定义URL之类的应用编程接口(API)以供客户端请求直到媒体流中的当前点的清单。这在客户端在事件已经进展以后加入实况流式传输事件时可能是有用的。清单允许客户端请求媒体元素的之前被流式传输的部分(例如通过倒带),并且客户端通过被流式传输的媒体块的元数据继续接收清单的新的部分。
清单组装组件130构建与对完整媒体文件可用的清单类似的清单。因此,随着事件进行,如果用户想要在媒体中向后跳转(例如倒带或跳转到特定的位置),然后再次向前跳转,则用户可以这样做并且客户端使用经组装的清单来找出合适的一个块或多个块以向用户回放。当用户暂停时,系统100可以继续接收媒体块(或者基于相区别的请求URL仅仅接收块的元数据部分),使得清单组装组件130可以继续构建清单并且在用户结束暂停以后为任何用户请求做好准备(例如跳转到当前的实况位置或者从暂停位置播放)。客户端侧经组装的清单允许客户端在媒体事件一结束就将该事件作为点播内容进行回放,以及在媒体事件进行时在媒体事件的范围内跳转。
媒体回放组件140使用客户端硬件来回放所接收的媒体内容。媒体回放组件140可以调用一个或多个编解码器来解释在其内部的媒体内容被传输的容器并且将媒体内容从经压缩的格式解压缩或以其他方式解码成原始格式(例如YV12、RGBA或者PCM音频采样)。媒体回放组件140然后可以将原始格式媒体内容提供给操作系统API(例如Microsoft DirectX)以供在诸如显示器和扬声器之类的本地计算机系统声音和视频硬件上回放。
QoS监控组件150分析从服务器接收分组的成功,并且基于一组当前网络和其他条件调整客户端的请求。例如,如果客户端按照惯例延迟地接收媒体块,则组件150可以确定:客户端与服务器之间的带宽对于当前的比特率而言不够,并且客户端可以开始请求较低比特率的媒体块。QoS监控可以包括其他试探法的测量,比如呈现帧速、窗口大小、缓冲器大小、重新缓冲的频率等等。每种比特率的媒体块都可以具有相区别的URL,使得各种比特率的块都由因特网高速缓存基础结构来高速缓存。注意,服务器不跟踪客户端状态并且不知道任何特定客户端当前正在以何种比特率播放。服务器可以简单地提供各种比特率的相同的媒体元素以满足在一定范围的条件下的潜在客户请求。另外,客户端所接收的初始清单和/或元数据可以包括关于从服务器可用的比特率和其他编码性质的信息,使得客户端可以选择将提供良好的客户端体验的编码。
注意,当切换比特率时,客户端可以简单地开始请求新的比特率并且在客户端接收到块时回放新的比特率块。客户端不必向服务器发送控制信息并且等待服务器调整流。客户端的请求甚至可以由于客户端与服务器之间的满足该请求的高速缓存而不到达服务器。因此,客户端比常规媒体流式传输系统中的客户端快得多地作出反应,并且服务器上具有在各种当前条件下所连接的不同客户端的负担显著减小。另外,由于当前条件往往是局部化的,因此可能的是,处于特定地理区域中或者特定因特网服务提供商(ISP)上的许多客户端将体验类似的条件并且将请求类似的媒体编码(例如比特率)。由于高速缓存往往也是局部化的,因此可能的是特定情况下的客户端将感到它们附近的高速缓存“新鲜地”具有他们各自请求的数据,使得由每个客户端体验到的等待时间将是少的。
时钟同步组件160同步服务器和客户端的时钟。尽管绝对时间与客户端和服务器在大体上是不相关的,但是能够标识出特定的块以及知道请求块的速率(例如节奏)是与客户端相关的。例如,如果客户端过快地请求数据,则服务器将还不具有该数据,并且将以错误响应作出响应(例如HTTP 404未找到错误响应),从而造成许多不必要地消耗带宽的虚假请求。另一方面,如果客户端过慢地请求数据,则客户端不能及时地具有数据以供回放,从而造成向用户回放的媒体中的可察觉的中断。因此,在客户端知道服务器产生新块的速率并且知道当前块被放入到总体时间线中的何处时,客户端和服务器良好地工作。时钟同步组件160通过允许服务器和客户端在特定时间具有相似时钟值来提供该信息。服务器还可以用服务器创建每个媒体块的时间来标记每个媒体块。
时钟同步还给予服务器跨每个编码器的公共参考。例如,服务器可以同时以多种比特率并且使用多种编解码器对数据进行编码。每个编码器都可以以不同方式引用经编码数据,但是时间戳可以以跨所有编码器被设置为通用。通过这种方式,如果客户端请求特定的块,则无论客户端选择何种编码,该客户端都将获得表示相同时间段的媒体。
在其上面实现了系统的计算设备可包括中央处理单元、存储器、输入设备(例如,键盘和指示设备)、输出设备(例如,显示设备),以及存储设备(例如,磁盘驱动器或其他非易失性存储介质)。存储器和存储设备是可以编码有实现或启用系统的计算机可执行指令(例如,软件)的计算机可读的存储介质。另外,数据结构和消息结构可以被存储或通过诸如通信链路上的信号之类的数据传输介质传输。可以使用各种通信链路,如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等等。
系统的各实施例可以在各种操作环境中实现,操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、数码相机、网络PC、小型计算机、大型计算机、包括上述系统或设备中的任一个的分布式计算机环境等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子产品、数码相机等等。
可以在由一台或多台计算机或其他设备执行的诸如程序模块之类的计算机可执行的指令的一般上下文中来描述本系统。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可以按需在各个实施例中进行组合或分布。
图2是示出在一个实施例中的使用Microsoft Windows和IIS的平滑流式传输系统的操作环境的框图。该环境通常包括源客户端210、内容递送网络240、以及外部网络270。源客户端是媒体或实况事件的源。源客户端包括媒体源220和一个或多个编码器230。媒体源220可以包括:相机,这些相机每个都提供多个相机角度;麦克风捕获音频;幻灯片呈现;文本(比如来自隐藏字幕服务);图像;以及其他类型的媒体。编码器230并行地以一种或多种编码格式对来自媒体源220的数据进行编码。例如,编码器230可以产生多种比特率的经编码的媒体。
内容递送网络240包括一个或多个摄取服务器250和一个或多个原始服务器260。摄取服务器250从编码器230接收每种编码格式的经编码媒体,并且创建描述经编码媒体的清单。摄取服务器250可以创建和存储在此所述的媒体块,或可以在块被请求时在进行中创建块。摄取服务器250可以比如通过HTTPPOST从编码器230、或者经由拉取通过请求数据从编码器230接收推送的数据。编码器230和摄取服务器250可以以多种冗余配置来连接。例如,每个编码器都可以将经编码媒体数据发送给每个摄取服务器250或者仅仅发送给一个摄取服务器直到发生故障。原始服务器260是响应于对媒体块的客户端请求的服务器。原始服务器260也可以以多种冗余配置来配置。
外部网络270包括边缘服务器280和其他因特网(或者其他网络)基础结构和客户端290。当客户端作出对媒体块的请求时,客户端向原始服务器260提出该请求。由于网络高速缓存的设计,如果边缘服务器280之一包含该数据,则该边缘服务器可以响应于客户端而不必传递该请求。然而,如果数据在边缘服务器处不可用,则边缘服务器将该请求转发给原始服务器260之一。同样,如果原始服务器260之一接收到对不可用数据的请求,则该原始服务器可以向摄取服务器250之一请求该数据。
图3是示出一个实施例中的在客户端上回放媒体的自适应流式传输系统的处理的流程图。始于框310,该系统选择以此从服务器请求经编码媒体的初始编码。例如,系统可以最初选择最低可用的比特率。该系统可能之前已经向服务器发送了请求以发现可用的比特率以及其他可用编码。在框320继续,系统请求和播放特定的媒体块,这将参考图4予以进一步描述。在框330中继续,该系统基于所请求的块确定服务质量度量。例如,块可能包括针对服务器当前存储的块那样多的附加块的元数据,这些块可以被客户端用于确定客户端相对于服务器多快地产生块而言多快地请求块。该过程在此处更详细地描述。
在决策框340中继续,如果系统确定:当前QoS度量过低并且到服务器的客户端连接不能处理当前编码,则系统在框350继续,否则系统循环到框320以处理下一块。在框350中继续,系统选择媒体的不同编码,其中系统通过从不同URL请求数据来为来自服务器的随后的块选择不同的编码。例如,系统可以选择消耗当前编码的一半带宽的编码。同样,系统可以确定:QoS度量指示客户端可以处理更高比特率编码,并且客户端可以为随后的块请求更高的比特率。通过这种方式,客户端基于当前条件向上和向下调节比特率。
尽管图3将QoS确定示为发生在每个块之后,但是本领域的普通技术人员将认识到,其他QoS实施方式是普遍的,比如等待固定数目的分组或块(例如每10个分组)以作出QoS确定。在框350之后,系统在有块可用的情况下循环到320以处理下一块,或者在没有另外的媒体可用的情况下结束(未示出)。
图4是示出一个实施例中的处理单个媒体块的自适应流式传输系统的处理的流程图。在框410中继续,系统基于所选的初始比特率通过网络将对块的请求从客户端发送给服务器。例如,系统可以基于所选编码选择请求数据的特定URL(例如http://server/a.isml/quality/bitrate)。在框420中继续,系统在客户端处接收所请求的块。系统可以从服务器或者从网络上的处于服务器与客户端之间的高速缓存接收块。在框430中继续,系统将块解析成元数据部分和媒体数据部分。例如,每个块都可以包含描述块的编码的元数据以及适于使用编解码器和合适硬件进行回放的媒体数据。
在框440中继续,系统将块元数据添加到正在进行的媒体清单中,该清单描述关于每个媒体数据块所属的较大的媒体元素的信息。例如,系统可以在存储器中存储包含来自每个媒体文件块的元数据的清单。在框450中继续,系统使用由块元数据和客户端的硬件所标识出的编解码器来播放媒体数据。媒体数据可以包括视频、音频、以及系统在包括显示器、扬声器等等在内的硬件上回放的其他类型的数据。可替代地或附加地,该数据可以包括与回放不同的方式被消费的非视听数据(例如文本),在这种情况下,该系统基于数据的类型作用于数据。在框450之后,这些步骤结束。
在一些实施例中,自适应流式传输系统为实况媒体流提供类似于数字录像机(DVR)的功能。换言之,用户可以暂停实况流,在实况流内查找等等,而不必给服务器增添工作或状态跟踪。在实况流中,存在诸如错过画面、暂停以中断、在后期加入事件、打算从开始观看等等的若干情景,这些情景由该系统来实现,从而允许用户以各种顺序以及在各个时间播放块。基于在此所述的经组装的清单,系统向用户提供对他们如何观看实况流的控制。如今,这些控制在电视的情况下通过DVR可用。自适应流式传输系统包括客户端控制来在非实况模式下通过尝试清单中的各个位置而响应于用户动作以及管理实况流的回放。另外,客户端可以在回放期间在实况与非实况观看之间切换。
在一些实施例中,自适应流式传输系统在web浏览器插件内运行。例如,该系统可以包括在Microsoft Silverlight应用中。Microsoft Silverlight接收网页中对包含在称为XAP文件的容器中的应用的引用。Microsoft Silverlight提取XAP文件并且调用该应用。Microsoft Silverlight给应用提供沙箱中(sandboxed)的安全环境以在其中运行,使得用户的计算机系统被保护免受恶意或错误应用代码损害。Microsoft Silverlight提供如下的API:所述API可以由应用以保护用户的计算机和硬件免受潜在有害的应用动作损害的方式来调用来回放媒体。因此,Microsoft Silverlight和其他浏览器插件可以提供自适应流式传输系统预期运行在其内的环境的所有功能。
在一些实施例中,自适应流式传输系统在当前块中接收之后的块的元数据。例如,服务器可以保持准备好的特定块直到一定数目的附加块(例如两个块)可用。然后,服务器可以将该块与关于接下来几个块的元数据信息一起发送。客户端可以使用这些信息来得知什么将要到来并且合适地进行调整。这允许客户端智能地调节请求速率。例如,如果客户端请求块并且其不具有关于之后的块的任何信息,则该客户端知道它请求数据过快。如果客户端请求块,并且接收到关于过多之后的块的信息,则客户端可能请求信息过慢。因此,客户端使用提前元数据作为提示来进行调整。
在一些实施例中,自适应流式传输系统提供用于试探法的插件模型以确定在特定时间使用媒体的何种编码。例如,系统可以允许管理员在用于基于特定的条件(例如减小的带宽或增加的分组丢失)来确定请求媒体块的速率的若干策略中选择。另外,内容提供商可以包括其自己的试探法以用于确定要使用的编码,并且可以在应用包(例如Microsoft Silverlight XAP)文件中提供试探法作为应用模块或应用依赖性模块,该应用包由客户端在播放期间从内容提供商下载。
在一些实施例中,自适应流式传输系统存储在此所述的经组装的清单以供之后使用,比如在实况事件的次日回放。在实况事件期间,客户端可能已经基于网络条件请求了各种编码的块。客户端浏览器也可以在浏览器的高速缓存中包含这些块。如果用户请求之后回放媒体,则尝试从本地高速缓存回放媒体是最高效的,这通常意味着客户端请求原来播放的恰好相同的块。通过存储具有来自实际上已接收的每个块的元数据的清单,客户端可以使用之前已请求过的相同编码连续地回放媒体。这可以使得用户能够在到原始服务器的连通性不可用的情况下在诸如飞机之类的情景中观看媒体。
在一些实施例中,自适应流式传输系统提供用于同步相关媒体流的逻辑。例如,实况视听事件可以包括一个或多个视频流(例如相机角度)以及一个或多个音频流(例如语言)。当客户端分开地下载音频和视频块时,系统通过将与每个块相关联的时间信息对齐来同步地播放音频和视频媒体内容,这将在此参考时钟同步予以进一步描述。该系统还可以同步其他类型的数据,比如幻灯片呈现中的幻灯片、图像、文本等等。
在一些实施例中,自适应流式传输系统提供用于切换到由服务器提供的不同播放速率流(例如特效播放)的客户端侧逻辑。例如,服务器可以包括2X、5X、0.5X或其他回放速度。客户端可以切换到不同速率的流以向用户提供媒体在快进(例如2X)或倒带(例如0.5X)的表现。为了进行切换,客户端简单地请求例如处于不同URL处的不同媒体块。客户端可以通过继续播放所接收的特定块来平滑地在以当前速率播放块与以不同速率播放块之间切换。这向最终用户提供无缝的体验,其中在用户的请求与媒体回放的改变之间几乎没有等待时间。这也节省了网络带宽,因为客户端没有为了快1倍播放媒体而2次下载数据,而是下载该媒体的大小降低的编码,其中该编码是以加速的速率编码的。
在一些实施例中,自适应流式传输系统接收元数据中的精彩场面标记。精彩场面可以包括媒体的任何感兴趣的片段,比如运动事件期间运动员进球得分的时刻。客户端可以在事件已经结束以后通过播放与精彩场面标记相关联的那些媒体块来播放精彩场面卷。如果客户端未曾接收实况事件,则客户端可以请求媒体的清单并且然后仅仅请求与精彩场面相对应的那些块。如果用户想要观看精彩场面之前或之后的更多媒体(例如由用户快进或倒带来指示),则客户端可以请求附加的块来播放所请求的媒体部分。
在一些实施例中,自适应流式传输系统支持内联广告和其他非视听数据(例如字幕、评论等等)。对于实况事件而言,可能在事件开始时不知道何时将出现广告中断。事件协调员可以在制片期间在该播广告的时间按下按钮,从而导致系统在媒体流元数据中插入广告标记。当客户端接收到广告标记时,客户端可以请求和接收与之前标识出的广告相关联的块。例如,服务器可以在初始清单中提供潜在广告的列表。广告可以配备在与其他媒体类似的块内,并且可以不存储在提供实况事件的相同服务器处。在遇到广告标记时,客户端暂停主流的回放,检索和显示广告,并且然后恢复主流的回放。
在一些实施例中,自适应流式传输系统基于订阅或其他支付模型来确定哪些编码可用。例如,内容提供商可以针对实时事件的高清(HD)版本收取比该事件的标清(SD)版本更多的费用。在这种情况下,客户端可以基于是否已经满足支付模型的条件(例如用户的账户为当前的)来启用或停用到特定比特率的切换。内容提供商可以免费提供一些编码,比如低比特率或仅限精彩场面的媒体,而对其他编码收费。
自适应流式传输系统可以请求和接收多种编码的媒体内容。在一些实施例中,自适应流式传输系统使用定制MP4盒(boxes)。运动图像专家组(MPEG)版本4标准提供可以包含定制数据的格式内的盒。MP4扩展是通常与该版本的内容相关联的文件格式。该系统可以充分利用盒来包括定制元数据和媒体内容块。其他媒体格式在容器内提供类似的内容定制,并且可以供该系统使用。
在一些实施例中,自适应流式传输系统符合用于分布式超媒体系统的软件架构的代表性状态转移(REST)风格的方针。REST中的一个观点是应用可以通过仅仅知道资源的标识符(例如URI)以及所请求的动作来与资源交互,而不必知道是否存在高速缓存、代理、网关、防火墙、隧道、或者处于应用与服务器之间的实际上保持该信息的任何其他东西。遵循REST方针将允许系统受益于现有因特网基础结构和诸如高速缓存之类的预先存在的资源节省技术。一些由系统在一些实施例中实现的与REST有关的示例性原理包括:每个URI都标识出恰好一个响应,每个URI都指向无状态和可高速缓存的服务器资源,并且每个URI都是直观的并且使用名词(动词是HTTP动词)。具体而言,该系统可以避免作出使用查询串的请求并且可以将基本上唯一的密钥用于通过URL所请求的起始时间。
从前面的描述中可以看出,能够理解,此处描述的自适应流式传输系统的特定实施例只是为了说明的目的,但是在不偏离本发明的精神和范围的情况下,可以进行各种修改。相应地,本发明不受限制,只受所附的权利要求书的限制。
Claims (15)
1.一种计算机实现的用于在客户端上平滑地播放媒体的方法,该方法包括:
通过网络将对媒体块的请求从该客户端发送410给服务器,其中该块包括从该服务器到多个客户端可用的媒体的统一部分;
在该客户端处接收420所请求的块;
将该块解析430成元数据部分和媒体数据部分;
将块元数据添加440到正在进行的媒体清单中,该媒体清单描述关于该媒体块所属的较大媒体元素的信息;以及
使用由该块元数据和该客户端的硬件所标识出的编解码器来播放450该媒体数据,
其中以上步骤由至少一个处理器来执行。
2.如权利要求1所述的方法,其特征在于,在该客户端处接收所请求的块包括:在该请求到达服务器之前从因特网高速缓存接收该块并且将该块存储在客户端高速缓存中。
3.如权利要求1所述的方法,其特征在于,解析进一步包括标识描述块的编码的元数据以及适于使用编解码器和合适硬件进行回放的媒体数据。
4.如权利要求1所述的方法,其特征在于,该客户端在存储器中存储包含来自每个媒体文件块的元数据的清单。
5.如权利要求1所述的方法,其特征在于,该块元数据部分包括关于至少一个从该服务器可用的随后的块的信息。
6.如权利要求1所述的方法,其特征在于,进一步包括:确定要请求的随后块的比特率,其中所确定的比特率基于该块元数据部分中的关于随后的块的计数信息。
7.一种用于平滑地处理来自实况事件的媒体的计算机系统,该系统包括:
处理器和存储器,该处理器和存储器被配置为执行软件指令;
块请求组件110,该块请求组件110被配置为从客户端作出对来自原始服务器的各个媒体块的请求,其中所述块表示个别化地从该服务器可用的媒体文件的部分;
块解析组件120,该块解析组件120被配置为解释由该块请求组件接收的每个媒体块的格式并且将该块分成其组分部分;
清单组装组件130,该清单组装组件130被配置为构建描述所接收媒体内容块所属的媒体元素的清单;
媒体回放组件140,该媒体回放组件140被配置为使用客户端硬件来回放所接收的媒体内容块;
QoS监控组件150,该QoS监控组件150被配置为分析从该服务器接收分组的结果并且基于当前网络条件的集合来调整客户端请求;以及
时钟同步组件160,该时钟同步组件160被配置为同步该服务器和该客户端的时钟,使得该服务器和该客户端能够基于时间标识出特定的块。
8.如权利要求7所述的系统,其特征在于,该块请求组件使用HTTP GET请求来请求块。
9.如权利要求7所述的系统,其特征在于,该块请求组件确定与该请求相关联的用户,并且基于该用户的订阅等级请求块。
10.如权利要求7所述的系统,其特征在于,该客户端和该原始服务器不具有彼此之间的基于状态的连接。
11.如权利要求7所述的系统,其特征在于,该块请求组件通过个别化地标识出块的统一资源定位符(URL)来标识出每个块。
12.如权利要求7所述的系统,其特征在于,该块解析组件将该块分成包含元数据的报头部分以及包含媒体内容的数据部分,并且其中该块解析组件将该元数据提供给该清单组装组件并且将该媒体内容提供给该媒体回放组件,并且如果该块包含非视听数据,则解析该块并且消费该非视听数据。
13.如权利要求7所述的系统,其特征在于,该媒体回放组件被进一步配置为调用一个或多个编解码器来解释在其内部的媒体内容被传输的容器并且从每个媒体块中所包含的经压缩的格式中对媒体内容进行解压缩。
14.如权利要求7所述的系统,其特征在于,该QoS监控组件被进一步配置为通过向不同的服务器URL请求块来切换所请求的块的比特率。
15.如权利要求7所述的系统,其特征在于,该时钟同步组件被进一步配置为维持客户端向服务器请求随后的媒体块的节奏。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/405,215 US8621044B2 (en) | 2009-03-16 | 2009-03-16 | Smooth, stateless client media streaming |
US12/405,215 | 2009-03-16 | ||
PCT/US2010/026707 WO2010107625A2 (en) | 2009-03-16 | 2010-03-09 | Smooth, stateless client media streaming |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102356605A true CN102356605A (zh) | 2012-02-15 |
CN102356605B CN102356605B (zh) | 2014-02-19 |
Family
ID=42731571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080012702.1A Active CN102356605B (zh) | 2009-03-16 | 2010-03-09 | 平滑、无状态的客户端媒体流式传输 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8621044B2 (zh) |
CN (1) | CN102356605B (zh) |
BR (1) | BRPI1007814B1 (zh) |
CA (1) | CA2750544C (zh) |
IN (1) | IN2011CN06326A (zh) |
MX (1) | MX2011009164A (zh) |
RU (1) | RU2543568C2 (zh) |
WO (1) | WO2010107625A2 (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103959738A (zh) * | 2011-10-13 | 2014-07-30 | 高通股份有限公司 | 控制通信网络中的流送延迟 |
CN104221390A (zh) * | 2012-04-26 | 2014-12-17 | 高通股份有限公司 | 用于处置低等待时间流送的增强型块请求流送系统 |
CN104396263A (zh) * | 2012-04-12 | 2015-03-04 | 斯威尔网络公司 | 用于流式媒体内容的实时复用变换的方法和系统 |
CN104488246A (zh) * | 2012-07-10 | 2015-04-01 | Vid拓展公司 | 质量驱动串流 |
CN104937583A (zh) * | 2013-01-18 | 2015-09-23 | 华为技术有限公司 | 一种对媒体内容进行自适应的方法和装置 |
CN104969560A (zh) * | 2013-02-04 | 2015-10-07 | 高通股份有限公司 | 确定对于网络流式传输可用的媒体数据 |
CN105103521A (zh) * | 2013-04-08 | 2015-11-25 | 汤姆逊许可公司 | 用于适配由至少一个服务器发送的清单的设备和方法 |
CN105165015A (zh) * | 2013-03-15 | 2015-12-16 | 艾锐势科技公司 | 利用http自适应流的快速信道改变的增强播放列表定义和传递 |
CN105308978A (zh) * | 2012-11-20 | 2016-02-03 | 谷歌技术控股有限责任公司 | 用于将媒体内容流式传输到客户端设备的方法和设备 |
CN105556922A (zh) * | 2013-09-17 | 2016-05-04 | 瑞典爱立信有限公司 | 网络中的dash表示自适应 |
CN105814900A (zh) * | 2013-09-25 | 2016-07-27 | 爱立信股份有限公司 | 用于在自适应流播环境中管理相邻频道的系统和方法 |
CN105940452A (zh) * | 2014-01-29 | 2016-09-14 | 谷歌公司 | 用于改善离线内容播放的方法 |
CN107211018A (zh) * | 2015-01-26 | 2017-09-26 | T移动美国公司 | 调整媒体流化的质量等级 |
CN108540834A (zh) * | 2013-01-16 | 2018-09-14 | 华为技术有限公司 | 自适应流中的url参数插入和添加 |
CN109905730A (zh) * | 2013-01-04 | 2019-06-18 | 高通股份有限公司 | 用于经由http的动态自适应流式传输(dash)的实况定时方法 |
CN110121871A (zh) * | 2016-09-30 | 2019-08-13 | 亚马逊技术有限公司 | 对于流式内容部分的基于请求的编码 |
CN110543747A (zh) * | 2014-03-26 | 2019-12-06 | TiVo解决方案有限公司 | 多媒体流水线架构 |
CN110945494A (zh) * | 2017-07-28 | 2020-03-31 | 杜比实验室特许公司 | 向客户端提供媒体内容的方法和系统 |
CN112771877A (zh) * | 2018-10-03 | 2021-05-07 | 高通股份有限公司 | 用于流式传输媒体数据的服务描述 |
CN113543222A (zh) * | 2020-04-22 | 2021-10-22 | 华为技术有限公司 | 媒体报文的传输方法、装置及系统 |
CN115152241A (zh) * | 2020-02-04 | 2022-10-04 | 杜比国际公司 | 用于媒体内容的自适应播放的方法和设备 |
Families Citing this family (165)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7068729B2 (en) | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US20230023917A1 (en) * | 2001-03-09 | 2023-01-26 | Oliver Wendel Gamble | Method and System for Selective broadcasting of Instructions or Media Content to Targeted Electronic Devices Using a Modular Format |
US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
JP4546246B2 (ja) | 2002-10-05 | 2010-09-15 | デジタル ファウンテン, インコーポレイテッド | 連鎖的暗号化反応の系統的記号化および復号化 |
CN1954501B (zh) | 2003-10-06 | 2010-06-16 | 数字方敦股份有限公司 | 通过通信信道接收从源发射的数据的方法 |
CN103124182B (zh) | 2004-05-07 | 2017-05-10 | 数字方敦股份有限公司 | 文件下载和流系统 |
CN101686107B (zh) | 2006-02-13 | 2014-08-13 | 数字方敦股份有限公司 | 使用可变fec开销和保护周期的流送和缓冲 |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
US7515710B2 (en) | 2006-03-14 | 2009-04-07 | Divx, Inc. | Federated digital rights management scheme including trusted systems |
WO2007134196A2 (en) | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
EP2203836A4 (en) | 2007-09-12 | 2014-11-05 | Digital Fountain Inc | GENERATING AND COMMUNICATING SOURCE IDENTIFICATION INFORMATION TO ENABLE RELIABLE COMMUNICATIONS |
US8997161B2 (en) | 2008-01-02 | 2015-03-31 | Sonic Ip, Inc. | Application enhancement tracks |
US8325800B2 (en) | 2008-05-07 | 2012-12-04 | Microsoft Corporation | Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers |
US8379851B2 (en) | 2008-05-12 | 2013-02-19 | Microsoft Corporation | Optimized client side rate control and indexed file layout for streaming media |
US7860996B2 (en) | 2008-05-30 | 2010-12-28 | Microsoft Corporation | Media streaming with seamless ad insertion |
US8265140B2 (en) | 2008-09-30 | 2012-09-11 | Microsoft Corporation | Fine-grained client-side control of scalable media delivery |
US8099476B2 (en) | 2008-12-31 | 2012-01-17 | Apple Inc. | Updatable real-time or near real-time streaming |
US8156089B2 (en) | 2008-12-31 | 2012-04-10 | Apple, Inc. | Real-time or near real-time streaming with compressed playlists |
US8260877B2 (en) | 2008-12-31 | 2012-09-04 | Apple Inc. | Variant streams for real-time or near real-time streaming to provide failover protection |
US8578272B2 (en) | 2008-12-31 | 2013-11-05 | Apple Inc. | Real-time or near real-time streaming |
WO2010080911A1 (en) | 2009-01-07 | 2010-07-15 | Divx, Inc. | Singular, collective and automated creation of a media guide for online content |
US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
US20100281224A1 (en) * | 2009-05-01 | 2010-11-04 | International Buisness Machines Corporation | Prefetching content from incoming messages |
US8499059B2 (en) * | 2009-05-04 | 2013-07-30 | Rovi Solutions Corporation | System and methods for buffering of real-time data streams |
AU2009345847B2 (en) * | 2009-05-05 | 2015-06-11 | Telefonaktiebolaget L M Ericsson (Publ) | P2P for mobile providers |
EP2280521A1 (en) * | 2009-07-30 | 2011-02-02 | Alcatel Lucent | Method of switching media content for a mobile apparatus |
WO2011022405A2 (en) | 2009-08-17 | 2011-02-24 | Akamai Technologies, Inc. | Method and system for http-based stream delivery |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
EP2486491A4 (en) * | 2009-10-06 | 2013-10-23 | Unwired Planet Llc | MANAGING NETWORK TRAFFIC BY EDITING A MANIFEST FILE AND / OR USING A INTERMEDIATE FLOW CONTROL |
US8914835B2 (en) | 2009-10-28 | 2014-12-16 | Qualcomm Incorporated | Streaming encoded video data |
US9002881B2 (en) * | 2009-10-29 | 2015-04-07 | Microsoft Technology Licensing, Llc | Assembling streamed content for on-demand presentation |
KR101777347B1 (ko) * | 2009-11-13 | 2017-09-11 | 삼성전자주식회사 | 부분화에 기초한 적응적인 스트리밍 방법 및 장치 |
KR101786050B1 (ko) * | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 전송 방법 및 장치 |
KR101750049B1 (ko) * | 2009-11-13 | 2017-06-22 | 삼성전자주식회사 | 적응적인 스트리밍 방법 및 장치 |
WO2011068668A1 (en) | 2009-12-04 | 2011-06-09 | Divx, Llc | Elementary bitstream cryptographic material transport systems and methods |
US20110296048A1 (en) * | 2009-12-28 | 2011-12-01 | Akamai Technologies, Inc. | Method and system for stream handling using an intermediate format |
EP2375680A1 (en) * | 2010-04-01 | 2011-10-12 | Thomson Licensing | A method for recovering content streamed into chunk |
US8805963B2 (en) | 2010-04-01 | 2014-08-12 | Apple Inc. | Real-time or near real-time streaming |
GB201105502D0 (en) | 2010-04-01 | 2011-05-18 | Apple Inc | Real time or near real time streaming |
US8560642B2 (en) | 2010-04-01 | 2013-10-15 | Apple Inc. | Real-time or near real-time streaming |
TWI451279B (zh) | 2010-04-07 | 2014-09-01 | Apple Inc | 即時或接近即時串流傳輸之內容存取控制 |
CN103069406B (zh) | 2010-04-08 | 2016-11-23 | 瓦索那网络公司 | 对于多个客户机管理流媒体带宽 |
US9225961B2 (en) | 2010-05-13 | 2015-12-29 | Qualcomm Incorporated | Frame packing for asymmetric stereo video |
US9838450B2 (en) * | 2010-06-30 | 2017-12-05 | Brightcove, Inc. | Dynamic chunking for delivery instances |
US8904027B2 (en) | 2010-06-30 | 2014-12-02 | Cable Television Laboratories, Inc. | Adaptive bit rate for data transmission |
US8918533B2 (en) | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
KR20120034550A (ko) | 2010-07-20 | 2012-04-12 | 한국전자통신연구원 | 스트리밍 컨텐츠 제공 장치 및 방법 |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
KR101206111B1 (ko) | 2010-09-06 | 2012-11-28 | 한국항공대학교산학협력단 | 스트리밍 콘텐츠 제공 장치 및 방법 |
US9143838B2 (en) | 2010-09-06 | 2015-09-22 | Vasona Networks Inc. | Device and method for quality assessment of encrypted streaming media flows |
US9467493B2 (en) | 2010-09-06 | 2016-10-11 | Electronics And Telecommunication Research Institute | Apparatus and method for providing streaming content |
KR101206698B1 (ko) * | 2010-10-06 | 2012-11-30 | 한국항공대학교산학협력단 | 스트리밍 콘텐츠 제공 장치 및 방법 |
US9986009B2 (en) * | 2010-10-06 | 2018-05-29 | Electronics And Telecommunications Research Institute | Apparatus and method for providing streaming content |
US20120117261A1 (en) * | 2010-11-05 | 2012-05-10 | Nokia Corporation | Method and Apparatus for Rate Adaptation for Adaptive HTTP Streaming |
EP2638682A4 (en) * | 2010-11-12 | 2014-07-23 | Realnetworks Inc | TRAFFIC MANAGEMENT IN ADAPTIVE STREAMING PROTOCOLS |
CN102045351B (zh) * | 2010-12-03 | 2013-06-19 | 中国联合网络通信集团有限公司 | 流媒体发布平台及方法 |
US8880633B2 (en) | 2010-12-17 | 2014-11-04 | Akamai Technologies, Inc. | Proxy server with byte-based include interpreter |
WO2011150657A1 (zh) * | 2010-12-31 | 2011-12-08 | 华为技术有限公司 | 流媒体中播放时间点跳转后的处理方法及装置 |
WO2012094432A1 (en) * | 2011-01-04 | 2012-07-12 | Related Content Databases, Inc. | System and method for interfacing content playback devices with network sites to supplement content playback |
US8914534B2 (en) * | 2011-01-05 | 2014-12-16 | Sonic Ip, Inc. | Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol |
GB2491574B (en) | 2011-06-02 | 2013-11-20 | Nds Ltd | Content insertion in adaptive streams |
US9661104B2 (en) | 2011-02-07 | 2017-05-23 | Blackberry Limited | Method and apparatus for receiving presentation metadata |
US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
US8775664B2 (en) | 2011-02-16 | 2014-07-08 | Sony Corporation | Method and apparatus for use in tracking playback of media streams while in stand-by mode |
US20120215890A1 (en) * | 2011-02-22 | 2012-08-23 | International Business Machines Corporation | Network-aware structured content downloads |
US8849950B2 (en) * | 2011-04-07 | 2014-09-30 | Qualcomm Incorporated | Network streaming of video data using byte range requests |
FR2975555A1 (fr) * | 2011-05-18 | 2012-11-23 | Thomson Licensing | Methode d'adaptation dynamique du debit de reception et recepteur associe |
US8856283B2 (en) | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
US8843586B2 (en) | 2011-06-03 | 2014-09-23 | Apple Inc. | Playlists for real-time or near real-time streaming |
CN102821309A (zh) * | 2011-06-08 | 2012-12-12 | 鸿富锦精密工业(深圳)有限公司 | 基于桌面分享的流媒体传送系统及方法 |
TW201251429A (en) * | 2011-06-08 | 2012-12-16 | Hon Hai Prec Ind Co Ltd | System and method for sending streaming of desktop sharing |
WO2012174301A1 (en) | 2011-06-14 | 2012-12-20 | Related Content Database, Inc. | System and method for presenting content with time based metadata |
US20170041649A1 (en) * | 2011-06-14 | 2017-02-09 | Watchwith, Inc. | Supplemental content playback system |
US20170041644A1 (en) * | 2011-06-14 | 2017-02-09 | Watchwith, Inc. | Metadata delivery system for rendering supplementary content |
US20130191745A1 (en) * | 2012-01-10 | 2013-07-25 | Zane Vella | Interface for displaying supplemental dynamic timeline content |
US8924580B2 (en) * | 2011-08-12 | 2014-12-30 | Cisco Technology, Inc. | Constant-quality rate-adaptive streaming |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US8964977B2 (en) | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US9591361B2 (en) | 2011-09-07 | 2017-03-07 | Qualcomm Incorporated | Streaming of multimedia data from multiple sources |
US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
US20130091207A1 (en) * | 2011-10-08 | 2013-04-11 | Broadcom Corporation | Advanced content hosting |
WO2013090280A2 (en) * | 2011-12-15 | 2013-06-20 | Dolby Laboratories Licensing Corporation | Bandwidth adaptation for dynamic adaptive transferring of multimedia |
US8234350B1 (en) | 2011-12-19 | 2012-07-31 | Seachange International, Inc. | Systems and methods for generating targeted manifest files |
US8977704B2 (en) | 2011-12-29 | 2015-03-10 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
US20130179199A1 (en) | 2012-01-06 | 2013-07-11 | Rovi Corp. | Systems and methods for granting access to digital content using electronic tickets and ticket tokens |
US9401968B2 (en) | 2012-01-20 | 2016-07-26 | Nokia Techologies Oy | Method and apparatus for enabling pre-fetching of media |
US20150026711A1 (en) * | 2012-02-27 | 2015-01-22 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for video content distribution |
US20130254417A1 (en) * | 2012-03-21 | 2013-09-26 | Jason Nicholls | System method device for streaming video |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
US9438883B2 (en) * | 2012-04-09 | 2016-09-06 | Intel Corporation | Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content |
US9246741B2 (en) | 2012-04-11 | 2016-01-26 | Google Inc. | Scalable, live transcoding with support for adaptive streaming and failover |
US8813117B1 (en) * | 2012-04-27 | 2014-08-19 | Google Inc. | Content subset conditional access framework |
EP2661045A1 (en) * | 2012-05-04 | 2013-11-06 | Thomson Licensing | Method and apparatus for providing a plurality of transcoded content streams |
US9088463B1 (en) * | 2012-05-11 | 2015-07-21 | Amazon Technologies, Inc. | Container contract for data dependencies |
US20130318252A1 (en) * | 2012-05-24 | 2013-11-28 | Rovi Corporation | Systems, methods, and computer products for elementary streams broadcasting |
US9301021B2 (en) * | 2012-06-22 | 2016-03-29 | Vubiquity, Inc. | Workflow optimization in preparing C3 broadcast content for dynamic advertising |
US9197685B2 (en) | 2012-06-28 | 2015-11-24 | Sonic Ip, Inc. | Systems and methods for fast video startup using trick play streams |
US9143812B2 (en) | 2012-06-29 | 2015-09-22 | Sonic Ip, Inc. | Adaptive streaming of multimedia |
EP2875417B1 (en) | 2012-07-18 | 2020-01-01 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution |
US9118744B2 (en) | 2012-07-29 | 2015-08-25 | Qualcomm Incorporated | Replacing lost media data for network streaming |
US9131251B2 (en) * | 2012-09-20 | 2015-09-08 | Google Technology Holdings LLC | Use of a receive-window size advertised by a client to a content server to change a video stream bitrate streamed by the content server |
US9462021B2 (en) * | 2012-09-24 | 2016-10-04 | Google Technology Holdings LLC | Methods and devices for efficient adaptive bitrate streaming |
US8914836B2 (en) | 2012-09-28 | 2014-12-16 | Sonic Ip, Inc. | Systems, methods, and computer program products for load adaptive streaming |
US8997254B2 (en) | 2012-09-28 | 2015-03-31 | Sonic Ip, Inc. | Systems and methods for fast startup streaming of encrypted multimedia content |
US9344472B2 (en) | 2012-12-28 | 2016-05-17 | Microsoft Technology Licensing, Llc | Seamlessly playing a composite media presentation |
US8904457B2 (en) | 2012-12-28 | 2014-12-02 | Microsoft Corporation | Archiving a live media presentation |
US9264475B2 (en) | 2012-12-31 | 2016-02-16 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US9344517B2 (en) | 2013-03-28 | 2016-05-17 | Sonic Ip, Inc. | Downloading and adaptive streaming of multimedia content to a device with cache assist |
US9973559B2 (en) * | 2013-05-29 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for presenting content streams to a client device |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9247317B2 (en) | 2013-05-30 | 2016-01-26 | Sonic Ip, Inc. | Content streaming with client device trick play index |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
EP2819379A1 (en) * | 2013-06-28 | 2014-12-31 | Thomson Licensing | Method for adapting the downloading behavior of a client terminal configured to receive multimedia content, and corresponding terminal |
EP2822287A1 (en) * | 2013-07-01 | 2015-01-07 | Thomson Licensing | Method and apparatus for frame accurate advertisement insertion |
US9386308B2 (en) | 2013-07-16 | 2016-07-05 | Cisco Technology, Inc. | Quality optimization with buffer and horizon constraints in adaptive streaming |
JP6465541B2 (ja) * | 2013-08-06 | 2019-02-06 | キヤノン株式会社 | 通信装置、再生装置、及びその方法、並びにプログラム |
JP2015043486A (ja) * | 2013-08-26 | 2015-03-05 | ソニー株式会社 | プロキシサーバ装置、情報処理方法、プログラム、端末装置、およびコンテンツ供給システム |
US9343112B2 (en) | 2013-10-31 | 2016-05-17 | Sonic Ip, Inc. | Systems and methods for supplementing content from a server |
EP2876890A1 (en) | 2013-11-21 | 2015-05-27 | Thomson Licensing | Method and apparatus for frame accurate synchronization of video streams |
EP2890075B1 (en) * | 2013-12-26 | 2016-12-14 | Telefonica Digital España, S.L.U. | A method and a system for smooth streaming of media content in a distributed content delivery network |
EP3092767A1 (en) * | 2014-01-07 | 2016-11-16 | Thomson Licensing | Method for adapting the behavior of a cache, and corresponding cache |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
US9722903B2 (en) | 2014-09-11 | 2017-08-01 | At&T Intellectual Property I, L.P. | Adaptive bit rate media streaming based on network conditions received via a network monitor |
US9794604B2 (en) * | 2014-11-14 | 2017-10-17 | Panopto, Inc. | Systems and methods for transmitting segment-quality units of a streaming video session |
CN107534798A (zh) * | 2015-04-22 | 2018-01-02 | Lg 电子株式会社 | 广播信号发送设备、广播信号接收设备、广播信号发送方法和广播信号接收方法 |
KR102353492B1 (ko) * | 2015-12-14 | 2022-01-20 | 삼성전자주식회사 | 스트리밍 서비스를 위한 장치 및 방법 |
US10075292B2 (en) | 2016-03-30 | 2018-09-11 | Divx, Llc | Systems and methods for quick start-up of playback |
US10178171B2 (en) * | 2016-04-21 | 2019-01-08 | Samsung Electronics Company, Ltd. | Content management system for distribution of content |
US10104143B1 (en) * | 2016-06-03 | 2018-10-16 | Amazon Technologies, Inc. | Manifest segmentation |
US10432690B1 (en) | 2016-06-03 | 2019-10-01 | Amazon Technologies, Inc. | Manifest partitioning |
US10116719B1 (en) | 2016-06-03 | 2018-10-30 | Amazon Technologies, Inc. | Customized dash manifest |
GB2552220B (en) | 2016-07-15 | 2018-09-05 | Openwave Mobility Inc | A method for detecting a live adaptive BIT rate stream |
US10218986B2 (en) * | 2016-09-26 | 2019-02-26 | Google Llc | Frame accurate splicing |
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 |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
US10349136B2 (en) | 2017-03-22 | 2019-07-09 | Opentv, Inc. | User-initiated transitioning between media content versions |
GB2595029B (en) * | 2017-04-21 | 2022-02-09 | Zenimax Media Inc | Systems and methods for rendering & pre-encoded load estimation based encoder hinting |
CN115802046A (zh) * | 2018-06-28 | 2023-03-14 | 杜比实验室特许公司 | 用于自适应流传输对齐的帧转换 |
JP7150631B2 (ja) * | 2018-10-17 | 2022-10-11 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 制御装置、サービス提供システム、制御方法、及びプログラム |
FR3098074B1 (fr) * | 2019-06-27 | 2021-10-08 | Tdf | Procédé de transmission d’un contenu audio dans un récepteur hybride en recevant des manifestes émis par un serveur manageur, récepteur et serveur manageur associé |
US10887366B1 (en) * | 2019-07-08 | 2021-01-05 | Cbs Interactive Inc. | Systems, methods, and storage media for managing encoder instances in a serverless content distribution platform |
US11477522B2 (en) * | 2019-12-11 | 2022-10-18 | Arris Enterprises Llc | Trick play and trick rate support for HLS |
US10958947B1 (en) * | 2020-03-12 | 2021-03-23 | Amazon Technologies, Inc. | Content delivery of live streams with playback-conditions-adaptive encoding |
EP3920539A1 (en) * | 2020-06-04 | 2021-12-08 | MK Systems USA Inc. | Systems and methods for providing audio-video streams with alternative content |
CN114205344B (zh) * | 2020-08-31 | 2023-02-28 | 华为技术有限公司 | 媒体文件传输的方法及装置 |
US11962482B2 (en) * | 2022-07-14 | 2024-04-16 | Rovi Guides, Inc. | Systems and methods for maintaining video quality using digital twin synthesis |
US20240340467A1 (en) * | 2023-04-06 | 2024-10-10 | Netflix, Inc. | Techniques for caching media content when streaming live events |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080022005A1 (en) * | 2006-07-24 | 2008-01-24 | Microsoft Corporation | Glitch-Free Media Streaming |
CN101163238A (zh) * | 2007-07-20 | 2008-04-16 | 中兴通讯股份有限公司 | 一种平滑实现实时转播/直播的流媒体服务方法 |
US7478164B1 (en) * | 2001-06-12 | 2009-01-13 | Netapp, Inc. | Methods and apparatus for pacing delivery of streaming media data |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001056266A2 (en) * | 2000-01-28 | 2001-08-02 | Ibeam Broadcasting Corporation | Method and apparatus for encoder-based distribution of live video and other streaming content |
US7689510B2 (en) * | 2000-09-07 | 2010-03-30 | Sonic Solutions | Methods and system for use in network management of content |
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US7085842B2 (en) | 2001-02-12 | 2006-08-01 | Open Text Corporation | Line navigation conferencing system |
US20030018978A1 (en) | 2001-03-02 | 2003-01-23 | Singal Sanjay S. | Transfer file format and system and method for distributing media content |
US20030014488A1 (en) * | 2001-06-13 | 2003-01-16 | Siddhartha Dalal | System and method for enabling multimedia conferencing services on a real-time communications platform |
WO2003027876A1 (en) * | 2001-09-26 | 2003-04-03 | Jodie Lynn Reynolds | System and method for communicating media signals |
US7212574B2 (en) * | 2002-04-02 | 2007-05-01 | Microsoft Corporation | Digital production services architecture |
US7912920B2 (en) * | 2002-12-13 | 2011-03-22 | Stephen Loomis | Stream sourcing content delivery system |
US7409145B2 (en) * | 2003-01-02 | 2008-08-05 | Microsoft Corporation | Smart profiles for capturing and publishing audio and video streams |
JP2006514806A (ja) * | 2003-06-07 | 2006-05-11 | サムスン エレクトロニクス カンパニー リミテッド | マルチメディアデータの提供装置及びその提供方法並びにその方法を記録した記録媒体 |
US7602908B2 (en) * | 2003-12-22 | 2009-10-13 | Aol Llc | System and method for using a streaming protocol |
US20050251832A1 (en) * | 2004-03-09 | 2005-11-10 | Chiueh Tzi-Cker | Video acquisition and distribution over wireless networks |
EP1769399B1 (en) | 2004-06-07 | 2020-03-18 | Sling Media L.L.C. | Personal media broadcasting system |
US20060184697A1 (en) | 2005-02-11 | 2006-08-17 | Microsoft Corporation | Detecting clock drift in networked devices through monitoring client buffer fullness |
US20060287912A1 (en) | 2005-06-17 | 2006-12-21 | Vinayak Raghuvamshi | Presenting advertising content |
US20070162487A1 (en) * | 2005-12-30 | 2007-07-12 | Razorstream, Llc | Multi-format data coding, managing and distributing system and method |
US8214516B2 (en) * | 2006-01-06 | 2012-07-03 | Google Inc. | Dynamic media serving infrastructure |
US20070180135A1 (en) * | 2006-01-13 | 2007-08-02 | Dilithium Networks Pty Ltd. | Multimedia content exchange architecture and services |
US7860825B2 (en) | 2006-05-08 | 2010-12-28 | Palm, Inc. | Method for synchronizing software application and user data for asynchronous client-server and peer to peer computer networks |
EP2109981B1 (en) | 2007-01-17 | 2014-11-26 | Intertrust Technologies Corporation | Methods, systems, and apparatus for fragmented file sharing |
US8719375B2 (en) * | 2007-03-22 | 2014-05-06 | Microsoft Corporation | Remote data access techniques for portable devices |
US20080256514A1 (en) | 2007-04-10 | 2008-10-16 | Microsoft Corporation | Side-by-side application manifests for single-purpose applications |
US7881335B2 (en) * | 2007-04-30 | 2011-02-01 | Sharp Laboratories Of America, Inc. | Client-side bandwidth allocation for continuous and discrete media |
US8370520B2 (en) * | 2008-11-24 | 2013-02-05 | Juniper Networks, Inc. | Adaptive network content delivery system |
US20100226444A1 (en) * | 2009-03-09 | 2010-09-09 | Telephoto Technologies Inc. | System and method for facilitating video quality of live broadcast information over a shared packet based network |
-
2009
- 2009-03-16 US US12/405,215 patent/US8621044B2/en active Active
-
2010
- 2010-03-09 CA CA2750544A patent/CA2750544C/en not_active Expired - Fee Related
- 2010-03-09 RU RU2011137994/08A patent/RU2543568C2/ru active
- 2010-03-09 BR BRPI1007814-2A patent/BRPI1007814B1/pt active IP Right Grant
- 2010-03-09 MX MX2011009164A patent/MX2011009164A/es active IP Right Grant
- 2010-03-09 WO PCT/US2010/026707 patent/WO2010107625A2/en active Application Filing
- 2010-03-09 CN CN201080012702.1A patent/CN102356605B/zh active Active
- 2010-03-09 IN IN6326CHN2011 patent/IN2011CN06326A/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7478164B1 (en) * | 2001-06-12 | 2009-01-13 | Netapp, Inc. | Methods and apparatus for pacing delivery of streaming media data |
US20080022005A1 (en) * | 2006-07-24 | 2008-01-24 | Microsoft Corporation | Glitch-Free Media Streaming |
CN101163238A (zh) * | 2007-07-20 | 2008-04-16 | 中兴通讯股份有限公司 | 一种平滑实现实时转播/直播的流媒体服务方法 |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103959738B (zh) * | 2011-10-13 | 2017-04-12 | 高通股份有限公司 | 控制通信网络中的流送延迟 |
CN103959738A (zh) * | 2011-10-13 | 2014-07-30 | 高通股份有限公司 | 控制通信网络中的流送延迟 |
CN104396263A (zh) * | 2012-04-12 | 2015-03-04 | 斯威尔网络公司 | 用于流式媒体内容的实时复用变换的方法和系统 |
CN104396263B (zh) * | 2012-04-12 | 2018-06-08 | 斯威尔网络公司 | 用于流送媒体内容的实时复用变换的方法和系统 |
CN104221390A (zh) * | 2012-04-26 | 2014-12-17 | 高通股份有限公司 | 用于处置低等待时间流送的增强型块请求流送系统 |
CN104488246A (zh) * | 2012-07-10 | 2015-04-01 | Vid拓展公司 | 质量驱动串流 |
US10880349B2 (en) | 2012-07-10 | 2020-12-29 | Vid Scale, Inc. | Quality-driven streaming |
US10178140B2 (en) | 2012-07-10 | 2019-01-08 | Vid Scale, Inc | Quality-driven streaming |
CN105308978B (zh) * | 2012-11-20 | 2018-10-23 | 谷歌技术控股有限责任公司 | 用于将媒体内容流式传输到客户端设备的方法和设备 |
CN105308978A (zh) * | 2012-11-20 | 2016-02-03 | 谷歌技术控股有限责任公司 | 用于将媒体内容流式传输到客户端设备的方法和设备 |
CN109905730A (zh) * | 2013-01-04 | 2019-06-18 | 高通股份有限公司 | 用于经由http的动态自适应流式传输(dash)的实况定时方法 |
CN108540834A (zh) * | 2013-01-16 | 2018-09-14 | 华为技术有限公司 | 自适应流中的url参数插入和添加 |
CN108540834B (zh) * | 2013-01-16 | 2021-04-20 | 华为技术有限公司 | 由用户端设备实现的媒体内容流的方法和装置 |
CN104937583A (zh) * | 2013-01-18 | 2015-09-23 | 华为技术有限公司 | 一种对媒体内容进行自适应的方法和装置 |
CN104937583B (zh) * | 2013-01-18 | 2018-09-28 | 华为技术有限公司 | 一种对媒体内容进行自适应的方法和装置 |
CN104969560A (zh) * | 2013-02-04 | 2015-10-07 | 高通股份有限公司 | 确定对于网络流式传输可用的媒体数据 |
CN104969560B (zh) * | 2013-02-04 | 2018-07-17 | 高通股份有限公司 | 一种检索媒体数据的方法和设备以及存储介质 |
CN105165015A (zh) * | 2013-03-15 | 2015-12-16 | 艾锐势科技公司 | 利用http自适应流的快速信道改变的增强播放列表定义和传递 |
CN105103521A (zh) * | 2013-04-08 | 2015-11-25 | 汤姆逊许可公司 | 用于适配由至少一个服务器发送的清单的设备和方法 |
CN105556922B (zh) * | 2013-09-17 | 2019-06-28 | 瑞典爱立信有限公司 | 网络中的dash表示自适应 |
CN105556922A (zh) * | 2013-09-17 | 2016-05-04 | 瑞典爱立信有限公司 | 网络中的dash表示自适应 |
CN105814900B (zh) * | 2013-09-25 | 2019-07-26 | 爱立信股份有限公司 | 用于在自适应流播环境中管理相邻频道的系统和方法 |
CN105814900A (zh) * | 2013-09-25 | 2016-07-27 | 爱立信股份有限公司 | 用于在自适应流播环境中管理相邻频道的系统和方法 |
CN105940452B (zh) * | 2014-01-29 | 2019-07-23 | 谷歌有限责任公司 | 用于改善离线内容播放的方法 |
CN105940452A (zh) * | 2014-01-29 | 2016-09-14 | 谷歌公司 | 用于改善离线内容播放的方法 |
CN110543747B (zh) * | 2014-03-26 | 2023-07-21 | TiVo解决方案有限公司 | 多媒体流水线架构 |
CN110543747A (zh) * | 2014-03-26 | 2019-12-06 | TiVo解决方案有限公司 | 多媒体流水线架构 |
CN107211018A (zh) * | 2015-01-26 | 2017-09-26 | T移动美国公司 | 调整媒体流化的质量等级 |
CN110121871A (zh) * | 2016-09-30 | 2019-08-13 | 亚马逊技术有限公司 | 对于流式内容部分的基于请求的编码 |
CN110945494A (zh) * | 2017-07-28 | 2020-03-31 | 杜比实验室特许公司 | 向客户端提供媒体内容的方法和系统 |
CN112771877A (zh) * | 2018-10-03 | 2021-05-07 | 高通股份有限公司 | 用于流式传输媒体数据的服务描述 |
CN115152241A (zh) * | 2020-02-04 | 2022-10-04 | 杜比国际公司 | 用于媒体内容的自适应播放的方法和设备 |
CN113543222A (zh) * | 2020-04-22 | 2021-10-22 | 华为技术有限公司 | 媒体报文的传输方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
RU2543568C2 (ru) | 2015-03-10 |
WO2010107625A3 (en) | 2011-01-13 |
BRPI1007814A2 (pt) | 2017-01-17 |
US20100235472A1 (en) | 2010-09-16 |
CN102356605B (zh) | 2014-02-19 |
IN2011CN06326A (zh) | 2015-08-28 |
WO2010107625A2 (en) | 2010-09-23 |
RU2011137994A (ru) | 2013-04-20 |
MX2011009164A (es) | 2011-09-28 |
CA2750544A1 (en) | 2010-09-23 |
CA2750544C (en) | 2016-05-03 |
BRPI1007814B1 (pt) | 2021-08-17 |
US8621044B2 (en) | 2013-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102356605B (zh) | 平滑、无状态的客户端媒体流式传输 | |
CN102577272B (zh) | 低等待时间的可高速缓存的媒体流式传输 | |
US10257587B2 (en) | Integrating continuous and sparse streaming data | |
KR101616152B1 (ko) | 컴퓨터 구현 방법 및 컴퓨터 시스템 | |
US9749676B2 (en) | Virtual playback speed modification | |
Begen et al. | Watching video over the web: Part 1: Streaming protocols | |
US10938872B2 (en) | Processing interactivity events for streaming media data | |
EP2481199B1 (en) | Enhanced block-request streaming using cooperative parallel http and forward error correction | |
EP2481194B1 (en) | Enhanced block request streaming using block partitioning or request controls for improved client-side handling | |
KR101484900B1 (ko) | 코덱이 적용된 프레임 크기로의 오디오 분할 | |
EP2481195B1 (en) | Enhanced block-request streaming using url templates and construction rules | |
EP2646936B1 (en) | Real-time or near real-time streaming | |
US9462302B2 (en) | Efficient delineation and distribution of media segments | |
US9369508B2 (en) | Method for transmitting a scalable HTTP stream for natural reproduction upon the occurrence of expression-switching during HTTP streaming | |
US20220060532A1 (en) | Method for transmitting resources and electronic device | |
WO2014096968A9 (en) | Server-based content tracking apparatus and method | |
Bentaleb et al. | Toward One-Second Latency: Evolution of Live Media Streaming | |
Viola et al. | QoE-based enhancements of Chunked CMAF over low latency video streams | |
WO2011123821A1 (en) | Real-time or near real-time streaming | |
US20140201368A1 (en) | Method and apparatus for enforcing behavior of dash or other clients | |
GB2510766A (en) | Determining earliest and latest transmission times for playlist files having plural tags and universal resource indicators (URIs) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150505 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150505 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |