[发明专利]基于P2P流媒体的二次编码播放方法及系统有效
申请号: | 201010256312.0 | 申请日: | 2010-08-17 |
公开(公告)号: | CN101924793A | 公开(公告)日: | 2010-12-22 |
发明(设计)人: | 华仁红 | 申请(专利权)人: | 北京易视腾科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/18;H04N7/24;H04N7/26 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 100101 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 p2p 流媒体 二次编码 播放 方法 系统 | ||
技术领域
本发明涉及网络流媒体传输技术领域,特别涉及一种基于P2P流媒体的二次编码播放方法及系统。
背景技术
对等网络(Peer to peer network)是近几年新兴的网络技术,相对于传统的C/S模式,P2P模式一个非常显著的特点就是节点无需依赖集中式服务器资源,各节点可以直接进行通信。每个节点具有相同的地位,既可以请求服务,也可以提供服务,同时扮演着C/S模式中服务器和客户端的双重角色,甚至还可以具有路由器和高速缓存的功能。在P2P模式下,由于每个节点都具有客户端和服务器的功能,这样,每个节点在从别的节点接收数据流的同时还向其他节点发送数据流。由于这个特点,P2P网络技术目前被广泛应用于互联网上大规模网络流媒体播放系统。
异构网络特点:目前网络的发展呈现规模性、异构性、动态性的特点。随着网络技术迅猛发展,网络的异构性会越来越突出。就有线网络和无线网络自身而言,也存在异构。尤其是近年来3G、WLAN、WiMAX、UWB等各种无线技术纷纷涌现,未来网络的异构性更加突出。不仅在无线接入方面具有这样的趋势,在终端技术、网络技术和业务平台技术等方面异构化、多样化的趋势也愈加明显。针对互联网上不同类型客户端的接入,如ADSL用户、Modem用户、无线网络用户等,其网络环境各不相同,其各个节点在P2P流媒体网络中的带宽能力也各不相同,有些节点带宽能力较强,称为强节点(强客户端),有些较差,称为弱节点(弱客户端),弱节点一般在P2P网络中处于叶子节点。
传统的P2P流媒体直播系统中传播算法对节点间存在的异构性均考虑不足,即无论节点的网络访问带宽如何,传输的节目源带宽不会因为接收节点的带宽能力受限而降低。传统的P2P流媒体直播数据来源于父节点,数据传输策略上主要考虑不同节点之间的数据传输网络服务质量(Quality of Service,Qos)保障,例如防止网络抖动、丢包重传机制、低延时效果等方法,但这些策略并未考虑低带宽弱客户端的收看能力,对于弱客户端,其收看能力会因为下行带宽的限制而存在大量的丢包-重传-再丢包的现象,最终导致弱节点客户端无法正常收看。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:在P2P流媒体直播过程中,在节点接收带宽受限的情况下,如何避免丢包-重传-再丢包导致无法正常播放的问题。
(二)技术方案
一种基于P2P流媒体的二次编码播放方法,包括以下步骤:
S1:当前节点向邻居节点发出播放连接请求,并播放邻居节点发来的媒体流;
S2:播放过程中,所述当前节点实时估算自己的接收带宽;
S3:若所述接收带宽低于预定值,则当前节点请求其邻居节点对播放的媒体流进行二次编码;
S4:所述邻居节点对播放的媒体流进行二次编码后,将二次编码后的媒体流传输给当前节点。
其中,所述步骤S1之前还包括当前节点估算各个邻居节点的传输带宽的步骤:
所述当前节点定期的向全部邻居节点发送数据请求;
所述当前节点接收所述邻居节点在两次请求的间隔t内发来的数据包,将该数据包数量作为该邻居节点传输带宽;
在规定的时间T内,T≥t,统计发送数据包数量大于或等于请求的数据包总数的邻居节点。
其中,当邻居节点在一次请求后发来的数据包数量等于请求的数据包的数量时,所述当前节点在下次请求时增加请求数据包的数量。
其中,所述步骤S3中请求所述统计的邻居节点中传输带宽最大的邻居节点进行二次编码,并通过所述请求将自己的接收带宽通知给所述传输带宽最大的邻居节点。
其中,所述步骤S2中当前节点通过实时统计媒体流数据接收缓冲区中的丢包率估算自己的接收带宽。
其中,所述步骤S4中对播放的媒体流二次编码的步骤包括:
对播放的媒体流进行下采样;
按所述当前节点可接收带宽对下采样后的媒体流进行重新编码。
其中,所述预定值为媒体流发布源的发送带宽。
其中,若进行二次编码的邻居节点退出P2P流媒体直播网络,则所述当前节点重复步骤S3和S4。
一种基于P2P流媒体的二次编码播放系统,包括:
播放请求模块,用于当前节点向邻居节点发出播放连接请求,并播放邻居节点发来的媒体流;
接收带宽估算模块,用于在播放过程中,所述当前节点实时估算自己的接收带宽;
二次编码请求模块,用于在所述接收带宽低于预定值时,当前节点请求其邻居节点对播放的媒体流进行二次编码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京易视腾科技有限公司,未经北京易视腾科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010256312.0/2.html,转载请声明来源钻瓜专利网。