CN109600351A - 可扩展的鲁棒直播流送系统 - Google Patents

可扩展的鲁棒直播流送系统 Download PDF

Info

Publication number
CN109600351A
CN109600351A CN201811072893.5A CN201811072893A CN109600351A CN 109600351 A CN109600351 A CN 109600351A CN 201811072893 A CN201811072893 A CN 201811072893A CN 109600351 A CN109600351 A CN 109600351A
Authority
CN
China
Prior art keywords
segmentation
inlet flow
segmented
reliability
host buffer
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
CN201811072893.5A
Other languages
English (en)
Other versions
CN109600351B (zh
Inventor
弗朗西斯科·曼纽尔·加拉内斯
维伊南·夏斯特里
帕维尔·尤尔奇克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN109600351A publication Critical patent/CN109600351A/zh
Application granted granted Critical
Publication of CN109600351B publication Critical patent/CN109600351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • 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/23116Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/6473Monitoring network processes errors
    • 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/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了可扩展的鲁棒直播流送系统。这里公开了一种用于能够对并行摄取管道中的输入流进行冗余处理的直播流送平台的系统和方法。并行管道中所摄取的输入流能够使用稳定分段功能进行分段,该稳定分段功能在管道中的每个流中创建相同的分段。如果发生错误或者一个或多个输入流或管道中出现破坏,则直播流送平台能够以每分段为基础在输入流之间进行切换以向内容分发网络提供可靠的流送馈给。能够基于每个输入流和分段的可靠性而从每一时间段的每个主分段构建主流。通过从相同管道选择后续主分段而实现管道紧密度能够使得短时脉冲干扰最小化。

Description

可扩展的鲁棒直播流送系统
本申请是分案申请,原案的申请号是201380028673.1,申请日是2013年4月3日,发明名称是“可扩展的鲁棒直播流送系统”。
本申请要求于2012年4月4日提交的题为“SCALABLE ROBUST LIVE STREAMINGSYSTEM”的美国专利申请序列号13/439678的权益。该申请的全文通过引用结合于此。
技术领域
本公开总体上涉及鲁棒的可扩展的直播流送(live streaming),并且尤其涉及为了提高可靠性而在相干的冗余直播流之间进行的动态切换。
背景技术
通过互联网对当前事件进行直播流送提高了对于可靠的流送基础设施的要求。直播流送馈给一般在诸如重大政治演讲和事件、体育赛事以及其它文化活动之类的情形中使用,其中大量的观众依赖于正常工作的直播流送馈给。然而,由于这种规模的任意处理和输送系统的分布式属性,组件的故障是无法避免的并且会使得输出流中断或者以其它方式影响其质量。
如今,通过使得分立的硬件和/或软件编码器推送要被冗余编码的大致等同的流来建立冗余性以进行web上的任务关键的直播流送。这种编码完全在分立的编码路径中进行,其产生分立的主要流和次要流。自动切换至冗余流的失效备援(failover)试图使得破坏最小化,但是由于他们使用了分立和/或不同的组件,所以通常无法实现没有短时脉冲干扰(glitch)的失效备援。
发明内容
以下给出本公开各个方面的简要发明内容以便提供对这些方面的基本理解。该发明内容并非是所有所预期方面的扩展性概述,并且其并非意在标示出关键或必要要素也并非对这些方面的范围加以界定。其目的是以简化方式给出本公开的一些概念而作为随后所给出的更为详细的描述的前序。
这里所公开的系统和方法涉及在并行摄取管道中进行处理的冗余流之间的切换。这里公开了一种系统,其包括分段组件,其识别所摄取的输入流中的分段边界并且基于该分段边界对输入流进行分段。缓冲组件缓冲多个输入流的分段,其中所缓冲的分段在存储器中进行索引和存储。主选择组件从所缓冲的分段中选择每一时间段的主缓冲分段以便输送至内容分发网络。
该主选择组件能够基于所缓冲的分段的可靠性信号而从在多个输入流的所缓冲的分段中选择所缓冲的分段。该主选择组件还能够响应于输入流的可靠性信号降到阈值以下而针对后续主缓冲分段切换至不同输入流。还公开了一种转码组件,其将输入流转码为具有不同比特率和格式的多个输出流。
这里还公开了一种方法,包括识别所摄取的输入流中的分段边界并且基于该分段边界对输入流进行分段。该方法可以包括缓冲多个输入流的分段,其中缓冲包括在存储器中进行索引和存储。该方法还可以包括从所缓冲的分段中选择每一时间段的主缓冲分段以便输送至内容分发网络。该方法还可以包括响应于接收到输入流中超时的指示而从不同输入流选择后续的主缓冲分段。
这里另外公开了一种包括计算机可执行指令的非瞬时计算机可读介质,该计算机可执行指令响应于执行而使得计算系统执行操作,该操作包括识别所摄取的输入流中的分段边界并且基于该分段边界对输入流进行分段。该操作可以包括缓冲多个输入流的分段,其中缓冲包括在存储器中进行索引和存储。该操作可以进一步包括从所缓冲的分段中选择每一时间段的主缓冲分段以便输送至内容分发网络。
以下描述和附图详细阐述了本公开的某些说明性方面。然而,这些方面仅是可以对本公开的原则加以采用的各种方式中的几种的指示。本公开意在包括所有这些方面及其等同形式。本公开的其它优势和不同特征将在结合附图考虑时通过以下对本公开的详细描述而成为显而易见的。
附图说明
图1是图示依据这里所描述的各个方面和实施方式的直播流送基础设施的示例非限制性实施例的框图。
图2是图示依据这里所描述的各个方面和实施方式的具有并行摄取管道的冗余摄取系统的示例非限制性实施例的框图。
图3是图示依据这里所描述的各个方面和实施方式的能够对冗余流进行分段并且选择主分段的系统的示例非限制性实施例的框图。
图4是图示依据这里所描述的各个方面和实施方式的能够从各个镜像流中选择分段的系统的示例非限制性实施例的框图。
图5是图示依据这里所描述的各个方面和实施方式的能够在存储器中缓冲并行流的分段的系统的示例非限制性实施例的框图。
图6是图示依据这里所描述的各个方面和实施方式的能够将输入流转码为多个输出流的系统的示例非限制性实施例的框图。
图7图示了依据这里所描述的各个方面和实施方式的用于对输入流进行分段并选择分段的示例非限制性实施例的流程图。
图8图示了依据这里所描述的各个方面和实施方式的用于对输入流进行分段并选择分段的示例非限制性实施例的流程图。
图9是图示依据这里所描述的各个方面和实施方式进行布置的示例计算设备的框图。
图10是图示依据本公开的各个方面和实施方式的示例网络环境的框图。
具体实施方式
概述
现在参考附图对本公开的各个方面进行描述,其中同样的附图标记始终被用来指代同样的要素。在以下描述中,出于解释的目的而给出了很多具体细节以便提供对一个或多个方面的透彻理解。然而,应当理解的是,本公开的某些方面可以在没有这些具体细节的情况下进行实践,或者利用其它方法、组件、材料等进行实践。在其它情况下,以框图形式示出了公知结构和设备以促进对一个或多个方面的描述。
所要意识到的是,依据本公开中所描述的一种或多种实施方式,直播流送输入流能够在并行摄取管道中进行相干处理。如果在输入流的摄取和/或处理期间发生错误,则直播流送和摄取基础设施能够在并行输入流之间进行切换以向内容分发网络提供可靠的直播流送馈给。
在实施例中,直播流送平台能够完全在“云”环境内进行操作,并且因此该系统能够以终端用户不可见的方式来提供。在云环境中提供直播流送平台意味着摄取基础设施可以是服务器,该服务器接收到来的组播直播流、对直播流进行处理并且向各种播放器输送鲁棒且稳定的流,上述播放器也基于服务器而向终端用户输送直播流。终端用户能够经由web浏览器或轻量级应用来访问直播流。能够从多个摄取路径创建相干的流,并且在一个流的任意部分出现故障时,能够从相干流对整个单个流进行重构。
能够在并行摄取管道中对输入流的精确副本进行处理并且能够将输入流转码为所期望的(以不同比特率)输出流同时保留该流的时间信息(时间戳)。能够使用稳定分段功能对流进行相干分段,该稳定分段功能基于使得以目标分段持续时间对时间戳取模的模数最小化来识别分段边界。这例如能够通过在跨所有子流的共同关键帧处对分段处理进行初始化来实现,这产生了被相同分段的冗余输入流。
针对每个时间段,一个分段可以从冗余流中进行选择以作为被用来构建该单个流的主分段。这种分布式的主流选择能够基于针对所有比特率的特定分段的可用性或可靠性。通过从相同摄取管道中选择后续分段,用来选择哪个分段能够用于下一个步骤的算法能够通过在任何可能的时候都保持管道紧密度而使得流的不连续性最小化。
主流选择在可靠的流控制器和每管道数据块(chunk)管理器之间进行操作,该每管道数据块管理器在接收到新的分段集合时定期与主控方(master)进行通信。一个直播数据块管理器针对给定流被选择作为主控方并且所选择的直播数据块管理器向下一个处理步骤(索引和存储)输出当前分段。可以通过利用时间连续性而在输入处对流的非完善拷贝进行处理。在这种情况下,在失效备援期间可能出现一些流的短时脉冲干扰,但是相同的流紧密度逻辑使得这些物象(artifact)的出现最小化。
现在参考附图,图1图示了依据示出的各个方面和实施方式的示例直播流送系统100的框图。直播流送基础设施102能够被提供以摄取和/或处理直播媒体馈送并且将它们分布到媒体播放器112。媒体播放器112能够使用每个目标平台的本地媒体栈以解释视频信号并且显示输出。播放器112还可以包括集成的货币化模块。
直播流送基础设施102可以包括摄取基础设施104、起始基础设施106、内容分发网络108和流/事件控制应用编程接口(“API”)110。摄取基础设施104可以在分立管道中接收到来的媒体馈送并且对直播馈送进行冗余处理。起始设基础施106能够将直播媒体流保存至存储器,并且准备直播流以便输送至内容分发网络108,该内容分发网络108将该直播媒体流输送至媒体播放器112。流控制API 110能够为进行广播的合作方给予开始和/或停止事件、配置货币化设置以及总体上管理广播事件集合及其生命周期的能力。
现在转向图2,示出了图示依据各个方面和实施方式的具有并行摄取管道的冗余摄取系统200的示例非限制性实施例的框图。在摄取基础设施104中,冗余直播媒体流在摄取入口点202和212被接收。一旦被接收,在经由内容分发网络108进行分发之前,冗余直播媒体流被并行管道204、210、214和216所摄取并处理并且最后由直播数据块管理器(例如,206)保存到起始基础设施106中的存储器208。
摄取入口点202和212能够接收通过与广播发起方直接对等而获取的组播信号或者经由实时消息协议(“RMTP”)接收通过摄取服务器的全球网络所获取的信号。摄取入口点202和212还能够经由可恢复的POST请求并且作为预先分段的流(具有会话指示符的独立POST)从基于超文本传输协议(“HTTP”)的摄取接收输入流。摄取入口点202和212还能够从一般用于输送直播媒体馈送的其它源接收直播媒体流。一旦接收到冗余直播媒体流,并行摄取管道204、210、214和216就能够并行地摄取并处理冗余直播媒体流。所要意识到的是,虽然图2描绘了处理来自入口点202的直播流的管道204和210以及处理来自入口点212的直播流的管道214和216,但是可以存在管道和入口点的任何组合。在一些实施例中,可以存在比每入口点两个并行管道更少或更多的并行管道,并且在其它实施例中,可以存在大于或小于两个入口点。
摄取管道204、210、214和216能够处理并准备直播流以便输送至内容分发网络108。诸如分段组件、缓冲组件和转码分段之类的处理模块能够包括在摄取管道204、210、214和216中。摄取管道还可以包括封装器和/或加密组件以将流封装为容器格式和/或对其进行加密。该管道还可以包括延迟组件,其能够向直播媒体流中插入延迟。
管道204、210、214和216中的分段组件能够识别所摄取输入流中的分段边界并且基于该分段边界对输入流进行分段。缓冲组件能够将并行输入流的分段缓冲在存储器中,并且摄取基础设施104中的主选择组件能够选择每一分段时间段的主缓冲分段以被保存并输送至内容分发网络108。与针对每个缓冲分段所选择的管道相关联的直播数据块管理器将分段输出至起始基础设施106中的下一个步骤以便在输送至内容分发网络108之前进行索引和存储。并行摄取管道的这种布置在从源素材的摄取到编码、存储、转换为按需资产、发布和流送的所有层面衡量系统的鲁棒性。
在一些实施例中,为了保持时间连续性,优选地在流中如果没有错误或超时,则使用来自并行管道之一的输出以便在存储器208中进行索引和存储从而经由内容分发网络108进行输送。这种管道紧密度能够使得切换到另一个管道的失效备援期间可能的短时脉冲干扰的数量最小化。然而,如果流中存在错误,并且选择了来自另一个并行管道的冗余流之一,则使得流并行分段能够使得直播流的破坏最小化。
因此,例如参考图2,来自摄取管道204的输入流可以是由直播数据块管理器206写入到存储器208中的主流。管道210、214和216具有与管道204的输入流并行的冗余流,但是除非管道204的输入流被破坏否则其并不被选择。当出现破坏时,摄取基础设施104中的主选择组件能够选择管道210、214或216之一以及它们相关联的直播数据块管理器之一以将其输入流作为主流进行索引并存储。
现在转向图3,图示了对依据各个方面和实施方式的能够对冗余流进行分段并且选择主分段的系统300的示例非限制性实施例进行图示的框图。系统300可以包括具有分段组件302和主选择组件304的摄取基础设施104的部分。具有直播媒体流的并行摄取管道在处理的不同阶段306、308和310被示出。所要意识到的是,虽然图3在摄取基础设施104中示出了一个分段组件302和一个主选择组件304,但是这样做是为了简明,并且每个并行摄取管道可以包括分段组件和主选择组件。
分段组件302能够识别所摄取的输入流中的分段边界并且然后基于该分段边界对输入流进行分段。分段组件302也能够对每个管道中并行摄取的输入流中的每一个进行分段,或者可替换地,分立的分段组件能够对分立的输入流进行分段。
分段组件302接收未分段的输入流306并且识别输入流中的分段。在一些实施例中,所识别的分段边界可以基于帧的数量(即,每n个帧开始新的分段)。可替换地,在其它实施例中,分段边界可以基于帧的类型(即,每个帧内或帧间开始新的分段)。其它分段功能能够基于使得以目标分段持续时间对时间戳取模的模数最小化而识别分段边界。
在本公开的一个方面,为了保持输入流的并行性,分段组件302用来识别分段边界的算法或功能应当在每个输入流上是稳定的而使得所识别并分段的分段边界针对每个输入流是相同的。为了实现该目的,在一些实施例中,分段组件302和/或每个个体分段组件能够在共同的关键帧开始寻找分段边界。在其它实施例中,分段组件302能够在流的开头开始分段。
在另一个实施例中,分段组件302能够使用针对流的非连续性而言鲁棒的算法。因此,在输入流的故障或不连续的情况下,输入流的分段的并行性将不会中断。
一旦分段组件302识别出分段,输入流306就能够被分段,并且分段的输入流308是该分段的结果。每一时间段的每个输入流中可以有一个分段。该时间段可以基于分段的长度或者分段的长度可以基于该时间段的长度。分段的输入流308中的每个分段是可互换的,而使得相干主流能够从来自每一时间段的输入流之一的分段之一进行选择。
主选择组件304从分段中选择每一时间段的主分段以便输送至内容分发网络。在一些实施例中,为了保持管道紧密度并使得短时脉冲干扰最小化,主选择组件304将从相同管道(例如,312)选择连续分段作为主分段。摄取管道310承载冗余流并且主流312被选择以便由直播数据块管理器(例如,206)输送从而在存储器(例如,208)中进行索引和存储。
在本公开的一个方面,主选择组件304将保持管道紧密度并且继续从相同管道选择分段直至主流312的可靠性信号降到阈值以下,并且主选择组件304切换至来自不同输入流的主分段。所接收的超时也能够触发主选择组件304切换到不同的输入流。在其它实施例中,主选择组件304能够基于所缓冲的分段的可靠性信号而从在每一时间段的所有分段中选择主分段。在一些情况下,每一时间段最为可靠的分段能够被选择作为主分段。
在图4中,示出了图示依据各个方面和实施方式的能够从各个镜像流选择分段的系统400的示例非限制性实施例的框图。在一些实施例中,也许不可能或不期望保持管道和/或流紧密度。主选择组件404能够接收要从中选择主分段的分段的并行摄取管道402。406所示的并行管道具有主选择组件404所选择的主分段,其中该主分段分布在管道之中。主选择组件404能够基于这些分段的可靠性信号或者该输入流在该时间段中的可靠性而选择该时间段的一个分段。因此,来自多个不同流的主分段能够被用来构建最终由内容分发网络(例如,108)进行分发的主流。
现在转向图5,示出了图示依据各个方面和实施方式的能够在存储器中缓冲并行流的分段的系统500的示例非限制性实施例的框图。能够在摄取基础设施104中提供缓冲组件502以将来自并行摄取管道504的多个输入流的分段缓冲到存储器506中。在被主选择组件(例如,304、404)所选择之前或之后,所缓冲的分段能够在存储器中进行索引和存储。
所要意识到的是,虽然图5针对所有管道504描绘了一个缓冲组件和一个存储器存储,但是可以存在多个缓冲组件和存储器存储。例如,每摄取管道可以有一个缓冲组件,其将每个输入流的分段缓冲到分立的存储器存储中。
现在转向图6,示出了图示依据各个方面和实施方式的能够将输入流转码为多个输出流的系统600的示例非限制性实施例的框图。能够在摄取基础设施104中提供转码组件604以将输入流602转码和/或编码为各个输出流606、608、610和612。输入流602能够以原始形式被接收(例如,MPEG-2传输流“M2TS”),并且转码组件604能够将原始流编码为各个输出流。输出流能够处于不同的容器格式和/或比特率。转码组件604能够保留每个输出流中的时间戳信息。
在一些实施例中,转码组件604能够在每个摄取管道中将输入流划分为多个输出流。每个并行摄取管道因此将具有以不同比特率和/或容器格式的各个流。这些流被分段,并且当主选择组件(例如,304、404)选择主分段时,主分段将包括由转码组件604所输出的各个流中的每一个。
在本公开的方面,分段中的任意转码的流中的超时或破坏会导致主选择组件从另一个冗余摄取管道选择主分段。
图7图示了根据本公开的方面的用于对输入流进行分段并且选择分段的方法的示例非限制性实施例的示例性流程图700。为了便于解释,该方法被描绘且描述为一系列的动作。然而,依据本公开的动作能够以各种顺序发生和/或同时发生,并且具有这里并未给出和描述的其它动作。此外,实施依据所公开的主题的方法并非需要所有所图示的动作。此外,本领域技术人员将会理解并意识到的是,该方法可替换地能够经由状态图或事件而被表示为一系列相关状态。此外,应当意识到的是,该说明书中所公开的方法能够存储在制造品上以促进将这样的方法运送和传输至计算设备。如这里所使用的术语制造品意在包含能够从任意计算机可读设备或存储媒体进行访问的计算机程序。
此外,以上已经结合相应系统示图对各个动作进行了详细的描述。所要意识到的是,图1-6中对这样的动作的详细描述可以是且意在能够实施为方法和/或依据以下所描绘的方法。
在702,在所摄取的输入流中识别分段边界并且(例如,由分段组件302)基于该分段边界对输入流进行分段。分段边界基于帧的数量进行识别(即,每n个帧开始新的分段)。可替换地,在其它实施例中,分段边界可以基于帧的类型(即,每个帧内或帧间开始新的分段)。其它分段功能能够基于使得以目标分段持续时间对时间戳取模的模数最小化来识别分段边界。
能够识别多个输入流的分段边界。为了确保输入流被并行处理,被用来识别分段边界的算法或功能应当在每个输入流上是稳定的而使得所识别并分段的分段边界针对每个输入流是相同的。为了实现该目的,在本公开的一些方面中,分段和识别处理能够在跨所有输入流的共同的关键帧开始。可替换地,能够从流的开头发起识别。
一旦识别了分段边界,就能够基于该边界对流进行分段。每一时间段的每个输入流中可以有一个分段。该时间段可以基于该分段的长度或者该分段的长度可以基于该时间段的长度。每个每一时间段的分段能够进行互换而使得所重构的主流能够由每一时间段的输入流中的任意分段所组成。
在704,(例如,由缓冲组件502)缓冲多个输入流的分段,其中该缓冲包括将所缓冲的分段在存储器中进行索引和存储。在706,(例如,由主选择组件304和404)从所缓冲的分段中选择每一时间段的一个主缓冲分段以便输送至内容分发网络。
在一些实施例中,为了保持管道紧密度并且使得短时脉冲干扰最小化,能够选择来自相同管道的连续分段作为主分段直至该主流的可靠性降到阈值或预定数值以下,并且能够从不同输入流选择主分段。分段或输入流中的超时也会触发切换至不同输入流。在其它实施例中,能够基于所缓冲的分段的可靠性信号而从在每一时间段的所有分段中选择主分段。在一些情况下,每一时间段最为可靠的分段能够被选择作为主分段。
图8图示了依据在此所述的各个方面和实施方式的用于对输入流进行分段并且选择分段的示例非限制性实施例的流程图。所要意识到的是,图1-6中对这样的动作的详细描述可以是并且意在能够实施为方法和/或依据以下所描述的方法。
在802,能够在分立的摄取管道中对所摄取的输入流进行冗余处理。所摄取的输入流能够在这些分立的摄取管道之间进行镜像。这些分立的所摄取的输入流也能够在并行管道中进行处理而使得若干个冗余水平确保能够缓解针对一个或多个管道的破坏。
在804,能够在共同的关键帧发起多个冗余流的分段。这确保了输入流被并行处理而使得所识别的分段边界对于每个输入流是相同的。在806,采用分段算法基于使得以目标分段持续时间对时间戳取模的模数最小化来识别分段边界。
在808,基于所选择的所缓冲的分段的可靠性信号选择主缓冲分段。为了保持管道紧密度,能够从相同管道和/或输入流选择后续的主缓冲分段直至该输入流或主缓冲分段的可靠性降到预定数值以下。可替换地,每一时间段具有最高可靠性的所缓冲的分段能够被选择作为主缓冲分段。
示例性计算设备
参考图9,用于实施本公开的各方面的适当环境900包括计算设备912。所要意识到的是,计算机912能够结合实施与图1-6相结合示出并且描述的一个或多个系统或组件来使用。计算设备912包括处理单元914、系统存储器916和系统总线918。系统总线918将包括但并不局限于系统存储器916的系统组件耦接至处理单元914。处理单元914可以是任意的各种可用处理器。双微处理器和其它多处理器架构也能够被用作处理单元914。
系统总线918可以是任意的若干类型的(多种)总线结构,包括存储器总线或存储器控制器、外围总线或外部总线和/或使用任意各种可用总线架构的本地总线,上述总线架构包括但并不局限于工业标准架构(ISA)、微通道架构(MSA)、扩展ISA(EISA)、智能电子驱动器(IDE)、VESA局部总线(VLB)、外围组件互连(PCI)、卡总线、通用串行总线(USB)、先进图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)、火线(IEEE 994)和小型计算机系统接口(SCSI)。
系统存储器916包括易失性存储器920和非易失性存储器922。包含诸如在启动期间在计算设备912内的元件之间传输信息的基本例程的基本输入/输出系统(BIOS)被存储在非易失性存储器922中。通过说明而非限制,非易失性存储器(例如,922)可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存或非易失性随机访问存储器(RAM)(例如,铁电RAM(FeRAM))。易失性存储器(例如,920)包括随机访问存储器(RAM),其用作外部高速缓存存储器。通过说明而非限制,RAM能够以多种形式获得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、Synchlink DRAM(SLDRAM)、直接Rambus RAM(DRRAM)、直接Rambus动态RAM(DRDRAM)和Rambus动态RAM。此外,这里所公开的系统或方法的存储器组件意在包括而并不局限于包括这些和任意其它适当类型的存储器。
计算设备912还可以包括可移动/非可移动、易失性/非易失性的计算机存储媒体。例如,图9图示了盘存储924。盘存储924包括但并不局限于如磁盘驱动器、闪存驱动器、软盘驱动器、带式驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒的设备。盘存储924还可以包括独立或结合其它存储媒体的存储媒体,上述其它存储媒体包括但并不局限于光盘驱动器,诸如紧致盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)。为了促进盘存储设备924到系统总线918的连接,通常使用可移动或非可移动的接口,诸如接口926。
图9还描绘了用作用户和适当操作环境900中所描述的基本计算机资源之间的媒介的软件。这样的软件例如包括操作系统928。能够存储在盘存储924上的操作系统928用来控制并分配计算设备912的资源。系统应用930通过例如存储在系统存储器916中或盘存储924上的程序模块932和程序数据934而对操作系统928进行操作而对资源的管理加以利用。所要意识到的是,本公开能够利用各种操作系统或操作系统的组合来实施。
用户通过输入设备936向计算设备912中输入命令或信息。输入设备936包括但并不局限于诸如鼠标的指示设备、轨迹球、输入笔、触摸板、键盘、麦克风、操纵杆、游戏垫、卫星碟形天线、扫描仪、电视调频卡、数码相机、数码摄像机、web相机等。这些和其它输入设备经由接口端口938而通过系统总线918连接至处理单元914。接口端口938例如包括串行端口、并行端口、游戏端口和通用串行总线(USB)。输出设备930使用一些与输入设备936相同类型的端口。因此,例如,USB端口可以被用来向计算设备912提供输入,并且从计算设备912向输出设备940输出信息。提供输出适配器942以说明除其它输出设备940之外的存在如监视器、扬声器和打印机之类的需要特殊适配器的一些输出设备940。通过说明而非限制,输出适配器942包括视频和声音卡,其在输出设备940和系统总线918之间提供了连接手段。应当注意的是,诸如远程计算机944之类的其它设备和/或设备的系统同时提供输入和输出能力。
计算设备912能够使用到诸如远程计算机944的一个或多个远程计算机的逻辑连接而在联网环境中进行操作。远程计算机944可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的器件、对等设备或其它常见网络节点等,并且通常包括关于计算设备912所描述的许多或全部元件。出于简明的目的,仅随远程计算机944图示了存储器存储设备946。远程计算机944通过网络接口948逻辑连接至计算设备912并且随后经由通信连接950进行物理连接。网络接口948包含有线和/或无线通信网络,诸如局域网(LAN)、广域网(WAN)、蜂窝网络等。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网、令牌环等。WAN技术包括但并不局限于点对点链路、如综合服务数字网(ISDN)的电路交换网络及其变化形式、分组交换网络和数字订户线路(DSL)。
通信连接950是指用来将网络接口948连接至总线918的硬件/软件。虽然通信连接950为了说明的清楚而被示为处于计算设备912之内,但是其也可以处于计算设备912之外。仅出于示例性的目的,到网络接口948的连接所必需的硬件/软件包括内部和外部技术,诸如包括常规电话级调制解调器、有线调制解调器和DSL调制解调器的调制解调器、ISDN适配器、以太网卡和无线网卡。
依据各个方面和实施方式,计算设备912可以被用来对冗余输入流进行分段并且从每一时间段的输入流中选择主分段。计算设备912还能够将输入流转码为具有变化的比特率和/或容器格式的输出流。如这里更完整公开的,在一些实施方式中,计算设备912可以包括一个或多个处理器(例如,914),其能够被用来处理数据,包括处理数据以执行各种任务(例如,包括识别分段边界、基于分段边界对输入流进行分段、缓冲分段并且在存储器中存储缓冲的分段、以及从所缓冲的分段中选择每一时间段的主缓冲分段等)。计算设备912可以包括程序组件905,其能够与一个或多个处理器相关联(例如,与之通信连接)。程序组件905例如能够包含分段组件、缓冲组件、主选择组件和转码组件,和/或能够分别如这里更完整公开的用来促进这里所描述的公开的实施例的其它组件。
示例性网络和分布式环境
图10是依据本公开的实施方式的样本计算环境1000的示意性框图。系统1000包括一个或多个客户端1010。客户端1010可以是硬件和/或软件(例如,线程、处理、计算设备)。系统1000还包括一个或多个服务器1030。因此,除其它模型之外,系统1000可以对应于双层的客户端-服务器模型或多层模型(例如,客户端、中间层服务器、数据服务器)。服务器1030也可以是硬件和/或软件(例如,线程、处理、计算设备)。例如,服务器1030能够存放线程以通过采用本公开而执行变换。客户端1010和服务器1030之间的一种可能通信可以是在两个或更多计算机处理之间进行传送的数据分组的形式。
系统1000包括通信架构1050,其能够被用来促进客户端1010和服务器1030之间的通信。客户端1010操作连接至一个或多个客户端数据存储1020,该一个或多个客户端数据存储1020能够被用来存储客户端1010本地的信息。类似地,服务器1030操作连接至一个或多个服务器数据存储1040,该一个或多个服务器数据存储1040能够被用来存储服务器1030本地的信息。
所要意识到并理解的是,如关于特定系统或方法所描述的组件可以包括与关于这里所公开的其它系统或方法所描述的相应组件(例如,相应命名的组件或类似命名的组件)相同或相似的功能。
所要注意的是,本公开的方面或特征能够基本上与任意无线电信或无线电技术使用,例如Wi-Fi;蓝牙;全球微波接入互操作性(WiMAX);增强型通用分组无线电服务(增强型GPRS);第三代合作伙伴计划(3GPP)长期演进(LTE);第三代合作伙伴计划2(3GPP2)超移动带宽(UMB);3GPP通用移动电信系统(UMTS);高速分组访问(HSPA);高速下行链路分组接入(HSDPA);高速上行链路分组接入(HSUPA);GSM(全球移动通信系统)EDGE(增强数据速率GSM演进)无线电接入网络(GERAN);UMTS陆地无线电接入网络(UTRAN);先进LTE(LTE-A)等。此外,这里所描述的一些或全部方面能够与传统电信技术使用,例如GSM。此外,移动以及非移动网络(例如,互联网,诸如互联网协议电视(IPTV)的数据服务网络等)能够与这里所描述的方面或特征使用。
虽然以上已经总体上以计算机和/或多个计算机上运行的计算机程序的计算机可执行指令为背景对主题进行了描述,但是本领域技术人员将会认识到,本公开还能够或可以结合其它程序模块来实施。通常,程序模块包括执行特定任务和/或实施特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域技术人员将会意识到,发明的方法可以利用其它计算机系统配置进行实践,包括单处理或多处理器计算机系统、小型计算设备、大型计算机以及个人计算机、手持计算设备(例如,PDA、电话)、基于微处理器器的或可编程消费者或工业电器,等等。所说明的方面还可以在分布式计算环境中实践,其中任务由通过通信网络进行链接的远程处理设备来执行。然而,本公开的一些(即便不是全部)方面能够在独立计算机上进行实践。在分布式计算环境中,程序模块能够位于本地和远程的存储器存储设备。
如本申请中所使用的,术语“组件”、“系统”、“平台”、“接口”等可以指代和/或可以包括计算机相关实体或者与具有一种或多种特定功能的运算机器相关的实体。这里所公开的实体可以是硬件、硬件和软件的组合、软件或者执行中的软件。例如,组件可以是但并不局限于在处理器上运行的处理、处理器、对象、可执行程序、执行线程、程序和/或计算机。通过说明,在服务器上运行的应用和服务器都可以作为组件。一个或多个组件可以驻留在处理和/或执行线程之内并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
在另一个示例中,相应组件能够从具有存储于其上的各种数据结构的各种计算机可读媒体执行。该组件诸如可以依据具有一个或多个数据分组(例如,来自与本地系统、分布式系统中的另一组件进行交互的一个组件的数据,和/或跨诸如互联网之类的网络而经由信号与其它系统进行交互的一个组件的数据)的信号而经由本地和/或远程处理进行通信。作为另一个示例,组件可以是具有通过电气或电子电路进行操作的机械部分所提供的特定功能的装置,上述电路通过由处理器执行的软件或固件应用进行操作。在这样的情况下,处理器可以处于装置内部或外部并且能够执行该软件或固件应用的至少一部分。作为又另一个示例,组件可以是在没有机械部分的情况下通过电子组件提供特定功能的装置,其中该电子组件可以包括处理器或其它器件以执行至少部分地赋予该电子组件的功能的软件或固件。在一个方面,例如,在云计算系统内,组件能够经由虚拟机对电子组件进行仿真。在云计算系统内,计算能够作为服务而不是产品进行输送。因此,资源、软件和信息能够通过网络在计算机和服务器之间进行共享。终端用户通过web浏览器或其它小型桌面或移动app来访问基于云的应用,而商业软件和数据则存储在远程位置的服务器上。
此外,术语“或”意在表示包含“或”而非排除“或”。也就是说,除非另外指出或者从上下文所明确,否则“X采用A或B”意在表示任意的自然包含排列形式。也就是说,如果X采用A;X采用B;或者X采用A和B二者,则“X采用A或B”就在任意上述实例下得到满足。此外,除非另外指出或者从上下文所明确为指示单数形式,否则本主题说明书和附图中使用的冠词“一个”(“a”和“an”)一般应当被理解为表示“一个或多个”。
如这里所使用的,术语“示例”和/或“示例性”在这里被用来表示用作示例、实例或说明。为了避免质疑,这里所公开的主题并不被这样的示例所限制。此外,这里被描述为“示例”和/或“示例性”的任意方面或设计并非必然被理解为相对于其它方面或设计是优选或有利的,其也并非意在排除本领域技术人员公知的等同的示例性结构和技术。
贯穿该说明书对“一种实施方式”或“实施方式”或“一个实施例”或“实施例”的引用意味着结合该实施方式或实施例所描述的特定特征、结构或特性包括在至少一种实施方式或一个实施例中。因此,取决于情形,贯穿该说明书各处出现的短语“在一种实施方式中”或“在实施方式中”或“在一个实施例中”或“在实施例中”可以但并非必然指代相同的实施方式或实施例。此外,特定的特征、结构或特性在一个或多个实施方式或实施例中可以以任意适当方式进行组合。
这里所描述的各个方面或特征能够使用标准编程或工程技术被实施为方法、装置、系统或制造品。此外,本公开中所公开的各个方面或特征能够通过实施这里所公开的至少一种或多种方法的程序模块来实现,该程序模块存储在存储器中并且由至少一个处理器所执行。硬件和软件或者硬件和固件的其它组合能够使能或实施这里所描述的方面,包括所公开的(多种)方法。如这里所使用的术语“制造品”能够包含可从任意计算机可读设备、载体或存储媒体进行访问的计算机程序。例如,计算机可读存储媒体可以包括但并不局限于磁性存储设备(例如,硬盘、软盘、磁条)、光盘(例如,紧致盘(CD)、数字多功能盘(DVD)、蓝光盘(BD)...)、智能卡以及闪存设备(例如,卡、棒、密钥驱动器),等等。
如在该说明书中所采用的,术语“处理器”可以指代基本上任意的计算处理单元或设备,包括但并不局限于单核处理器;具有软件多线程执行能力的单个处理器;多核处理器;具有软件多线程执行能力的多核处理器;具有硬件多线程技术的多核处理器;并行平台;以及具有分布式共享存储器的并行平台。此外,处理器可以指代集成电路、专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑控制器(PLC)、复杂可编程逻辑设备(CPLD)、离散门或晶体管逻辑、离散硬件组件或者被设计为执行这里所描述的功能的其任意组合。另外,处理器能够采用纳米规模的架构,诸如但并不局限于基于分子和量子点的晶体管、开关和门电路,以便优化用户设备的空间使用或提升其性能。处理器还可以被实施为计算处理单元的组合。
在本公开中,诸如“储存”、“存储”、“数据储存”、“数据存储”、“数据库”以及基本上有关组件的操作和功能的任意其它信息存储组件被用来指代“存储器组件”、以“存储器”体现的实体或者包括存储器的组件。所要意识到的是,这里所描述的存储器和/或存储器组件可以是易失性存储器或非易失性存储器,或者可以包括易失性和非易失性存储器二者。
以上已经描述的内容包括本公开的系统和方法的示例。显然,并不可能出于描述本公开的目的而对组件或方法的每种可想到的组合都进行描述,但是本领域技术人员可以认识到,可能进行本公开的许多另外的组合和排列。此外,就详细描述、权利要求、附录和附图中所使用的术语“包括”、“具有”、“拥有”等的范围而言,这样的术语意在以类似于当术语“包含”在权利要求中作为过渡词时对其进行解释的相类似的方式而是包含性的。

Claims (20)

1.一种系统,包括:
处理器;和
通信地耦合到所述处理器的存储器,所述存储器具有存储于其中的计算机可执行指令,包括:
缓冲组件,所述缓冲组件被配置为缓冲多个输入流的分段,其中所缓冲的分段被索引并存储在存储器中;和
主选择组件,所述主选择组件被配置为分析所缓冲的分段中每一个的可靠性评级,并从所缓冲的分段中选择每一时间段的主缓冲分段以便输送至内容分发网络,
其中,响应于所述主缓冲分段的可靠性评级满足阈值可靠性评级,从与先前的主缓冲分段相同的输入流中选择所述主缓冲分段。
2.根据权利要求1所述的系统,其中所摄取的输入流在分立的摄取管道中进行冗余处理。
3.根据权利要求2所述的系统,还包括:
分段组件,所述分段组件被配置为识别所摄取的输入流中的分段边界并且基于所述分段边界对所述输入流进行分段。
4.根据权利要求3所述的系统,还包括:转码组件,所述转码组件被配置为将所述输入流转码为具有不同比特率和格式的多个输出流。
5.根据权利要求3所述的系统,其中,所述分段组件还被配置为:在所摄取的输入流中的共用关键帧处开始分段。
6.根据权利要求1所述的系统,其中,所述主选择组件还被配置为:基于针对不同比特率和格式中每个的所缓冲的分段的可靠性信号而从在多个输入流的所缓冲的分段中选择所述主缓冲分段。
7.根据权利要求1所述的系统,其中,所述主选择组件还被配置为:响应于所述输入流的所述可靠性评级降至所述阈值可靠性评级以下,针对后续主缓冲分段切换至不同输入流。
8.根据权利要求1所述的系统,其中,所述主选择组件还被配置为:响应于接收到所述输入流中超时的指示而针对后续分段切换至不同输入流。
9.一种方法,包括:
由包括处理器的系统缓冲多个输入流的分段,其中所述缓冲包括对所缓冲的分段进行索引并存储在存储器中;
由所述系统确定所缓冲的分段中每一个的可靠性;和
响应于主缓冲分段的可靠性满足预定标准,由所述系统从与自从紧接在前的时间分段起的先前主缓冲分段相关联的输入流中选择每一时间分段的所述主缓冲分段。
10.根据权利要求9所述的方法,还包括:
由所述系统识别所摄取的输入流中的分段边界,并由所述系统基于所述分段边界对所述输入流进行分段。
11.根据权利要求9所述的方法,还包括:
由所述系统对所摄取的输入流在分立的摄取管道中进行冗余处理。
12.根据权利要求9所述的方法,还包括:
由所述系统将所述输入流转码为具有不同比特率和格式的输出流。
13.根据权利要求12所述的方法,其中,选择所述主缓冲分段是基于所述主缓冲分段的所述可靠性满足针对不同比特率和格式中每一个的所述预定标准。
14.根据权利要求11所述的方法,还包括:
由所述系统在共用关键帧处开始对多个冗余流进行分段。
15.根据权利要求10所述的方法,还包括:
由所述系统从相同输入流选择后续的主缓冲分段,除非后续分段的可靠性降到阈值以下。
16.根据权利要求10所述的方法,还包括:
由所述系统响应于接收到所述输入流中超时的指示而从不同输入流选择后续主缓冲分段。
17.根据权利要求10所述的方法,其中所摄取的输入流是直播流。
18.一种具有存储在其上的指令的非暂时性计算机可读介质,所述指令响应于执行而使包括处理器的系统执行操作,所述操作包括:
缓冲输入流的分段,其中所述缓冲包括:将所缓冲的分段索引并存储在存储器中;
确定所缓冲的分段中每个所缓冲分段的可靠性评级;和
响应于主缓冲分段的可靠性评级大于预定的可靠性评级,从所述输入流中的从中选择了前一个主缓冲分段的输入流中,选择缓冲分段作为每一时间段的所述主缓冲分段。
19.根据权利要求18所述的非暂时性计算机可读介质,其中,所述操作还包括:
在分立的摄取管道中对所摄取的输入流进行冗余处理。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,所述操作还包括:
响应于后续主缓冲分段的可靠性评级小于所述预定的可靠性评级,从不同输入流中选择所述后续主缓冲分段。
CN201811072893.5A 2012-04-04 2013-04-03 可扩展的鲁棒直播流送系统 Active CN109600351B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/439,678 2012-04-04
US13/439,678 US8838826B2 (en) 2012-04-04 2012-04-04 Scalable robust live streaming system
CN201380028673.1A CN104769951B (zh) 2012-04-04 2013-04-03 可扩展的鲁棒直播流送系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380028673.1A Division CN104769951B (zh) 2012-04-04 2013-04-03 可扩展的鲁棒直播流送系统

Publications (2)

Publication Number Publication Date
CN109600351A true CN109600351A (zh) 2019-04-09
CN109600351B CN109600351B (zh) 2021-10-15

Family

ID=48143377

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380028673.1A Active CN104769951B (zh) 2012-04-04 2013-04-03 可扩展的鲁棒直播流送系统
CN201811072893.5A Active CN109600351B (zh) 2012-04-04 2013-04-03 可扩展的鲁棒直播流送系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201380028673.1A Active CN104769951B (zh) 2012-04-04 2013-04-03 可扩展的鲁棒直播流送系统

Country Status (5)

Country Link
US (2) US8838826B2 (zh)
EP (1) EP2834983A1 (zh)
KR (2) KR102051012B1 (zh)
CN (2) CN104769951B (zh)
WO (1) WO2013152115A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246741B2 (en) * 2012-04-11 2016-01-26 Google Inc. Scalable, live transcoding with support for adaptive streaming and failover
US9300578B2 (en) * 2013-02-21 2016-03-29 Applied Micro Circuits Corporation Large receive offload functionality for a system on chip
US9253484B2 (en) * 2013-03-06 2016-02-02 Disney Enterprises, Inc. Key frame aligned transcoding using statistics file
US9854260B2 (en) * 2013-03-06 2017-12-26 Disney Enterprises, Inc. Key frame aligned transcoding using key frame list file
US10567489B2 (en) * 2013-03-15 2020-02-18 Time Warner Cable Enterprises Llc System and method for seamless switching between data streams
KR102268052B1 (ko) * 2013-11-11 2021-06-22 삼성전자주식회사 디스플레이 장치, 서버 장치 및 그 제어 방법
US9706509B2 (en) * 2013-12-05 2017-07-11 Cisco Technology, Inc. Synchronization of streaming data
WO2016010319A2 (ko) * 2014-07-14 2016-01-21 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
WO2016109804A1 (en) * 2014-12-31 2016-07-07 Echostar Technologies L.L.C. Automated video content processing
US20160191961A1 (en) * 2014-12-31 2016-06-30 Imagine Communications Corp. Fragmented video transcoding systems and methods
EP3220262B1 (en) * 2016-03-15 2018-06-13 Axis AB Device which is operable during firmware upgrade
US10673919B1 (en) * 2016-06-29 2020-06-02 Amazon Technologies, Inc. Concurrent input monitor and ingest
US10349108B2 (en) 2017-08-24 2019-07-09 Mobitv, Inc. System and method for storing multimedia files using an archive file format
CN111654724B (zh) * 2020-06-08 2021-04-06 上海纽菲斯信息科技有限公司 一种视频会议系统的低码率编码传输方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002067120A1 (en) * 2000-12-29 2002-08-29 Road Runner System and method for multicast stream failover
US20030079036A1 (en) * 2001-10-22 2003-04-24 Yoshihisa Terada Data stream selection/output apparatus and control program for achieving the apparatus
US6658019B1 (en) * 1999-09-16 2003-12-02 Industrial Technology Research Inst. Real-time video transmission method on wireless communication networks
US7509390B1 (en) * 2005-06-01 2009-03-24 Cisco Technology, Inc. Methods and apparatus for controlling the transmission of data
CN101494655A (zh) * 2009-03-12 2009-07-29 中国电信股份有限公司 Rtp分布式流媒体服务系统及方法
WO2011068784A1 (en) * 2009-12-01 2011-06-09 Azuki Systems, Inc. Method and system for secure and reliable video streaming with rate adaptation
CN102238434A (zh) * 2011-07-22 2011-11-09 中兴通讯股份有限公司 一种iptv流媒体文件虚拟分段和使用的方法及系统
CN102300120A (zh) * 2010-06-23 2011-12-28 中兴通讯股份有限公司 一种对多路信号进行选择输出的切换器及方法
CN102325274A (zh) * 2011-10-13 2012-01-18 浙江万里学院 一种自适应网络带宽的视频流传输控制方法
US20120023254A1 (en) * 2010-07-20 2012-01-26 University-Industry Cooperation Group Of Kyung Hee University Method and apparatus for providing multimedia streaming service
US8122142B1 (en) * 2010-10-12 2012-02-21 Lemi Technology, Llc Obtaining and displaying status updates for presentation during playback of a media content stream based on proximity to the point of capture

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2734386B2 (ja) * 1994-12-20 1998-03-30 日本電気株式会社 文字列読み取り装置
JP3165138B2 (ja) * 1998-09-14 2001-05-14 株式会社ナムコ 通信ゲームシステム
US7149189B2 (en) * 2001-07-17 2006-12-12 Mcafee, Inc. Network data retrieval and filter systems and methods
US7298746B1 (en) * 2002-02-11 2007-11-20 Extreme Networks Method and system for reassembling and parsing packets in a network environment
US7684568B2 (en) * 2003-11-24 2010-03-23 Intellon Corporation Encrypting data in a communication network
US8122144B2 (en) * 2006-06-27 2012-02-21 International Business Machines Corporation Reliable messaging using redundant message streams in a high speed, low latency data communications environment
US7733910B2 (en) * 2006-12-29 2010-06-08 Riverbed Technology, Inc. Data segmentation using shift-varying predicate function fingerprinting
US8166012B2 (en) * 2007-04-11 2012-04-24 Emc Corporation Cluster storage using subsegmenting
US8312356B1 (en) * 2008-10-29 2012-11-13 Cousins Robert E Systems, methods and computer program products including features for coding and/or recovering data
US8386630B1 (en) * 2007-09-09 2013-02-26 Arris Solutions, Inc. Video-aware P2P streaming and download with support for real-time content alteration
US8819288B2 (en) * 2007-09-14 2014-08-26 Microsoft Corporation Optimized data stream compression using data-dependent chunking
WO2010046722A1 (en) 2008-10-24 2010-04-29 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods for reducing loss of service using protocol redirect functions
US8260877B2 (en) 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
US8184750B2 (en) * 2009-01-22 2012-05-22 Freescale Semiconductor, Inc. Techniques for increasing decoding reliability in an adaptive minimum mean squared error with successive interference cancellation (MMSE/SIC) decoder
US8392748B2 (en) 2009-10-06 2013-03-05 Microsoft Corporation Reliable media streaming
US8954596B2 (en) * 2010-04-02 2015-02-10 Netflix, Inc. Dynamic virtual chunking of streaming media content
US8935270B1 (en) * 2010-05-13 2015-01-13 Netlogic Microsystems, Inc. Content search system including multiple deterministic finite automaton engines having shared memory resources
CN102118438A (zh) * 2011-01-17 2011-07-06 中兴通讯股份有限公司 IPTV系统中直播apple媒体流的方法和装置
US20130018932A1 (en) * 2011-07-12 2013-01-17 Hughes Network Systems, Llc System and method for long range and short range data compression
US8751679B2 (en) * 2011-10-07 2014-06-10 Ericsson Television Inc. HTTP adaptive streaming server with automatic rate shaping
US8977769B2 (en) * 2012-01-17 2015-03-10 Harman International Industries, Incorporated System for managing lossless failover in an audio-bridging (AVB) network
US8874634B2 (en) * 2012-03-01 2014-10-28 Motorola Mobility Llc Managing adaptive streaming of data via a communication connection

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658019B1 (en) * 1999-09-16 2003-12-02 Industrial Technology Research Inst. Real-time video transmission method on wireless communication networks
WO2002067120A1 (en) * 2000-12-29 2002-08-29 Road Runner System and method for multicast stream failover
US20030079036A1 (en) * 2001-10-22 2003-04-24 Yoshihisa Terada Data stream selection/output apparatus and control program for achieving the apparatus
US7509390B1 (en) * 2005-06-01 2009-03-24 Cisco Technology, Inc. Methods and apparatus for controlling the transmission of data
CN101494655A (zh) * 2009-03-12 2009-07-29 中国电信股份有限公司 Rtp分布式流媒体服务系统及方法
WO2011068784A1 (en) * 2009-12-01 2011-06-09 Azuki Systems, Inc. Method and system for secure and reliable video streaming with rate adaptation
CN102300120A (zh) * 2010-06-23 2011-12-28 中兴通讯股份有限公司 一种对多路信号进行选择输出的切换器及方法
US20120023254A1 (en) * 2010-07-20 2012-01-26 University-Industry Cooperation Group Of Kyung Hee University Method and apparatus for providing multimedia streaming service
US8122142B1 (en) * 2010-10-12 2012-02-21 Lemi Technology, Llc Obtaining and displaying status updates for presentation during playback of a media content stream based on proximity to the point of capture
CN102238434A (zh) * 2011-07-22 2011-11-09 中兴通讯股份有限公司 一种iptv流媒体文件虚拟分段和使用的方法及系统
CN102325274A (zh) * 2011-10-13 2012-01-18 浙江万里学院 一种自适应网络带宽的视频流传输控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周建政: "基于IP网络视频流点播应用研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *
陈静: "移动终端流媒体播放关键技术研究与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *

Also Published As

Publication number Publication date
WO2013152115A1 (en) 2013-10-10
KR102110098B1 (ko) 2020-05-12
KR102051012B1 (ko) 2019-12-02
CN109600351B (zh) 2021-10-15
US20140359158A1 (en) 2014-12-04
US9215260B2 (en) 2015-12-15
KR20150042148A (ko) 2015-04-20
CN104769951B (zh) 2018-10-12
US8838826B2 (en) 2014-09-16
EP2834983A1 (en) 2015-02-11
CN104769951A (zh) 2015-07-08
KR20190134829A (ko) 2019-12-04
US20130268688A1 (en) 2013-10-10

Similar Documents

Publication Publication Date Title
CN104769951B (zh) 可扩展的鲁棒直播流送系统
CN104380758B (zh) 用于处理自适应位速率流送的系统和方法
US10242006B2 (en) Identifying and/or recommending relevant media content
US9319433B2 (en) Prioritization of protocol messages at a server
US9456230B1 (en) Real time overlays on live streams
WO2018223842A1 (zh) 视频文件转码系统、分割方法、转码方法及装置
CN105144728B (zh) 通过http的动态自适应流式传输中面对丢失的媒体分段的恢复力
CN107483976A (zh) 直播管控方法、装置及电子设备
TW200943078A (en) Method for acceleration of web page delivery
US20140369249A1 (en) Multicast data transmission from a web server to client terminal devices using a wireless local area network
US11212327B2 (en) Group curated media channels
US9137528B1 (en) Synchronizing sparse coding dictionaries for use in communication sessions
JP2016525256A (ja) 冗長データアクセスを提供するための方法および装置
CN105407384A (zh) 一种利用二维码标识媒体播放内容的方法、装置及系统
CN111031260A (zh) 一种基于环形无锁队列的高速影像单向传输系统方法及系统
CN109491807A (zh) 一种数据交换方法、装置和系统
US9813462B2 (en) Unified dynamic executable media playlists across connected endpoints
US9253484B2 (en) Key frame aligned transcoding using statistics file
US20150119150A1 (en) Method and apparatus for recording data of network interaction protocol
Serrano et al. Kaleidoscope: A Cloud-Based Platform for Real-Time Video-Based Interaction
CN117579883A (zh) 直播视频处理方法、直播预约方法、装置以及设备
CN114979794A (zh) 一种数据发送方法及装置
US20140254658A1 (en) Key frame aligned transcoding using key frame list file

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
GR01 Patent grant
GR01 Patent grant