[go: up one dir, main page]

CN107071511A - 提供客户端接收的广播视频流的倒回的方法及计算机系统 - Google Patents

提供客户端接收的广播视频流的倒回的方法及计算机系统 Download PDF

Info

Publication number
CN107071511A
CN107071511A CN201610972237.5A CN201610972237A CN107071511A CN 107071511 A CN107071511 A CN 107071511A CN 201610972237 A CN201610972237 A CN 201610972237A CN 107071511 A CN107071511 A CN 107071511A
Authority
CN
China
Prior art keywords
video flowing
data center
streaming data
asked
stream
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
Application number
CN201610972237.5A
Other languages
English (en)
Other versions
CN107071511B (zh
Inventor
L.郑
C.D.本兹尔
K.卡克里贾恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=42397792&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN107071511(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Google LLC filed Critical Google LLC
Publication of CN107071511A publication Critical patent/CN107071511A/zh
Application granted granted Critical
Publication of CN107071511B publication Critical patent/CN107071511B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种提供客户端接收的广播视频流的倒回的方法及计算机系统,提供了对于视频流的无缝可伸缩倒回和回放的服务器侧支持。在网络存储地点位置中存储视频流并对其编索引。可以在帧级别对视频流编索引,其中视频流的每个内帧具有指示视频流中该内帧的文件偏移和时间戳的索引。通过从用户请求提取倒回时间需求,来处理正在广播视频流时对于视频流倒回的用户请求。提取的倒回时间值用于计算请求的文件偏移。根据用户请求获取并且回放开始于所请求时间的视频流。该系统还提供对视频流的无缝回放的服务器侧支持和跨多个流式传输数据中心的可伸缩的系统性能。

Description

提供客户端接收的广播视频流的倒回的方法及计算机系统
本案是申请日为2010年2月4日、申请号为201080012757.2、发明名称为“用于视频流式传输的无缝倒回和回放的服务器侧支持”的发明专利申请的分案申请。
技术领域
本发明总体上涉及通过诸如因特网之类的电信网络来流式传输视频内容,并且更具体地涉及用于提供对此类直播视频流的无缝倒回和回放的服务器侧支持的方法。
背景技术
视频流式传输系统能够通过基于因特网的广播类服务向大量用户递送直播视频流。传统视频流式传输系统为用户提供在客户端机器上运行的视频播放器。该视频播放器接收并缓冲客户端机器的本地存储器中的直播视频流。响应于对于直播视频流的倒回并继而回放的用户请求,视频播放器从本地存储器访问缓冲的视频。对倒回视频流的此类客户端侧支持需要大量的客户端侧计算资源,诸如快速中央处理器(CPU)、充足的存储器和盘空间,用于存储从流式传输服务器接收的视频流、在继续接收后续流式传输数据分组时针对倒回计算定时需求。结果,用户通常不得不遭受处理延迟并且体验降级的流式传输服务。
对倒回直播视频流的客户端侧支持的现有实现所面临的另一问题是视频流式传输系统缺乏可伸缩性。通常向数千以及潜在的数百万观看者同时广播直播视频流。视频流式传输系统经常包括大量子系统,每个子系统可以包括:多个传入流式传输服务器,以接收直播视频/音频源(feed);多个流处理器(stream hander),以处理直播视频流;和多个视频流式传输服务器,以向观看者提供请求的视频流。跨多个子系统进行归档并且获取,而不使用户体验降级需要视频流式传输系统的服务器侧处的更有效的视频流归档/获取和伸缩性支持。
发明内容
一种方法、系统和计算机程序产品提供对于视频流的无缝倒回和回放的服务器侧支持。
视频流式传输计算机系统的一个实施方式包括多个流式传输数据中心计算机系统。流式传输数据中心计算机系统包括传入流式传输服务器计算机系统、一个或多个流处理器、流归档数据库系统、本地索引数据库系统和一个或多个流式传输服务器系统。流式传输数据中心计算机系统经由网络连接从各种视频源收集传入视频/音频流,并且向流处理器分发视频流以便归档和编索引。流式传输数据中心还从用户客户端设备接收流式传输请求,并且向用户提供请求的服务。
流式传输归档数据库系统存储由流式传输数据中心贡献的视频流编索引信息。在一个实施方式中,对于来自于流式传输数据中心的每个视频流,存在GOP级索引文件,该索引文件存储视频流的每个GOP的索引。在另一实施方式中,对于每个视频流,存在帧级索引文件,该索引文件存储视频流的每个内帧的索引。
方法的一个实施方式包括从客户端设备接收流式传输请求,并且标识流处理器以供应该请求。响应于正在广播视频流时的倒回请求,该方法包括提取倒回时间需求、计算对应于倒回时间需求的文件偏移并且流式传输请求的视频流。相对于视频广播的开始,从倒回请求确定该时间需求。针对对应于时间的视频部分,从索引确定视频中的偏移,并且获取并且向客户端设备流式传输对应于该视频部分的数据。
根据一个实施方式,提供一种提供客户端接收的广播视频流的倒回的方法,所述方法包括:数据中心分配器计算机系统从客户端接收针对广播视频流的请求;数据中心分配器计算机系统基于多个分发标准来选择多个流式传输数据中心中的一个以服务所述请求,所述多个分发标准包括基于订阅所述请求的视频流的用户的数量超过阈值来确定的所述请求的视频流的流行度,所选择的流式传输数据中心具有在其本地存储中存储的视频流的本地索引文件和由所述多个流式传输数据中心共享的全局编索引信息的副本;所选择的流式传输数据中心确定所述请求是用于倒回所请求的视频流,所述请求包括所请求的视频流的流标识以及指示倒回所请求的视频流的部分的定时信息;基于在所选择的流式传输数据中心存储的本地索引文件,响应于所选择的流式传输数据中心具有在其本地存储所存储的所请求的视频流,所选择的流式传输数据中心从其本地存储中检索所请求的视频流;响应于所选择的流式传输数据中心不具有在其本地存储中存储的所请求的视频流:基于在所选择的流式传输数据中心存储的全局编索引文件的副本,所选择的流式传输数据中心确定所述多个流式传输数据中心中的哪个流式传输数据中心具有所请求的视频流;以及通过所选择的流式传输数据中心从所确定的流式传输数据中心获得所请求的视频流并且在不同于所确定的流式传输数据中心的所选择的流式传输数据中心的本地存储中存储所请求的视频流;通过所选择的流式传输数据中心确定与所述请求中的定时信息对应的所请求的视频流的文件偏移,根据将所请求的视频流中的文件偏移与针对所请求的视频流的时间信息相关联的索引文件确定所述文件偏移,所述索引文件存储在所选择的流式传输数据中心的本地存储中;通过所选择的流式传输数据中心向所述客户端流式传输从所确定的文件偏移起的所请求的视频流;以及通过所选择的流式传输数据中心更新所述多个流式传输数据中心共享的所述全局编索引文件。
根据一个实施方式,提供一种提供客户端接收的广播视频流的倒回的计算机系统,包括:数据中心分配器计算机系统,包括处理器;以及多个流式传输数据中心,所述多个流式传输数据中心的每一个包括对应的处理器和本地存储,其中数据中心分配器计算机系统的处理器被配置为:从客户端接收针对广播视频流的请求;以及基于多个分发标准来选择多个流式传输数据中心中的一个以服务所述请求,所述多个分发标准包括基于订阅所述请求的视频流的用户的数量超过阈值来确定的所述请求的视频流的流行度,所选择的流式传输数据中心具有在其本地存储中存储的视频流的本地索引文件和由所述多个流式传输数据中心共享的全局编索引信息的副本;其中,所选择的流式传输数据中心的处理器被配置为:确定所述请求是用于倒回所请求的视频流,所述请求包括所请求的视频流的流标识以及指示倒回所请求的视频流的部分的定时信息;基于在所选择的流式传输数据中心存储的本地索引文件,响应于所选择的流式传输数据中心具有在其本地存储所存储的所请求的视频流,从所选择的流式传输数据中心的本地存储中检索所请求的视频流;响应于所选择的流式传输数据中心不具有在其本地存储中存储的所请求的视频流:基于在所选择的流式传输数据中心存储的全局编索引文件的副本,确定所述多个流式传输数据中心中的哪个流式传输数据中心具有所请求的视频流;以及从所确定的流式传输数据中心获得所请求的视频流并且在不同于所确定的流式传输数据中心的所选择的流式传输数据中心的本地存储中存储所请求的视频流;确定与所述请求中的定时信息对应的所请求的视频流的文件偏移,根据将所请求的视频流中的文件偏移与针对所请求的视频流的时间信息相关联的索引文件确定所请求的视频流的所述文件偏移,所述索引文件存储在所选择的流式传输数据中心的本地存储中;向所述客户端流式传输从所确定的文件偏移起的所请求的视频流;以及更新所述多个流式传输数据中心共享的所述全局编索引文件。
说明书中描述的特征和优势并不是全包括的,并且具体地,根据附图、说明书和权利要求书,很多附加特征和优势对于本领域技术人员而言将变得明显。而且,应该指出,已经出于易读性和指导性目的在大体上选择了说明书中所使用的语言,并且该语言可能没有被选择用于记述或限制所公开的主题。
附图说明
图1是示出了具有流式传输系统的环境的框图,该流式传输系统用于对直播视频流式传输的无缝倒回和回放的服务器侧支持。
图2A是示出了用于直播视频流式传输的无缝倒回和回放的流式传输数据中心的框图。
图2B是用于处理订阅视频流的流式传输请求的流式传输数据中心的框图。
图3是传入流式传输中心的框图。
图4是用于直播视频流式传输的无缝倒回和回放的流处理器的框图。
图5是流式传输数据中心处理视频流的流程图。
图6是流式传输数据中心供应流式传输请求的流程图。
图7是跨越具有增强伸缩性的多个流式传输数据中心的供应视频流式传输请求的流程图。
仅出于示范的目的,附图示出了本发明的各个实施方式,并且本发明不限于这些示出的实施方式。本领域技术人员将容易地从以下讨论中认识到,在不脱离此处所述本发明的原理的情况下,可以采用此处所示的结构和方法的备选是实施方式。
具体实施方式
图1是示出了根据一个实施方式的、具有流式传输系统100的环境的框图,该流式传输系统100从客户端110接收流式传输请求,并且向客户端110发送请求的流式传输数据。系统100包括数据中心分配器计算机系统114(“数据中心分配器114”)、共享索引数据库计算机系统118(“共享索引数据库118”)和一个或多个流式传输数据中心计算机系统200A-N(“流式传输数据中心200”)。这些计算机系统中的每个包括一个或多个计算机,优选地是服务器级计算机,该计算机具有一个或多个处理器、大量高性能盘存储阵列(例如,1Tb)和可用存储器(例如,1Gb)。客户端110和流式传输数据中心200经由计算机网络112(诸如因特网)互连。数据中心分配器114与客户端110和流式传输数据中心200通信。每个流式传输数据中心200通过如下处理多个视频流:向共享索引数据库118写入视频流编索引信息、从共享索引数据库118获取视频流编索引信息、以及向客户端110中的一个或多个提供每个视频流来处理多个视频流。为了简化并且澄清附图,在图1中仅示出了两个客户端110和四个流式传输中心200,但是实际上,在操作中可以包括更多的客户端110和流式传输数据中心200。
示出的环境表示典型的情况,在该情况中,多个用户/观看者订阅由流式传输数据中心200提供的视频流式传输服务。在该情况中,用户使用客户端110来通过数据中心分配器114向流式传输数据中心200发送视频流式传输服务请求,并且直接(即,没有通过数据中心分配器114)从流式传输数据中心200接收请求的服务。数据中心分配器114基于某些标准(诸如,每个流式传输数据中心的负载)来向流式传输数据中心200中的一个分配流式传输服务请求。数据中心分配器114选择的流式传输数据中心200从客户端接收流式传输服务请求并且经由网络112向客户端110提供请求的服务。
返回到图1上示出的独立实体,每个客户端110由用户用于请求视频流式传输服务。例如,用户使用客户端110来发送请求以便订阅广播的视频流、播放视频流、暂停视频流或在仍旧正在广播视频时将视频流倒回到指定的时间点。客户端110可以是任何类型的计算机设备,诸如个人计算机(例如,台式、笔记本、膝上型)计算机、以及诸如移动电话、个人数字助理、支持IP的视频播放器之类的设备。客户端110通常包括处理器、显示设备(或去往显示设备的输出)、本地存储,诸如硬盘驱动器或闪存设备,客户端110向其存储用户在执行任务时使用的数据,以及用于经由网络112耦合至系统100的网络接口。
客户端110还具有用于播放视频流的视频播放器120(例如,来自于Adobe Systems公司的FlashTM播放器或专用播放器)。视频播放器120可以是单独的应用,或诸如网络浏览器的另一应用的插件。如果客户端110是通用设备(例如,台式计算机、移动电话),则播放器120通常实现为由计算机执行的软件。如果客户端110是专用设备(例如,专用视频播放器),则播放器120可以以硬件或硬件和软件的组合实现。所有这些实现关于本发明而言在功能上是等同的。播放器120包括用于选择视频源、启动、停止和倒回视频源的用户接口控制(和相应的应用编程接口)。而且,播放器120可以在其用户接口中包括时间线滑块,该时间线滑块被配置为指示视频流式传输的进程,例如相对于视频流的总时间(如果知道的话)的回放的当前时间。时间线滑块还将被配置用于在用户接口中直接操纵,通过该用户接口,用户可以移动该时间线滑块来指定他/她希望将视频流倒回多少(例如,以分钟为单位)以观看之前广播的视频流部分。也可以将其他类型的用户接口控制(例如,按钮、键盘控制)用于控制播放器120的回放和倒回功能。
网络112支持客户端110与流式传输数据中心200之间的通信。在一个实施方式中,网络112是因特网,并且使用现在已知或后续开发的标准化的联网通信技术和协议,它们使客户端110能够与流式传输数据中心200通信。
出于该描述的目的,视频流是来自于直播视频源的视频流,直播视频源诸如是流式传输数据媒体内容提供商通过因特网广播的直播体育、音乐、新闻和娱乐。视频流还包括来自于录制源的视频流,录制源诸如是流式传输数据媒体内容提供商通过因特网重新广播的录制的直播内容、TV表演或电影。每个视频流都由流标识(ID)标识。取决于编解码器,视频流包括多个内帧(I帧)、预测帧(P帧)并且可以具有双向预测的帧(B帧)。可以将视频流的多个视频帧进一步分组为图片组(GOP),其中每个GOP包括至少一个内帧。将视频流作为一个或多个相关文件存储在网络存储中,每个相关文件包括多个音频/视频数据分组。视频的源/来源(诸如TV广播台、或基于因特网的视频流提供商)连接至编码器。编码器负责捕获并且数字化接收的视频流、对其进行压缩并且将所得数据向视频服务器传送以便进一步处理。
数据中心分配器114通常在从客户端110发送的用户流请求需要域名服务器(DNS)查找时使用。例如,用户请求的流位于“http://host.com/stream_id”。客户端110代表用户与数据分配器114通信以找到主控流“stream_id”的主机服务器“host.com”的因特网协议(IP)地址。数据中心分配器114基于某些标准(诸如流式传输数据中心中每个的负载)向流式传输数据中心200之一分配流式传输服务请求。可以基于每个数据中心的带宽使用和分配给每个流式传输数据中心的带宽容量值,来计算流式传输数据中心中每个的负载。数据中心分配器114通过避免向其带宽使用接近于其全容量的流式传输数据中心发送流式传输请求来平衡负载。本领域技术人员可容易地获得其他负载平衡机制。
共享索引数据库118存储由流式传输数据中心200贡献的视频流编索引信息以便倒回广播视频流。在一个实施方式中,对于来自于流式传输数据中心200的每个视频流而言,存在存储视频流每个GOP的索引的GOP级索引文件。具体地,该GOP级索引文件将每个GOP第一内帧的索引保持在元组(stream_ID,file_offset,time_stamp)中。在另一实施方式中,对于每个视频流,存在存储视频流每个内帧的索引的帧级索引文件。索引针对每个内帧存储元组(stream_ID,file_offset,time_stamp)。“Stream_ID”标识内帧所属于的视频流。“file_offset”按照视频流文件的字节指示内帧从何处开始。该“file_offset”值是从归档文件的开始(即,字节0)计数的绝对数值。“time_stamp”指示在视频流的归档文件中内帧何时开始。该“time_stamp”值是从视频流开始播放时间(即,0毫秒)计数的绝对数值。
在一个实施方式中,编索引信息作为全局视频流编索引文件存储。全局视频流索引文件包括由流式传输数据中心200处理的每个视频流的索引。来自于特定流式传输数据中心200的索引可以进一步由流式传输数据中心标识来标识。该编索引信息由流式传输数据中心200共享,以便在具有伸缩性的多个流式传输数据中心200中对用户流式传输请求进行供应。在下面关于图3和图4进一步地描述流式传输数据中心200和共享视频流编索引数据库118的实施方式。
图2A是示出了根据一个实施方式的、用于视频流式传输的无缝倒回和回放的服务器侧支持的流式传输数据中心200的框图。流式传输数据中心200包括传入流式传输服务器210、一个或多个流处理器220、流归档数据库230、作为图1中共享数据库118的本地副本的本地索引数据库240、以及一个或多个流式传输服务器250。
如图2A中示出,传入服务器210具有耦合到它的多个流处理器220;每个流处理器220具有流处理器ID。对于每个传入视频流,传入服务器210选择流处理器220的一个,并且将该传入视频流的所有数据分组引导到选择的流处理器220。
流式传输数据中心200还包括多个流式传输服务器250,以处理来自于客户端的流式传输请求。流式传输服务器250处理两种类型的流式传输请求:订阅广播视频流的请求和倒回广播流的请求。订阅广播视频流的流式传输请求(订阅请求)不包括用于倒回的定时信息。倒回广播流的流式传输请求(倒回请求)包括定时信息,该定时信息关于正在广播视频流时倒回视频流的期望量/偏移。因此,流式传输服务器250通过定时信息是否出现在请求中来在请求之间进行区分;无需其他形式语义。
响应于倒回请求,流式传输服务器250通过检查本地索引数据库240来找到对应于请求中定时信息的文件偏移,并且读取从存储在流式传输归档数据库230中的视频流文件偏移开始的所请求视频流的数据分组。
例如,客户端110的播放器120为其用户提供正被广播的视频流的时间线视图。该用户可以利用鼠标选择时间线滑块中的位置。播放器120将时间线滑块上选择的位置映射到相应的定时信息。例如,假设直播广播视频是2小时长度,并且用户在时间线滑块上选择处于起始和结束之间中途点处的位置,然后将该位置映射到1:00。该定时信息包括在视频流式传输请求中并且被发送到流式传输服务器以便处理。
示例性倒回请求是URL的形式,诸如http://www.hostserver.com/play?id=StreamID&time=timestamp,其中streamID是所请求流的流ID,并且timestamp是表示开始时间的时间值的数值,该开始时间相对于相对于视频流的开始。例如,用户可以利用URL发出针对视频流的请求,比如“http://www.hostserver.com/lplay?id=Stream12&time=600”,其请求由其流ID“Stream12”标识的视频流,并且将该视频流倒回到第600秒(即,第10分钟的末尾)。定时信息(例如,时间戳值)指示用户倒回请求而不论视频流来自于直播视频源(例如,直播广播)还是来自于录制的视频源(例如,对录制的直播事件的重新广播)。在一个实施方式中,不支持快进请求。
为了进一步示出上述流式传输请求和响应,以下的伪代码表示存储用于流式传输请求/响应的数据的流式传输服务器250使用的数据结构:
用于订阅广播视频流的订阅请求不包括定时信息。每个流式传输服务器250可以直接与多个流处理器220通信。来自于客户端的流式传输请求包括流ID。给定流ID,流式传输服务器250通过针对流ID检查本地索引数据库240来找到哪个流处理器220负责请求的视频流、向标识的流处理器220进行订阅以及请求从视频流起始开始的所请求视频流的数据分组。图2B是示出了根据上面描述的、用于直接从流处理器流式传输所请求视频的流式传输数据中心。
现在回到图3,在一个实施方式中,流式传输数据中心200的传入流式传输服务器210包括协议解释模块212、数据提取模块214和负载平衡器216。传入流式传输服务器210从视频流源310接收视频流、模块212、214和216对视频流进行处理,并且向选择的流处理器220发送处理后的视频流数据320以便进一步地编索引并归档。传入流式传输服务器210可以是流式传输服务器,例如Media Server或者Flash MediaServer。传入流式传输服务器210可以使用标准视频流式传输协议或专用协议来接受视频流,该标准视频流式传输协议诸如实时流式传输协议(RTSP),该专用协议诸如由Adobe开发用于通过因特网在Flash播放器与流式传输服务器之间流式传输音频/视频数据的实时消息传送协议(RTMP)。
协议解释模块212通过标识视频流中使用的流式传输协议来处理从视频流源310接收的视频流。例如,传入流式传输服务器210是流式传输服务器,其使用RTMP协议接受视频流并且允许flash播放器以RTMP协议播放视频流。协议解释模块212标识所接收视频流中的RTMP流式传输协议,并且向流处理器220中的一个或多个发送作为视频流信息的一部分的协议信息。
数据提取模块214从接收的视频源提取音频/视频数据、将提取的音频/视频数据形成为音频/视频数据分组、以及向流处理器220中的一个或多个发送提取的音频/视频数据分组。在一个实施方式中,音频/视频分组是将使用用户数据报协议(UDP)向流处理器220传输的标准网络数据分组。其他实施方式可以使用其他因特网协议提取接收的视频流到网络分组中。
对于传入视频流而言,负载平衡器216确定流处理器220中的哪一个接收视频流用于使用负载平衡算法来归档和编索引。在一个实施方式中,负载平衡器216基于每个流处理器220的业务负载在多个流处理器220中选择流处理器220用于视频流。负载平衡器216可以选择具有最轻业务负载的流处理器220来处理接收的视频流。其他实施方式可以允许负载平衡器包括其他确定因子,诸如不同流的数量、处理器利用率或分组处理率的测量值,以选择流处理器220用于处理接收的视频流。
流处理器220接收从传入流式传输服务器210发送的视频流的多个音频/视频数据分组以便进一步处理。图4是图2A示出的流处理器220的框图。流处理器220包括流归档模块222和请求处理模块224。流归档模块222将流编索引信息420写入共享索引数据库118,并且将接收的音频/视频数据分组归档/存储在流归档数据库230中。对于倒回请求,请求处理模块224基于倒回请求中的定时信息从本地索引数据库240获取文件偏移信息,并且向流式传输服务器250发送文件偏移信息。对于订阅视频流的流式传输请求,处理模块224向流式传输服务器250直接发送从传入流式传输服务器210接收的所请求视频流的数据分组。
流归档模块222接收视频流和/或视频流信息(例如,视频流式传输协议)的多个音频/视频数据分组,并且将数据分组存储在流归档数据库230中。在一个实施方式中,整个视频流作为一个归档文件存储在流归档数据库230中。可以经由流ID从流归档数据库230获取归档的视频流。出于归档和获取目的,属于给定视频流的所有数据分组共享相同的流ID。
流归档模块222向共享索引数据库118写入归档文件的编索引信息。为了对归档的视频流编索引,在一个实施方式中,归档模块222在索引文件中存储视频流每个内帧的索引。该索引针对每个内帧存储元组(stream_ID,file_offset,time_stamp)。例如,对于位于字节123处并且在21,000毫秒处开始播放的内帧而言,内帧的索引是索引文件中的(stream12、123、21000)。类似地,对于位于字节345处并且在24,000毫秒处开始播放的相同视频流的另一内帧而言,索引是(stream12、345、24000)。整个视频流的索引文件是索引的列表,其中每个对应于视频流的内帧。根据视频流内帧的处理顺序对索引排序。
为了加速向共享索引数据库118写入编索引信息,在另一实施方式中,流归档模块222在索引文件中保持视频流每个GOP的索引。具体地,流归档模块222以(stream_ID,file_offset,time_stamp)的格式保持每个GOP的第一内帧的索引。例如,对于具有5个GOP并且每个GOP由其第一内帧来表示的视频流而言,在下表中示出了该视频流的索引文件:
表I:GOP级编索引
视频流生成将存储在归档数据库中的多个相关文件并且每个相关文件对应于该视频流的一部分是可能的,在该事件中,多个相关文件将共享相同的流ID。为了使针对视频流生成的多个文件相关,每个文件可以进一步由时间戳标记,该时间戳指示该部分视频流的时间偏移,从而从视频流的第一数据分组的起始连续计数(例如,视频流中的10分钟)。
为了支持视频流在视频流正在广播时倒回到用户指定的时间点,对视频流编索引对于归档和获取而言需要是有效的。流归档模块222保持每个视频流的编索引信息用于数据获取。在一个实施方式中,流式传输归档模块222包括所存储视频文件的头部中的视频流的编索引信息。这允许流式传输归档模块222基于流ID首先访问存储的文件,并且继而从该头部读取以针对用户请求的相应时间点来访问文件中期望的偏移。
在另一实施方式中,归档模块222向由多个流式传输数据中心200共享的全局存储设备(例如,图1中的共享索引数据库118)写入存储在归档数据库230中的每个视频流的编索引信息。共享索引数据库118通过流式传输中心标识来标识来自于特定流式传输数据中心的每个编索引信息。由流式传输中心处理的视频流的帧级编索引信息是视频流每个内帧的索引列表。索引可以具有元组(DC_ID,stream_ID,file_offset,time_stamp),其中“DC_ID”标识流式传输数据中心。响应于针对流式传输数据中心200接收的新的编索引信息,周期性地或按需更新共享索引数据库118中的编索引信息。每个流式传输数据中心200存储在共享索引数据库118中存储的编索引信息的副本,使得每个流式传输数据中心具有关于什么视频流归档在其他流式传输数据中心中的知识。
共享编索引信息提供了针对跨多个流式传输数据中心200的可伸缩视频流式传输的各种益处。共享编索引信息允许流式传输系统基于多个因素有效地分发视频流。例如,流式传输系统可以指定特定的流式传输数据中心200来处理不流行的(即,低数量的客户端请求)视频流,并且仅将不流行的视频流归档在指定的流式传输中心200中。通过这样做,其他流式传输数据中心可以将它们的计算资源投入用于处理更高需求的视频流,同时具有响应于用户请求而到何处取得该不流行视频流的必要信息。视频流的流行性确定是设计参数。例如,视频流的流行性可以基于用户订阅的数量来确定。
多个流式传输数据中心200共享编索引信息还提供了流式传输数据中心200的改进性能。流式传输数据中心200具有对哪个视频流进行归档并且在其他流式传输数据中心中可获得哪个视频流的灵活性。当流式传输数据中心200(供应流式传输数据中心)从客户端接收针对不是本地归档的视频流的倒回请求时,供应流式传输数据中心根据共享编索引信息的其本地副本,来确定其他哪个流式传输数据中心(源流式传输数据中心)正在处理该被请求的视频流。代替从源流式传输数据中心向供应流式传输中心、继而向客户端流式传输所请求的流,供应流式传输数据中心本地高速缓存视频流,并且从本地高速缓存向客户端发送视频流。因此,减少了在数据中心之间的多个跨越流式传输,从而使得总体性能改进。
参考图4,请求处理模块224从视频流式传输服务器250接收流式传输请求,处理流式传输请求,并且获取所请求的视频流,并且向该视频流式传输服务器发送所请求的视频流。
如关于图2B的流式传输服务器250在上面描述的,订阅请求不具有定时信息,其向流式传输服务器250指示客户端正在请求视频流的初始订阅。流式传输服务器250检查本地索引数据库240,以标识哪个流处理器220将处理该请求,并且向所标识的流处理器220传送该请求。标识的流处理器的请求处理模块224开始连续地向流式传输服务器250发送从传入流式传输服务器210接收的所请求流的数据分组。
响应于倒回请求,流式传输服务器250确定是否需要倒回。在一个实施方式中,流式传输服务器250从该请求提取定时信息并且检查该请求中所请求开始时间的值。流式传输服务器250向处理模块224发送请求的开始时间和流ID以便进一步处理。因而,处理模块224基于提取的定时信息来计算文件偏移。在一个实施方式中,处理模块224通过检查本地索引文件来找到最接近于相对开始时间的time_stamp值,而将相对开始时间映射到其相应的文件偏移。备选地,流式传输服务器250还可以将来自于请求的相对开始时间值转换到相对于当前时钟时间的绝对开始时间值,在该情况中,处理模块224将该绝对开始时间值映射到其相应的文件偏移。这里,流式传输服务器250通过从由流式传输服务器250使用的当前始终时间中减去相对开始时间,来计算绝对时间值。处理模块224基于计算的绝对时间值来检查本地索引文件以找到time_stamp值。流式传输服务器250在最接近time_stamp的文件偏移处获取内帧,并且向客户端120发送内帧的数据分组。
例如,流处理器220的请求处理模块224从视频流式传输服务器250接收URL中的流式传输请求,该URL如“http://www.hostserver.com/play?id=Stream12&time=600000”。该请求包含相对开始时间信息,即“time=600000”。请求的开始时间是相对开始时间值600,000毫秒(即,距视频的开始10分钟)。处理模块224检查本地索引数据库240并且找到具有最接近匹配时间值的索引记录,例如(Stream12,900,600000)。这里的“900”值指示相对于视频流的开始、对应于时间值600,000毫秒的内帧的字节偏移。备选地,流式传输服务器250将相对开始时间值6000,000的相对开始时间值转换到相对于当前时钟时间的绝对时间值。假设视频流之前广播了1,800,000毫秒(即,30分钟),则流式传输服务器250确定从当前时钟时间倒回到的绝对时间是1,200,000毫秒(20分钟)。处理模块224检查本地索引数据库240,并且找到具有最接近匹配时间值的索引记录,例如(Stream12,900,600000)。流式传输服务器250获取起始于归档流的文件偏移900的内帧数据分组并且开始从该文件偏移向客户端120发送数据分组。
在另一实施方式中,客户端110将用户请求中的定时信息转换到绝对time_stamp,并且向流式传输服务器250发送该time_stamp连同流标识。处理模块224检查本地索引文件来找到最接近接收的绝对time_stamp值的time_stamp值。处理模块224在最接近该time_stamp的文件偏移处获取内帧并且发送该内帧的数据分组。
图5是用于处理直播流的流式传输数据中心200的操作的流程图。初始,流式传输数据中心200的传入流式传输服务器210从直播源接收510视频流。传入流式传输服务器210通过协议解释模块212解释512视频流中的流式传输协议、并且通过数据提取模块214从视频流提取514音频/视频数据。传入流式传输服务器210还标识516流处理器220以进一步处理视频流,并且向流处理器220分发518提取的流数据以便归档和编索引。
图6是供应来自于客户端设备的服务流式传输请求的流式传输数据中心的操作的流程图。初始,流式传输数据中心200的流式传输服务器250中的一个从用户的客户端设备接收610流式传输请求。该流式传输请求至少包括标识由用户请求的视频流的流ID。响应于请求不包含定时信息,流式传输服务器250通过针对本地索引数据库240检查流ID,来标识612哪个流处理器220具有请求的视频流,并且获取从当前时间开始的所请求流的数据分组。响应于请求包含定时信息,流处理器220确定该请求是否针对倒回视频流。如果该请求是倒回请求,则流式传输服务器250从该请求提取614定时信息,并且处理模块224计算616对应于该定时信息的文件偏移。流式传输服务器250获取618所请求的流,并且向客户端120发送620从获得的文件偏移开始的视频流。
分发视频流式传输系统的典型实现将包括如图1所述的多个流式传输数据中心。在图6中进一步示出了对正在广播流时的视频流无缝倒回的服务器侧支持、和跨多个流式传输数据中心200的可伸缩系统性能。图7是用于跨多个流式传输数据中心200供应视频流式传输请求,因此提供增强的伸缩性的操作的流程图。初始,数据中心分配器114从客户端接收710流式传输请求。分配器114基于一个或多个确定因素(诸如可用流式传输数据中心200的业务负载)向流式传输数据中心200中的一个分配712请求。选择的流式传输数据中心200基于请求的流ID检查本地索引数据库。响应于在选择的数据中心230的本地归档数据库230中可获得请求的数据,流式传输数据中心200如结合图2至图4描述在上面描述的那样处理720流式传输请求。响应于请求的数据不可本地获得,流式传输数据中心200检查本地索引数据库240,该本地索引数据库240包含由所有流式传输数据中心共享的全局编索引文件的副本。基于全局编索引文件,流式传输数据中心200标识716其他哪个流式传输数据中心200具有请求的流。如果流式传输请求是倒回请求,则流式传输数据中心200获得所请求流的副本并且存储在本地高速缓存中718。流式传输数据中心200继续处理720该流式传输请求。对该流式传输请求的处理包括图6中描述的处理步骤,诸如标识612流处理器、提取614倒回时间需求、计算616归档文件偏移和流式传输618请求的视频流。如果流式传输请求是订阅请求,则流式传输数据中心200将该请求重定向到标识的流式传输数据中心。该标识的流式传输数据中心检查其本地索引数据库240以找到哪个流处理器220将处理所请求流的数据分组,并且发送来自于该标识的流处理器220的所请求流的数据分组。
包括上面的描述用于示出优选实施方式的操作并且不意味着限制本发明的范围。本发明的范围仅由以下权利要求书限制。根据上面的讨论,相关领域中技术人员将明白很多变型,这些变型仍旧由本发明的精神和范围包含。
已经关于一个可能的实施方式特别详细地描述了本发明。本领域技术人员将理解本发明可以在其他实施方式中实现。首先,组件的特别命名、大写形式、属性、数据结构或任何其他编程或结构方面不是强制或重要的,并且实现本发明或其特征的机制可以具有不同的名称、形式或协议。而且,可以经由如上所述的硬件和软件的组合或全部以硬件元素来实现系统。而且,在此描述的各种系统组件之间的功能的特定划分仅是示例性的而不是强制的;单个系统组件执行的功能可以替代地由多个组件执行,并且由多个组件执行的功能可以替代地由单个组件执行。
上面描述的某些部分呈现了按照对信息的操作算法和的符号化表示的本发明的特征。这些算法描述和表示是数据处理领域中技术人员用于向本领域中其他技术人员最有效地传递其工作实质的手段。这些操作虽然被功能地或逻辑地进行了描述,但是应该被理解为由计算机程序实现。此外,还已经多次证明了将操作的这些布置表示为模块或按照功能名称描述而不失一般性的方便性。
除非特别指出,否则根据上面的讨论明显得出,应该理解,贯穿描述,利用术语诸如“处理”或“计算”或“确定”或“显示”等的讨论表示计算机系统或类似电子计算设备的动作,该动作操纵并变换该计算机系统存储器或寄存器或其他此类信息存储设备、传输或显示设备内表示为物理(电子)量得数据。
本发明的某些方面包括以算法形式在此描述的处理步骤和指令。应该指出,本发明的处理步骤和指令可以以软件、固件或硬件实现,并且当以软件实现时,可以被下载以驻留在由实时网络操作系统使用的不同平台上并且从其操纵。
本发明还涉及用于执行此处操纵的装置。该装置可以针对所需目的而具体构建,或其可以包括通用计算机,该通用计算机由存储在可由计算机访问的计算机可读介质上的计算机程序选择性激活或重新配置。此类计算机程序可以存储在计算机可读存储介质上,计算机可读存储介质诸如但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机访问存储器(RAM)、EPROM、EEPROM、磁或光卡、专用集成电路(ASIC)、或适合存储电子指令的任何类型的介质,并且每个介质耦合至计算机系统总线。此外,在本说明书中提及的计算机可以包括单个处理器或可以是采用多处理器涉及来增加计算能力的架构。
在此提供的算法和操纵并不固有地涉及任何特定计算机或其他装置。根据此处的教导,各种通用系统还可以与程序一起使用,或构建更专用的装置来执行所需的方法步骤被证明是方便的。各种这些系统所需的结构连同等同物变型对于本领域技术人员而言是明显的。此外,没有参考任何特定的编程语言来描述本发明。应该理解,各种编程语言可以用于实现如上所述的本发明的教导,并且为了本发明的实施和最佳模式的公开而提供对具体语言的任何参考。
本发明通多个拓扑将很好地适应各种计算机网络系统。在该领域
内,大型网络的配置和管理包括存储设备和计算机,它们通过诸
如因特网之类的网络通信地耦合至不相似的计算机和存储设备。
最终,应该指出,已经出于易读性和指导性目的在大体上选择了说明书中所使用的语言,并且该语言可能没有被选择用于记述或限制本发明的主题。因而,本发明的公开旨在示出但不限制本发明的范围,本发明的范围记载在以下的权利要求书中。

Claims (20)

1.一种提供客户端接收的广播视频流的倒回的方法,所述方法包括:
数据中心分配器计算机系统从客户端接收针对广播视频流的请求;
数据中心分配器计算机系统基于多个分发标准来选择多个流式传输数据中心中的一个以服务所述请求,所述多个分发标准包括基于订阅所述请求的视频流的用户的数量超过阈值来确定的所述请求的视频流的流行度,所选择的流式传输数据中心具有在其本地存储中存储的视频流的本地索引文件和由所述多个流式传输数据中心共享的全局编索引信息的副本;
所选择的流式传输数据中心确定所述请求是用于倒回所请求的视频流,所述请求包括所请求的视频流的流标识以及指示倒回所请求的视频流的部分的定时信息;
基于在所选择的流式传输数据中心存储的本地索引文件,响应于所选择的流式传输数据中心具有在其本地存储所存储的所请求的视频流,所选择的流式传输数据中心从其本地存储中检索所请求的视频流;
响应于所选择的流式传输数据中心不具有在其本地存储中存储的所请求的视频流:
基于在所选择的流式传输数据中心存储的全局编索引文件的副本,所选择的流式传输数据中心确定所述多个流式传输数据中心中的哪个流式传输数据中心具有所请求的视频流;以及
通过所选择的流式传输数据中心从所确定的流式传输数据中心获得所请求的视频流并且在不同于所确定的流式传输数据中心的所选择的流式传输数据中心的本地存储中存储所请求的视频流;
通过所选择的流式传输数据中心确定与所述请求中的定时信息对应的所请求的视频流的文件偏移,根据将所请求的视频流中的文件偏移与针对所请求的视频流的时间信息相关联的索引文件确定所述文件偏移,所述索引文件存储在所选择的流式传输数据中心的本地存储中;
通过所选择的流式传输数据中心向所述客户端流式传输从所确定的文件偏移起的所请求的视频流;以及
通过所选择的流式传输数据中心更新所述多个流式传输数据中心共享的所述全局编索引文件。
2.根据权利要求1所述的方法,还包括通过所选择的流式传输数据中心从视频源接收视频流。
3.根据权利要求2所述的方法,其中所述视频源是直播。
4.根据权利要求2所述的方法,其中所述视频流是录制的视频流。
5.根据权利要求1所述的方法,进一步包括:在网络存储中存档所请求的视频流,其中通过所述流标识标识所存档的视频流。
6.根据权利要求5所述的方法,其中存档所请求的视频流进一步包括:存储所请求的视频流的每一个内帧的索引,其中所述索引包括流标识、指示所述内帧在所请求的视频流中的位置的文件偏移、以及指示何时所述内帧在所请求的视频流中开始播放的时间戳。
7.根据权利要求6所述的方法,其中存档所请求的视频流进一步包括:存储所请求的视频流的图片组的每个第一内帧的索引,其中所述索引包括流标识、文件偏移和时间戳。
8.根据权利要求1所述的方法,其中确定与所述请求中的定时信息对应的文件偏移进一步包括选择具有最接近于所述定时信息中时间值的时间戳的索引。
9.根据权利要求8所述的方法,其中流式传输所请求的视频流进一步包括:检索其文件偏移对应于所选择的索引的文件偏移的内帧。
10.根据权利要求1所述的方法,进一步包括:
通过数据中心分配器计算机系统从所述多个流式传输数据中心选择流式传输数据中心以存储多个不流行的视频流,每个不流行的视频流具有低于阈值的订户数量。
11.一种提供客户端接收的广播视频流的倒回的计算机系统,包括:
数据中心分配器计算机系统,包括处理器;以及
多个流式传输数据中心,所述多个流式传输数据中心的每一个包括对应的处理器和本地存储,
其中数据中心分配器计算机系统的处理器被配置为:
从客户端接收针对广播视频流的请求;以及
基于多个分发标准来选择多个流式传输数据中心中的一个以服务所述请求,所述多个分发标准包括基于订阅所述请求的视频流的用户的数量超过阈值来确定的所述请求的视频流的流行度,所选择的流式传输数据中心具有在其本地存储中存储的视频流的本地索引文件和由所述多个流式传输数据中心共享的全局编索引信息的副本;
其中,所选择的流式传输数据中心的处理器被配置为:
确定所述请求是用于倒回所请求的视频流,所述请求包括所请求的视频流的流标识以及指示倒回所请求的视频流的部分的定时信息;
基于在所选择的流式传输数据中心存储的本地索引文件,响应于所选择的流式传输数据中心具有在其本地存储所存储的所请求的视频流,从所选择的流式传输数据中心的本地存储中检索所请求的视频流;
响应于所选择的流式传输数据中心不具有在其本地存储中存储的所请求的视频流:
基于在所选择的流式传输数据中心存储的全局编索引文件的副本,确定所述多个流式传输数据中心中的哪个流式传输数据中心具有所请求的视频流;以及
从所确定的流式传输数据中心获得所请求的视频流并且在不同于所确定的流式传输数据中心的所选择的流式传输数据中心的本地存储中存储所请求的视频流;
确定与所述请求中的定时信息对应的所请求的视频流的文件偏移,根据将所请求的视频流中的文件偏移与针对所请求的视频流的时间信息相关联的索引文件确定所请求的视频流的所述文件偏移,所述索引文件存储在所选择的流式传输数据中心的本地存储中;
向所述客户端流式传输从所确定的文件偏移起的所请求的视频流;以及
更新所述多个流式传输数据中心共享的所述全局编索引文件。
12.根据权利要求11所述的系统,其中所选择的流式传输数据中心包括被配置为从视频源接收视频流的输入流式传输服务器。
13.根据权利要求12所述的系统,其中所述视频源是直播。
14.根据权利要求12所述的系统,其中所述视频流是录制的视频流。
15.根据权利要求11所述的系统,其中:所选择的流式传输数据中心的处理器被进一步配置为在网络存储系统中存档所请求的视频流,其中通过所述流标识标识所存档的视频流。
16.根据权利要求15所述的系统,其中所选择的流式传输数据中心的处理器被进一步配置为存档所请求的视频流的每一个内帧的索引,其中所述索引包括流标识、指示所述内帧在所请求的视频流中的位置的文件偏移、以及指示何时所述内帧在所请求的视频流中开始播放的时间戳。
17.根据权利要求16所述的系统,其中所选择的流式传输数据中心的处理器被进一步配置为:存储所请求的视频流的图片组的每个第一内帧的索引,其中所述索引包括流标识、文件偏移和时间戳。
18.根据权利要求11所述的系统,其中所选择的流式传输数据中心的处理器被进一步配置为选择具有最接近于所述定时信息中时间值的时间戳的索引。
19.根据权利要求18所述的系统,其中所选择的流式传输数据中心的处理器被进一步配置为:检索其文件偏移对应于所选择的索引的文件偏移的内帧。
20.根据权利要求11所述的系统,数据中心分配器服务器的处理器被进一步配置为:
从所述多个流式传输数据中心选择流式传输数据中心以存储多个不流行的视频流,每个不流行的视频流具有低于阈值的订户数量。
CN201610972237.5A 2009-02-04 2010-02-04 提供客户端接收的广播视频流的倒回的方法及计算机系统 Active CN107071511B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/365,722 US9538142B2 (en) 2009-02-04 2009-02-04 Server-side support for seamless rewind and playback of video streaming
US12/365,722 2009-02-04
CN2010800127572A CN102356644A (zh) 2009-02-04 2010-02-04 用于视频流式传输的无缝倒回和回放的服务器侧支持

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2010800127572A Division CN102356644A (zh) 2009-02-04 2010-02-04 用于视频流式传输的无缝倒回和回放的服务器侧支持

Publications (2)

Publication Number Publication Date
CN107071511A true CN107071511A (zh) 2017-08-18
CN107071511B CN107071511B (zh) 2020-02-14

Family

ID=42397792

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610972237.5A Active CN107071511B (zh) 2009-02-04 2010-02-04 提供客户端接收的广播视频流的倒回的方法及计算机系统
CN2010800127572A Pending CN102356644A (zh) 2009-02-04 2010-02-04 用于视频流式传输的无缝倒回和回放的服务器侧支持

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2010800127572A Pending CN102356644A (zh) 2009-02-04 2010-02-04 用于视频流式传输的无缝倒回和回放的服务器侧支持

Country Status (9)

Country Link
US (1) US9538142B2 (zh)
EP (1) EP2394435B1 (zh)
JP (1) JP5666477B2 (zh)
KR (1) KR101410621B1 (zh)
CN (2) CN107071511B (zh)
AU (1) AU2010210639B2 (zh)
BR (1) BRPI1008837B1 (zh)
CA (1) CA2751404C (zh)
WO (1) WO2010091143A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020220984A1 (zh) * 2019-04-29 2020-11-05 腾讯科技(深圳)有限公司 一种视频处理方法及装置、终端、存储介质

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10057543B2 (en) * 2008-10-31 2018-08-21 Arris Enterprises Llc Digital video recorder having live-off-disk buffer for receiving missing portions of buffered events
US8593570B2 (en) * 2008-11-07 2013-11-26 Looxcie, Inc. Video recording camera headset
US20100269147A1 (en) 2009-04-15 2010-10-21 Echostar Technologies Llc Video stream index generation at a video content transmitter
US11991405B2 (en) * 2009-12-18 2024-05-21 Crossbar Media Group, Inc Systems and methods for automated extraction of closed captions in real time or near real-time and tagging of streaming data for advertisements
US9510029B2 (en) * 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
US9253548B2 (en) 2010-05-27 2016-02-02 Adobe Systems Incorporated Optimizing caches for media streaming
JP5628422B2 (ja) * 2010-06-29 2014-11-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated トリックモードビデオ表現のためのビデオサンプルを信号伝達すること
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
WO2012019272A1 (en) * 2010-08-13 2012-02-16 Simon Fraser University System and method for multiplexing of variable bit-rate video streams in mobile video systems
KR101182840B1 (ko) * 2010-11-03 2012-09-14 한국전자통신연구원 복합 상황 정보를 이용한 스마트 스트리밍 서비스 제공 장치 및 방법
US9252897B2 (en) * 2010-11-10 2016-02-02 Verizon Patent And Licensing Inc. Multi-feed event viewing
US20120303797A1 (en) * 2011-05-27 2012-11-29 Saroop Mathur Scalable audiovisual streaming method and apparatus
US8737803B2 (en) 2011-05-27 2014-05-27 Looxcie, Inc. Method and apparatus for storing and streaming audiovisual content
US20130212162A1 (en) * 2012-01-12 2013-08-15 Ciinow, Inc. Control structure for content delivery and management
EP2946304B1 (en) * 2013-01-15 2020-03-04 Hewlett-Packard Enterprise Development LP Vertically-tiered client-server architecture
FR3001353A1 (fr) * 2013-01-24 2014-07-25 Tdf Procede et dispositif de fourniture d’un contenu multimedia, equipement source de diffusion, programme d’ordinateur et medium de stockage correspondants.
CN103067696A (zh) * 2013-01-31 2013-04-24 东方网力科技股份有限公司 面向视频监控的流媒体缓存方法、装置、控制器和系统
CN104010160B (zh) * 2013-02-25 2017-10-13 杭州海康威视系统技术有限公司 视频监控系统的干线管理方法及其装置
CN104038471B (zh) * 2013-03-08 2017-08-11 中国移动通信集团浙江有限公司 一种在互联网中管理idc资源的方法和运营商网络
JP6505662B2 (ja) * 2013-03-15 2019-04-24 ビデリ、インコーポレイテッドVideri Inc. デジタル・アートを復号してそれを表示用に画像形成するためのシステム
CN103220587B (zh) * 2013-03-22 2016-12-28 深圳市同洲电子股份有限公司 一种获取时移内容的方法及装置
FR3005386B1 (fr) * 2013-05-02 2016-10-14 Tdf Procede et dispositif de fourniture d’une partie deja diffusee d’un flux multimedia, terminal utilisateur, programme d’ordinateur et medium de stockage correspondants
US10015222B2 (en) 2013-09-26 2018-07-03 Arris Canada, Inc. Systems and methods for selective retrieval of adaptive bitrate streaming media
US20150156236A1 (en) * 2013-12-02 2015-06-04 International Business Machines Corporation Synchronize Tape Delay and Social Networking Experience
US9584577B2 (en) * 2014-04-03 2017-02-28 Cisco Technology, Inc. Method for enabling use of HLS as a common intermediate format
CN105224546B (zh) * 2014-06-04 2020-10-30 创新先进技术有限公司 数据存储和查询方法及设备
US10057618B2 (en) 2014-06-06 2018-08-21 Microsoft Technology Licensing, Llc System for filtering media manifests using manifest attributes
WO2016049164A1 (en) * 2014-09-25 2016-03-31 Osix Corporation Computer-implemented methods, computer readable media, and systems for distributed processing
CN105592318B (zh) * 2014-10-21 2020-05-19 中兴通讯股份有限公司 一种实现hls频道回看业务的系统、设备和方法
CA2969721A1 (en) * 2014-12-03 2016-06-09 Fox Broadcasting Company Location agnostic media control room and broadcasting facility
WO2016174690A1 (en) * 2015-04-29 2016-11-03 Ms45 Srl A method and system for transmitting on demand videos of fitness sessions on fixed and/or mobile electronic devices
WO2016198112A1 (en) * 2015-06-11 2016-12-15 Telefonaktiebolaget Lm Ericsson (Publ) Nodes and methods for handling packet flows
CN106713940B (zh) * 2015-08-04 2019-12-20 杭州海康威视数字技术股份有限公司 视频流的存储方法、读取方法及装置
KR102209782B1 (ko) * 2015-11-02 2021-01-28 에스케이텔레콤 주식회사 스트리밍 서비스 제공 방법 및 이를 위한 장치
US20170124043A1 (en) 2015-11-02 2017-05-04 Microsoft Technology Licensing, Llc Sound associated with cells in spreadsheets
US9990350B2 (en) 2015-11-02 2018-06-05 Microsoft Technology Licensing, Llc Videos associated with cells in spreadsheets
KR101998303B1 (ko) 2015-12-08 2019-10-01 네이버 주식회사 타임머신 기능을 위한 슬라이딩 윈도우 관리 방법 및 시스템
CN105657443A (zh) * 2015-12-30 2016-06-08 深圳市云宙多媒体技术有限公司 一种直播时移播放方法和系统
CN106874320A (zh) 2016-06-20 2017-06-20 阿里巴巴集团控股有限公司 分布式流式数据处理的方法和装置
US10841363B2 (en) * 2017-01-09 2020-11-17 International Business Machines Corporation Streaming API subscription without loss of events
US10743087B2 (en) 2017-06-21 2020-08-11 Z5X Global FZ-LLC Smart furniture content interaction system and method
US12197636B2 (en) * 2017-06-21 2025-01-14 Koshayojan Services Limited Cost per scent system and method
US12212821B2 (en) 2017-06-21 2025-01-28 Koshayojan Services Limited Machine learning encoding system and method for content interaction system and method
US10101804B1 (en) * 2017-06-21 2018-10-16 Z5X Global FZ-LLC Content interaction system and method
JP6907104B2 (ja) * 2017-12-07 2021-07-21 キヤノン株式会社 映像配信装置、制御方法及びプログラム
US11838588B2 (en) * 2017-12-29 2023-12-05 Comcast Cable Communications, Llc Performing trick plays of segmented video content
US10805651B2 (en) 2018-10-26 2020-10-13 International Business Machines Corporation Adaptive synchronization with live media stream
US10853308B1 (en) * 2018-11-19 2020-12-01 Xilinx, Inc. Method and apparatus for direct memory access transfers
CN109862398A (zh) * 2019-03-29 2019-06-07 北京奇艺世纪科技有限公司 多媒体数据传输方法、装置及系统
US11388060B1 (en) * 2019-11-26 2022-07-12 Xilinx, Inc. Systems and methods for discovery and configuration of a network device
CN112929677B (zh) * 2019-12-06 2023-02-28 北京金山云网络技术有限公司 直播视频的回看方法、装置和服务器
US11317035B1 (en) * 2020-04-29 2022-04-26 Action Streamer, LLC Method and system for synchronized playback of multiple video streams over a computer network
CN111726650B (zh) * 2020-06-30 2022-10-18 广州繁星互娱信息科技有限公司 视频直播方法及装置、计算机存储介质
CN112218165B (zh) * 2020-10-12 2023-07-14 腾讯科技(深圳)有限公司 视频播放的控制方法、装置、电子设备及存储介质
CN114979763A (zh) * 2022-04-13 2022-08-30 深圳市有为信息技术发展有限公司 视频回放时的播放控制方法和装置、视频回放系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1349713A (zh) * 1999-04-16 2002-05-15 希昌国际公司 可视数据对象的传输
US20020091762A1 (en) * 2000-03-07 2002-07-11 Yahoo! Inc. Information display system and methods
CN1909509A (zh) * 2006-07-19 2007-02-07 华为技术有限公司 在媒体分发网络中实现视频直播的系统、方法和客户端
US20070036303A1 (en) * 2005-08-03 2007-02-15 Peter Lee Network, system and method for distributing digital media
US20070168541A1 (en) * 2006-01-06 2007-07-19 Google Inc. Serving Media Articles with Altered Playback Speed
US20080063378A1 (en) * 2005-03-18 2008-03-13 Fujitsu Limited Moving image data editing apparatus, moving image data reproducing apparatus, moving image data editing method, and moving image data reproducing method
CN101202900A (zh) * 2007-03-12 2008-06-18 深圳市同洲电子股份有限公司 一种数字电视直播与回放的切换方法及视频服务器

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0956702A1 (en) 1997-01-30 1999-11-17 Microsoft Corporation Vcr-like functions rendering video on demand
US6128653A (en) * 1997-03-17 2000-10-03 Microsoft Corporation Method and apparatus for communication media commands and media data using the HTTP protocol
JPH11298858A (ja) 1998-04-14 1999-10-29 Oki Electric Ind Co Ltd ビデオサーバシステム
WO2001055913A1 (en) * 2000-01-28 2001-08-02 Williams Communications, Llc Method of utilizing a single uniform resource locator for resources with multiple formats
JP2002199344A (ja) 2000-12-26 2002-07-12 Toshiba Corp マルチメディア情報送信サーバ装置
JP2002330379A (ja) 2001-05-02 2002-11-15 Sony Corp コンテンツ提供装置
JP2003018568A (ja) 2001-06-29 2003-01-17 Matsushita Electric Ind Co Ltd 再生システム、サーバ装置及び再生装置
EP1286349A1 (en) 2001-08-21 2003-02-26 Canal+ Technologies Société Anonyme File and content management
JP4257084B2 (ja) 2001-08-21 2009-04-22 カナル プラス テクノロジーズ ソシエテ アノニム ファイル及びコンテンツ管理
EP1653361A4 (en) * 2003-08-08 2006-12-13 Onkyo Kk NETWORK AV SYSTEM
US20060005224A1 (en) * 2004-06-30 2006-01-05 John Dunning Technique for cooperative distribution of video content
US20060090186A1 (en) 2004-10-21 2006-04-27 Santangelo Bryan D Programming content capturing and processing system and method
KR100823732B1 (ko) * 2005-12-08 2008-04-21 한국전자통신연구원 스트리밍 서비스를 위한 컨텐츠 제공 시스템 및 그 방법
US20100198977A1 (en) * 2006-09-27 2010-08-05 Adobe Systems Incorporated Automatic live stream trees
CN100544439C (zh) * 2006-11-21 2009-09-23 华为技术有限公司 一种支持多种编码格式的媒体数据的方法及系统
US20080168516A1 (en) * 2007-01-08 2008-07-10 Christopher Lance Flick Facilitating Random Access In Streaming Content
CN101227590B (zh) * 2007-01-19 2013-03-06 北京风行在线技术有限公司 基于p2p协议的媒体文件点播控制方法及装置
JP4405523B2 (ja) 2007-03-20 2010-01-27 株式会社東芝 コンテンツ配信システム、このコンテンツ配信システムで使用されるサーバ装置及び受信装置
JP2008236390A (ja) 2007-03-20 2008-10-02 Asv:Kk 映像再生システムにおける映像シーク制御方式

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1349713A (zh) * 1999-04-16 2002-05-15 希昌国际公司 可视数据对象的传输
US20020091762A1 (en) * 2000-03-07 2002-07-11 Yahoo! Inc. Information display system and methods
US20080063378A1 (en) * 2005-03-18 2008-03-13 Fujitsu Limited Moving image data editing apparatus, moving image data reproducing apparatus, moving image data editing method, and moving image data reproducing method
US20070036303A1 (en) * 2005-08-03 2007-02-15 Peter Lee Network, system and method for distributing digital media
US20070168541A1 (en) * 2006-01-06 2007-07-19 Google Inc. Serving Media Articles with Altered Playback Speed
CN1909509A (zh) * 2006-07-19 2007-02-07 华为技术有限公司 在媒体分发网络中实现视频直播的系统、方法和客户端
CN101202900A (zh) * 2007-03-12 2008-06-18 深圳市同洲电子股份有限公司 一种数字电视直播与回放的切换方法及视频服务器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020220984A1 (zh) * 2019-04-29 2020-11-05 腾讯科技(深圳)有限公司 一种视频处理方法及装置、终端、存储介质
US11600299B2 (en) 2019-04-29 2023-03-07 Tencent Technology (Shenzhen) Company Limited Video processing method and apparatus, terminal, and storage medium
US11922972B2 (en) 2019-04-29 2024-03-05 Tencent Technology (Shenzhen) Company Limited Method and apparatus for video coding

Also Published As

Publication number Publication date
CA2751404A1 (en) 2010-08-12
JP5666477B2 (ja) 2015-02-12
CA2751404C (en) 2017-01-03
KR20110116204A (ko) 2011-10-25
WO2010091143A1 (en) 2010-08-12
BRPI1008837B1 (pt) 2021-11-23
EP2394435B1 (en) 2019-11-27
CN102356644A (zh) 2012-02-15
US9538142B2 (en) 2017-01-03
EP2394435A1 (en) 2011-12-14
BRPI1008837A2 (pt) 2016-03-15
CN107071511B (zh) 2020-02-14
JP2012517160A (ja) 2012-07-26
AU2010210639B2 (en) 2015-03-26
KR101410621B1 (ko) 2014-06-23
EP2394435A4 (en) 2013-11-13
US20100195974A1 (en) 2010-08-05
AU2010210639A1 (en) 2011-08-18

Similar Documents

Publication Publication Date Title
CN107071511A (zh) 提供客户端接收的广播视频流的倒回的方法及计算机系统
US8396951B2 (en) Method and system for populating a content repository for an internet radio service based on a recommendation network
US7945573B1 (en) Dynamic transcoding to stitch streaming digital content
US9621928B2 (en) Streaming playback and dynamic ad insertion
JP5232304B2 (ja) 類似性データに基づいてプレイリストを生成するシステム及び方法
US20010044851A1 (en) System and method for reducing the resources required to deliver streaming media
US9703781B2 (en) Managing related digital content
US20130074133A1 (en) Managing related digital content
CN103959795B (zh) 用于获得视频流的系统和方法
US7962460B2 (en) Methods, systems, and computer program products for determining availability of presentable content via a subscription service
CN110069714A (zh) 一种视频推荐系统
TW201607302A (zh) 用於使用清單屬性來過濾媒體清單的系統
JP2003037802A (ja) コンテンツ配信システム
TW200926044A (en) Automated most popular media asset creation
CN109348251A (zh) 用于视频播放的方法、装置、计算机可读介质及电子设备
CN103634687A (zh) 智能电视中提供视频搜索结果的方法及系统
US20170177614A1 (en) Virtual collection of entities in sync process
WO2020157283A1 (en) Method for recommending video content
EP2961096B1 (en) Video and multimedia distribution system
US20090282076A1 (en) Playlist processing
US20220286759A1 (en) Methods and systems for providing dynamically composed personalized media assets
US7908295B2 (en) Extending data records for dynamic data and selective acceptance based on hardware profile
KR20180069626A (ko) 스트리밍 데이터의 재생 통계 정보 산출 방법 및 이를 위한 장치
JP2008210173A (ja) オンデマンドコンテンツ配信と個別対応した広告配信システムならびにコンテンツ視聴情報に基づく放送コンテンツ制作システム。
CN108717641B (zh) 一种用于提供用户的优选需求资源的方法与设备

Legal Events

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

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant