CN101277209B - 网络流媒体传输断线重连技术 - Google Patents
网络流媒体传输断线重连技术 Download PDFInfo
- Publication number
- CN101277209B CN101277209B CN2008100160005A CN200810016000A CN101277209B CN 101277209 B CN101277209 B CN 101277209B CN 2008100160005 A CN2008100160005 A CN 2008100160005A CN 200810016000 A CN200810016000 A CN 200810016000A CN 101277209 B CN101277209 B CN 101277209B
- Authority
- CN
- China
- Prior art keywords
- network
- client
- data
- time
- disconnection
- 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
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提出了一种网络流媒体传输断线重连技术。该技术包括以下步骤:(1)网络连接断开检测,(2)检测网络连接状态,(3)继续接收数据,客户端根据流媒体系统中的时间关系计算网络连接断开时刻所对应的节目的NPT,然后,客户端把这个时间作为RTSP协议PLAY方法的一个参数向流媒体服务器请求节目中断时的NPT以后的数据,实现流媒体数据的继续下载或播放。本发明利用RTSP协议的OPTIONS方法和PLAY方法,在客户端的网络连接断开后,使得当网络连接恢复正常时,客户端可以继续从服务器接收数据,保证了客户端流媒体数据下载的完整性和播放质量。
Description
技术领域
本发明涉及一种流媒体传输系统中客户端的断线重连技术。
背景技术
随着互联网技术和计算机技术的快速发展,在网络上传输的数据已经由原来的文字和图片逐步过渡到声音和视频等多媒体格式。在流媒体技术出现以前,观看音视频节目采用的是传统的下载-回放技术。但是,由于受到网络带宽、协议规范等方面的限制,从网络上下载大量的音视频文件需要耗费大量的时间和存储空间,这就限制了人们在网络上使用音视频信息进行交流。
流媒体技术的出现很好地解决了这个问题。流是近年在网络上出现的新概念,主要是指通过网络传输多媒体数据的技术总称。通过流媒体技术,服务器能够向客户端发送稳定和连续的多媒体数据流,客户端在接收数据的同时以一个稳定的速率回放,而不用等数据全部下载完之后再进行回放。流媒体具有启动延时小、节省用户存储空间等优点,在互联网的各个领域得到了广泛的应用,如视频点播、视频会议、远程教育、视频监控、Internet直播等。
目前流媒体传输主要采用的是RTSP/RTP/RTCP协议。服务器利用RTP协议向客户端稳定、连续地发送多媒体数据流,客户端通过RTSP协议和服务器端进行交互,RTSP(Real TimeStreaming Protocol,实时流协议)可以对流媒体提供诸如播放、暂停、快进、快退等操作,它负责定义具体的控制消息、操作方法和状态码等,此外还描述了与RTP(Real-timeTransport Protocol,实时传输协议)间的交互操作。
在从服务器接收稳定连续的数据流时,客户端的网络连接由于某种原因可能会突然断开,这样会导致应用程序的退出而使客户端的下载和播放中断,如图1所示。如果用户想继续观看或者下载节目,需要在网络连接恢复正常后重新连接服务器,这增加了播放和下载中断的时间,也增加了用户的操作,降低了客户端软件或产品的易用性。
发明内容
本发明针对客户端的网络连接断开导致的数据流中断,影响客户端流媒体数据下载的完整性和播放质量等问题,提供一种能够实现客户端自动重新连接服务器并且从数据流中断的时刻继续接收数据流,从而保证用户继续观看节目或者下载完整的流媒体文件的网络流媒体传输断线重连技术。
本发明的网络流媒体传输断线重连技术,包括以下步骤:
(1)网络连接断开检测,通过读取媒体数据缓冲区中的数据,来计算读取到的数据的长度,从而判断网络是否断开,如果客户端至少连续1000次从媒体数据缓冲区读取的数据的长度都为0并且不是应用程序正常退出导致的,说明网络连接已经断开,那么设置网络连接断开标志的值;
(2)检测网络连接状态,客户端首先检查网络连接断开标志,如果是网络连接断开的原因,客户端就利用RTSP协议的OPTIONS方法不断向服务器发送RTSP协议的OPTIONS消息,通过得到的响应来对网络连接的状态进行判断,以检测网络连接的状态并及时发现连接恢复正常;
(3)继续接收数据,客户端根据流媒体系统中流媒体传输和播放的时间关系计算网络连接断开时刻所对应的节目的正常播放时间,然后,客户端把这个时间作为RTSP协议PLAY方法的一个参数向流媒体服务器请求节目断开时刻的正常播放时间以后的数据,实现流媒体数据的继续下载或播放。
本发明利用RTSP协议的OPTIONS方法和PLAY(播放)方法,在客户端的网络连接断开后,使得当网络连接恢复正常时,客户端可以继续从服务器接收数据,保证了客户端流媒体数据下载的完整性和播放质量。
附图说明
图1是断线重连示意图。
图2是流媒体客户端框图。
图3是流媒体系统中的时间关系。
具体实施方式
如图1所示,在从服务器接收稳定连续的数据流时,客户端的网络连接由于某种原因可能会突然断开,这样会导致应用程序的退出而使客户端的下载和播放中断。
客户端通过网络从服务器上接收流媒体数据的流程如图2所示。从图2中可以看出,客户端主要由三个部件组成:接收重组、解码和播放。客户端首先与流媒体服务器通过RTSP协议建立连接,进行必要的信息交互。然后客户端从网络接收包含媒体数据的RTP包,根据RTP包的序列号和时间戳等信息从RTP包中提取媒体数据并进行排序重组。还原的媒体数据包含音视频混合信息,交给相应的解码器解码播放。
当客户端的网络连接断开时,经过一段时间,媒体数据缓冲区中缓冲的数据将消耗完毕,应用程序(播放器或下载流媒体数据的程序)从媒体数据缓冲区连续多次读取的数据长度必然都是0,这可以作为网络连接断开的标志。由于应用程序的正常退出也可以导致这种现象的发生,所以必须有另外的标志来区分这两种情况。在网络连接断开以后,客户端不断地向服务器发送消息来检测网络连接的状态,以便及时发现连接恢复正常。在连接恢复正常以后,客户端按照给定的算法计算网络连接断开时所对应的节目的正常播放时间(NPT,Normal PlayTime),用RTSP协议的PLAY方法向流媒体服务器请求这个时间以后的数据,实现流媒体数据的继续下载或播放。
具体实施步骤如下:
1、网络连接断开检测
首先设置一个阈值N和网络连接断开标志FLAG,当客户端连续N次从媒体数据缓冲区读取的数据长度为0时,如果原因是用户主动停止连接,将FLAG的值设置为0;如果是网络连接断开的原因,将FLAG的值设置为1。此算法描述如下:
DEFINE N
WHILE(读取的数据长度为0)
{
IF(用户停止了连接)
{FLAG=0;程序正常退出;}
ELSE
{
count加1;
IF(count=N)
{网络连接已经断开;fbroken=1;}
ELSE
{程序按原来的方式执行;}
}
}
2、检测网络连接的状态
在网络连接断开以后,如果不加任何处理,应用程序会当作是用户主动停止了连接而正常退出,因此需要使用一种方法让客户端和服务器继续保持联系,以便当网络连接恢复正常以后客户端可以从断开的时间点继续接收数据。
客户端和服务器的交互是用RTSP协议来实现的。在一次会话中,客户端首先向服务器发送OPTIONS方法来查询服务器所支持的操作,如果网络连接正常,客户端将接收到服务器发送过来的消息,里面包含了服务器所支持的方法;如果网络连接是断开的,应用程序将得到一个表示连接不成功的返回值。根据这个特点,选择OPTIONS方法作为尝试网络连接的命令。
在一个设定的时间内,客户端不停地向服务器发送OPTIONS命令,如果网络连接在某个时间恢复正常,就进入继续接收数据的处理程序;如果在这段时间内网络连接没有恢复正常的,则放弃尝试,退出程序。
3、数据的继续接收
(1)NPT的获取
表示时间(Presentation Time)指示表示单元出现在系统目标解码器中的时间。表示时间的计算方法是从1970年1月1日零时到现在的秒数。由于表示时间表明的是一个表示单元在终端系统中被解码播放的时间,它可以用来计算NPT。
在客户端收到的第一个表示时间对应的NPT为0,它表示一个节目的开始。表示时间的增长尺度和NPT的增长尺度是相同的。在客户端,每收到一个RTP包的同时也收到了和这个RTP对应的表示时间。这个RTP包的表示时间与客户端收到的第一个RTP包的表示时间的差值就表示了当前收到的RTP包的NPT。根据以上分析,记录每次网络连接断开时所接收到的最后一个RTP的表示时间,用这个表示时间来计算网络连接断开时所对应的节目的NPT。此算法描述如下:
WHILE(在一段时间内,客户端正在接收数据包)
{
记录第一个数据包的表示时间first_PT;
记录最近接收的数据包的表示时间latest_PT;
}
IF(检测到网络连接断开)
{broken_NPT=current_NPT+(latest_PT-first_PT)}
其中,broken_NPT表示网络连接断开时的NPT,current_NPT表示上一次网络连接断开时的NPT(设置current_NPT这个变量的目的是处理网络连接多次断开的情况,如果是第一次网络连接断开,current_NPT的值为0),latest_PT和first_PT的差值表示正常接收数据包时,这一部分数据包所包含的数据对应的播放时间。各个时间的关系参考图3。
(2)RTSP的PLAY方法
RTSP协议的PLAY方法告诉服务器按照某种规定的机制开始发送数据。PLAY方法可以带一些参数,指定服务器开始发送数据的NPT,PLAY函数的原型是PLAY(session,start,end,scale)。其中,session指定了PLAY方法所作用的会话,start表示节目开始的NPT,end表示结束的NPT,scale是一个播放速度的缩放因子,scale大于1表示比正常的播放速度要快,而scale小于1则表示比正常的播放速度要慢。
根据上面的分析,可以在网络连接恢复正常以后,把网络断开的时间作为PLAY函数中节目开始的NPT参数start,用PLAY函数向服务器请求网络断开时间以后的数据。函数的形式是PLAY(session,broken_NPT,end,scale),broken_NPT表示网络连接断开时的正常播放时间。
网络连接恢复正常以后,通过获得网络连接断开时的NPT,就可以利用RTSP的PLAY方法向服务器重新请求数据,实现流媒体数据的完整下载或播放。
Claims (1)
1.一种网络流媒体传输断线重连技术,包括以下步骤:
(1)网络连接断开检测,通过读取媒体数据缓冲区中的数据,来计算读取到的数据的长度,从而判断网络是否断开,如果客户端至少连续1000次从媒体数据缓冲区读取的数据的长度都为0并且不是应用程序正常退出导致的,说明网络连接已经断开,那么设置网络连接断开标志的值;
(2)检测网络连接状态,客户端首先检查网络连接断开标志,如果是网络连接断开的原因,客户端就利用RTSP协议的OPTIONS方法不断向服务器发送RTSP协议的OPTIONS消息,通过得到的响应来对网络连接的状态进行判断,以检测网络连接的状态并及时发现连接恢复正常;
(3)继续接收数据,客户端根据流媒体系统中流媒体传输和播放的时间关系计算网络连接断开时刻所对应的节目的正常播放时间,然后,客户端把这个时间作为RTSP协议PLAY方法的一个参数向流媒体服务器请求节目断开时刻的正常播放时间以后的数据,实现流媒体数据的继续下载或播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100160005A CN101277209B (zh) | 2008-05-14 | 2008-05-14 | 网络流媒体传输断线重连技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100160005A CN101277209B (zh) | 2008-05-14 | 2008-05-14 | 网络流媒体传输断线重连技术 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101277209A CN101277209A (zh) | 2008-10-01 |
CN101277209B true CN101277209B (zh) | 2010-07-14 |
Family
ID=39996247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100160005A Expired - Fee Related CN101277209B (zh) | 2008-05-14 | 2008-05-14 | 网络流媒体传输断线重连技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101277209B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI493921B (zh) * | 2012-09-19 | 2015-07-21 | Hon Hai Prec Ind Co Ltd | 路由器、網路連接恢復系統及網路連接恢復方法 |
EP3664463A1 (en) * | 2018-12-07 | 2020-06-10 | Amlogic (Shanghai) Co., Ltd. | Live time-shifted video play-continuing method and iptv player |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459693A (zh) * | 2008-12-29 | 2009-06-17 | 中兴通讯股份有限公司 | 一种流媒体下载方法及系统 |
CN102045183B (zh) * | 2009-10-22 | 2016-03-02 | 上海贝尔股份有限公司 | 一种用于对网络中的服务中断进行自动恢复的方法和设备 |
CN102123131B (zh) * | 2010-01-08 | 2016-03-30 | 中兴通讯股份有限公司 | 一种维持流媒体业务连续性的方法及系统 |
CN102547449A (zh) * | 2011-12-22 | 2012-07-04 | 华为技术有限公司 | 一种控制终端缓冲媒体流数据的方法、机顶盒及媒体服务器 |
CN104376012B (zh) * | 2013-08-14 | 2019-05-24 | 腾讯科技(深圳)有限公司 | 一种网页应用的掉线重连方法、装置和系统 |
CN105025505B (zh) * | 2015-07-31 | 2019-02-26 | Tcl移动通信科技(宁波)有限公司 | 一种移动终端接入点下载控制方法及系统 |
CN105635163B (zh) * | 2016-01-19 | 2020-08-11 | 三人行传媒集团股份有限公司 | 一种资源获取方法和装置 |
CN106331789B (zh) * | 2016-09-13 | 2019-07-02 | 聚好看科技股份有限公司 | 轮播节目播放控制方法及设备 |
CN108012085B (zh) * | 2017-12-19 | 2020-07-14 | 腾讯科技(上海)有限公司 | 一种多媒体信息处理方法、服务器及存储介质 |
CN109547860A (zh) * | 2018-12-07 | 2019-03-29 | 晶晨半导体(上海)股份有限公司 | 一种点播的视频断网续播的方法和iptv播放装置 |
CN111385287A (zh) * | 2020-02-20 | 2020-07-07 | 视联动力信息技术股份有限公司 | 一种业务系统的网络重连方法及装置 |
CN114039729B (zh) * | 2022-01-08 | 2022-04-19 | 广州市成格信息技术有限公司 | 一种基于光网络技术的智能网络管理方法及系统 |
CN115794355B (zh) * | 2023-01-29 | 2023-06-09 | 中国空气动力研究与发展中心计算空气动力研究所 | 任务处理方法、装置、终端设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825955A (zh) * | 2005-02-11 | 2006-08-30 | 微软公司 | 通过监视客户机缓冲区的丰度来检测网络化设备中的时钟漂移 |
CN101127879A (zh) * | 2007-10-10 | 2008-02-20 | 张福泉 | 智能化存取数据的流媒体点播系统 |
EP1890460A2 (en) * | 2006-08-18 | 2008-02-20 | Avaya Technology Llc | Intelligent media stream recovery |
-
2008
- 2008-05-14 CN CN2008100160005A patent/CN101277209B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825955A (zh) * | 2005-02-11 | 2006-08-30 | 微软公司 | 通过监视客户机缓冲区的丰度来检测网络化设备中的时钟漂移 |
EP1890460A2 (en) * | 2006-08-18 | 2008-02-20 | Avaya Technology Llc | Intelligent media stream recovery |
CN101127879A (zh) * | 2007-10-10 | 2008-02-20 | 张福泉 | 智能化存取数据的流媒体点播系统 |
Non-Patent Citations (7)
Title |
---|
Dapeng Wu et al..Transporting real-time video over the internet: challenges andapproaches.Proceedings of the IEEE88 12.2002,88(12),1855-1877. |
Dapeng Wu et al..Transporting real-time video over the internet: challenges andapproaches.Proceedings of the IEEE88 12.2002,88(12),1855-1877. * |
Wenger, S. et al..H.264/AVC over IP.IEEE transactions on circuits and systems for video technology13 7.2003,13(7),645-656. |
Wenger, S. et al..H.264/AVC over IP.IEEE transactions on circuits and systems for video technology13 7.2003,13(7),645-656. * |
陈振等.流媒体服务缓存代理系统的设计及RTSP协议实现.科学技术与工程6 19.2006,6(19),3216-3218,3226. |
陈振等.流媒体服务缓存代理系统的设计及RTSP协议实现.科学技术与工程6 19.2006,6(19),3216-3218,3226. * |
马媛媛.基于智能手机的流媒体系统研究和实现.北京交通大学硕士学位论文.2007,49-53. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI493921B (zh) * | 2012-09-19 | 2015-07-21 | Hon Hai Prec Ind Co Ltd | 路由器、網路連接恢復系統及網路連接恢復方法 |
EP3664463A1 (en) * | 2018-12-07 | 2020-06-10 | Amlogic (Shanghai) Co., Ltd. | Live time-shifted video play-continuing method and iptv player |
Also Published As
Publication number | Publication date |
---|---|
CN101277209A (zh) | 2008-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101277209B (zh) | 网络流媒体传输断线重连技术 | |
JP7120997B2 (ja) | オーディオとビデオのマルチモード同期レンダリング | |
CN109889543B (zh) | 视频传输的方法、根节点、子节点、p2p服务器和系统 | |
CN110430457B (zh) | 异端音视频播放方法、装置及音视频播放系统 | |
CN101868793B (zh) | 一种对等回放装置及其操作方法 | |
JP5230744B2 (ja) | 情報処理システムおよび情報処理装置 | |
US8943215B2 (en) | Distributed smooth streaming utilizing dynamic manifests | |
CN102035827B (zh) | 信息处理装置及信息处理方法 | |
CN101547108B (zh) | 流媒体的业务切换方法、播放设备及服务器 | |
JP4702397B2 (ja) | コンテンツサーバ、情報処理装置、ネットワーク機器、コンテンツ配信方法、情報処理方法およびコンテンツ配信システム | |
CN108769795B (zh) | 视讯实现系统及方法 | |
CN102137302A (zh) | 流媒体视频内容的播放方法和装置 | |
KR20210030478A (ko) | 대체 컨텐츠의 종료를 피대체 컨텐츠의 종료에 맞춰 정렬하는 것을 지원하기 위한 대체 컨텐츠 재생의 동적 감소 | |
CN112399190B (zh) | 音视频数据获取方法及其装置 | |
CN102752642A (zh) | 一种基于ip网络的多终端视频同步播放的方法及系统 | |
CN106686438A (zh) | 一种跨设备的音频图像同步播放的方法、装置及系统 | |
SG183571A1 (en) | Movie file download device and method | |
CA2908718C (en) | System and method for streaming a media file from a server to a client device | |
CN103210642A (zh) | 在http流送期间发生表达切换时传送用于自然再现的可缩放http流的方法 | |
CN101340541B (zh) | 一种电视与智能设备间的内容同步方法 | |
CN1972441A (zh) | 流媒体存储及服务的方法 | |
JP2003333488A (ja) | ストリーミングデータ再生方式及びストリーミングデータ再生方法 | |
CN111107387B (zh) | 视频转码方法、装置及计算机存储介质 | |
CN101378356B (zh) | 一种ip实时流媒体的播放方法 | |
WO2023071467A1 (zh) | 数据去重方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100714 Termination date: 20110514 |