CN103945279B - 基于中断密度的p2p直播流媒体系统动态启动时延方法 - Google Patents
基于中断密度的p2p直播流媒体系统动态启动时延方法 Download PDFInfo
- Publication number
- CN103945279B CN103945279B CN201410084238.7A CN201410084238A CN103945279B CN 103945279 B CN103945279 B CN 103945279B CN 201410084238 A CN201410084238 A CN 201410084238A CN 103945279 B CN103945279 B CN 103945279B
- Authority
- CN
- China
- Prior art keywords
- time delay
- node
- time
- interruption
- dynamic
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
基于中断密度的P2P直播流媒体系统动态启动时延方法涉及P2P直播流媒体系统。当父节点没有中断时或当时间段N内少于n次播放中断时:若子节点也没有中断或在时间段N内少于n次播放中断,动态减小子节点一个单位的启动时延;若子节点在时间段N内达到了n次播放中断,则动态增加子节点一个单位的启动时延。调整过启动时延后,如果较长一段时间内没有再次达到中断频率,则动态减小子节点一个单位的启动时延。当父节点在时间段N内达到n次播放中断时:此时父节点的启动时延将会动态增加,子节点的启动时延也相应动态增加一个单位。本发明通过根据终端的连接速率、中断情况等因素动态控制启动时延的大小,保证用户体验质量。
Description
技术领域
本发明主要涉及P2P直播流媒体系统,主要考虑基于中断密度的P2P直播流媒体系统动态启动时延问题。
背景技术
进入21世纪,互联网已经成为人们获取信息的主要媒介之一。由于网络本身架构、关键技术的欠缺,以及对多媒体内容处理技术的不成熟,早期的互联网大多只能传递文字、图片等静态信息,随着个人计算机性能的提升、多媒体技术的发展以及互联网的快速崛起,人们通过互联网提高学习、工作以及娱乐的质量的需求日益增大,因此获取网络上的海量音视频等多媒体信息出现了新的模式——流媒体技术。
随着Internet规模的不断扩大以及网络用户的急剧增加,流媒体应用以其特有的娱乐性和交互性正在成为推动未来网络应用和服务的主要动力。然而由于服务器性能和服务器端网络带宽瓶颈两个方面的限制,基于C/S模式的流媒体系统已经无法提供足够的资源为大规模用户提供服务。所以,人们想到将P2P对等网络引入到流媒体系统服务中。这样可以充分发挥以往被人们忽视的客户端的作用,让客户端在接受数据流的同时充当一部分服务器的角色,向其他节点继续分发数据流,使服务资源消耗分散化,这样能够显著地降低服务器负载和对瓶颈带宽的依赖,且无需升级路由节点,通过应用层构建覆盖网络,部署起来简单方便。
目前,市场上成熟的流媒体直播系统往往使用传统的启动时延策略,而这往往难以很好满足视频直播系统的内容实时性和时间同步性。传统流媒体启动时延策略是在缓存区中达到固定数量的数据包亦或是缓冲固定时间然后开始播放,这样在网络状况好的时候无法到达用户尽快播放的心理需求,在网络状况差的时候则会造成频繁的中断。
由此可见,启动时延策略的好坏对于流媒体直播系统的播放质量有着很大的影响。本发明通过向P2P流媒体技术引入基于中断密度的动态启动时延策略以达到在终端降低播放中断频率,尽量保证平滑播放,保护用户的感官体验的效果。
本课题得到了国家自然科学基金项目的支持(项目号:60970127)。
发明内容
本发明不考虑网络中的各种因素,通过根据终端的连接速率、中断情况等因素动态控制启动时延的大小,保证用户体验质量。
本发明提出的基于中断密度的P2P直播流媒体系统动态启动时延策略如下:
首先,有如下定义:P2P流媒体传输中,向下级节点提供数据的节点称为父节点,接收父节点数据的节点称为子节点。此策略主要根据父节点与子节点播放中断密度动态调整子节点的启动时延,以达到在终端减少播放中断次数的目的。流媒体播放需要维持较小中断频率以达到较好的播放效果。中断频率定义为pi=n/T,n表示播放中断的次数,T则代表整个媒体流的时间长度,T里面包含了N个单位时间段。由于直播系统所播放的媒体流的时间长度理论上是无限大的,所以中断频率可以等价为一个时段内中断的密度:pw=n/N。初始启动时延为最小值以达到尽快播放;
(1)当父节点没有中断时或当时间段N内少于n次播放中断时:
若子节点也没有中断或在时间段N内少于n次播放中断,动态减小子节点一个单位的启动时延;若子节点在时间段N内达到了n次播放中断,则动态增加子节点一个单位的启动时延。调整过启动时延后,如果较长一段时间内没有再次达到中断频率,则动态减小子节点一个单位的启动时延。
(2)当父节点在时间段N内达到n次播放中断时:
此时父节点的启动时延将会动态增加,当子节点感知到父节点在时间段N内达到n次播放中断时,子节点的启动时延也相应动态增加一个单位。调整过启动时延后,如果子节点较长一段时间内没有再次达到中断频率,则将启动时延动态减小一个单位。
也就是说,子节点的启动时延不仅仅要考虑到子节点上单位时间内的中断次数n,也要考虑到父节点的单位时间内的中断次数,如果父节点本身的接收上级节点数据的能力就很差,那么即使子节点与父节点之间的网络状况十分理想,数据也没办法很好的经过父节点传输给子节点,而处于客户端的子节点在播放流媒体时也将会产生频繁的中断。
附图说明
附图1是由PlanetLab平台上的两个节点:planetlab-1.pdl.nudt.edu.cn(国防科技大学)、pl1.cs.yale.edu(耶鲁大学)与planet2.scs.stanford.edu(斯坦福大学)组成的简单树状逻辑拓扑图。其中planet2.scs.stanford.edu(斯坦福大学)与上层服务器直接相连,在这里可以看作没有父节点的原始节点(因为父节点是服务器,服务器不存在中断问题),将planetlab-1.pdl.nudt.edu.cn(国防科技大学)作为父节点,将pl1.cs.yale.edu(耶鲁大学)作为子节点。
附图2是斯坦福大学到国防科技大学的网络带宽随时间的变化。可以看出,网络带宽为3到5Mbps,基本满足传输4条编码率为288Kbps的频道流以及一条iperf带宽测试流。
附图3是国防科技大学到耶鲁大学的网络带宽随时间的变化。可以看出,网络带宽状况在0到1.5Mbps之间,无法满足传输4条编码率为288Kbps的频道流以及一条iperf带宽测试流。
附图4是三个节点(stanford、国防科技大学和耶鲁大学)在没有启动时延策略时(蓝色)、不考虑父节点时(红色)与考虑父节点时(绿色)的对比图。其中没有启动时延策略(蓝色)和不考虑父节点时(红色)的数据是实验数据,考虑父节点时(绿色)数据是根据理论的预估计数据。图不能使彩色的,所以描述也需要相应修改。由图可以看出,有启动时延策略时播放中断次数明显低于没有启动时延策略。stanford的父节点不存在中断问题(因为它的父节点是服务器),所以考虑父节点和不考虑父节点的中断次数是一样的。国防科技大学到stanford的网络状况比较良好,所以中断大多数都是继承父节点的中断,如果再考虑到父节点的中断,那么中断次数就会有很明显的降低。而耶鲁大学到国防科技大学的网络状况较差,中断大部分都是来自自身网络状况的影响,所以考虑父节点后对中断的影响不如国防科技大学的影响大。
具体实施方式
下面我们将通过实验来观察在P2P直播流媒体系统中部署基于中断密度的启动时延算法的工作效果。
实验中将中断密度的控制阀值定为10秒,即允许11秒钟内最多出现2次中断。中断密度的预计值M1控制为0.18,也就是说当中断密度M大于0.18时显示为中断密度过大,当中断密度M小于0.18时显示为中断密度正常。
另外,为了防止启动时延过大而导致缓冲数据溢出缓存覆盖数据,人工的为启动时延设定一个最大值,也就是说当启动时延达到最大值后,即使子节点在时间段N内依然达到n次播放中断,启动时延也不再增加。相应的,也为启动时延设定一个初始最小值,当启动时延达到最小值后,即使较长一段时间内没有再次达到中断频率,启动时延也不再降低。其中最小值为流媒体系统单位缓存值的10倍(10个数据包);最大值为240个数据包;一个单位的启动时延为10个数据包。我们进一步设定“较长一段时间”的时间长度等于一个时间段N,即10秒钟。
利用PlanetLab(参考文献:PlanetLab官方网址http://www.planet-lab.org/)上的节点进行实验,来评估此策略对于P2P直播中断次数的影响。
我们在中国传媒大学网络中心的一个具有公网IP的服务器60.247.40.39上,将一个WMV视频文件用Windows Media Encoder编码成流媒体,由于需要排除其他干扰因素对于结果的影响,所以在源服务器上只选择固定编码率288kbps对媒体文件进行编码,排除了通过动态编码率对网络状况的自适应而减少的中断情况。我们从PlanetLab平台上选择四个节点,分别是planet2.scs.stanford.edu(斯坦福大学)、planetlab-1.pdl.nudt.edu.cn(国防科技大学)、pl1.cs.yale.edu(耶鲁大学)以及planetlab1.eas.asu.edu(亚利桑那州立大学)。并按照图1所示树状拓扑建立频道链接,进而测出各个节点在没有启动时延策略时的中断次数和有基于中断密度的启动时延策略时的中断次数,结果对比如图3所示。
在我们的实验中,由于PlanetLab平台上的节点安装的都是linux系统,使用者通过ssh方式进行远程控制节点,所以实验在命令行模式下进行,不使用界面化的播放器,为了解决这个问题,我们编写了模拟播放器读包的线程playerProc,在客户端程序启动后会自动开启playProc线程。
在这个线程中,我们定义了一个核心类ConsTant,它定义了所有模拟播放器中必须的变量,例如接收数据指针,播放数据指针等以及集成了部分启动时延策略实现的代码。
在ConsTant类中定义了几个变量,其中,AverPacklen是每个音视频数据的实际长度,单位是字节;Bitrate变量是通过PCP协议获取的音视频源的编码率;ReadPacketpersec根据Bitrate和AverPacklen算出来的播放器应当每秒钟读包的数量。IntRup_count变量用来统计播放中断的次数;writecount用来统计写入数据包的个数,每写入一个包加一;playcount用来模拟播放器的读取功能,统计读取数据包的个数,每读取一个包加一;模拟播放器线程的核心功能就是通过在IntRup_func()中比较这两个变量来实现的:当playconut大于或等于writecount时,表示缓存已经没有数据包可读,出现一次中断,IntRup_count变量自动加一。
模拟播放器读包线程playerProc在客户端程序启动后随之启动,并调用IntRup_func函数,开始不断的检测缓存中是否有数据包写入并且还未读出,同时引入启动延迟变量Startup(以数据包为单位),只有延迟到达指定的时间,也就是写入了指定数量的数据包后,才开始读包。
控制信息采用自定义的PCP协议(Peercast Protocol)与其他节点进行通信,其中中断消息的字段和说明如下:
根据中断密度调整启动时延策略的部署,首先需要获取播放中断的密度,当建立频道链接时第一次记录系统时间:
timeA=sys->getTime();
当第一次发生中断时第二次记录系统时间:
timeB=sys->getTime();
同时不停的检测当前系统时间:
constant->writecount++;//写入一个包自动加一
constant->timeC=sys->getTime();//每写入一次包获取一次系统时间
中断密度为M=n/N,N为时间段,n为该时间段内的中断次数,我们需要将中断密度控制在预计值M1内,也就是不断检测相邻两次中断时间差值与2/(M1+1)值的关系来动态调整启动时延的大小。功能实现的方式如下:
首先通过PCPStream::readAtom函数解析出父节点中断消息(interrupt)的字段(high/low);
当检测到high消息时(父节点中断密度过大),再检测启动时延,如果启动时延小于缓存最大值,那么子节点的启动时延动态增加10个数据包;如果子节点较长一段时间内未发生中断且启动时延大于缓存最小值,那么启动时延动态减小10个数据包。
当检测到low消息时(父节点中断密度正常),此时子节点的启动时延则主要取决于自身的中断密度。如果子节点相邻中断时刻小于预计值且启动时延小于缓存最大值,则其启动时延动态增加10个数据包;如果子节点较长一段时间内未发生中断且启动时延大于缓存的最小值,那么启动时延动态减小10个数据包。
也就是说,当子节点收到父节点中断密度过大的消息时,如果启动时延Startup小于缓存最大值,那么启动时延直接增加10个数据包。当子节点收到的消息是父节点中断密度正常时,只需要考虑子节点的中断密度来决定子节点的启动时延。
Claims (1)
1.基于中断密度的P2P直播流媒体系统动态启动时延方法,其特征在于:
首先,有如下定义:P2P流媒体传输中,向下级节点提供数据的节点称为父节点,接收父节点数据的节点称为子节点;中断频率定义为pi=n/T,n表示播放中断的次数,T则代表整个媒体流的时间长度,T里面包含了N个单位时间段;由于直播系统所播放的媒体流的时间长度理论上是无限大的,所以中断频率等价为一个时段内中断的密度:pw=n/N;
初始启动时延为最小值以达到尽快播放;
(1)当父节点没有中断时或当时间段N内少于n次播放中断时:
若子节点也没有中断或在时间段N内少于n次播放中断,动态减小子节点一个单位的启动时延;若子节点在时间段N内达到了n次播放中断,则动态增加子节点一个单位的启动时延;调整过启动时延后,如果较长一段时间内没有再次达到中断频率,则动态减小子节点一个单位的启动时延;
(2)当父节点在时间段N内达到n次播放中断时:
此时父节点的启动时延将会动态增加,当子节点感知到父节点在时间段N内达到n次播放中断时,子节点的启动时延也相应动态增加一个单位;调整过启动时延后,如果子节点较长一段时间内没有再次达到中断频率,则将子节点启动时延动态减小一个单位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410084238.7A CN103945279B (zh) | 2014-05-17 | 2014-05-17 | 基于中断密度的p2p直播流媒体系统动态启动时延方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410084238.7A CN103945279B (zh) | 2014-05-17 | 2014-05-17 | 基于中断密度的p2p直播流媒体系统动态启动时延方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103945279A CN103945279A (zh) | 2014-07-23 |
CN103945279B true CN103945279B (zh) | 2017-04-19 |
Family
ID=51192721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410084238.7A Expired - Fee Related CN103945279B (zh) | 2014-05-17 | 2014-05-17 | 基于中断密度的p2p直播流媒体系统动态启动时延方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103945279B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112260787B (zh) * | 2020-10-09 | 2024-03-01 | 北京小米松果电子有限公司 | 设备时延调整方法及装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005130405A (ja) * | 2003-10-27 | 2005-05-19 | Nippon Telegr & Teleph Corp <Ntt> | 中断中代理装置、任意端末が中断中にも情報を配信する方法、および中断中代理装置を用いた情報交換ネットワークシステム |
CN101938508A (zh) * | 2009-07-01 | 2011-01-05 | 中国电信股份有限公司 | 对等网络流媒体直播系统中延时减小的方法和系统 |
CN102413379A (zh) * | 2011-11-29 | 2012-04-11 | 中国传媒大学 | 流媒体直播系统启动时延方法 |
-
2014
- 2014-05-17 CN CN201410084238.7A patent/CN103945279B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005130405A (ja) * | 2003-10-27 | 2005-05-19 | Nippon Telegr & Teleph Corp <Ntt> | 中断中代理装置、任意端末が中断中にも情報を配信する方法、および中断中代理装置を用いた情報交換ネットワークシステム |
CN101938508A (zh) * | 2009-07-01 | 2011-01-05 | 中国电信股份有限公司 | 对等网络流媒体直播系统中延时减小的方法和系统 |
CN102413379A (zh) * | 2011-11-29 | 2012-04-11 | 中国传媒大学 | 流媒体直播系统启动时延方法 |
Non-Patent Citations (1)
Title |
---|
基于PeerCast的P2P流媒体系统;郑春浩 等;《中国传媒大学学报自然科学版》;20091231;第50-55页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103945279A (zh) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102413379B (zh) | 流媒体直播系统启动时延方法 | |
US10225620B1 (en) | System and method for effectuating selective ABR segment delivery for ABR bandwidth control | |
US10305947B2 (en) | Pre-buffering audio streams | |
CN105723680B (zh) | 用于音频分配的方法和计算机设备 | |
CN101835029A (zh) | 流媒体播放控制方法、系统及客户端 | |
US9479807B1 (en) | Gateway-based video client-proxy sub-system for managed delivery of A/V content using fragmented method in a stateful system | |
WO2019038738A1 (en) | SYSTEM AND METHOD FOR PROVIDING RAPID ABR START WITH SELECTIVE ABR SEGMENT DISTRIBUTION | |
KR101982290B1 (ko) | 적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법 | |
KR20200020751A (ko) | 적응형 스트리밍 클라이언트의 동작을 원격으로 관리하는 방법 | |
JP5512699B2 (ja) | パケットスイッチングネットワークにおけるフローを制御する方法 | |
EP3207686B1 (en) | Adaptive bit rates during broadcast transmission in distributed content delivery networks | |
KR102355325B1 (ko) | 적응형 스트리밍 클라이언트에 대해 대역폭을 예약하기 위한 방법 및 디바이스 | |
CN107707937A (zh) | 基于hls协议的时移优化方法及系统 | |
CA2730953A1 (en) | Dynamic qos in a network distributing streamed content | |
CN102130886B (zh) | 网络视频流媒体系统及传输处理方法、发送端 | |
CN103442293B (zh) | 网络多媒体文件快速启动播放方法及系统 | |
CN101562635A (zh) | 一种移动流媒体的点播方法和播放器 | |
US8082507B2 (en) | Scalable user interface | |
CN105791735B (zh) | 用于视频通话码流动态调整的方法和系统 | |
JP5140952B2 (ja) | コンテンツ配信システム、コンテンツ配信サーバ、コンテンツ再生端末、プログラム、コンテンツ配信方法 | |
CN101132390A (zh) | 基于p2p技术的流媒体系统 | |
CN103945279B (zh) | 基于中断密度的p2p直播流媒体系统动态启动时延方法 | |
Kreuzberger et al. | Modelling the impact of caching and popularity on concurrent adaptive multimedia streams in information-centric networks | |
Vo et al. | Cross-layer design for video replication strategy over multihop wireless networks | |
Manzato et al. | A channel switching scheme for iptv systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170419 Termination date: 20200517 |