CN101945129A - P2p流媒体直播的低延时传输方法及系统 - Google Patents
P2p流媒体直播的低延时传输方法及系统 Download PDFInfo
- Publication number
- CN101945129A CN101945129A CN2010102796559A CN201010279655A CN101945129A CN 101945129 A CN101945129 A CN 101945129A CN 2010102796559 A CN2010102796559 A CN 2010102796559A CN 201010279655 A CN201010279655 A CN 201010279655A CN 101945129 A CN101945129 A CN 101945129A
- Authority
- CN
- China
- Prior art keywords
- multimedia frame
- multimedia
- broadcast nodes
- frame data
- data bag
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种P2P流媒体直播的低延时传输方法,包括:采集多媒体数据流中的多媒体帧,并对所述对媒体帧进行多媒体编码;将编码后的多媒体帧切片成1KB左右大小的多媒体帧数据包,并对切分的每个多媒体帧数据包编号;将所述多媒体帧数据包通过直播网络传输到各个播放节点;所述各个播放节点接收到所述多媒体帧数据包,将所述多媒体帧数据包组成所述多媒体帧并播放;本发明还公开了一种P2P流媒体直播的低延时传输系统,包括:多媒体帧采集模块、多媒体帧切片模块、多媒体帧数据包传输模块、多媒体帧重组模块等。本发明提高了传输效率,减小了传输延时和带宽浪费,而且增强了数据传输的稳定性。
Description
技术领域
本发明涉及P2P流媒体直播技术领域,特别涉及一种P2P流媒体直播的低延时传输方法及系统。
背景技术
流媒体是指视频、音频数据以顺序流的方式在网络上从源节点向目标节点传输,以达到边下载边播放特点的多媒体网络应用。传统的流媒体服务大多采用“客户端/服务器”(C/S)模式,由于受到服务器带宽与计算能力等限制,当用户量大幅提升时,系统的扩展性和稳定性受到严峻的挑战。
P2P流媒体技术则是结合了对等网络技术(Peer-to-Peer)的流媒体应用,主要思想是利用终端设备的计算能力和带宽能力来提升系统的扩展性和稳定性。P2P流媒体网络节点在运行过程中既是客户端角色,也是服务器角色,即网络对等;各个网络节点具有相同的地位。既是数据的请求方,也是数据的提供方,节点与节点之间直接连接进行网络通信和数据交换。也就是说整个系统中不需要强烈依赖集中的服务器资源,用户规模增大时,新增用户可以利用其它Peer节点的计算能力和资源获得服务器,使得P2P系统能够自适应地随着需求增长而增长,具有“与生俱来”的可扩展性。正基于此,P2P流媒体直播技术广泛用于当前互联网的各种应用。
传统的P2P流媒体直播系统在拓扑构建方面主要有两种模式,一种是基于直播树的方式,另外一种是基于网状的方式。
基于直播树的方式,是将加入直播系统的Peer节点组织成一棵组播树。节点被组织成传输数据的树形覆盖网络,每个数据分组都在同一覆盖网络上进行传输,服务器和所有客户端节点组成一棵组播树,在组播树上的节点明确定义其“父节点/子节点”关系。组播树中的中间节点接收来自父节点的组播数据,并将该数据以组播方式送给自己的子节点。但是,由于系统中的节点即要接收数据又要转发数据,这种组织结构下,不仅要求任何一个节点有一定的计算能力,同时还需要有至少一路完整媒体流输出的带宽放大能力。这无疑对加入系统的客户端节点的性能有比较高的要求。同时,当节点随意加入和离开时,该结构必须得以维持,在此过程中还要避免环路的出现。构建多播树的方法是最简单和自然的方法,不需要复杂的视频编码算法,但是需要重点考虑的是节点失效的问题以及维护多播树所带来的开销。正由于这些原因,直播树的方式在当前P2P流媒体系统中构建中,使用较少。
基于网状的方式,则是将加入系统的Peer节点组织成一个网络结构,每一个Peer节点跟多个邻居节点相连,节点之间通过交换BufferMap(播放缓存片断映射表),获知邻居数据节点的状态,然后采用Pull策略的数据转发方式,从邻居节点获取数据。网状模型可以简单理解为:音频视频等媒体数据从多个发送者以单播的方式向同一个接收者发送全部或者部分的媒体数据,在这种方式下,某一个发送者不需要提供完整的一部上行带宽能力。而任何一个接收者,可以接收大于等于一倍媒体带宽的数据。在网状结构的流媒体直接系统中,由于一个节点可以从多个节点获取数据,并且任意一个节点只负责目标接收节点的部分数据流,整个系统对单节点故障引起的开销会降低。正由于对互联网异构性和动态性的支持,网状P2P流媒体直播系统是目前互联网上众多P2P流媒体服务所采用的方式,多采用DHT(Distributed Hash Table,分布式哈希表)算法和以数据驱动为倒向的Gossip协议。
传统的典型P2P流媒体直播系统这些直播系统的主要步骤如下:
1.采用Windows Media Server进行多媒体数据采集;形成asf格式数据流。
2.对多媒体asf格式的数据流进行文件切块操作,一般以2Mbit大小进行切块。
3.在覆盖网络中采用Gossip协议进行节点组织;与邻居节点进行BufferMap交换,采用Pull的方式,从邻居节点获取文件块(Pull策略是指数据目的节点从数据源节点或其它节点获取数据更新,Push策略是指数据源节点主动通知数据目的节点源节点的数据有更新)。
4.对获取的文件进行拼接重组,还原成asf格式的数据流;调用Windows Media Player进行多媒体播放。
在上述过程中,节目发布时,对多媒体进行采集时采用Microsoft Media Server技术,然后进行多媒体数据的采集和asf格式的文件编码,由于Microsoft Media Server技术的限制和文件切片的大小限制,这个过程会产生约10s~15s左右的时延。而在在传输过程中,需要对2Mbit大小的文件块接收完毕后才能继续向邻居节点转发,存在文件片的本地驻留时间,此时延还会随着TTL的增大而增大。在采用Gossip协议的P2P覆盖网络中,无结构化网状的网络结构,以及采用Buffer Map交换形式的Pull数据获取方式,会导致时延的进一步增大。另外,客户端采用Microsoft Media Player进行播放时,需要接收到完整的数据块才能进行播放,会对启动延时有一定的影响。
综上所述,可以看出,传统的P2P流媒体直播系统在直播时延以及播放同步性上存在较大缺陷。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:降低P2P流媒体直播中的传输延时,达到播放同步。
(二)技术方案
一种P2P流媒体直播的低延时传输方法,包括以下步骤:
S1:采集多媒体数据流中的多媒体帧,并对所述媒体帧进行多媒体编码;
S2:将编码后的多媒体帧切片成多媒体帧数据包,并对切分的每个多媒体帧数据包编号;
S3:将编号的多媒体帧数据包通过直播网络传输到各个播放节点;
S4:所述各个播放节点接收到所述多媒体帧数据包后,根据编号将所述多媒体帧数据包组成所述多媒体帧并播放。
其中,所述步骤S3之前包括播放节点加入直播网络的步骤:
为新加入的播放节点分配一个序列号,并将所述序列号与该播放节点信息绑定,所述播放节点信息包括:IP地址、端口号、NAT类型和带宽;
判断所述新加入的播放节点的NAT类型,若类型为无法穿透NAT类型,则将该播放节点加入到弱播放节点队列的队尾;
判断所述新加入的播放节点的带宽,若带宽大于或等于预定值,则将该播放节点按序列号顺序加入到强播放节点队列的相应位置,否则,按序列号顺序加入到弱播放节点队列的相应位置。
其中,所述预定值为多媒体数据源节点带宽的1.2倍至1.5倍。
其中,播放节点加入直播网络后还包括:
通过网络命令交互获取邻居节点的运行信息,所述运行信息包括:播放节点信息、节点类型、剩余带宽、内容完整性、响应时间、加入时间和父节点。
其中,所述步骤S3具体包括:
播放节点事先向邻居节点预约多媒体帧数据包;
当预约的多媒体帧数据包到达时,采用push策略将所述多媒体帧数据包传输到预约该数据包的播放节点。
其中,所述播放节点事先向邻居节点预约多媒体帧数据包的步骤包括:
按多媒体帧数据包的编号对多媒体帧数据包进行分组,并设置组内编号;
按组内编号随机请求邻居节点,预约组内的多媒体帧数据包;
若预约不成功,则重新选择邻居节点,否则继续预约,直到组内所有的多媒体帧数据包都预约完成。
其中,所述步骤S4中各个播放节点在将多媒体帧数据包组成多媒体帧之前还包括检查多媒体帧数据包完整性的步骤:
扫描接收多媒体帧数据包的缓冲区的指定区域;
统计所述指定区域中丢失的多媒体帧数据包;
请求邻居节点传输所述丢失的多媒体帧数据包。
其中,所述多媒体帧数据包大小为800~1300字节。
一种P2P流媒体直播的低延时传输系统,包括:
多媒体帧采集模块,用于采集多媒体数据流中的多媒体帧,并对所述对媒体帧进行多媒体编码;
多媒体帧切片模块,用于将编码后的多媒体帧切片成多媒体帧数据包,并对切分的每个多媒体帧数据包编号;
多媒体帧传输模块,用于将编号的多媒体帧数据包通过直播网络传输到各个播放节点;
多媒体帧重组模块,用于所述各个播放节点接收到所述多媒体帧数据包后,根据编号将所述多媒体帧数据包组成所述多媒体帧并播放。
其中,所述系统还包括:
节点信息绑定模块,用于为新加入的播放节点分配一个序列号,并将所述序列号与该播放节点信息绑定,所述播放节点信息包括:IP地址、端口号、NAT类型和带宽;
NAT类型判断模块,用于判断所述新加入的播放节点的NAT类型,若类型为无法穿透NAT类型,则将该播放节点加入到弱播放节点队列的队尾;
带宽判断模块,用于判断所述新加入的播放节点的带宽,若带宽大于或等于预定值,则将该播放节点按序列号顺序加入到强播放节点队列的相应位置,否则,按序列号顺序加入到弱播放节点队列的相应位置。
其中,所述多媒体帧传输模块包括:
多媒体帧预约模块,用于播放节点事先向邻居节点预约多媒体帧数据包;
push策略传输模块,用于当预约的多媒体帧数据包到达时,采用push策略将所述多媒体帧数据包传输到预约该数据包的播放节点。
其中,所述还包括多媒体帧完整性检查模块,具体包括:
多媒体帧扫描模块,用于扫描接收多媒体帧数据包的缓冲区的指定区域;
多媒体帧统计模块,用于统计所述指定区域中丢失的多媒体帧数据包;
缺失帧请求模块,用于请求邻居节点传输所述丢失的多媒体帧数据包。
(三)有益效果
本发明通过直接采集并编码多媒体帧,将多媒体帧切分成1KB大小的数据颗粒,采用push策略的进行小包传输,提高了传输效率,减小了传输延时;在传输过程中,结合数据预约技术,减小了节点的带宽浪费;在传输过程中,节点通过自学习自适应的方式获取邻居节点的运行情况,能够获取具有更多数据的节点,增强了传输的稳定性。
附图说明
图1是本发明实施例的一种P2P流媒体直播的低延时传输方法流程图;
图2是本发明实施例的一种P2P流媒体直播的低延时传输方法的P2P直播网络架构示意图,其中虚线箭头表示数据传输,实线箭头表示命令交互;
图3是本发明实施例的一种P2P流媒体直播的低延时传输方法中新加入节点流程图;
图4是本发明实施例的一种P2P流媒体直播的低延时传输方法中多媒体帧预约流程图;
图5是本发明实施例的一种P2P流媒体直播的低延时传输方法中多媒体帧接收缓冲区示意图;
图6是本发明实施例的一种P2P流媒体直播的低延时传输方法中对接收的多媒体帧完整性检测流程图;
图7是本发明实施例的一种P2P流媒体直播的低延时传输系统结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明的基本原理是:将多媒体数据认定为一个媒体数据序列流,加入系统的网络节点通过一定的方式组织,媒体数据像水流一样流经网络中的各个节点,从而完成多媒体数据的低时延传输。
如图1所示,为本发明的P2P流媒体直播的低延时传输方法流程图,包括如下步骤:
步骤S 101,采集多媒体数据流中的多媒体帧,并对所述对媒体帧进行多媒体编码。采集任务是由采集服务器完成的,如图2所示,为P2P直播网络架构示意图,采集服务器采用多媒体技术直接从待播放的媒体中抓取多媒体帧,如:视频的画面帧,并对该画面帧进行视频和音频编码。
步骤S102,将编码后的多媒体帧切片成多媒体帧数据包,并对切分的每个多媒体帧数据包编号。上述采集服务器将编码后的画面帧切分成非常小的多媒体帧数据包,大小在1KB左右(800~1300字节)。对每个多媒体帧数据包编号,称为PacketID。然后对每个多媒体帧数据包添加包头和PacketID等信息。
步骤S103,将编号后的多媒体帧数据包通过直播网络传输到各个播放节点。上述采集服务器将添加包头和PacketID等信息的多媒体帧数据包立即源源不断地传送至内容服务器。内容服务器接受收看客户端的内容请求,向客户端传输多媒体帧数据包。另外,内容服务器的一个重要工作是进行网络编码,为系统提供网络丢包请求ARQ(Automatic Repeat-reQuest,自动重传)支撑。
步骤S 104,所述各个播放节点接收到所述多媒体帧数据包,将所述多媒体帧数据包组成所述多媒体帧并播放。上述收看客户端,即播放节点接收内容服务器或其它邻居节点传输来的多媒体帧数据包,根据PacketID将接收到的多媒体帧数据包重组成完整的多媒体帧,并播放。
其中,播放节点要想播放媒体流必须先加入P2P媒体流直播网络。节点从业务服务器获取播放节目信息,向组织服务器请求加入。组织服务器对新加入的播放节点进行引导,对已加入的播放节点进行组织,包括节点新增、节点删除和节点丢失等。尤其是在新加入播放节点时,会按照该节点的NAT和带宽信息对该节点进行有效的引导。组织服务器维护一个节点队列,以便引导新加入节点有组织地加入已有的P2P媒体流直播的网状模型,具体步骤如图3所示:
首先是新节点加入的步骤,节点加入后,为新加入的播放节点分配一个序列号SeqID,并将所述SeqID与该播放节点信息绑定,即该序列号和播放节点信息共同作为节点的属性,所述播放节点信息包括:IP地址、端口号、NAT类型和带宽等;
然后判断所述新加入的播放节点的NAT类型,若类型为无法穿透NAT类型,由于防火墙和路由器的限制,做了NAT的网络地址转换,其它的网络节点无法主动与该节点建立连接,说明节点的连通性很差,为了不影响网络的整体性能,则将该播放节点加入到弱播放节点队列的队尾,该判断操作由NAT检测服务器完成;
判断所述新加入的播放节点的带宽,若带宽大于或等于预定值,一般为多媒体原始播放带宽的1.2倍至1.5倍,即为带宽能力强的节点。则将该播放节点按SeqID顺序加入到强播放节点队列的相应位置,否则,按SeqID顺序加入到弱播放节点队列的相应位置,该判断操作由带宽检测服务器完成。
播放节点加入网络后,由于节点的网络状况和运行状况都是在时刻变化的,是动态的,如果仅通过节点加入时的组织,无法适应运行过程中的各种问题。所以播放节点加入后,有一个自学习与自适应的过程,一方面,使得网络中的Peer节点可以实时地通过网络命令交互获知周围邻居节点的运行状态,并根据邻居节点的运行状态调整本节点的算法策略;另一方面,通过节点之间的学习与信息交换,可以获知到更多有数据的节点,将本节点的视野拓宽,增强了稳定性。表1为本发明中播放节点对邻居节点运行状态感知的信息,可以看出,这些运行信息中可以提取邻居节点的带宽能力、数据完整性状态、甚至还可以从这些参数中抽象出的用户行为。
表1对邻居节点运行信息感知列表
通过这种自学习自适应的方式,每个播放节点会对其邻居节点按带宽或内容完整性进行筛选,选择剩余带宽大于0.5倍的节目码率和内容完整性在90%以上的节点作为待选节点。然后对这些待选节点的响应时间、加入时间等参数进行量化计算,量化计算的过程为根据参数的特性分成1~4个等级,然后通过加权平均,计算该节点的评价值,从而形成数据源指导表,为后面选取请求的邻居节点提供基础。
节点的性能评价公式为:
weight=8×L带宽+4×L完整性+2×L响应时间+1×L加入时间,其中L为1~4的数值,这个评价值反应了某个邻居节点可为本节点提供数据的能力。
由于多媒体帧被切分为1KB大小的数据包,所以在步骤S103中,以1KB大小的数据包进行传输,而其采用push策略传输,从而提高了传输效率,但同时会浪费带宽。因此,在采用push策略传输前,播放节点其邻居节点发送多媒体帧数据包预约请求,当请求的数据包到达邻居节点时,邻居节点边采用push的方式将该数据包传输给发出请求的播放节点。多媒体帧数据包预约前,需对多媒体帧数据包进行分组,将PacketID按n(1≤n≤16)取模,即对PacketID按1~16分组,每组按1~16编号,称为SliceID。通过这种方式完成了对传输数据流中的多媒体帧数据包的分组,在对网络中传送的数据流的多媒体帧数据包完成分组操作以后,将流粒度缩小到分组流。任何一个节点需要做的操作是尽量完整获取这多路数据分组流即可。在这种分组状态下,任何一个节点需要向其它若干个节点请求数据,并且请求之后,网络中的任意链路所要传送的数据量不再需要是多媒体码率的整数倍,从而使得节点的带宽能力利用率得到提高。
多媒体帧数据包预约请求如图4所示,播放节点获取自身维护的数据源指导表;开始预订组内第i个多媒体帧数据包;从数据源指导表中随机选取一个邻居节点A,其中,随机算法优选轮盘赌算法;向节点A发送预约第i个多媒体帧数据包的请求;若节点A返回预约成功,则判断该组内数据包是否请求完毕,若完毕,则结束预订请求,否则接着请求组内下一个多媒体帧数据包;若节点A返回不成功,则将节点A移除数据源指导表,从数据源指导表中重新选取一个邻居节点继续预约,直到所有组内多媒体帧数据包预约完成。
由于互联网的抖动以及本发明所采用UDP传输协议,终端播放节点接收的数据存在数据包无序、丢包到达的现象,为保证数据完整性,在步骤S104中进行多媒体帧数据包重组之前,会对接收到的数据包进行完整性检验。采用网络缓冲区对网络到达的多媒体帧数据包进行缓冲处理,数据缓冲区实际上是一个以PacketID为键值的有序队列。如图5所示,播放节点接收到多媒体帧数据包后,立即Push到数据缓冲区,在缓冲区内通过PacketID做排序操作,数据从左往右进行插入,可以看出越是最新的的数据包区域,数据包的无序性越是明显,我们称这个区域为网络无序区;越是较老数据区域,数据包完整性和有序性越好,我们称这个区域为网络稳定区。网络无序区与稳定区可能同时存在未到达的数据包,但是,在这两个区域内的未到达数据包表明的信息是不一样的:无序区的未到达数据包可能正在传输的路途中,在一定时间后会达到;而网络稳定区的未到达数据包很大的情况是数据包已经在路径上丢失,如果不采取动作将永远不会到达。
数据完整性检测的算法的流程如图6所示,是由播放节点中完整性检测扫描线程完成的。该线程定时启动,然后根据上一次执行的情况和本次运行所确定的网络稳定区间,确定需要进行扫描的指定区域。之后,开始以PacketID为索引进行多媒体帧数据包的扫描过程,如果PacketID包号所对应的数据包不存在,则需要将该PacketID放入到丢包队列中。扫描完毕后,会得到一个PacketID的列表,该列表表明此时客户端未到的数据包,即需要对重新请求获取的数据包。由于丢包列表的大小可能存在比较大的情况(例如,在丢包严重时),如果仅向某一个目标节点请求,则可能使该目标节点负载突然增大而影响其稳定性。基于此,需要对列表切分成若干小份,然后依旧利用轮盘赌算法从数据源指导表中选出相应的若干节点进行丢包请求(和预约请求流程相似)。
本发明还提出了一种P2P流媒体直播的低延时传输系统,如图7所示,包括:
多媒体帧采集模块,用于采集多媒体数据流中的多媒体帧,并对所述对媒体帧进行多媒体编码;多媒体帧切片模块,用于将编码后的多媒体帧切片成多媒体帧数据包,并对切分的每个多媒体帧数据包编号;多媒体帧传输模块,用于将编号的多媒体帧数据包通过直播网络传输到各个播放节点;多媒体帧重组模块,用于所述各个播放节点接收到所述多媒体帧数据包后,根据编号将所述多媒体帧数据包组成所述多媒体帧并播放。上述多媒体帧采集模块和多媒体帧切片模块在采集服务器中实现,多媒体帧传输模块在内容服务器和客户端实现,多媒体帧重组模块在客户端实现。
其中,所述系统还包括:
节点信息绑定模块,用于为新加入的播放节点分配一个序列号,并将所述序列号与该播放节点信息绑定,所述播放节点信息包括:IP地址、端口号、NAT类型和带宽;NAT类型判断模块,用于判断所述新加入的播放节点的NAT类型,若类型为无法穿透NAT类型,则将该播放节点加入到弱播放节点队列的队尾;带宽判断模块,用于判断所述新加入的播放节点的带宽,若带宽大于或等于预定值,则将该播放节点按序列号顺序加入到强播放节点队列的相应位置,否则,按序列号顺序加入到弱播放节点队列的相应位置。上述节点信息绑定模块在组织服务器中实现,NAT类型判断模块在NAT检测服务器中实现,带宽判断模块在带宽检测服务器中实现。
其中,所述多媒体帧传输模块包括:多媒体帧预约模块,用于播放节点事先向邻居节点预约多媒体帧数据包;push策略传输模块,用于当预约的多媒体帧数据包到达时,采用push策略将所述多媒体帧数据包传输到预约该数据包的播放节点。
其中,所述还包括多媒体帧完整性检查模块,该模块在客户端实现,具体包括:多媒体帧扫描模块,用于扫描接收多媒体帧数据包的缓冲区的指定区域;多媒体帧统计模块,用于统计所述指定区域中丢失的多媒体帧数据包;缺失帧请求模块,用于请求邻居节点传输所述丢失的多媒体帧数据包。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (12)
1.一种P2P流媒体直播的低延时传输方法,其特征在于,包括以下步骤:
S1:采集多媒体数据流中的多媒体帧,并对所述媒体帧进行多媒体编码;
S2:将编码后的多媒体帧切片成多媒体帧数据包,并对切分的每个多媒体帧数据包编号;
S3:将编号的多媒体帧数据包通过直播网络传输到各个播放节点;
S4:所述各个播放节点接收到所述多媒体帧数据包后,根据编号将所述多媒体帧数据包组成所述多媒体帧并播放。
2.如权利要求1所述的P2P流媒体直播的低延时传输方法,其特征在于,所述步骤S3之前包括播放节点加入直播网络的步骤:
为新加入的播放节点分配一个序列号,并将所述序列号与该播放节点信息绑定,所述播放节点信息包括:IP地址、端口号、NAT类型和带宽;
判断所述新加入的播放节点的NAT类型,若类型为无法穿透NAT类型,则将该播放节点加入到弱播放节点队列的队尾;
判断所述新加入的播放节点的带宽,若带宽大于或等于预定值,则将该播放节点按序列号顺序加入到强播放节点队列的相应位置,否则,按序列号顺序加入到弱播放节点队列的相应位置。
3.如权利要求2所述的P2P流媒体直播的低延时传输方法,其特征在于,所述预定值为多媒体数据源节点带宽的1.2倍至1.5倍。
4.如权利要求2所述的P2P流媒体直播的低延时传输方法,其特征在于,播放节点加入直播网络后还包括:
通过网络命令交互获取邻居节点的运行信息,所述运行信息包括:播放节点信息、节点类型、剩余带宽、内容完整性、响应时间、加入时间和父节点。
5.如权利要求1所述的P2P流媒体直播的低延时传输方法,其特征在于,所述步骤S3具体包括:
播放节点事先向邻居节点预约多媒体帧数据包;
当预约的多媒体帧数据包到达时,采用push策略将所述多媒体帧数据包传输到预约该数据包的播放节点。
6.如权利要求5所述的P2P流媒体直播的低延时传输方法,其特征在于,所述播放节点事先向邻居节点预约多媒体帧数据包的步骤包括:
按多媒体帧数据包的编号对多媒体帧数据包进行分组,并设置组内编号;
按组内编号随机请求邻居节点,预约组内的多媒体帧数据包;
若预约不成功,则重新选择邻居节点,否则继续预约,直到组内所有的多媒体帧数据包都预约完成。
7.如权利要求1所述的P2P流媒体直播的低延时传输方法,其特征在于,所述步骤S4中各个播放节点在将多媒体帧数据包组成多媒体帧之前还包括检查多媒体帧数据包完整性的步骤:
扫描接收多媒体帧数据包的缓冲区的指定区域;
统计所述指定区域中丢失的多媒体帧数据包;
请求邻居节点传输所述丢失的多媒体帧数据包。
8.如权利要求1~7中任一项所述的P2P流媒体直播的低延时传输方法,其特征在于,所述多媒体帧数据包大小为800~1300字节。
9.一种P2P流媒体直播的低延时传输系统,其特征在于,包括:
多媒体帧采集模块,用于采集多媒体数据流中的多媒体帧,并对所述对媒体帧进行多媒体编码;
多媒体帧切片模块,用于将编码后的多媒体帧切片成多媒体帧数据包,并对切分的每个多媒体帧数据包编号;
多媒体帧传输模块,用于将编号的多媒体帧数据包通过直播网络传输到各个播放节点;
多媒体帧重组模块,用于所述各个播放节点接收到所述多媒体帧数据包后,根据编号将所述多媒体帧数据包组成所述多媒体帧并播放。
10.如权利要求9所述的P2P流媒体直播的低延时传输系统,其特征在于,所述系统还包括:
节点信息绑定模块,用于为新加入的播放节点分配一个序列号,并将所述序列号与该播放节点信息绑定,所述播放节点信息包括:IP地址、端口号、NAT类型和带宽;
NAT类型判断模块,用于判断所述新加入的播放节点的NAT类型,若类型为无法穿透NAT类型,则将该播放节点加入到弱播放节点队列的队尾;
带宽判断模块,用于判断所述新加入的播放节点的带宽,若带宽大于或等于预定值,则将该播放节点按序列号顺序加入到强播放节点队列的相应位置,否则,按序列号顺序加入到弱播放节点队列的相应位置。
11.如权利要求9所述的P2P流媒体直播的低延时传输系统,其特征在于,所述多媒体帧传输模块包括:
多媒体帧预约模块,用于播放节点事先向邻居节点预约多媒体帧数据包;
push策略传输模块,用于当预约的多媒体帧数据包到达时,采用push策略将所述多媒体帧数据包传输到预约该数据包的播放节点。
12.如权利要求9所述的P2P流媒体直播的低延时传输系统,其特征在于,所述还包括多媒体帧完整性检查模块,具体包括:
多媒体帧扫描模块,用于扫描接收多媒体帧数据包的缓冲区的指定区域;
多媒体帧统计模块,用于统计所述指定区域中丢失的多媒体帧数据包;
缺失帧请求模块,用于请求邻居节点传输所述丢失的多媒体帧数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102796559A CN101945129A (zh) | 2010-09-10 | 2010-09-10 | P2p流媒体直播的低延时传输方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102796559A CN101945129A (zh) | 2010-09-10 | 2010-09-10 | P2p流媒体直播的低延时传输方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101945129A true CN101945129A (zh) | 2011-01-12 |
Family
ID=43436896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102796559A Pending CN101945129A (zh) | 2010-09-10 | 2010-09-10 | P2p流媒体直播的低延时传输方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101945129A (zh) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546105A (zh) * | 2011-12-28 | 2012-07-04 | 深圳市新为软件有限公司 | 一种网络资源传输的方法和装置 |
CN102811221A (zh) * | 2012-08-02 | 2012-12-05 | 中山大学 | 一种基于Push机制的对等网络直播流媒体数据包调度方法 |
CN102970615A (zh) * | 2012-11-21 | 2013-03-13 | 联想中望系统服务有限公司 | 高清视频的高效传送及编解码的系统 |
WO2014000697A1 (zh) * | 2012-06-28 | 2014-01-03 | 华为技术有限公司 | 内容处理方法、装置及系统 |
CN103780921A (zh) * | 2014-01-17 | 2014-05-07 | 上海聚力传媒技术有限公司 | 一种播放直播视频信息的方法和设备 |
CN104795072A (zh) * | 2015-03-25 | 2015-07-22 | 无锡天脉聚源传媒科技有限公司 | 一种音频数据的编码方法及装置 |
CN104795073A (zh) * | 2015-03-26 | 2015-07-22 | 无锡天脉聚源传媒科技有限公司 | 一种音频数据的处理方法及装置 |
CN105072508A (zh) * | 2015-08-12 | 2015-11-18 | 苏州华启智能科技有限公司 | 一种无线网络多媒体播放补包系统及方法 |
CN105376165A (zh) * | 2015-10-15 | 2016-03-02 | 深圳市金证科技股份有限公司 | Udp组播方法、系统、发送装置及接收装置 |
CN105792021A (zh) * | 2014-12-26 | 2016-07-20 | 乐视网信息技术(北京)股份有限公司 | 一种视频流的传输方法及装置 |
CN106034242A (zh) * | 2015-03-09 | 2016-10-19 | 杭州施强网络科技有限公司 | 一种p2p系统中音视频直播流媒体数据传输方法 |
CN107277134A (zh) * | 2017-06-19 | 2017-10-20 | 网宿科技股份有限公司 | 一种基于对等网络的数据传输方法及系统 |
CN107659634A (zh) * | 2017-09-20 | 2018-02-02 | 郑州云海信息技术有限公司 | 邻居节点选择的方法、装置、设备及计算机存储介质 |
CN108174230A (zh) * | 2017-12-29 | 2018-06-15 | 安徽国通亿创科技股份有限公司 | 基于弹性分布式流媒体的音视频直播系统 |
CN108833591A (zh) * | 2018-07-13 | 2018-11-16 | 广州虎牙信息科技有限公司 | P2p网络中数据传输的方法、电子设备、装置、网络架构 |
CN108900907A (zh) * | 2018-07-13 | 2018-11-27 | 广州虎牙信息科技有限公司 | 封装数据包方法及装置、电子设备、介质 |
CN108924609A (zh) * | 2018-07-13 | 2018-11-30 | 广州虎牙信息科技有限公司 | 流媒体数据传输的方法、电子设备、装置及存储介质 |
CN108965428A (zh) * | 2018-07-13 | 2018-12-07 | 广州虎牙信息科技有限公司 | 直播数据的传输方法、装置、电子设备、系统 |
CN109040199A (zh) * | 2018-07-13 | 2018-12-18 | 广州虎牙信息科技有限公司 | 一种分发资源数据的方法、系统及存储介质 |
CN109361856A (zh) * | 2018-10-26 | 2019-02-19 | 广州虎牙信息科技有限公司 | 一种全景直播方法、装置、终端设备及存储介质 |
CN109474684A (zh) * | 2018-11-14 | 2019-03-15 | 广州虎牙信息科技有限公司 | 一种获取直播视频流的方法、装置、终端设备及存储介质 |
CN109510868A (zh) * | 2018-11-14 | 2019-03-22 | 广州虎牙信息科技有限公司 | 一种建立p2p网络的方法、装置、终端设备及存储介质 |
CN109561137A (zh) * | 2018-11-14 | 2019-04-02 | 广州虎牙信息科技有限公司 | 建立p2p网络的方法、装置、终端设备及介质 |
CN109788301A (zh) * | 2019-01-08 | 2019-05-21 | 深圳市网心科技有限公司 | 一种流媒体的直播方法、终端设备、直播系统及计算机可读存储介质 |
CN110139119A (zh) * | 2019-05-20 | 2019-08-16 | 湖南康通电子股份有限公司 | 数字广播系统的p2p音频直播分发方法、装置及存储介质 |
CN110249318A (zh) * | 2017-02-07 | 2019-09-17 | 华为技术有限公司 | 高速缓存替换系统和方法 |
CN111343504A (zh) * | 2020-05-21 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、计算机设备和存储介质 |
CN115051924A (zh) * | 2022-06-08 | 2022-09-13 | 上海佰贝网络工程技术有限公司 | 基于数据广播的Gossip算法中通信方式协调方法、装置、设备、系统及介质 |
WO2022213711A1 (zh) * | 2021-04-09 | 2022-10-13 | Oppo广东移动通信有限公司 | 无线终端及发送、接收音视频数据的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090367A (zh) * | 2007-07-06 | 2007-12-19 | 北京搜狗科技发展有限公司 | 一种对等网络中的数据传输方法及装置 |
CN101330622A (zh) * | 2008-07-24 | 2008-12-24 | 中兴通讯股份有限公司 | 基于h.264编码的播放系统、方法以及用户设备 |
CN101389008A (zh) * | 2007-09-14 | 2009-03-18 | 达霖数位股份有限公司 | 利用对等网络方式进行影音流式播放的系统与方法 |
CN101582919A (zh) * | 2009-04-14 | 2009-11-18 | 冯俊秋 | 网络电视播放方法及系统 |
-
2010
- 2010-09-10 CN CN2010102796559A patent/CN101945129A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090367A (zh) * | 2007-07-06 | 2007-12-19 | 北京搜狗科技发展有限公司 | 一种对等网络中的数据传输方法及装置 |
CN101389008A (zh) * | 2007-09-14 | 2009-03-18 | 达霖数位股份有限公司 | 利用对等网络方式进行影音流式播放的系统与方法 |
CN101330622A (zh) * | 2008-07-24 | 2008-12-24 | 中兴通讯股份有限公司 | 基于h.264编码的播放系统、方法以及用户设备 |
CN101582919A (zh) * | 2009-04-14 | 2009-11-18 | 冯俊秋 | 网络电视播放方法及系统 |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546105A (zh) * | 2011-12-28 | 2012-07-04 | 深圳市新为软件有限公司 | 一种网络资源传输的方法和装置 |
WO2014000697A1 (zh) * | 2012-06-28 | 2014-01-03 | 华为技术有限公司 | 内容处理方法、装置及系统 |
US9848059B2 (en) | 2012-06-28 | 2017-12-19 | Huawei Technologies Co., Ltd. | Content handling method, apparatus, and system |
CN102811221A (zh) * | 2012-08-02 | 2012-12-05 | 中山大学 | 一种基于Push机制的对等网络直播流媒体数据包调度方法 |
CN102811221B (zh) * | 2012-08-02 | 2015-05-27 | 中山大学 | 一种基于Push机制的对等网络直播流媒体数据包调度方法 |
CN102970615A (zh) * | 2012-11-21 | 2013-03-13 | 联想中望系统服务有限公司 | 高清视频的高效传送及编解码的系统 |
CN103780921B (zh) * | 2014-01-17 | 2017-05-24 | 上海聚力传媒技术有限公司 | 一种播放直播视频信息的方法和设备 |
CN103780921A (zh) * | 2014-01-17 | 2014-05-07 | 上海聚力传媒技术有限公司 | 一种播放直播视频信息的方法和设备 |
CN105792021A (zh) * | 2014-12-26 | 2016-07-20 | 乐视网信息技术(北京)股份有限公司 | 一种视频流的传输方法及装置 |
CN106034242A (zh) * | 2015-03-09 | 2016-10-19 | 杭州施强网络科技有限公司 | 一种p2p系统中音视频直播流媒体数据传输方法 |
CN104795072A (zh) * | 2015-03-25 | 2015-07-22 | 无锡天脉聚源传媒科技有限公司 | 一种音频数据的编码方法及装置 |
CN104795073A (zh) * | 2015-03-26 | 2015-07-22 | 无锡天脉聚源传媒科技有限公司 | 一种音频数据的处理方法及装置 |
CN105072508A (zh) * | 2015-08-12 | 2015-11-18 | 苏州华启智能科技有限公司 | 一种无线网络多媒体播放补包系统及方法 |
CN105376165A (zh) * | 2015-10-15 | 2016-03-02 | 深圳市金证科技股份有限公司 | Udp组播方法、系统、发送装置及接收装置 |
CN110249318A (zh) * | 2017-02-07 | 2019-09-17 | 华为技术有限公司 | 高速缓存替换系统和方法 |
CN107277134A (zh) * | 2017-06-19 | 2017-10-20 | 网宿科技股份有限公司 | 一种基于对等网络的数据传输方法及系统 |
CN107659634A (zh) * | 2017-09-20 | 2018-02-02 | 郑州云海信息技术有限公司 | 邻居节点选择的方法、装置、设备及计算机存储介质 |
CN107659634B (zh) * | 2017-09-20 | 2020-08-21 | 苏州浪潮智能科技有限公司 | 邻居节点选择的方法、装置、设备及计算机存储介质 |
CN108174230A (zh) * | 2017-12-29 | 2018-06-15 | 安徽国通亿创科技股份有限公司 | 基于弹性分布式流媒体的音视频直播系统 |
CN108965428A (zh) * | 2018-07-13 | 2018-12-07 | 广州虎牙信息科技有限公司 | 直播数据的传输方法、装置、电子设备、系统 |
CN108900907A (zh) * | 2018-07-13 | 2018-11-27 | 广州虎牙信息科技有限公司 | 封装数据包方法及装置、电子设备、介质 |
CN109040199A (zh) * | 2018-07-13 | 2018-12-18 | 广州虎牙信息科技有限公司 | 一种分发资源数据的方法、系统及存储介质 |
CN108924609B (zh) * | 2018-07-13 | 2021-06-29 | 广州虎牙信息科技有限公司 | 流媒体数据传输的方法、电子设备、装置及存储介质 |
CN108833591A (zh) * | 2018-07-13 | 2018-11-16 | 广州虎牙信息科技有限公司 | P2p网络中数据传输的方法、电子设备、装置、网络架构 |
CN108924609A (zh) * | 2018-07-13 | 2018-11-30 | 广州虎牙信息科技有限公司 | 流媒体数据传输的方法、电子设备、装置及存储介质 |
CN108833591B (zh) * | 2018-07-13 | 2019-12-06 | 广州虎牙信息科技有限公司 | P2p网络中数据传输的方法、电子设备、装置、网络架构 |
CN109361856A (zh) * | 2018-10-26 | 2019-02-19 | 广州虎牙信息科技有限公司 | 一种全景直播方法、装置、终端设备及存储介质 |
CN109474684A (zh) * | 2018-11-14 | 2019-03-15 | 广州虎牙信息科技有限公司 | 一种获取直播视频流的方法、装置、终端设备及存储介质 |
CN109561137A (zh) * | 2018-11-14 | 2019-04-02 | 广州虎牙信息科技有限公司 | 建立p2p网络的方法、装置、终端设备及介质 |
CN109510868A (zh) * | 2018-11-14 | 2019-03-22 | 广州虎牙信息科技有限公司 | 一种建立p2p网络的方法、装置、终端设备及存储介质 |
CN109510868B (zh) * | 2018-11-14 | 2021-01-22 | 广州虎牙信息科技有限公司 | 一种建立p2p网络的方法、装置、终端设备及存储介质 |
CN109788301A (zh) * | 2019-01-08 | 2019-05-21 | 深圳市网心科技有限公司 | 一种流媒体的直播方法、终端设备、直播系统及计算机可读存储介质 |
CN109788301B (zh) * | 2019-01-08 | 2021-12-03 | 深圳市网心科技有限公司 | 一种流媒体的直播方法、终端设备、直播系统及计算机可读存储介质 |
CN110139119A (zh) * | 2019-05-20 | 2019-08-16 | 湖南康通电子股份有限公司 | 数字广播系统的p2p音频直播分发方法、装置及存储介质 |
CN111343504A (zh) * | 2020-05-21 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、计算机设备和存储介质 |
WO2021233123A1 (zh) * | 2020-05-21 | 2021-11-25 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、计算机设备和存储介质 |
CN111343504B (zh) * | 2020-05-21 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、计算机设备和存储介质 |
WO2022213711A1 (zh) * | 2021-04-09 | 2022-10-13 | Oppo广东移动通信有限公司 | 无线终端及发送、接收音视频数据的方法 |
CN115051924A (zh) * | 2022-06-08 | 2022-09-13 | 上海佰贝网络工程技术有限公司 | 基于数据广播的Gossip算法中通信方式协调方法、装置、设备、系统及介质 |
CN115051924B (zh) * | 2022-06-08 | 2023-11-21 | 上海佰贝网络工程技术有限公司 | 基于数据广播的Gossip算法中通信方式协调方法、装置、设备、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101945129A (zh) | P2p流媒体直播的低延时传输方法及系统 | |
Cheung et al. | On the use of destination set grouping to improve fairness in multicast video distribution | |
Zhang et al. | Understanding the power of pull-based streaming protocol: Can we do better? | |
Venkataraman et al. | Chunkyspread: Heterogeneous unstructured tree-based peer-to-peer multicast | |
Deshpande et al. | Streaming live media over a peer-to-peer network | |
US20030135784A1 (en) | Multicast communication method and system | |
CN101834879B (zh) | 一种适应不同网络环境的智能高效视音频数据传输方法 | |
Pianese et al. | Pulse, a flexible p2p live streaming system | |
CN101640699A (zh) | P2p流媒体系统及其中的流媒体下载方法 | |
CN101489276A (zh) | 一种移动Ad Hoc网络多播路由方法 | |
CN106454414B (zh) | 一种多径网络实时视频传输方法 | |
Venkataraman et al. | Chunkyspread: Heterogeneous unstructured end system multicast | |
CN102006221A (zh) | 一种优化流媒体服务质量的方法 | |
CN100486222C (zh) | 组播报文的智能转发方法及系统 | |
CN108075861A (zh) | 软件定义FiWi网络中基于多路径的网络编码传输方法 | |
CN103916253A (zh) | 一种基于信息中心网络的信息传输方法及其系统 | |
Matrawy et al. | A survey of congestion control schemes for multicast video applications | |
Zhang et al. | Gridmedia: A multi-sender based peer-to-peer multicast system for video streaming | |
Ooi | Dagster: Contributor-aware end-host multicast for media streaming in heterogeneous environment | |
CN101697553A (zh) | P2p环境下的数据传输方法 | |
Massoulié et al. | Rate-optimal schemes for peer-to-peer live streaming | |
TW201408005A (zh) | 寬頻網路媒體封包最佳傳遞路徑選擇系統 | |
Balasubramanian et al. | An improved delay resistant adaptive multicasting strategy for high definition video delivery in wireless overlay network | |
CN101262360A (zh) | 一种实时流媒体多点传输的方法和设备 | |
Jeon et al. | Overlay multicast tree recovery scheme using a proactive approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110112 |